diff options
486 files changed, 67463 insertions, 41481 deletions
diff --git a/.gitattributes b/.gitattributes index 9fa72ad450..b08a1416d8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,6 +5,7 @@ *.pl eof=lf diff=perl *.pm eol=lf diff=perl *.py eol=lf diff=python +*.bat eol=crlf /Documentation/**/*.txt eol=lf /command-list.txt eol=lf /GIT-VERSION-GEN eol=lf diff --git a/.gitignore b/.gitignore index 2374f77a1a..fc445edea9 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ /git-difftool /git-difftool--helper /git-describe +/git-env--helper /git-fast-export /git-fast-import /git-fetch @@ -122,9 +123,6 @@ /git-range-diff /git-read-tree /git-rebase -/git-rebase--am -/git-rebase--common -/git-rebase--interactive /git-rebase--preserve-merges /git-receive-pack /git-reflog @@ -142,6 +140,7 @@ /git-request-pull /git-rerere /git-reset +/git-restore /git-rev-list /git-rev-parse /git-revert @@ -166,6 +165,7 @@ /git-submodule /git-submodule--helper /git-svn +/git-switch /git-symbolic-ref /git-tag /git-unpack-file @@ -226,6 +226,14 @@ *.user *.idb *.pdb -/Debug/ -/Release/ +*.ilk +*.iobj +*.ipdb +*.dll +.vs/ +Debug/ +Release/ +/UpgradeLog*.htm +/git.VC.VC.opendb +/git.VC.db *.dSYM diff --git a/.travis.yml b/.travis.yml index ffb1bc46f2..fc5730b085 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,10 @@ matrix: compiler: addons: before_install: + - env: jobname=linux-gcc-4.8 + os: linux + dist: trusty + compiler: - env: jobname=Linux32 os: linux compiler: diff --git a/Documentation/Makefile b/Documentation/Makefile index dbf5a0f276..76f2ecfc1b 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -76,6 +76,7 @@ SP_ARTICLES += howto/maintain-git API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt))) SP_ARTICLES += $(API_DOCS) +TECH_DOCS += MyFirstContribution TECH_DOCS += SubmittingPatches TECH_DOCS += technical/hash-function-transition TECH_DOCS += technical/http-protocol diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt new file mode 100644 index 0000000000..f8670379c0 --- /dev/null +++ b/Documentation/MyFirstContribution.txt @@ -0,0 +1,1134 @@ +My First Contribution to the Git Project +======================================== +:sectanchors: + +[[summary]] +== Summary + +This is a tutorial demonstrating the end-to-end workflow of creating a change to +the Git tree, sending it for review, and making changes based on comments. + +[[prerequisites]] +=== Prerequisites + +This tutorial assumes you're already fairly familiar with using Git to manage +source code. The Git workflow steps will largely remain unexplained. + +[[related-reading]] +=== Related Reading + +This tutorial aims to summarize the following documents, but the reader may find +useful additional context: + +- `Documentation/SubmittingPatches` +- `Documentation/howto/new-command.txt` + +[[getting-started]] +== Getting Started + +[[cloning]] +=== Clone the Git Repository + +Git is mirrored in a number of locations. Clone the repository from one of them; +https://git-scm.com/downloads suggests one of the best places to clone from is +the mirror on GitHub. + +---- +$ git clone https://github.com/git/git git +$ cd git +---- + +[[identify-problem]] +=== Identify Problem to Solve + +//// +Use + to indicate fixed-width here; couldn't get ` to work nicely with the +quotes around "Pony Saying 'Um, Hello'". +//// +In this tutorial, we will add a new command, +git psuh+, short for ``Pony Saying +`Um, Hello''' - a feature which has gone unimplemented despite a high frequency +of invocation during users' typical daily workflow. + +(We've seen some other effort in this space with the implementation of popular +commands such as `sl`.) + +[[setup-workspace]] +=== Set Up Your Workspace + +Let's start by making a development branch to work on our changes. Per +`Documentation/SubmittingPatches`, since a brand new command is a new feature, +it's fine to base your work on `master`. However, in the future for bugfixes, +etc., you should check that document and base it on the appropriate branch. + +For the purposes of this document, we will base all our work on the `master` +branch of the upstream project. Create the `psuh` branch you will use for +development like so: + +---- +$ git checkout -b psuh origin/master +---- + +We'll make a number of commits here in order to demonstrate how to send a topic +with multiple patches up for review simultaneously. + +[[code-it-up]] +== Code It Up! + +NOTE: A reference implementation can be found at +https://github.com/nasamuffin/git/tree/psuh. + +[[add-new-command]] +=== Adding a New Command + +Lots of the subcommands are written as builtins, which means they are +implemented in C and compiled into the main `git` executable. Implementing the +very simple `psuh` command as a built-in will demonstrate the structure of the +codebase, the internal API, and the process of working together as a contributor +with the reviewers and maintainer to integrate this change into the system. + +Built-in subcommands are typically implemented in a function named "cmd_" +followed by the name of the subcommand, in a source file named after the +subcommand and contained within `builtin/`. So it makes sense to implement your +command in `builtin/psuh.c`. Create that file, and within it, write the entry +point for your command in a function matching the style and signature: + +---- +int cmd_psuh(int argc, const char **argv, const char *prefix) +---- + +We'll also need to add the declaration of psuh; open up `builtin.h`, find the +declaration for `cmd_push`, and add a new line for `psuh` immediately before it, +in order to keep the declarations sorted: + +---- +int cmd_psuh(int argc, const char **argv, const char *prefix); +---- + +Be sure to `#include "builtin.h"` in your `psuh.c`. + +Go ahead and add some throwaway printf to that function. This is a decent +starting point as we can now add build rules and register the command. + +NOTE: Your throwaway text, as well as much of the text you will be adding over +the course of this tutorial, is user-facing. That means it needs to be +localizable. Take a look at `po/README` under "Marking strings for translation". +Throughout the tutorial, we will mark strings for translation as necessary; you +should also do so when writing your user-facing commands in the future. + +---- +int cmd_psuh(int argc, const char **argv, const char *prefix) +{ + printf(_("Pony saying hello goes here.\n")); + return 0; +} +---- + +Let's try to build it. Open `Makefile`, find where `builtin/push.o` is added +to `BUILTIN_OBJS`, and add `builtin/psuh.o` in the same way next to it in +alphabetical order. Once you've done so, move to the top-level directory and +build simply with `make`. Also add the `DEVELOPER=1` variable to turn on +some additional warnings: + +---- +$ echo DEVELOPER=1 >config.mak +$ make +---- + +NOTE: When you are developing the Git project, it's preferred that you use the +`DEVELOPER` flag; if there's some reason it doesn't work for you, you can turn +it off, but it's a good idea to mention the problem to the mailing list. + +NOTE: The Git build is parallelizable. `-j#` is not included above but you can +use it as you prefer, here and elsewhere. + +Great, now your new command builds happily on its own. But nobody invokes it. +Let's change that. + +The list of commands lives in `git.c`. We can register a new command by adding +a `cmd_struct` to the `commands[]` array. `struct cmd_struct` takes a string +with the command name, a function pointer to the command implementation, and a +setup option flag. For now, let's keep mimicking `push`. Find the line where +`cmd_push` is registered, copy it, and modify it for `cmd_psuh`, placing the new +line in alphabetical order. + +The options are documented in `builtin.h` under "Adding a new built-in." Since +we hope to print some data about the user's current workspace context later, +we need a Git directory, so choose `RUN_SETUP` as your only option. + +Go ahead and build again. You should see a clean build, so let's kick the tires +and see if it works. There's a binary you can use to test with in the +`bin-wrappers` directory. + +---- +$ ./bin-wrappers/git psuh +---- + +Check it out! You've got a command! Nice work! Let's commit this. + +`git status` reveals modified `Makefile`, `builtin.h`, and `git.c` as well as +untracked `builtin/psuh.c` and `git-psuh`. First, let's take care of the binary, +which should be ignored. Open `.gitignore` in your editor, find `/git-push`, and +add an entry for your new command in alphabetical order: + +---- +... +/git-prune-packed +/git-psuh +/git-pull +/git-push +/git-quiltimport +/git-range-diff +... +---- + +Checking `git status` again should show that `git-psuh` has been removed from +the untracked list and `.gitignore` has been added to the modified list. Now we +can stage and commit: + +---- +$ git add Makefile builtin.h builtin/psuh.c git.c .gitignore +$ git commit -s +---- + +You will be presented with your editor in order to write a commit message. Start +the commit with a 50-column or less subject line, including the name of the +component you're working on, followed by a blank line (always required) and then +the body of your commit message, which should provide the bulk of the context. +Remember to be explicit and provide the "Why" of your change, especially if it +couldn't easily be understood from your diff. When editing your commit message, +don't remove the Signed-off-by line which was added by `-s` above. + +---- +psuh: add a built-in by popular demand + +Internal metrics indicate this is a command many users expect to be +present. So here's an implementation to help drive customer +satisfaction and engagement: a pony which doubtfully greets the user, +or, a Pony Saying "Um, Hello" (PSUH). + +This commit message is intentionally formatted to 72 columns per line, +starts with a single line as "commit message subject" that is written as +if to command the codebase to do something (add this, teach a command +that). The body of the message is designed to add information about the +commit that is not readily deduced from reading the associated diff, +such as answering the question "why?". + +Signed-off-by: A U Thor <author@example.com> +---- + +Go ahead and inspect your new commit with `git show`. "psuh:" indicates you +have modified mainly the `psuh` command. The subject line gives readers an idea +of what you've changed. The sign-off line (`-s`) indicates that you agree to +the Developer's Certificate of Origin 1.1 (see the +`Documentation/SubmittingPatches` +++[[dco]]+++ header). + +For the remainder of the tutorial, the subject line only will be listed for the +sake of brevity. However, fully-fleshed example commit messages are available +on the reference implementation linked at the top of this document. + +[[implementation]] +=== Implementation + +It's probably useful to do at least something besides printing out a string. +Let's start by having a look at everything we get. + +Modify your `cmd_psuh` implementation to dump the args you're passed, keeping +existing `printf()` calls in place: + +---- + int i; + + ... + + printf(Q_("Your args (there is %d):\n", + "Your args (there are %d):\n", + argc), + argc); + for (i = 0; i < argc; i++) + printf("%d: %s\n", i, argv[i]); + + printf(_("Your current working directory:\n<top-level>%s%s\n"), + prefix ? "/" : "", prefix ? prefix : ""); + +---- + +Build and try it. As you may expect, there's pretty much just whatever we give +on the command line, including the name of our command. (If `prefix` is empty +for you, try `cd Documentation/ && ../bin-wrappers/git psuh`). That's not so +helpful. So what other context can we get? + +Add a line to `#include "config.h"`. Then, add the following bits to the +function body: + +---- + const char *cfg_name; + +... + + git_config(git_default_config, NULL); + if (git_config_get_string_const("user.name", &cfg_name) > 0) + printf(_("No name is found in config\n")); + else + printf(_("Your name: %s\n"), cfg_name); +---- + +`git_config()` will grab the configuration from config files known to Git and +apply standard precedence rules. `git_config_get_string_const()` will look up +a specific key ("user.name") and give you the value. There are a number of +single-key lookup functions like this one; you can see them all (and more info +about how to use `git_config()`) in `Documentation/technical/api-config.txt`. + +You should see that the name printed matches the one you see when you run: + +---- +$ git config --get user.name +---- + +Great! Now we know how to check for values in the Git config. Let's commit this +too, so we don't lose our progress. + +---- +$ git add builtin/psuh.c +$ git commit -sm "psuh: show parameters & config opts" +---- + +NOTE: Again, the above is for sake of brevity in this tutorial. In a real change +you should not use `-m` but instead use the editor to write a meaningful +message. + +Still, it'd be nice to know what the user's working context is like. Let's see +if we can print the name of the user's current branch. We can mimic the +`git status` implementation; the printer is located in `wt-status.c` and we can +see that the branch is held in a `struct wt_status`. + +`wt_status_print()` gets invoked by `cmd_status()` in `builtin/commit.c`. +Looking at that implementation we see the status config being populated like so: + +---- +status_init_config(&s, git_status_config); +---- + +But as we drill down, we can find that `status_init_config()` wraps a call +to `git_config()`. Let's modify the code we wrote in the previous commit. + +Be sure to include the header to allow you to use `struct wt_status`: +---- +#include "wt-status.h" +---- + +Then modify your `cmd_psuh` implementation to declare your `struct wt_status`, +prepare it, and print its contents: + +---- + struct wt_status status; + +... + + wt_status_prepare(the_repository, &status); + git_config(git_default_config, &status); + +... + + printf(_("Your current branch: %s\n"), status.branch); +---- + +Run it again. Check it out - here's the (verbose) name of your current branch! + +Let's commit this as well. + +---- +$ git add builtin/psuh.c +$ git commit -sm "psuh: print the current branch" +---- + +Now let's see if we can get some info about a specific commit. + +Luckily, there are some helpers for us here. `commit.h` has a function called +`lookup_commit_reference_by_name` to which we can simply provide a hardcoded +string; `pretty.h` has an extremely handy `pp_commit_easy()` call which doesn't +require a full format object to be passed. + +Add the following includes: + +---- +#include "commit.h" +#include "pretty.h" +---- + +Then, add the following lines within your implementation of `cmd_psuh()` near +the declarations and the logic, respectively. + +---- + struct commit *c = NULL; + struct strbuf commitline = STRBUF_INIT; + +... + + c = lookup_commit_reference_by_name("origin/master"); + + if (c != NULL) { + pp_commit_easy(CMIT_FMT_ONELINE, c, &commitline); + printf(_("Current commit: %s\n"), commitline.buf); + } +---- + +The `struct strbuf` provides some safety belts to your basic `char*`, one of +which is a length member to prevent buffer overruns. It needs to be initialized +nicely with `STRBUF_INIT`. Keep it in mind when you need to pass around `char*`. + +`lookup_commit_reference_by_name` resolves the name you pass it, so you can play +with the value there and see what kind of things you can come up with. + +`pp_commit_easy` is a convenience wrapper in `pretty.h` that takes a single +format enum shorthand, rather than an entire format struct. It then +pretty-prints the commit according to that shorthand. These are similar to the +formats available with `--pretty=FOO` in many Git commands. + +Build it and run, and if you're using the same name in the example, you should +see the subject line of the most recent commit in `origin/master` that you know +about. Neat! Let's commit that as well. + +---- +$ git add builtin/psuh.c +$ git commit -sm "psuh: display the top of origin/master" +---- + +[[add-documentation]] +=== Adding Documentation + +Awesome! You've got a fantastic new command that you're ready to share with the +community. But hang on just a minute - this isn't very user-friendly. Run the +following: + +---- +$ ./bin-wrappers/git help psuh +---- + +Your new command is undocumented! Let's fix that. + +Take a look at `Documentation/git-*.txt`. These are the manpages for the +subcommands that Git knows about. You can open these up and take a look to get +acquainted with the format, but then go ahead and make a new file +`Documentation/git-psuh.txt`. Like with most of the documentation in the Git +project, help pages are written with AsciiDoc (see CodingGuidelines, "Writing +Documentation" section). Use the following template to fill out your own +manpage: + +// Surprisingly difficult to embed AsciiDoc source within AsciiDoc. +[listing] +.... +git-psuh(1) +=========== + +NAME +---- +git-psuh - Delight users' typo with a shy horse + + +SYNOPSIS +-------- +[verse] +'git-psuh [<arg>...]' + +DESCRIPTION +----------- +... + +OPTIONS[[OPTIONS]] +------------------ +... + +OUTPUT +------ +... + +GIT +--- +Part of the linkgit:git[1] suite +.... + +The most important pieces of this to note are the file header, underlined by =, +the NAME section, and the SYNOPSIS, which would normally contain the grammar if +your command took arguments. Try to use well-established manpage headers so your +documentation is consistent with other Git and UNIX manpages; this makes life +easier for your user, who can skip to the section they know contains the +information they need. + +Now that you've written your manpage, you'll need to build it explicitly. We +convert your AsciiDoc to troff which is man-readable like so: + +---- +$ make all doc +$ man Documentation/git-psuh.1 +---- + +or + +---- +$ make -C Documentation/ git-psuh.1 +$ man Documentation/git-psuh.1 +---- + +NOTE: You may need to install the package `asciidoc` to get this to work. + +While this isn't as satisfying as running through `git help`, you can at least +check that your help page looks right. + +You can also check that the documentation coverage is good (that is, the project +sees that your command has been implemented as well as documented) by running +`make check-docs` from the top-level. + +Go ahead and commit your new documentation change. + +[[add-usage]] +=== Adding Usage Text + +Try and run `./bin-wrappers/git psuh -h`. Your command should crash at the end. +That's because `-h` is a special case which your command should handle by +printing usage. + +Take a look at `Documentation/technical/api-parse-options.txt`. This is a handy +tool for pulling out options you need to be able to handle, and it takes a +usage string. + +In order to use it, we'll need to prepare a NULL-terminated array of usage +strings and a `builtin_psuh_options` array. + +Add a line to `#include "parse-options.h"`. + +At global scope, add your array of usage strings: + +---- +static const char * const psuh_usage[] = { + N_("git psuh [<arg>...]"), + NULL, +}; +---- + +Then, within your `cmd_psuh()` implementation, we can declare and populate our +`option` struct. Ours is pretty boring but you can add more to it if you want to +explore `parse_options()` in more detail: + +---- + struct option options[] = { + OPT_END() + }; +---- + +Finally, before you print your args and prefix, add the call to +`parse-options()`: + +---- + argc = parse_options(argc, argv, prefix, options, psuh_usage, 0); +---- + +This call will modify your `argv` parameter. It will strip the options you +specified in `options` from `argv` and the locations pointed to from `options` +entries will be updated. Be sure to replace your `argc` with the result from +`parse_options()`, or you will be confused if you try to parse `argv` later. + +It's worth noting the special argument `--`. As you may be aware, many Unix +commands use `--` to indicate "end of named parameters" - all parameters after +the `--` are interpreted merely as positional arguments. (This can be handy if +you want to pass as a parameter something which would usually be interpreted as +a flag.) `parse_options()` will terminate parsing when it reaches `--` and give +you the rest of the options afterwards, untouched. + +Build again. Now, when you run with `-h`, you should see your usage printed and +your command terminated before anything else interesting happens. Great! + +Go ahead and commit this one, too. + +[[testing]] +== Testing + +It's important to test your code - even for a little toy command like this one. +Moreover, your patch won't be accepted into the Git tree without tests. Your +tests should: + +* Illustrate the current behavior of the feature +* Prove the current behavior matches the expected behavior +* Ensure the externally-visible behavior isn't broken in later changes + +So let's write some tests. + +Related reading: `t/README` + +[[overview-test-structure]] +=== Overview of Testing Structure + +The tests in Git live in `t/` and are named with a 4-digit decimal number using +the schema shown in the Naming Tests section of `t/README`. + +[[write-new-test]] +=== Writing Your Test + +Since this a toy command, let's go ahead and name the test with t9999. However, +as many of the family/subcmd combinations are full, best practice seems to be +to find a command close enough to the one you've added and share its naming +space. + +Create a new file `t/t9999-psuh-tutorial.sh`. Begin with the header as so (see +"Writing Tests" and "Source 'test-lib.sh'" in `t/README`): + +---- +#!/bin/sh + +test_description='git-psuh test + +This test runs git-psuh and makes sure it does not crash.' + +. ./test-lib.sh +---- + +Tests are framed inside of a `test_expect_success` in order to output TAP +formatted results. Let's make sure that `git psuh` doesn't exit poorly and does +mention the right animal somewhere: + +---- +test_expect_success 'runs correctly with no args and good output' ' + git psuh >actual && + test_i18ngrep Pony actual +' +---- + +Indicate that you've run everything you wanted by adding the following at the +bottom of your script: + +---- +test_done +---- + +Make sure you mark your test script executable: + +---- +$ chmod +x t/t9999-psuh-tutorial.sh +---- + +You can get an idea of whether you created your new test script successfully +by running `make -C t test-lint`, which will check for things like test number +uniqueness, executable bit, and so on. + +[[local-test]] +=== Running Locally + +Let's try and run locally: + +---- +$ make +$ cd t/ && prove t9999-psuh-tutorial.sh +---- + +You can run the full test suite and ensure `git-psuh` didn't break anything: + +---- +$ cd t/ +$ prove -j$(nproc) --shuffle t[0-9]*.sh +---- + +NOTE: You can also do this with `make test` or use any testing harness which can +speak TAP. `prove` can run concurrently. `shuffle` randomizes the order the +tests are run in, which makes them resilient against unwanted inter-test +dependencies. `prove` also makes the output nicer. + +Go ahead and commit this change, as well. + +[[ready-to-share]] +== Getting Ready to Share + +You may have noticed already that the Git project performs its code reviews via +emailed patches, which are then applied by the maintainer when they are ready +and approved by the community. The Git project does not accept patches from +pull requests, and the patches emailed for review need to be formatted a +specific way. At this point the tutorial diverges, in order to demonstrate two +different methods of formatting your patchset and getting it reviewed. + +The first method to be covered is GitGitGadget, which is useful for those +already familiar with GitHub's common pull request workflow. This method +requires a GitHub account. + +The second method to be covered is `git send-email`, which can give slightly +more fine-grained control over the emails to be sent. This method requires some +setup which can change depending on your system and will not be covered in this +tutorial. + +Regardless of which method you choose, your engagement with reviewers will be +the same; the review process will be covered after the sections on GitGitGadget +and `git send-email`. + +[[howto-ggg]] +== Sending Patches via GitGitGadget + +One option for sending patches is to follow a typical pull request workflow and +send your patches out via GitGitGadget. GitGitGadget is a tool created by +Johannes Schindelin to make life as a Git contributor easier for those used to +the GitHub PR workflow. It allows contributors to open pull requests against its +mirror of the Git project, and does some magic to turn the PR into a set of +emails and send them out for you. It also runs the Git continuous integration +suite for you. It's documented at http://gitgitgadget.github.io. + +[[create-fork]] +=== Forking `git/git` on GitHub + +Before you can send your patch off to be reviewed using GitGitGadget, you will +need to fork the Git project and upload your changes. First thing - make sure +you have a GitHub account. + +Head to the https://github.com/git/git[GitHub mirror] and look for the Fork +button. Place your fork wherever you deem appropriate and create it. + +[[upload-to-fork]] +=== Uploading to Your Own Fork + +To upload your branch to your own fork, you'll need to add the new fork as a +remote. You can use `git remote -v` to show the remotes you have added already. +From your new fork's page on GitHub, you can press "Clone or download" to get +the URL; then you need to run the following to add, replacing your own URL and +remote name for the examples provided: + +---- +$ git remote add remotename git@github.com:remotename/git.git +---- + +or to use the HTTPS URL: + +---- +$ git remote add remotename https://github.com/remotename/git/.git +---- + +Run `git remote -v` again and you should see the new remote showing up. +`git fetch remotename` (with the real name of your remote replaced) in order to +get ready to push. + +Next, double-check that you've been doing all your development in a new branch +by running `git branch`. If you didn't, now is a good time to move your new +commits to their own branch. + +As mentioned briefly at the beginning of this document, we are basing our work +on `master`, so go ahead and update as shown below, or using your preferred +workflow. + +---- +$ git checkout master +$ git pull -r +$ git rebase master psuh +---- + +Finally, you're ready to push your new topic branch! (Due to our branch and +command name choices, be careful when you type the command below.) + +---- +$ git push remotename psuh +---- + +Now you should be able to go and check out your newly created branch on GitHub. + +[[send-pr-ggg]] +=== Sending a PR to GitGitGadget + +In order to have your code tested and formatted for review, you need to start by +opening a Pull Request against `gitgitgadget/git`. Head to +https://github.com/gitgitgadget/git and open a PR either with the "New pull +request" button or the convenient "Compare & pull request" button that may +appear with the name of your newly pushed branch. + +Review the PR's title and description, as it's used by GitGitGadget as the cover +letter for your change. When you're happy, submit your pull request. + +[[run-ci-ggg]] +=== Running CI and Getting Ready to Send + +If it's your first time using GitGitGadget (which is likely, as you're using +this tutorial) then someone will need to give you permission to use the tool. +As mentioned in the GitGitGadget documentation, you just need someone who +already uses it to comment on your PR with `/allow <username>`. GitGitGadget +will automatically run your PRs through the CI even without the permission given +but you will not be able to `/submit` your changes until someone allows you to +use the tool. + +If the CI fails, you can update your changes with `git rebase -i` and push your +branch again: + +---- +$ git push -f remotename psuh +---- + +In fact, you should continue to make changes this way up until the point when +your patch is accepted into `next`. + +//// +TODO https://github.com/gitgitgadget/gitgitgadget/issues/83 +It'd be nice to be able to verify that the patch looks good before sending it +to everyone on Git mailing list. +[[check-work-ggg]] +=== Check Your Work +//// + +[[send-mail-ggg]] +=== Sending Your Patches + +Now that your CI is passing and someone has granted you permission to use +GitGitGadget with the `/allow` command, sending out for review is as simple as +commenting on your PR with `/submit`. + +[[responding-ggg]] +=== Updating With Comments + +Skip ahead to <<reviewing,Responding to Reviews>> for information on how to +reply to review comments you will receive on the mailing list. + +Once you have your branch again in the shape you want following all review +comments, you can submit again: + +---- +$ git push -f remotename psuh +---- + +Next, go look at your pull request against GitGitGadget; you should see the CI +has been kicked off again. Now while the CI is running is a good time for you +to modify your description at the top of the pull request thread; it will be +used again as the cover letter. You should use this space to describe what +has changed since your previous version, so that your reviewers have some idea +of what they're looking at. When the CI is done running, you can comment once +more with `/submit` - GitGitGadget will automatically add a v2 mark to your +changes. + +[[howto-git-send-email]] +== Sending Patches with `git send-email` + +If you don't want to use GitGitGadget, you can also use Git itself to mail your +patches. Some benefits of using Git this way include finer grained control of +subject line (for example, being able to use the tag [RFC PATCH] in the subject) +and being able to send a ``dry run'' mail to yourself to ensure it all looks +good before going out to the list. + +[[setup-git-send-email]] +=== Prerequisite: Setting Up `git send-email` + +Configuration for `send-email` can vary based on your operating system and email +provider, and so will not be covered in this tutorial, beyond stating that in +many distributions of Linux, `git-send-email` is not packaged alongside the +typical `git` install. You may need to install this additional package; there +are a number of resources online to help you do so. You will also need to +determine the right way to configure it to use your SMTP server; again, as this +configuration can change significantly based on your system and email setup, it +is out of scope for the context of this tutorial. + +[[format-patch]] +=== Preparing Initial Patchset + +Sending emails with Git is a two-part process; before you can prepare the emails +themselves, you'll need to prepare the patches. Luckily, this is pretty simple: + +---- +$ git format-patch --cover-letter -o psuh/ master..psuh +---- + +The `--cover-letter` parameter tells `format-patch` to create a cover letter +template for you. You will need to fill in the template before you're ready +to send - but for now, the template will be next to your other patches. + +The `-o psuh/` parameter tells `format-patch` to place the patch files into a +directory. This is useful because `git send-email` can take a directory and +send out all the patches from there. + +`master..psuh` tells `format-patch` to generate patches for the difference +between `master` and `psuh`. It will make one patch file per commit. After you +run, you can go have a look at each of the patches with your favorite text +editor and make sure everything looks alright; however, it's not recommended to +make code fixups via the patch file. It's a better idea to make the change the +normal way using `git rebase -i` or by adding a new commit than by modifying a +patch. + +NOTE: Optionally, you can also use the `--rfc` flag to prefix your patch subject +with ``[RFC PATCH]'' instead of ``[PATCH]''. RFC stands for ``request for +comments'' and indicates that while your code isn't quite ready for submission, +you'd like to begin the code review process. This can also be used when your +patch is a proposal, but you aren't sure whether the community wants to solve +the problem with that approach or not - to conduct a sort of design review. You +may also see on the list patches marked ``WIP'' - this means they are incomplete +but want reviewers to look at what they have so far. You can add this flag with +`--subject-prefix=WIP`. + +Check and make sure that your patches and cover letter template exist in the +directory you specified - you're nearly ready to send out your review! + +[[cover-letter]] +=== Preparing Email + +In addition to an email per patch, the Git community also expects your patches +to come with a cover letter, typically with a subject line [PATCH 0/x] (where +x is the number of patches you're sending). Since you invoked `format-patch` +with `--cover-letter`, you've already got a template ready. Open it up in your +favorite editor. + +You should see a number of headers present already. Check that your `From:` +header is correct. Then modify your `Subject:` to something which succinctly +covers the purpose of your entire topic branch, for example: + +---- +Subject: [PATCH 0/7] adding the 'psuh' command +---- + +Make sure you retain the ``[PATCH 0/X]'' part; that's what indicates to the Git +community that this email is the beginning of a review, and many reviewers +filter their email for this type of flag. + +You'll need to add some extra parameters when you invoke `git send-email` to add +the cover letter. + +Next you'll have to fill out the body of your cover letter. This is an important +component of change submission as it explains to the community from a high level +what you're trying to do, and why, in a way that's more apparent than just +looking at your diff. Be sure to explain anything your diff doesn't make clear +on its own. + +Here's an example body for `psuh`: + +---- +Our internal metrics indicate widespread interest in the command +git-psuh - that is, many users are trying to use it, but finding it is +unavailable, using some unknown workaround instead. + +The following handful of patches add the psuh command and implement some +handy features on top of it. + +This patchset is part of the MyFirstContribution tutorial and should not +be merged. +---- + +The template created by `git format-patch --cover-letter` includes a diffstat. +This gives reviewers a summary of what they're in for when reviewing your topic. +The one generated for `psuh` from the sample implementation looks like this: + +---- + Documentation/git-psuh.txt | 40 +++++++++++++++++++++ + Makefile | 1 + + builtin.h | 1 + + builtin/psuh.c | 73 ++++++++++++++++++++++++++++++++++++++ + git.c | 1 + + t/t9999-psuh-tutorial.sh | 12 +++++++ + 6 files changed, 128 insertions(+) + create mode 100644 Documentation/git-psuh.txt + create mode 100644 builtin/psuh.c + create mode 100755 t/t9999-psuh-tutorial.sh +---- + +Finally, the letter will include the version of Git used to generate the +patches. You can leave that string alone. + +[[sending-git-send-email]] +=== Sending Email + +At this point you should have a directory `psuh/` which is filled with your +patches and a cover letter. Time to mail it out! You can send it like this: + +---- +$ git send-email --to=target@example.com psuh/*.patch +---- + +NOTE: Check `git help send-email` for some other options which you may find +valuable, such as changing the Reply-to address or adding more CC and BCC lines. + +NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but +please don't send your patchset from the tutorial to the real mailing list! For +now, you can send it to yourself, to make sure you understand how it will look. + +After you run the command above, you will be presented with an interactive +prompt for each patch that's about to go out. This gives you one last chance to +edit or quit sending something (but again, don't edit code this way). Once you +press `y` or `a` at these prompts your emails will be sent! Congratulations! + +Awesome, now the community will drop everything and review your changes. (Just +kidding - be patient!) + +[[v2-git-send-email]] +=== Sending v2 + +Skip ahead to <<reviewing,Responding to Reviews>> for information on how to +handle comments from reviewers. Continue this section when your topic branch is +shaped the way you want it to look for your patchset v2. + +When you're ready with the next iteration of your patch, the process is fairly +similar. + +First, generate your v2 patches again: + +---- +$ git format-patch -v2 --cover-letter -o psuh/ master..psuh +---- + +This will add your v2 patches, all named like `v2-000n-my-commit-subject.patch`, +to the `psuh/` directory. You may notice that they are sitting alongside the v1 +patches; that's fine, but be careful when you are ready to send them. + +Edit your cover letter again. Now is a good time to mention what's different +between your last version and now, if it's something significant. You do not +need the exact same body in your second cover letter; focus on explaining to +reviewers the changes you've made that may not be as visible. + +You will also need to go and find the Message-Id of your previous cover letter. +You can either note it when you send the first series, from the output of `git +send-email`, or you can look it up on the +https://public-inbox.org/git[mailing list]. Find your cover letter in the +archives, click on it, then click "permalink" or "raw" to reveal the Message-Id +header. It should match: + +---- +Message-Id: <foo.12345.author@example.com> +---- + +Your Message-Id is `<foo.12345.author@example.com>`. This example will be used +below as well; make sure to replace it with the correct Message-Id for your +**previous cover letter** - that is, if you're sending v2, use the Message-Id +from v1; if you're sending v3, use the Message-Id from v2. + +While you're looking at the email, you should also note who is CC'd, as it's +common practice in the mailing list to keep all CCs on a thread. You can add +these CC lines directly to your cover letter with a line like so in the header +(before the Subject line): + +---- +CC: author@example.com, Othe R <other@example.com> +---- + +Now send the emails again, paying close attention to which messages you pass in +to the command: + +---- +$ git send-email --to=target@example.com + --in-reply-to="<foo.12345.author@example.com>" + psuh/v2* +---- + +[[single-patch]] +=== Bonus Chapter: One-Patch Changes + +In some cases, your very small change may consist of only one patch. When that +happens, you only need to send one email. Your commit message should already be +meaningful and explain at a high level the purpose (what is happening and why) +of your patch, but if you need to supply even more context, you can do so below +the `---` in your patch. Take the example below, which was generated with `git +format-patch` on a single commit, and then edited to add the content between +the `---` and the diffstat. + +---- +From 1345bbb3f7ac74abde040c12e737204689a72723 Mon Sep 17 00:00:00 2001 +From: A U Thor <author@example.com> +Date: Thu, 18 Apr 2019 15:11:02 -0700 +Subject: [PATCH] README: change the grammar + +I think it looks better this way. This part of the commit message will +end up in the commit-log. + +Signed-off-by: A U Thor <author@example.com> +--- +Let's have a wild discussion about grammar on the mailing list. This +part of my email will never end up in the commit log. Here is where I +can add additional context to the mailing list about my intent, outside +of the context of the commit log. This section was added after `git +format-patch` was run, by editing the patch file in a text editor. + + README.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/README.md b/README.md +index 88f126184c..38da593a60 100644 +--- a/README.md ++++ b/README.md +@@ -3,7 +3,7 @@ + Git - fast, scalable, distributed revision control system + ========================================================= + +-Git is a fast, scalable, distributed revision control system with an ++Git is a fast, scalable, and distributed revision control system with an + unusually rich command set that provides both high-level operations + and full access to internals. + +-- +2.21.0.392.gf8f6787159e-goog +---- + +[[now-what]] +== My Patch Got Emailed - Now What? + +[[reviewing]] +=== Responding to Reviews + +After a few days, you will hopefully receive a reply to your patchset with some +comments. Woohoo! Now you can get back to work. + +It's good manners to reply to each comment, notifying the reviewer that you have +made the change requested, feel the original is better, or that the comment +inspired you to do something a new way which is superior to both the original +and the suggested change. This way reviewers don't need to inspect your v2 to +figure out whether you implemented their comment or not. + +If you are going to push back on a comment, be polite and explain why you feel +your original is better; be prepared that the reviewer may still disagree with +you, and the rest of the community may weigh in on one side or the other. As +with all code reviews, it's important to keep an open mind to doing something a +different way than you originally planned; other reviewers have a different +perspective on the project than you do, and may be thinking of a valid side +effect which had not occurred to you. It is always okay to ask for clarification +if you aren't sure why a change was suggested, or what the reviewer is asking +you to do. + +Make sure your email client has a plaintext email mode and it is turned on; the +Git list rejects HTML email. Please also follow the mailing list etiquette +outlined in the +https://kernel.googlesource.com/pub/scm/git/git/+/todo/MaintNotes[Maintainer's +Note], which are similar to etiquette rules in most open source communities +surrounding bottom-posting and inline replies. + +When you're making changes to your code, it is cleanest - that is, the resulting +commits are easiest to look at - if you use `git rebase -i` (interactive +rebase). Take a look at this +https://www.oreilly.com/library/view/git-pocket-guide/9781449327507/ch10.html[overview] +from O'Reilly. The general idea is to modify each commit which requires changes; +this way, instead of having a patch A with a mistake, a patch B which was fine +and required no upstream reviews in v1, and a patch C which fixes patch A for +v2, you can just ship a v2 with a correct patch A and correct patch B. This is +changing history, but since it's local history which you haven't shared with +anyone, that is okay for now! (Later, it may not make sense to do this; take a +look at the section below this one for some context.) + +[[after-approval]] +=== After Review Approval + +The Git project has four integration branches: `pu`, `next`, `master`, and +`maint`. Your change will be placed into `pu` fairly early on by the maintainer +while it is still in the review process; from there, when it is ready for wider +testing, it will be merged into `next`. Plenty of early testers use `next` and +may report issues. Eventually, changes in `next` will make it to `master`, +which is typically considered stable. Finally, when a new release is cut, +`maint` is used to base bugfixes onto. As mentioned at the beginning of this +document, you can read `Documents/SubmittingPatches` for some more info about +the use of the various integration branches. + +Back to now: your code has been lauded by the upstream reviewers. It is perfect. +It is ready to be accepted. You don't need to do anything else; the maintainer +will merge your topic branch to `next` and life is good. + +However, if you discover it isn't so perfect after this point, you may need to +take some special steps depending on where you are in the process. + +If the maintainer has announced in the "What's cooking in git.git" email that +your topic is marked for `next` - that is, that they plan to merge it to `next` +but have not yet done so - you should send an email asking the maintainer to +wait a little longer: "I've sent v4 of my series and you marked it for `next`, +but I need to change this and that - please wait for v5 before you merge it." + +If the topic has already been merged to `next`, rather than modifying your +patches with `git rebase -i`, you should make further changes incrementally - +that is, with another commit, based on top of the maintainer's topic branch as +detailed in https://github.com/gitster/git. Your work is still in the same topic +but is now incremental, rather than a wholesale rewrite of the topic branch. + +The topic branches in the maintainer's GitHub are mirrored in GitGitGadget, so +if you're sending your reviews out that way, you should be sure to open your PR +against the appropriate GitGitGadget/Git branch. + +If you're using `git send-email`, you can use it the same way as before, but you +should generate your diffs from `<topic>..<mybranch>` and base your work on +`<topic>` instead of `master`. diff --git a/Documentation/RelNotes/2.23.0.txt b/Documentation/RelNotes/2.23.0.txt new file mode 100644 index 0000000000..e3c4e78265 --- /dev/null +++ b/Documentation/RelNotes/2.23.0.txt @@ -0,0 +1,348 @@ +Git 2.23 Release Notes +====================== + +Updates since v2.22 +------------------- + +Backward compatibility note + + * The "--base" option of "format-patch" computed the patch-ids for + prerequisite patches in an unstable way, which has been updated to + compute in a way that is compatible with "git patch-id --stable". + + * The "git log" command by default behaves as if the --mailmap option + was given. + + +UI, Workflows & Features + + * The "git fast-export/import" pair has been taught to handle commits + with log messages in encoding other than UTF-8 better. + + * In recent versions of Git, per-worktree refs are exposed in + refs/worktrees/<wtname>/ hierarchy, which means that worktree names + must be a valid refname component. The code now sanitizes the names + given to worktrees, to make sure these refs are well-formed. + + * "git merge" learned "--quit" option that cleans up the in-progress + merge while leaving the working tree and the index still in a mess. + + * "git format-patch" learns a configuration to set the default for + its --notes=<ref> option. + + * The code to show args with potential typo that cannot be + interpreted as a commit-ish has been improved. + + * "git clone --recurse-submodules" learned to set up the submodules + to ignore commit object names recorded in the superproject gitlink + and instead use the commits that happen to be at the tip of the + remote-tracking branches from the get-go, by passing the new + "--remote-submodules" option. + + * The pattern "git diff/grep" use to extract funcname and words + boundary for Matlab has been extend to cover Octave, which is more + or less equivalent. + + * "git help git" was hard to discover (well, at least for some + people). + + * The pattern "git diff/grep" use to extract funcname and words + boundary for Rust has been added. + + * "git status" can be told a non-standard default value for the + "--[no-]ahead-behind" option with a new configuration variable + status.aheadBehind. + + * "git fetch" and "git pull" reports when a fetch results in + non-fast-forward updates to let the user notice unusual situation. + The commands learned "--no-show-forced-updates" option to disable + this safety feature. + + * Two new commands "git switch" and "git restore" are introduced to + split "checking out a branch to work on advancing its history" and + "checking out paths out of the index and/or a tree-ish to work on + advancing the current history" out of the single "git checkout" + command. + + * "git branch --list" learned to always output the detached HEAD as + the first item (when the HEAD is detached, of course), regardless + of the locale. + + * The conditional inclusion mechanism learned to base the choice on + the branch the HEAD currently is on. + + * "git rev-list --objects" learned the "--no-object-names" option to + squelch the path to the object that is used as a grouping hint for + pack-objects. + + * A new tag.gpgSign configuration variable turns "git tag -a" into + "git tag -s". + + * "git multi-pack-index" learned expire and repack subcommands. + + * "git blame" learned to "ignore" commits in the history, whose + effects (as well as their presence) get ignored. + + * "git cherry-pick/revert" learned a new "--skip" action. + + * The tips of refs from the alternate object store can be used as + starting point for reachability computation now. + + * Extra blank lines in "git status" output have been reduced. + + * The commits in a repository can be described by multiple + commit-graph files now, which allows the commit-graph files to be + updated incrementally. + + * "git range-diff" output has been tweaked for easier identification + of which part of what file the patch shown is about. + + +Performance, Internal Implementation, Development Support etc. + + * Update supporting parts of "git rebase" to remove code that should + no longer be used. + + * Developer support to emulate unsatisfied prerequisites in tests to + ensure that the remainder of the tests still succeeds when tests + with prerequisites are skipped. + + * "git update-server-info" learned not to rewrite the file with the + same contents. + + * The way of specifying the path to find dynamic libraries at runtime + has been simplified. The old default to pass -R/path/to/dir has been + replaced with the new default to pass -Wl,-rpath,/path/to/dir, + which is the more recent GCC uses. Those who need to build with an + old GCC can still use "CC_LD_DYNPATH=-R" + + * Prepare use of reachability index in topological walker that works + on a range (A..B). + + * A new tutorial targeting specifically aspiring git-core + developers has been added. + + * Auto-detect how to tell HP-UX aCC where to use dynamically linked + libraries from at runtime. + + * "git mergetool" and its tests now spawn fewer subprocesses. + + * Dev support update to help tracing out tests. + + * Support to build with MSVC has been updated. + + * "git fetch" that grabs from a group of remotes learned to run the + auto-gc only once at the very end. + + * A handful of Windows build patches have been upstreamed. + + * The code to read state files used by the sequencer machinery for + "git status" has been made more robust against a corrupt or stale + state files. + + * "git for-each-ref" with multiple patterns have been optimized. + + * The tree-walk API learned to pass an in-core repository + instance throughout more codepaths. + + * When one step in multi step cherry-pick or revert is reset or + committed, the command line prompt script failed to notice the + current status, which has been improved. + + * Many GIT_TEST_* environment variables control various aspects of + how our tests are run, but a few followed "non-empty is true, empty + or unset is false" while others followed the usual "there are a few + ways to spell true, like yes, on, etc., and also ways to spell + false, like no, off, etc." convention. + + * Adjust the dir-iterator API and apply it to the local clone + optimization codepath. + + * We have been trying out a few language features outside c89; the + coding guidelines document did not talk about them and instead had + a blanket ban against them. + + * A test helper has been introduced to optimize preparation of test + repositories with many simple commits, and a handful of test + scripts have been updated to use it. + + +Fixes since v2.22 +----------------- + + * A relative pathname given to "git init --template=<path> <repo>" + ought to be relative to the directory "git init" gets invoked in, + but it instead was made relative to the repository, which has been + corrected. + + * "git worktree add" used to fail when another worktree connected to + the same repository was corrupt, which has been corrected. + + * The ownership rule for the file descriptor to fast-import remote + backend was mixed up, leading to an unrelated file descriptor getting + closed, which has been fixed. + + * A "merge -c" instruction during "git rebase --rebase-merges" should + give the user a chance to edit the log message, even when there is + otherwise no need to create a new merge and replace the existing + one (i.e. fast-forward instead), but did not. Which has been + corrected. + + * Code cleanup and futureproof. + + * More parameter validation. + + * "git update-server-info" used to leave stale packfiles in its + output, which has been corrected. + + * The server side support for "git fetch" used to show incorrect + value for the HEAD symbolic ref when the namespace feature is in + use, which has been corrected. + + * "git am -i --resolved" segfaulted after trying to see a commit as + if it were a tree, which has been corrected. + + * "git bundle verify" needs to see if prerequisite objects exist in + the receiving repository, but the command did not check if we are + in a repository upfront, which has been corrected. + + * "git merge --squash" is designed to update the working tree and the + index without creating the commit, and this cannot be countermanded + by adding the "--commit" option; the command now refuses to work + when both options are given. + + * The data collected by fsmonitor was not properly written back to + the on-disk index file, breaking t7519 tests occasionally, which + has been corrected. + + * Update to Unicode 12.1 width table. + + * The command line to invoke a "git cat-file" command from inside + "git p4" was not properly quoted to protect a caret and running a + broken command on Windows, which has been corrected. + + * "git request-pull" learned to warn when the ref we ask them to pull + from in the local repository and in the published repository are + different. + + * When creating a partial clone, the object filtering criteria is + recorded for the origin of the clone, but this incorrectly used a + hardcoded name "origin" to name that remote; it has been corrected + to honor the "--origin <name>" option. + + * "git fetch" into a lazy clone forgot to fetch base objects that are + necessary to complete delta in a thin packfile, which has been + corrected. + + * The filter_data used in the list-objects-filter (which manages a + lazily sparse clone repository) did not use the dynamic array API + correctly---'nr' is supposed to point at one past the last element + of the array in use. This has been corrected. + + * The description about slashes in gitignore patterns (used to + indicate things like "anchored to this level only" and "only + matches directories") has been revamped. + + * The URL decoding code has been updated to avoid going past the end + of the string while parsing %-<hex>-<hex> sequence. + + * The list of for-each like macros used by clang-format has been + updated. + + * "git branch --list" learned to show branches that are checked out + in other worktrees connected to the same repository prefixed with + '+', similar to the way the currently checked out branch is shown + with '*' in front. + (merge 6e9381469e nb/branch-show-other-worktrees-head later to maint). + + * Code restructuring during 2.20 period broke fetching tags via + "import" based transports. + + * The commit-graph file is now part of the "files that the runtime + may keep open file descriptors on, all of which would need to be + closed when done with the object store", and the file descriptor to + an existing commit-graph file now is closed before "gc" finalizes a + new instance to replace it. + + * "git checkout -p" needs to selectively apply a patch in reverse, + which did not work well. + + * Code clean-up to avoid signed integer wraparounds during binary search. + + * "git interpret-trailers" always treated '#' as the comment + character, regardless of core.commentChar setting, which has been + corrected. + + * "git stash show 23" used to work, but no more after getting + rewritten in C; this regression has been corrected. + + * "git rebase --abort" used to leave refs/rewritten/ when concluding + "git rebase -r", which has been corrected. + + * An incorrect list of options was cached after command line + completion failed (e.g. trying to complete a command that requires + a repository outside one), which has been corrected. + + * The code to parse scaled numbers out of configuration files has + been made more robust and also easier to follow. + + * The codepath to compute delta islands used to spew progress output + without giving the callers any way to squelch it, which has been + fixed. + + * Protocol capabilities that go over wire should never be translated, + but it was incorrectly marked for translation, which has been + corrected. The output of protocol capabilities for debugging has + been tweaked a bit. + + * Use "Erase in Line" CSI sequence that is already used in the editor + support to clear cruft in the progress output. + + * "git submodule foreach" did not protect command line options passed + to the command to be run in each submodule correctly, when the + "--recursive" option was in use. + + * The configuration variable rebase.rescheduleFailedExec should be + effective only while running an interactive rebase and should not + affect anything when running a non-interactive one, which was not + the case. This has been corrected. + + * The "git clone" documentation refers to command line options in its + description in the short form; they have been replaced with long + forms to make them more recognisable. + + * Generation of pack bitmaps are now disabled when .keep files exist, + as these are mutually exclusive features. + (merge 7328482253 ew/repack-with-bitmaps-by-default later to maint). + + * "git rm" to resolve a conflicted path leaked an internal message + "needs merge" before actually removing the path, which was + confusing. This has been corrected. + + * "git stash --keep-index" did not work correctly on paths that have + been removed, which has been fixed. + (merge b932f6a5e8 tg/stash-keep-index-with-removed-paths later to maint). + + * Window 7 update ;-) + + * A codepath that reads from GPG for signed object verification read + past the end of allocated buffer, which has been fixed. + + * "git clean" silently skipped a path when it cannot lstat() it; now + it gives a warning. + + * "git push --atomic" that goes over the transport-helper (namely, + the smart http transport) failed to prevent refs to be pushed when + it can locally tell that one of the ref update will fail without + having to consult the other end, which has been corrected. + + * The internal diff machinery can be made to read out of bounds while + looking for --function-context line in a corner case, which has been + corrected. + (merge b777f3fd61 jk/xdiff-clamp-funcname-context-index later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge fbec05c210 cc/test-oidmap later to maint). + (merge 7a06fb038c jk/no-system-includes-in-dot-c later to maint). + (merge 81ed2b405c cb/xdiff-no-system-includes-in-dot-c later to maint). + (merge d61e6ce1dd sg/fsck-config-in-doc later to maint). diff --git a/Documentation/RelNotes/2.24.0.txt b/Documentation/RelNotes/2.24.0.txt new file mode 100644 index 0000000000..ff48d8582c --- /dev/null +++ b/Documentation/RelNotes/2.24.0.txt @@ -0,0 +1,143 @@ +Git 2.24 Release Notes +====================== + +Updates since v2.23 +------------------- + +Backward compatibility note + + * (no entry yet so far) + + +UI, Workflows & Features + + * We now have an active interim maintainer for the Git-Gui part of + the system. Praise and thank Pratyush Yadav for volunteering. + + * The command line parser learned "--end-of-options" notation; the + standard convention for scripters to have hardcoded set of options + first on the command line, and force the command to treat end-user + input as non-options, has been to use "--" as the delimiter, but + that would not work for commands that use "--" as a delimiter + between revs and pathspec. + + * A mechanism to affect the default setting for a (related) group of + configuration variables is introduced. + + * "git fetch" learned "--set-upstream" option to help those who first + clone from their private fork they intend to push to, add the true + upstream via "git remote add" and then "git fetch" from it. + + * Device-tree files learned their own userdiff patterns. + (merge 3c81760bc6 sb/userdiff-dts later to maint). + + * "git rebase --rebase-merges" learned to drive different merge + strategies and pass strategy specific options to them. + + * A new "pre-merge-commit" hook has been introduced. + + * Command line completion updates for "git -c var.name=val" have been + added. + + * The lazy clone machinery has been taught that there can be more + than one promisor remote and consult them in order when downloading + missing objects on demand. + + * The list-objects-filter API (used to create a sparse/lazy clone) + learned to take a combined filter specification. + + +Performance, Internal Implementation, Development Support etc. + + * The code to write commit-graph over given commit object names has + been made a bit more robust. + + * The first line of verbose output from each test piece now carries + the test name and number to help scanning with eyeballs. + + * Further clean-up of the initialization code. + + * xmalloc() used to have a mechanism to ditch memory and address + space resources as the last resort upon seeing an allocation + failure from the underlying malloc(), which made the code complex + and thread-unsafe with dubious benefit, as major memory resource + users already do limit their uses with various other mechanisms. + It has been simplified away. + + * Unnecessary full-tree diff in "git log -L" machinery has been + optimized away. + + * The http transport lacked some optimization the native transports + learned to avoid unnecessary ref advertisement, which has been + corrected. + + +Fixes since v2.23 +----------------- + + * "git grep --recurse-submodules" that looks at the working tree + files looked at the contents in the index in submodules, instead of + files in the working tree. + (merge 6a289d45c0 mt/grep-submodules-working-tree later to maint). + + * Codepaths to walk tree objects have been audited for integer + overflows and hardened. + (merge 5aa02f9868 jk/tree-walk-overflow later to maint). + + * "git pack-refs" can lose refs that are created while running, which + is getting corrected. + (merge a613d4f817 sc/pack-refs-deletion-racefix later to maint). + + * "git checkout" and "git restore" to re-populate the index from a + tree-ish (typically HEAD) did not work correctly for a path that + was removed and then added again with the intent-to-add bit, when + the corresponding working tree file was empty. This has been + corrected. + + * Compilation fix. + (merge 70597e8386 rs/nedalloc-fixlets later to maint). + + * "git gui" learned to call the clean-up procedure before exiting. + (merge 0d88f3d2c5 py/git-gui-do-quit later to maint). + + * We promoted the "indent heuristics" that decides where to split + diff hunks from experimental to the default a few years ago, but + some stale documentation still marked it as experimental, which has + been corrected. + (merge 64e5e1fba1 sg/diff-indent-heuristic-non-experimental later to maint). + + * Fix a mismerge that happened in 2.22 timeframe. + (merge acb7da05ac en/checkout-mismerge-fix later to maint). + + * "git archive" recorded incorrect length in extended pax header in + some corner cases, which has been corrected. + (merge 71d41ff651 rs/pax-extended-header-length-fix later to maint). + + * On-demand object fetching in lazy clone incorrectly tried to fetch + commits from submodule projects, while still working in the + superproject, which has been corrected. + (merge a63694f523 jt/diff-lazy-fetch-submodule-fix later to maint). + + * Prepare get_short_oid() codepath to be thread-safe. + (merge 7cfcb16b0e rs/sort-oid-array-thread-safe later to maint). + + * "for-each-ref" and friends that show refs did not protect themselves + against ancient tags that did not record tagger names when asked to + show "%(taggername)", which have been corrected. + (merge 8b3f33ef11 mp/for-each-ref-missing-name-or-email later to maint). + + * The "git am" based backend of "git rebase" ignored the result of + updating ".gitattributes" done in one step when replaying + subsequent steps. + (merge 2c65d90f75 bc/reread-attributes-during-rebase later to maint). + + * Tell cURL library to use the same malloc() implementation, with the + xmalloc() wrapper, as the rest of the system, for consistency. + (merge 93b980e58f cb/curl-use-xmalloc later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge d1387d3895 en/fast-import-merge-doc later to maint). + (merge 1c24a54ea4 bm/repository-layout-typofix later to maint). + (merge 415b770b88 ds/midx-expire-repack later to maint). + (merge 19800bdc3f nd/diff-parseopt later to maint). + (merge 58166c2e9d tg/t0021-racefix later to maint). diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt index dc41957afa..5d122db6e9 100644 --- a/Documentation/blame-options.txt +++ b/Documentation/blame-options.txt @@ -110,5 +110,24 @@ commit. And the default value is 40. If there are more than one `-C` options given, the <num> argument of the last `-C` will take effect. +--ignore-rev <rev>:: + Ignore changes made by the revision when assigning blame, as if the + change never happened. Lines that were changed or added by an ignored + commit will be blamed on the previous commit that changed that line or + nearby lines. This option may be specified multiple times to ignore + more than one revision. If the `blame.markIgnoredLines` config option + is set, then lines that were changed by an ignored commit and attributed to + another commit will be marked with a `?` in the blame output. If the + `blame.markUnblamableLines` config option is set, then those lines touched + by an ignored commit that we could not attribute to another revision are + marked with a '*'. + +--ignore-revs-file <file>:: + Ignore revisions listed in `file`, which must be in the same format as an + `fsck.skipList`. This option may be repeated, and these files will be + processed after any files specified with the `blame.ignoreRevsFile` config + option. An empty file name, `""`, will clear the list of revs from + previously processed files. + -h:: Show help message. diff --git a/Documentation/config.txt b/Documentation/config.txt index 7e2a6f61f5..77f3b1486b 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -144,6 +144,20 @@ refer to linkgit:gitignore[5] for details. For convenience: This is the same as `gitdir` except that matching is done case-insensitively (e.g. on case-insensitive file sytems) +`onbranch`:: + The data that follows the keyword `onbranch:` is taken to be a + pattern with standard globbing wildcards and two additional + ones, `**/` and `/**`, that can match multiple path components. + If we are in a worktree where the name of the branch that is + currently checked out matches the pattern, the include condition + is met. ++ +If the pattern ends with `/`, `**` will be automatically added. For +example, the pattern `foo/` becomes `foo/**`. In other words, it matches +all branches that begin with `foo/`. This is useful if your branches are +organized hierarchically and you would like to apply a configuration to +all the branches in that hierarchy. + A few more notes on matching via `gitdir` and `gitdir/i`: * Symlinks in `$GIT_DIR` are not resolved before matching. @@ -206,6 +220,11 @@ Example [includeIf "gitdir:/path/to/group/"] path = foo.inc + ; include only if we are in a worktree where foo-branch is + ; currently checked out + [includeIf "onbranch:foo-branch"] + path = foo.inc + Values ~~~~~~ @@ -326,6 +345,8 @@ include::config/difftool.txt[] include::config/fastimport.txt[] +include::config/feature.txt[] + include::config/fetch.txt[] include::config/format.txt[] diff --git a/Documentation/config/advice.txt b/Documentation/config/advice.txt index ec4f6ae658..6aaa360202 100644 --- a/Documentation/config/advice.txt +++ b/Documentation/config/advice.txt @@ -4,6 +4,10 @@ advice.*:: can tell Git that you do not need help by setting these to 'false': + -- + fetchShowForcedUpdates:: + Advice shown when linkgit:git-fetch[1] takes a long time + to calculate forced updates after ref updates, or to warn + that the check is disabled. pushUpdateRejected:: Set this variable to 'false' if you want to disable 'pushNonFFCurrent', @@ -37,12 +41,19 @@ advice.*:: we can still suggest that the user push to either refs/heads/* or refs/tags/* based on the type of the source object. + statusAheadBehind:: + Shown when linkgit:git-status[1] computes the ahead/behind + counts for a local ref compared to its remote tracking ref, + and that calculation takes longer than expected. Will not + appear if `status.aheadBehind` is false or the option + `--no-ahead-behind` is given. statusHints:: Show directions on how to proceed from the current state in the output of linkgit:git-status[1], in the template shown when writing commit messages in linkgit:git-commit[1], and in the help message shown - by linkgit:git-checkout[1] when switching branch. + by linkgit:git-switch[1] or + linkgit:git-checkout[1] when switching branch. statusUoption:: Advise to consider using the `-u` option to linkgit:git-status[1] when the command takes more than 2 seconds to enumerate untracked @@ -57,17 +68,21 @@ advice.*:: resolveConflict:: Advice shown by various commands when conflicts prevent the operation from being performed. + sequencerInUse:: + Advice shown when a sequencer command is already in progress. implicitIdentity:: Advice on how to set your identity configuration when your information is guessed from the system username and domain name. detachedHead:: - Advice shown when you used linkgit:git-checkout[1] to - move to the detach HEAD state, to instruct how to create - a local branch after the fact. + Advice shown when you used + linkgit:git-switch[1] or linkgit:git-checkout[1] + to move to the detach HEAD state, to instruct how to + create a local branch after the fact. checkoutAmbiguousRemoteBranchName:: Advice shown when the argument to - linkgit:git-checkout[1] ambiguously resolves to a + linkgit:git-checkout[1] and linkgit:git-switch[1] + ambiguously resolves to a remote tracking branch on more than one remote in situations where an unambiguous argument would have otherwise caused a remote-tracking branch to be diff --git a/Documentation/config/blame.txt b/Documentation/config/blame.txt index 67b5c1d1e0..9468e8599c 100644 --- a/Documentation/config/blame.txt +++ b/Documentation/config/blame.txt @@ -19,3 +19,19 @@ blame.showEmail:: blame.showRoot:: Do not treat root commits as boundaries in linkgit:git-blame[1]. This option defaults to false. + +blame.ignoreRevsFile:: + Ignore revisions listed in the file, one unabbreviated object name per + line, in linkgit:git-blame[1]. Whitespace and comments beginning with + `#` are ignored. This option may be repeated multiple times. Empty + file names will reset the list of ignored revisions. This option will + be handled before the command line option `--ignore-revs-file`. + +blame.markUnblamables:: + Mark lines that were changed by an ignored revision that we could not + attribute to another commit with a '*' in the output of + linkgit:git-blame[1]. + +blame.markIgnoredLines:: + Mark lines that were changed by an ignored revision that we attributed to + another commit with a '?' in the output of linkgit:git-blame[1]. diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt index 8f4b3faadd..a592d522a7 100644 --- a/Documentation/config/branch.txt +++ b/Documentation/config/branch.txt @@ -1,5 +1,5 @@ branch.autoSetupMerge:: - Tells 'git branch' and 'git checkout' to set up new branches + Tells 'git branch', 'git switch' and 'git checkout' to set up new branches so that linkgit:git-pull[1] will appropriately merge from the starting point branch. Note that even if this option is not set, this behavior can be chosen per-branch using the `--track` @@ -11,7 +11,7 @@ branch.autoSetupMerge:: branch. This option defaults to true. branch.autoSetupRebase:: - When a new branch is created with 'git branch' or 'git checkout' + When a new branch is created with 'git branch', 'git switch' or 'git checkout' that tracks another branch, this variable tells Git to set up pull to rebase instead of merge (see "branch.<name>.rebase"). When `never`, rebase is never automatically set to true. diff --git a/Documentation/config/checkout.txt b/Documentation/config/checkout.txt index c4118fa196..6b646813ab 100644 --- a/Documentation/config/checkout.txt +++ b/Documentation/config/checkout.txt @@ -1,5 +1,6 @@ checkout.defaultRemote:: - When you run 'git checkout <something>' and only have one + When you run 'git checkout <something>' + or 'git switch <something>' and only have one remote, it may implicitly fall back on checking out and tracking e.g. 'origin/<something>'. This stops working as soon as you have more than one remote with a '<something>' @@ -8,16 +9,10 @@ checkout.defaultRemote:: disambiguation. The typical use-case is to set this to `origin`. + -Currently this is used by linkgit:git-checkout[1] when 'git checkout -<something>' will checkout the '<something>' branch on another remote, +Currently this is used by linkgit:git-switch[1] and +linkgit:git-checkout[1] when 'git checkout <something>' +or 'git switch <something>' +will checkout the '<something>' branch on another remote, and by linkgit:git-worktree[1] when 'git worktree add' refers to a remote branch. This setting might be used for other checkout-like commands or functionality in the future. - -checkout.optimizeNewBranch:: - Optimizes the performance of "git checkout -b <new_branch>" when - using sparse-checkout. When set to true, git will not update the - repo based on the current sparse-checkout settings. This means it - will not update the skip-worktree bit in the index nor add/remove - files in the working directory to reflect the current sparse checkout - settings nor will it show the local changes. diff --git a/Documentation/config/color.txt b/Documentation/config/color.txt index 8375596c44..d5daacb13a 100644 --- a/Documentation/config/color.txt +++ b/Documentation/config/color.txt @@ -14,7 +14,7 @@ color.blame.highlightRecent:: + This setting should be set to a comma-separated list of color and date settings, starting and ending with a color, the dates should be set from oldest to newest. -The metadata will be colored given the colors if the the line was introduced +The metadata will be colored given the colors if the line was introduced before the given timestamp, overwriting older timestamped colors. + Instead of an absolute timestamp relative timestamps work as well, e.g. diff --git a/Documentation/config/core.txt b/Documentation/config/core.txt index 75538d27e7..852d2ba37a 100644 --- a/Documentation/config/core.txt +++ b/Documentation/config/core.txt @@ -86,7 +86,9 @@ core.untrackedCache:: it will automatically be removed, if set to `false`. Before setting it to `true`, you should check that mtime is working properly on your system. - See linkgit:git-update-index[1]. `keep` by default. + See linkgit:git-update-index[1]. `keep` by default, unless + `feature.manyFiles` is enabled which sets this setting to + `true` by default. core.checkStat:: When missing or is set to `default`, many fields in the stat @@ -577,7 +579,7 @@ the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1]. core.commitGraph:: If true, then git will read the commit-graph file (if it exists) - to parse the graph structure of commits. Defaults to false. See + to parse the graph structure of commits. Defaults to true. See linkgit:git-commit-graph[1] for more information. core.useReplaceRefs:: diff --git a/Documentation/config/diff.txt b/Documentation/config/diff.txt index 2c4c9ba27a..ff09f1cf73 100644 --- a/Documentation/config/diff.txt +++ b/Documentation/config/diff.txt @@ -78,7 +78,8 @@ diff.external:: diff.ignoreSubmodules:: Sets the default value of --ignore-submodules. Note that this affects only 'git diff' Porcelain, and not lower level 'diff' - commands such as 'git diff-files'. 'git checkout' also honors + commands such as 'git diff-files'. 'git checkout' + and 'git switch' also honor this setting when reporting uncommitted changes. Setting it to 'all' disables the submodule summary normally shown by 'git commit' and 'git status' when `status.submoduleSummary` is set unless it is @@ -188,7 +189,7 @@ diff.guitool:: include::../mergetools-diff.txt[] diff.indentHeuristic:: - Set this option to `true` to enable experimental heuristics + Set this option to `false` to disable the default heuristics that shift diff hunk boundaries to make patches easier to read. diff.algorithm:: diff --git a/Documentation/config/feature.txt b/Documentation/config/feature.txt new file mode 100644 index 0000000000..545522f306 --- /dev/null +++ b/Documentation/config/feature.txt @@ -0,0 +1,29 @@ +feature.*:: + The config settings that start with `feature.` modify the defaults of + a group of other config settings. These groups are created by the Git + developer community as recommended defaults and are subject to change. + In particular, new config options may be added with different defaults. + +feature.experimental:: + Enable config options that are new to Git, and are being considered for + future defaults. Config settings included here may be added or removed + with each release, including minor version updates. These settings may + have unintended interactions since they are so new. Please enable this + setting if you are interested in providing feedback on experimental + features. The new default values are: ++ +* `pack.useSparse=true` uses a new algorithm when constructing a pack-file +which can improve `git push` performance in repos with many files. ++ +* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by +skipping more commits at a time, reducing the number of round trips. + +feature.manyFiles:: + Enable config options that optimize for repos with many files in the + working directory. With many files, commands such as `git status` and + `git checkout` may be slow and these new defaults improve performance: ++ +* `index.version=4` enables path-prefix compression in the index. ++ +* `core.untrackedCache=true` enables the untracked cache. This setting assumes +that mtime is working on your machine. diff --git a/Documentation/config/fetch.txt b/Documentation/config/fetch.txt index cbfad6cdbb..d402110638 100644 --- a/Documentation/config/fetch.txt +++ b/Documentation/config/fetch.txt @@ -59,7 +59,13 @@ fetch.negotiationAlgorithm:: effort to converge faster, but may result in a larger-than-necessary packfile; The default is "default" which instructs Git to use the default algorithm that never skips commits (unless the server has acknowledged it or one - of its descendants). + of its descendants). If `feature.experimental` is enabled, then this + setting defaults to "skipping". Unknown values will cause 'git fetch' to error out. + See also the `--negotiation-tip` option for linkgit:git-fetch[1]. + +fetch.showForcedUpdates:: + Set to false to enable `--no-show-forced-updates` in + linkgit:git-fetch[1] and linkgit:git-pull[1] commands. + Defaults to true. diff --git a/Documentation/config/format.txt b/Documentation/config/format.txt index dc77941c48..cb629fa769 100644 --- a/Documentation/config/format.txt +++ b/Documentation/config/format.txt @@ -77,6 +77,7 @@ format.coverLetter:: A boolean that controls whether to generate a cover-letter when format-patch is invoked, but in addition can be set to "auto", to generate a cover-letter only when there's more than one patch. + Default is false. format.outputDirectory:: Set a custom directory to store the resulting files instead of the @@ -85,3 +86,18 @@ format.outputDirectory:: format.useAutoBase:: A boolean value which lets you enable the `--base=auto` option of format-patch by default. + +format.notes:: + Provides the default value for the `--notes` option to + format-patch. Accepts a boolean value, or a ref which specifies + where to get notes. If false, format-patch defaults to + `--no-notes`. If true, format-patch defaults to `--notes`. If + set to a non-boolean value, format-patch defaults to + `--notes=<ref>`, where `ref` is the non-boolean value. Defaults + to false. ++ +If one wishes to use the ref `ref/notes/true`, please use that literal +instead. ++ +This configuration can be specified multiple times in order to allow +multiple notes refs to be included. diff --git a/Documentation/config/gc.txt b/Documentation/config/gc.txt index 02b92b18b5..00ea0a678e 100644 --- a/Documentation/config/gc.txt +++ b/Documentation/config/gc.txt @@ -63,7 +63,7 @@ gc.writeCommitGraph:: If true, then gc will rewrite the commit-graph file when linkgit:git-gc[1] is run. When using `git gc --auto` the commit-graph will be updated if housekeeping is - required. Default is false. See linkgit:git-commit-graph[1] + required. Default is true. See linkgit:git-commit-graph[1] for details. gc.logExpiry:: diff --git a/Documentation/config/index.txt b/Documentation/config/index.txt index f181503041..7cb50b37e9 100644 --- a/Documentation/config/index.txt +++ b/Documentation/config/index.txt @@ -24,3 +24,4 @@ index.threads:: index.version:: Specify the version with which new index files should be initialized. This does not affect existing repositories. + If `feature.manyFiles` is enabled, then the default is 4. diff --git a/Documentation/config/interactive.txt b/Documentation/config/interactive.txt index ad846dd7c9..a2d3c7ec44 100644 --- a/Documentation/config/interactive.txt +++ b/Documentation/config/interactive.txt @@ -2,7 +2,8 @@ interactive.singleKey:: In interactive commands, allow the user to provide one-letter input with a single key (i.e., without hitting enter). Currently this is used by the `--patch` mode of - linkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-commit[1], + linkgit:git-add[1], linkgit:git-checkout[1], + linkgit:git-restore[1], linkgit:git-commit[1], linkgit:git-reset[1], and linkgit:git-stash[1]. Note that this setting is silently ignored if portable keystroke input is not available; requires the Perl module Term::ReadKey. diff --git a/Documentation/config/log.txt b/Documentation/config/log.txt index 78d9e4453a..e9e1e397f3 100644 --- a/Documentation/config/log.txt +++ b/Documentation/config/log.txt @@ -40,4 +40,5 @@ log.showSignature:: log.mailmap:: If true, makes linkgit:git-log[1], linkgit:git-show[1], and - linkgit:git-whatchanged[1] assume `--use-mailmap`. + linkgit:git-whatchanged[1] assume `--use-mailmap`, otherwise + assume `--no-use-mailmap`. True by default. diff --git a/Documentation/config/pack.txt b/Documentation/config/pack.txt index 9cdcfa7324..1d66f0c992 100644 --- a/Documentation/config/pack.txt +++ b/Documentation/config/pack.txt @@ -112,7 +112,8 @@ pack.useSparse:: objects. This can have significant performance benefits when computing a pack to send a small change. However, it is possible that extra objects are added to the pack-file if the included - commits contain certain types of direct renames. + commits contain certain types of direct renames. Default is `false` + unless `feature.experimental` is enabled. pack.writeBitmaps (deprecated):: This is a deprecated synonym for `repack.writeBitmaps`. diff --git a/Documentation/config/remote.txt b/Documentation/config/remote.txt index 6c4cad83a2..a8e6437a90 100644 --- a/Documentation/config/remote.txt +++ b/Documentation/config/remote.txt @@ -76,3 +76,11 @@ remote.<name>.pruneTags:: + See also `remote.<name>.prune` and the PRUNING section of linkgit:git-fetch[1]. + +remote.<name>.promisor:: + When set to true, this remote will be used to fetch promisor + objects. + +remote.<name>.partialclonefilter:: + The filter that will be applied when fetching from this + promisor remote. diff --git a/Documentation/config/stash.txt b/Documentation/config/stash.txt index 7710758efb..abc7ef4a3a 100644 --- a/Documentation/config/stash.txt +++ b/Documentation/config/stash.txt @@ -4,7 +4,7 @@ stash.useBuiltin:: the built-in rewrite of it in C. + The C rewrite is first included with Git version 2.22 (and Git for Windows -version 2.19). This option serves an an escape hatch to re-enable the +version 2.19). This option serves as an escape hatch to re-enable the legacy version in case any bugs are found in the rewrite. This option and the shell script version of linkgit:git-stash[1] will be removed in some future release. diff --git a/Documentation/config/status.txt b/Documentation/config/status.txt index ed72fa7dae..0fc704ab80 100644 --- a/Documentation/config/status.txt +++ b/Documentation/config/status.txt @@ -12,6 +12,11 @@ status.branch:: Set to true to enable --branch by default in linkgit:git-status[1]. The option --no-branch takes precedence over this variable. +status.aheadBehind:: + Set to true to enable `--ahead-behind` and false to enable + `--no-ahead-behind` by default in linkgit:git-status[1] for + non-porcelain status formats. Defaults to true. + status.displayCommentPrefix:: If set to true, linkgit:git-status[1] will insert a comment prefix before each output line (starting with diff --git a/Documentation/config/tag.txt b/Documentation/config/tag.txt index 663663bdec..ef5adb3f42 100644 --- a/Documentation/config/tag.txt +++ b/Documentation/config/tag.txt @@ -8,6 +8,14 @@ tag.sort:: linkgit:git-tag[1]. Without the "--sort=<value>" option provided, the value of this variable will be used as the default. +tag.gpgSign:: + A boolean to specify whether all tags should be GPG signed. + Use of this option when running in an automated script can + result in a large number of tags being signed. It is therefore + convenient to use an agent to avoid typing your gpg passphrase + several times. Note that this option doesn't affects tag signing + behavior enabled by "-u <keyid>" or "--local-user=<keyid>" options. + tar.umask:: This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the diff --git a/Documentation/config/transfer.txt b/Documentation/config/transfer.txt index 4a5dfe2fc1..f5b6245270 100644 --- a/Documentation/config/transfer.txt +++ b/Documentation/config/transfer.txt @@ -17,7 +17,7 @@ linkgit:git-receive-pack[1]. On the fetch side, malformed objects will instead be left unreferenced in the repository. + Due to the non-quarantine nature of the `fetch.fsckObjects` -implementation it can not be relied upon to leave the object store +implementation it cannot be relied upon to leave the object store clean like `receive.fsckObjects` can. + As objects are unpacked they're written to the object store, so there diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt index 91c47752ec..99df1f3d4e 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.txt @@ -88,6 +88,10 @@ ifndef::git-pull[] Allow several <repository> and <group> arguments to be specified. No <refspec>s may be specified. +--[no-]auto-gc:: + Run `git gc --auto` at the end to perform garbage collection + if needed. This is enabled by default. + -p:: --prune:: Before fetching, remove any remote-tracking references that no @@ -165,6 +169,13 @@ ifndef::git-pull[] Disable recursive fetching of submodules (this has the same effect as using the `--recurse-submodules=no` option). +--set-upstream:: + If the remote is fetched successfully, pull and add upstream + (tracking) reference, used by argument-less + linkgit:git-pull[1] and other commands. For more information, + see `branch.<name>.merge` and `branch.<name>.remote` in + linkgit:git-config[1]. + --submodule-prefix=<path>:: Prepend <path> to paths printed in informative messages such as "Fetching submodule foo". This option is used @@ -221,6 +232,19 @@ endif::git-pull[] When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line. +--show-forced-updates:: + By default, git checks if a branch is force-updated during + fetch. This can be disabled through fetch.showForcedUpdates, but + the --show-forced-updates option guarantees this check occurs. + See linkgit:git-config[1]. + +--no-show-forced-updates:: + By default, git checks if a branch is force-updated during + fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates + to false to skip this check for performance reasons. If used during + 'git-pull' the --ff-only option will still check for forced updates + before attempting a fast-forward update. See linkgit:git-config[1]. + -4:: --ipv4:: Use IPv4 addresses only, ignoring IPv6 addresses. diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt index 16323eb80e..7e81541996 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.txt @@ -10,6 +10,7 @@ SYNOPSIS [verse] 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental] [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>] + [--ignore-rev <rev>] [--ignore-revs-file <file>] [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>] [--] <file> diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index d9325e2145..135206ff4a 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -8,9 +8,8 @@ git-branch - List, create, or delete branches SYNOPSIS -------- [verse] -'git branch' [--color[=<when>] | --no-color] +'git branch' [--color[=<when>] | --no-color] [--show-current] [-v [--abbrev=<length> | --no-abbrev]] - [--show-current] [--column[=<options>] | --no-column] [--sort=<key>] [(--merged | --no-merged) [<commit>]] [--contains [<commit]] [--no-contains [<commit>]] @@ -29,8 +28,10 @@ DESCRIPTION ----------- If `--list` is given, or if there are no non-option arguments, existing -branches are listed; the current branch will be highlighted with an -asterisk. Option `-r` causes the remote-tracking branches to be listed, +branches are listed; the current branch will be highlighted in green and +marked with an asterisk. Any branches checked out in linked worktrees will +be highlighted in cyan and marked with a plus sign. Option `-r` causes the +remote-tracking branches to be listed, and option `-a` shows both local and remote branches. If a `<pattern>` @@ -59,7 +60,7 @@ can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. Note that this will create the new branch, but it will not switch the -working tree to it; use "git checkout <newbranch>" to switch to the +working tree to it; use "git switch <newbranch>" to switch to the new branch. When a local branch is started off a remote-tracking branch, Git sets up the @@ -183,8 +184,10 @@ This option is only applicable in non-verbose mode. When in list mode, show sha1 and commit subject line for each head, along with relationship to upstream branch (if any). If given twice, print - the name of the upstream branch, as well (see also `git remote - show <remote>`). + the path of the linked worktree (if any) and the name of the upstream + branch, as well (see also `git remote show <remote>`). Note that the + current worktree's HEAD will not have its path printed (it will always + be your current directory). -q:: --quiet:: @@ -211,7 +214,7 @@ This option is only applicable in non-verbose mode. + This behavior is the default when the start point is a remote-tracking branch. Set the branch.autoSetupMerge configuration variable to `false` if you -want `git checkout` and `git branch` to always behave as if `--no-track` +want `git switch`, `git checkout` and `git branch` to always behave as if `--no-track` were given. Set it to `always` if you want this behavior when the start-point is either a local or remote-tracking branch. @@ -310,7 +313,7 @@ Start development from a known tag:: $ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 $ cd my2.6 $ git branch my2.6.14 v2.6.14 <1> -$ git checkout my2.6.14 +$ git switch my2.6.14 ------------ + <1> This step and the next one could be combined into a single step with @@ -347,9 +350,9 @@ Patterns will normally need quoting. NOTES ----- -If you are creating a branch that you want to checkout immediately, it is -easier to use the git checkout command with its `-b` option to create -a branch and check it out with a single command. +If you are creating a branch that you want to switch to immediately, +it is easier to use the "git switch" command with its `-c` option to +do the same thing with a single command. The options `--contains`, `--no-contains`, `--merged` and `--no-merged` serve four related but different purposes: diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt index d9de992585..ee6a4144fb 100644 --- a/Documentation/git-check-ref-format.txt +++ b/Documentation/git-check-ref-format.txt @@ -88,7 +88,8 @@ but it is explicitly forbidden at the beginning of a branch name). When run with `--branch` option in a repository, the input is first expanded for the ``previous checkout syntax'' `@{-n}`. For example, `@{-1}` is a way to refer the last thing that -was checked out using "git checkout" operation. This option should be +was checked out using "git switch" or "git checkout" operation. +This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name. As an exception note that, the ``previous checkout operation'' might result diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index 964f912d29..cf3cac0a2b 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -23,31 +23,22 @@ or the specified tree. If no paths are given, 'git checkout' will also update `HEAD` to set the specified branch as the current branch. -'git checkout' <branch>:: - To prepare for working on <branch>, switch to it by updating +'git checkout' [<branch>]:: + To prepare for working on `<branch>`, switch to it by updating the index and the files in the working tree, and by pointing - HEAD at the branch. Local modifications to the files in the + `HEAD` at the branch. Local modifications to the files in the working tree are kept, so that they can be committed to the - <branch>. + `<branch>`. + -If <branch> is not found but there does exist a tracking branch in -exactly one remote (call it <remote>) with a matching name, treat as -equivalent to +If `<branch>` is not found but there does exist a tracking branch in +exactly one remote (call it `<remote>`) with a matching name and +`--no-guess` is not specified, treat as equivalent to + ------------ $ git checkout -b <branch> --track <remote>/<branch> ------------ + -If the branch exists in multiple remotes and one of them is named by -the `checkout.defaultRemote` configuration variable, we'll use that -one for the purposes of disambiguation, even if the `<branch>` isn't -unique across all remotes. Set it to -e.g. `checkout.defaultRemote=origin` to always checkout remote -branches from there if `<branch>` is ambiguous but exists on the -'origin' remote. See also `checkout.defaultRemote` in -linkgit:git-config[1]. -+ -You could omit <branch>, in which case the command degenerates to +You could omit `<branch>`, in which case the command degenerates to "check out the current branch", which is a glorified no-op with rather expensive side-effects to show only the tracking information, if exists, for the current branch. @@ -61,7 +52,7 @@ if exists, for the current branch. `--track` without `-b` implies branch creation; see the description of `--track` below. + -If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it +If `-B` is given, `<new_branch>` is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of + ------------ @@ -75,25 +66,25 @@ successful. 'git checkout' --detach [<branch>]:: 'git checkout' [--detach] <commit>:: - Prepare to work on top of <commit>, by detaching HEAD at it + Prepare to work on top of `<commit>`, by detaching `HEAD` at it (see "DETACHED HEAD" section), and updating the index and the files in the working tree. Local modifications to the files in the working tree are kept, so that the resulting working tree will be the state recorded in the commit plus the local modifications. + -When the <commit> argument is a branch name, the `--detach` option can -be used to detach HEAD at the tip of the branch (`git checkout -<branch>` would check out that branch without detaching HEAD). +When the `<commit>` argument is a branch name, the `--detach` option can +be used to detach `HEAD` at the tip of the branch (`git checkout +<branch>` would check out that branch without detaching `HEAD`). + -Omitting <branch> detaches HEAD at the tip of the current branch. +Omitting `<branch>` detaches `HEAD` at the tip of the current branch. 'git checkout' [<tree-ish>] [--] <pathspec>...:: Overwrite paths in the working tree by replacing with the - contents in the index or in the <tree-ish> (most often a - commit). When a <tree-ish> is given, the paths that - match the <pathspec> are updated both in the index and in + contents in the index or in the `<tree-ish>` (most often a + commit). When a `<tree-ish>` is given, the paths that + match the `<pathspec>` are updated both in the index and in the working tree. + The index may contain unmerged entries because of a previous failed merge. @@ -118,7 +109,8 @@ OPTIONS --quiet:: Quiet, suppress feedback messages. ---[no-]progress:: +--progress:: +--no-progress:: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not @@ -127,7 +119,7 @@ OPTIONS -f:: --force:: When switching branches, proceed even if the index or the - working tree differs from HEAD. This is used to throw away + working tree differs from `HEAD`. This is used to throw away local changes. + When checking out paths from the index, do not fail upon unmerged @@ -154,12 +146,12 @@ on your side branch as `theirs` (i.e. "one contributor's work on top of it"). -b <new_branch>:: - Create a new branch named <new_branch> and start it at - <start_point>; see linkgit:git-branch[1] for details. + Create a new branch named `<new_branch>` and start it at + `<start_point>`; see linkgit:git-branch[1] for details. -B <new_branch>:: - Creates the branch <new_branch> and start it at <start_point>; - if it already exists, then reset it to <start_point>. This is + Creates the branch `<new_branch>` and start it at `<start_point>`; + if it already exists, then reset it to `<start_point>`. This is equivalent to running "git branch" with "-f"; see linkgit:git-branch[1] for details. @@ -172,15 +164,36 @@ If no `-b` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*". -This would tell us to use "hack" as the local branch when branching -off of "origin/hack" (or "remotes/origin/hack", or even -"refs/remotes/origin/hack"). If the given name has no slash, or the above +This would tell us to use `hack` as the local branch when branching +off of `origin/hack` (or `remotes/origin/hack`, or even +`refs/remotes/origin/hack`). If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted. You can explicitly give a name with `-b` in such a case. --no-track:: Do not set up "upstream" configuration, even if the - branch.autoSetupMerge configuration variable is true. + `branch.autoSetupMerge` configuration variable is true. + +--guess:: +--no-guess:: + If `<branch>` is not found but there does exist a tracking + branch in exactly one remote (call it `<remote>`) with a + matching name, treat as equivalent to ++ +------------ +$ git checkout -b <branch> --track <remote>/<branch> +------------ ++ +If the branch exists in multiple remotes and one of them is named by +the `checkout.defaultRemote` configuration variable, we'll use that +one for the purposes of disambiguation, even if the `<branch>` isn't +unique across all remotes. Set it to +e.g. `checkout.defaultRemote=origin` to always checkout remote +branches from there if `<branch>` is ambiguous but exists on the +'origin' remote. See also `checkout.defaultRemote` in +linkgit:git-config[1]. ++ +Use `--no-guess` to disable this. -l:: Create the new branch's reflog; see linkgit:git-branch[1] for @@ -189,21 +202,21 @@ explicitly give a name with `-b` in such a case. --detach:: Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments. - This is the default behavior of "git checkout <commit>" when - <commit> is not a branch name. See the "DETACHED HEAD" section + This is the default behavior of `git checkout <commit>` when + `<commit>` is not a branch name. See the "DETACHED HEAD" section below for details. --orphan <new_branch>:: - Create a new 'orphan' branch, named <new_branch>, started from - <start_point> and switch to it. The first commit made on this + Create a new 'orphan' branch, named `<new_branch>`, started from + `<start_point>` and switch to it. The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits. + The index and the working tree are adjusted as if you had previously run -"git checkout <start_point>". This allows you to start a new history -that records a set of paths similar to <start_point> by easily running -"git commit -a" to make the root commit. +`git checkout <start_point>`. This allows you to start a new history +that records a set of paths similar to `<start_point>` by easily running +`git commit -a` to make the root commit. + This can be useful when you want to publish the tree from a commit without exposing its full history. You might want to do this to publish @@ -212,17 +225,17 @@ whose full history contains proprietary or otherwise encumbered bits of code. + If you want to start a disconnected history that records a set of paths -that is totally different from the one of <start_point>, then you should +that is totally different from the one of `<start_point>`, then you should clear the index and the working tree right after creating the orphan -branch by running "git rm -rf ." from the top level of the working tree. +branch by running `git rm -rf .` from the top level of the working tree. Afterwards you will be ready to prepare your new files, repopulating the working tree, by copying them from elsewhere, extracting a tarball, etc. --ignore-skip-worktree-bits:: In sparse checkout mode, `git checkout -- <paths>` would - update only entries matched by <paths> and sparse patterns - in $GIT_DIR/info/sparse-checkout. This option ignores - the sparse patterns and adds back any files in <paths>. + update only entries matched by `<paths>` and sparse patterns + in `$GIT_DIR/info/sparse-checkout`. This option ignores + the sparse patterns and adds back any files in `<paths>`. -m:: --merge:: @@ -246,25 +259,25 @@ the conflicted merge in the specified paths. When switching branches with `--merge`, staged changes may be lost. --conflict=<style>:: - The same as --merge option above, but changes the way the + The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the - merge.conflictStyle configuration variable. Possible values are + `merge.conflictStyle` configuration variable. Possible values are "merge" (default) and "diff3" (in addition to what is shown by "merge" style, shows the original contents). -p:: --patch:: Interactively select hunks in the difference between the - <tree-ish> (or the index, if unspecified) and the working + `<tree-ish>` (or the index, if unspecified) and the working tree. The chosen hunks are then applied in reverse to the - working tree (and if a <tree-ish> was specified, the index). + working tree (and if a `<tree-ish>` was specified, the index). + This means that you can use `git checkout -p` to selectively discard edits from your current working tree. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode. + Note that this option uses the no overlay mode by default (see also -`--[no-]overlay`), and currently doesn't support overlay mode. +`--overlay`), and currently doesn't support overlay mode. --ignore-other-worktrees:: `git checkout` refuses when the wanted ref is already checked @@ -272,38 +285,42 @@ Note that this option uses the no overlay mode by default (see also out anyway. In other words, the ref can be held by more than one worktree. ---[no-]recurse-submodules:: - Using --recurse-submodules will update the content of all initialized +--overwrite-ignore:: +--no-overwrite-ignore:: + Silently overwrite ignored files when switching branches. This + is the default behavior. Use `--no-overwrite-ignore` to abort + the operation when the new branch contains ignored files. + +--recurse-submodules:: +--no-recurse-submodules:: + Using `--recurse-submodules` will update the content of all initialized submodules according to the commit recorded in the superproject. If local modifications in a submodule would be overwritten the checkout - will fail unless `-f` is used. If nothing (or --no-recurse-submodules) + will fail unless `-f` is used. If nothing (or `--no-recurse-submodules`) is used, the work trees of submodules will not be updated. - Just like linkgit:git-submodule[1], this will detach the - submodules HEAD. - ---no-guess:: - Do not attempt to create a branch if a remote tracking branch - of the same name exists. + Just like linkgit:git-submodule[1], this will detach `HEAD` of the + submodule. ---[no-]overlay:: +--overlay:: +--no-overlay:: In the default overlay mode, `git checkout` never removes files from the index or the working tree. When specifying `--no-overlay`, files that appear in the index and - working tree, but not in <tree-ish> are removed, to make them - match <tree-ish> exactly. + working tree, but not in `<tree-ish>` are removed, to make them + match `<tree-ish>` exactly. <branch>:: Branch to checkout; if it refers to a branch (i.e., a name that, when prepended with "refs/heads/", is a valid ref), then that branch is checked out. Otherwise, if it refers to a valid - commit, your HEAD becomes "detached" and you are no longer on + commit, your `HEAD` becomes "detached" and you are no longer on any branch (see below for details). + -You can use the `"@{-N}"` syntax to refer to the N-th last +You can use the `@{-N}` syntax to refer to the N-th last branch/commit checked out using "git checkout" operation. You may -also specify `-` which is synonymous to `"@{-1}"`. +also specify `-` which is synonymous to `@{-1}`. + -As a special case, you may use `"A...B"` as a shortcut for the +As a special case, you may use `A...B` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. @@ -312,7 +329,7 @@ leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. <start_point>:: The name of a commit at which to start the new branch; see - linkgit:git-branch[1] for details. Defaults to HEAD. + linkgit:git-branch[1] for details. Defaults to `HEAD`. + As a special case, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can @@ -326,9 +343,9 @@ leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. DETACHED HEAD ------------- -HEAD normally refers to a named branch (e.g. 'master'). Meanwhile, each +`HEAD` normally refers to a named branch (e.g. `master`). Meanwhile, each branch refers to a specific commit. Let's look at a repo with three -commits, one of them tagged, and with branch 'master' checked out: +commits, one of them tagged, and with branch `master` checked out: ------------ HEAD (refers to branch 'master') @@ -341,10 +358,10 @@ a---b---c branch 'master' (refers to commit 'c') ------------ When a commit is created in this state, the branch is updated to refer to -the new commit. Specifically, 'git commit' creates a new commit 'd', whose -parent is commit 'c', and then updates branch 'master' to refer to new -commit 'd'. HEAD still refers to branch 'master' and so indirectly now refers -to commit 'd': +the new commit. Specifically, 'git commit' creates a new commit `d`, whose +parent is commit `c`, and then updates branch `master` to refer to new +commit `d`. `HEAD` still refers to branch `master` and so indirectly now refers +to commit `d`: ------------ $ edit; git add; git commit @@ -361,7 +378,7 @@ a---b---c---d branch 'master' (refers to commit 'd') It is sometimes useful to be able to checkout a commit that is not at the tip of any named branch, or even to create a new commit that is not referenced by a named branch. Let's look at what happens when we -checkout commit 'b' (here we show two ways this may be done): +checkout commit `b` (here we show two ways this may be done): ------------ $ git checkout v2.0 # or @@ -376,9 +393,9 @@ a---b---c---d branch 'master' (refers to commit 'd') tag 'v2.0' (refers to commit 'b') ------------ -Notice that regardless of which checkout command we use, HEAD now refers -directly to commit 'b'. This is known as being in detached HEAD state. -It means simply that HEAD refers to a specific commit, as opposed to +Notice that regardless of which checkout command we use, `HEAD` now refers +directly to commit `b`. This is known as being in detached `HEAD` state. +It means simply that `HEAD` refers to a specific commit, as opposed to referring to a named branch. Let's see what happens when we create a commit: ------------ @@ -395,7 +412,7 @@ a---b---c---d branch 'master' (refers to commit 'd') tag 'v2.0' (refers to commit 'b') ------------ -There is now a new commit 'e', but it is referenced only by HEAD. We can +There is now a new commit `e`, but it is referenced only by `HEAD`. We can of course add yet another commit in this state: ------------ @@ -413,7 +430,7 @@ a---b---c---d branch 'master' (refers to commit 'd') ------------ In fact, we can perform all the normal Git operations. But, let's look -at what happens when we then checkout master: +at what happens when we then checkout `master`: ------------ $ git checkout master @@ -428,9 +445,9 @@ a---b---c---d branch 'master' (refers to commit 'd') ------------ It is important to realize that at this point nothing refers to commit -'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted +`f`. Eventually commit `f` (and by extension commit `e`) will be deleted by the routine Git garbage collection process, unless we create a reference -before that happens. If we have not yet moved away from commit 'f', +before that happens. If we have not yet moved away from commit `f`, any of these will create a reference to it: ------------ @@ -439,19 +456,19 @@ $ git branch foo <2> $ git tag foo <3> ------------ -<1> creates a new branch 'foo', which refers to commit 'f', and then - updates HEAD to refer to branch 'foo'. In other words, we'll no longer - be in detached HEAD state after this command. +<1> creates a new branch `foo`, which refers to commit `f`, and then + updates `HEAD` to refer to branch `foo`. In other words, we'll no longer + be in detached `HEAD` state after this command. -<2> similarly creates a new branch 'foo', which refers to commit 'f', - but leaves HEAD detached. +<2> similarly creates a new branch `foo`, which refers to commit `f`, + but leaves `HEAD` detached. -<3> creates a new tag 'foo', which refers to commit 'f', - leaving HEAD detached. +<3> creates a new tag `foo`, which refers to commit `f`, + leaving `HEAD` detached. -If we have moved away from commit 'f', then we must first recover its object +If we have moved away from commit `f`, then we must first recover its object name (typically by using git reflog), and then we can create a reference to -it. For example, to see the last two commits to which HEAD referred, we +it. For example, to see the last two commits to which `HEAD` referred, we can use either of these commands: ------------ @@ -462,12 +479,12 @@ $ git log -g -2 HEAD ARGUMENT DISAMBIGUATION ----------------------- -When there is only one argument given and it is not `--` (e.g. "git -checkout abc"), and when the argument is both a valid `<tree-ish>` -(e.g. a branch "abc" exists) and a valid `<pathspec>` (e.g. a file +When there is only one argument given and it is not `--` (e.g. `git +checkout abc`), and when the argument is both a valid `<tree-ish>` +(e.g. a branch `abc` exists) and a valid `<pathspec>` (e.g. a file or a directory whose name is "abc" exists), Git would usually ask you to disambiguate. Because checking out a branch is so common an -operation, however, "git checkout abc" takes "abc" as a `<tree-ish>` +operation, however, `git checkout abc` takes "abc" as a `<tree-ish>` in such a situation. Use `git checkout -- <pathspec>` if you want to checkout these paths out of the index. @@ -475,7 +492,7 @@ EXAMPLES -------- . The following sequence checks out the `master` branch, reverts - the `Makefile` to two revisions back, deletes hello.c by + the `Makefile` to two revisions back, deletes `hello.c` by mistake, and gets it back from the index. + ------------ @@ -487,7 +504,7 @@ $ git checkout hello.c <3> + <1> switch branch <2> take a file out of another commit -<3> restore hello.c from the index +<3> restore `hello.c` from the index + If you want to check out _all_ C source files out of the index, you can say @@ -516,7 +533,7 @@ $ git checkout -- hello.c $ git checkout mytopic ------------ + -However, your "wrong" branch and correct "mytopic" branch may +However, your "wrong" branch and correct `mytopic` branch may differ in files that you have modified locally, in which case the above checkout would fail like this: + @@ -557,6 +574,11 @@ $ edit frotz $ git add frotz ------------ +SEE ALSO +-------- +linkgit:git-switch[1], +linkgit:git-restore[1] + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt index 754b16ce0c..83ce51aedf 100644 --- a/Documentation/git-cherry-pick.txt +++ b/Documentation/git-cherry-pick.txt @@ -10,9 +10,7 @@ SYNOPSIS [verse] 'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] [-S[<keyid>]] <commit>... -'git cherry-pick' --continue -'git cherry-pick' --quit -'git cherry-pick' --abort +'git cherry-pick' (--continue | --skip | --abort | --quit) DESCRIPTION ----------- diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt index db876f7dde..0028ff12d1 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.txt @@ -63,7 +63,7 @@ OPTIONS still use the ignore rules given with `-e` options from the command line. This allows removing all untracked files, including build products. This can be used (possibly in - conjunction with 'git reset') to create a pristine + conjunction with 'git restore' or 'git reset') to create a pristine working directory to test a clean build. -X:: diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index ca8871c165..34011c2940 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -15,7 +15,8 @@ SYNOPSIS [--dissociate] [--separate-git-dir <git dir>] [--depth <depth>] [--[no-]single-branch] [--no-tags] [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules] - [--jobs <n>] [--] <repository> [<directory>] + [--[no-]remote-submodules] [--jobs <n>] [--] <repository> + [<directory>] DESCRIPTION ----------- @@ -260,6 +261,12 @@ or `--mirror` is given) --[no-]shallow-submodules:: All submodules which are cloned will be shallow with a depth of 1. +--[no-]remote-submodules:: + All submodules which are cloned will use the status of the submodule’s + remote-tracking branch to update the submodule, rather than the + superproject’s recorded SHA-1. Equivalent to passing `--remote` to + `git submodule update`. + --separate-git-dir=<git dir>:: Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, diff --git a/Documentation/git-commit-graph.txt b/Documentation/git-commit-graph.txt index 624470e198..eb5e7865f0 100644 --- a/Documentation/git-commit-graph.txt +++ b/Documentation/git-commit-graph.txt @@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git commit-graph read' [--object-dir <dir>] -'git commit-graph verify' [--object-dir <dir>] +'git commit-graph verify' [--object-dir <dir>] [--shallow] 'git commit-graph write' <options> [--object-dir <dir>] @@ -26,7 +26,7 @@ OPTIONS Use given directory for the location of packfiles and commit-graph file. This parameter exists to specify the location of an alternate that only has the objects directory, not a full `.git` directory. The - commit-graph file is expected to be at `<dir>/info/commit-graph` and + commit-graph file is expected to be in the `<dir>/info` directory and the packfiles are expected to be in `<dir>/pack`. @@ -51,6 +51,25 @@ or `--stdin-packs`.) + With the `--append` option, include all commits that are present in the existing commit-graph file. ++ +With the `--split` option, write the commit-graph as a chain of multiple +commit-graph files stored in `<dir>/info/commit-graphs`. The new commits +not already in the commit-graph are added in a new "tip" file. This file +is merged with the existing file if the following merge conditions are +met: ++ +* If `--size-multiple=<X>` is not specified, let `X` equal 2. If the new +tip file would have `N` commits and the previous tip has `M` commits and +`X` times `N` is greater than `M`, instead merge the two files into a +single file. ++ +* If `--max-commits=<M>` is specified with `M` a positive integer, and the +new tip file would have more than `M` commits, then instead merge the new +tip with the previous tip. ++ +Finally, if `--expire-time=<datetime>` is not specified, let `datetime` +be the current time. After writing the split commit-graph, delete all +unused commit-graph whose modified times are older than `datetime`. 'read':: @@ -61,6 +80,9 @@ Used for debugging purposes. Read the commit-graph file and verify its contents against the object database. Used to check for corrupted data. ++ +With the `--shallow` option, only check the tip commit-graph file in +a chain of split commit-graphs. EXAMPLES diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index a85c2c2a4c..7628193284 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -359,7 +359,7 @@ When recording your own work, the contents of modified files in your working tree are temporarily stored to a staging area called the "index" with 'git add'. A file can be reverted back, only in the index but not in the working tree, -to that of the last commit with `git reset HEAD -- <file>`, +to that of the last commit with `git restore --staged <file>`, which effectively reverts 'git add' and prevents the changes to this file from participating in the next commit. After building the state to be committed incrementally with these commands, diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt index f98b7c6ed7..79e22b1f3a 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.txt @@ -232,7 +232,7 @@ write so it might not be enough to grant the users using 'git-cvsserver' write access to the database file without granting them write access to the directory, too. -The database can not be reliably regenerated in a +The database cannot be reliably regenerated in a consistent form after the branch it is tracking has changed. Example: For merged branches, 'git-cvsserver' only tracks one branch of development, and after a 'git merge' an diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index 64c01ba918..cc940eb9ad 100644 --- a/Documentation/git-fast-export.txt +++ b/Documentation/git-fast-export.txt @@ -116,7 +116,7 @@ marks the same across runs. and will make master{tilde}4 no longer have master{tilde}5 as a parent (though both the old master{tilde}4 and new master{tilde}4 will have all the same files). Use - --reference-excluded-parents to instead have the the stream + --reference-excluded-parents to instead have the stream refer to commits in the excluded range of history by their sha1sum. Note that the resulting stream can only be used by a repository which already contains the necessary parent @@ -129,6 +129,13 @@ marks the same across runs. for intermediary filters (e.g. for rewriting commit messages which refer to older commits, or for stripping blobs by id). +--reencode=(yes|no|abort):: + Specify how to handle `encoding` header in commit objects. When + asking to 'abort' (which is the default), this program will die + when encountering such a commit object. With 'yes', the commit + message will be reencoded into UTF-8. With 'no', the original + encoding will be preserved. + --refspec:: Apply the specified refspec to each ref exported. Multiple of them can be specified. diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index d65cdb3d08..0bb276269e 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -388,9 +388,10 @@ change to the project. original-oid? ('author' (SP <name>)? SP LT <email> GT SP <when> LF)? 'committer' (SP <name>)? SP LT <email> GT SP <when> LF + ('encoding' SP <encoding>)? data ('from' SP <commit-ish> LF)? - ('merge' SP <commit-ish> LF)? + ('merge' SP <commit-ish> LF)* (filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)* LF? .... @@ -424,7 +425,7 @@ the same commit, as `filedeleteall` wipes the branch clean (see below). The `LF` after the command is optional (it used to be required). Note that for reasons of backward compatibility, if the commit ends with a -`data` command (i.e. it has has no `from`, `merge`, `filemodify`, +`data` command (i.e. it has no `from`, `merge`, `filemodify`, `filedelete`, `filecopy`, `filerename`, `filedeleteall` or `notemodify` commands) then two `LF` commands may appear at the end of the command instead of just one. @@ -455,6 +456,12 @@ that was selected by the --date-format=<fmt> command-line option. See ``Date Formats'' above for the set of supported formats, and their syntax. +`encoding` +^^^^^^^^^^ +The optional `encoding` command indicates the encoding of the commit +message. Most commits are UTF-8 and the encoding is omitted, but this +allows importing commit messages into git without first reencoding them. + `from` ^^^^^^ The `from` command is used to specify the commit to initialize diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt index 266d63cf11..5b1909fdf4 100644 --- a/Documentation/git-fetch.txt +++ b/Documentation/git-fetch.txt @@ -262,7 +262,7 @@ This updates (or creates, as necessary) branches `pu` and `tmp` in the local repository by fetching from the branches (respectively) `pu` and `maint` from the remote repository. + -The `pu` branch will be updated even if it is does not fast-forward, +The `pu` branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; `tmp` will not be. * Peek at a remote's branch, without configuring the remote in your local @@ -285,7 +285,7 @@ BUGS ---- Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the -just fetched commits of the superproject the submodule itself can not be +just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version. diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index 774cecc7ed..6dcd39f6f6 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -214,6 +214,11 @@ symref:: `:lstrip` and `:rstrip` options in the same way as `refname` above. +worktreepath:: + The absolute path to the worktree in which the ref is checked + out, if it is checked out in any linked worktree. Empty string + otherwise. + In addition to the above, for commit and tag objects, the header field names (`tree`, `parent`, `object`, `type`, and `tag`) can be used to specify the value in the header field. diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 1af85d404f..0ac56f4b70 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -17,12 +17,13 @@ SYNOPSIS [--signature-file=<file>] [-n | --numbered | -N | --no-numbered] [--start-number <n>] [--numbered-files] - [--in-reply-to=Message-Id] [--suffix=.<sfx>] + [--in-reply-to=<message id>] [--suffix=.<sfx>] [--ignore-if-in-upstream] - [--rfc] [--subject-prefix=Subject-Prefix] + [--rfc] [--subject-prefix=<subject prefix>] [(--reroll-count|-v) <n>] [--to=<email>] [--cc=<email>] - [--[no-]cover-letter] [--quiet] [--notes[=<ref>]] + [--[no-]cover-letter] [--quiet] + [--no-notes | --notes[=<ref>]] [--interdiff=<previous>] [--range-diff=<previous> [--creation-factor=<percent>]] [--progress] @@ -158,9 +159,9 @@ Beware that the default for 'git send-email' is to thread emails itself. If you want `git format-patch` to take care of threading, you will want to ensure that threading is disabled for `git send-email`. ---in-reply-to=Message-Id:: +--in-reply-to=<message id>:: Make the first mail (or all the mails with `--no-thread`) appear as a - reply to the given Message-Id, which avoids breaking threads to + reply to the given <message id>, which avoids breaking threads to provide a new patch series. --ignore-if-in-upstream:: @@ -170,9 +171,9 @@ will want to ensure that threading is disabled for `git send-email`. patches being generated, and any patch that matches is ignored. ---subject-prefix=<Subject-Prefix>:: +--subject-prefix=<subject prefix>:: Instead of the standard '[PATCH]' prefix in the subject - line, instead use '[<Subject-Prefix>]'. This + line, instead use '[<subject prefix>]'. This allows for useful naming of a patch series, and can be combined with the `--numbered` option. @@ -263,6 +264,7 @@ material (this may change in the future). for details. --notes[=<ref>]:: +--no-notes:: Append the notes (see linkgit:git-notes[1]) for the commit after the three-dash line. + @@ -273,6 +275,9 @@ these explanations after `format-patch` has run but before sending, keeping them as Git notes allows them to be maintained between versions of the patch series (but see the discussion of the `notes.rewrite` configuration options in linkgit:git-notes[1] to use this workflow). ++ +The default is `--no-notes`, unless the `format.notes` configuration is +set. --[no-]signature=<signature>:: Add a signature to each message produced. Per RFC 3676 the signature @@ -309,7 +314,8 @@ you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`. --base=<commit>:: Record the base tree information to identify the state the patch series applies to. See the BASE TREE INFORMATION section - below for details. + below for details. If <commit> is "auto", a base commit is + automatically chosen. --root:: Treat the revision argument as a <revision range>, even if it @@ -325,8 +331,9 @@ CONFIGURATION ------------- You can specify extra mail header lines to be added to each message, defaults for the subject prefix and file suffix, number patches when -outputting more than one patch, add "To" or "Cc:" headers, configure -attachments, and sign off patches with configuration variables. +outputting more than one patch, add "To:" or "Cc:" headers, configure +attachments, change the patch output directory, and sign off patches +with configuration variables. ------------ [format] @@ -338,7 +345,8 @@ attachments, and sign off patches with configuration variables. cc = <email> attach [ = mime-boundary-string ] signOff = true - coverletter = auto + outputDirectory = <directory> + coverLetter = auto ------------ @@ -421,8 +429,8 @@ One way to test if your MUA is set up correctly is: * Apply it: $ git fetch <project> master:test-apply - $ git checkout test-apply - $ git reset --hard + $ git switch test-apply + $ git restore --source=HEAD --staged --worktree :/ $ git am a.patch If it does not apply correctly, there can be various reasons. diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index b02e922dc3..b406bc4c48 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -49,7 +49,7 @@ OPTIONS Print out the ref name given on the command line by which each commit was reached. ---use-mailmap:: +--[no-]use-mailmap:: Use mailmap file to map author and committer names and email addresses to canonical real names and email addresses. See linkgit:git-shortlog[1]. diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt index 9f07f4f6ed..261d5c1164 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.txt @@ -149,7 +149,7 @@ instead. Discussion on fork-point mode ----------------------------- -After working on the `topic` branch created with `git checkout -b +After working on the `topic` branch created with `git switch -c topic origin/master`, the history of remote-tracking branch `origin/master` may have been rewound and rebuilt, leading to a history of this shape: diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index 6294dbc09d..092529c619 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -10,11 +10,10 @@ SYNOPSIS -------- [verse] 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] - [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] + [--no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] [--[no-]allow-unrelated-histories] [--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>...] -'git merge' --abort -'git merge' --continue +'git merge' (--continue | --abort | --quit) DESCRIPTION ----------- @@ -88,6 +87,11 @@ will be appended to the specified message. Allow the rerere mechanism to update the index with the result of auto-conflict resolution if possible. +--overwrite-ignore:: +--no-overwrite-ignore:: + Silently overwrite ignored files from the merge result. This + is the default behavior. Use `--no-overwrite-ignore` to abort. + --abort:: Abort the current conflict resolution process, and try to reconstruct the pre-merge state. @@ -100,6 +104,10 @@ commit or stash your changes before running 'git merge'. 'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` is present. +--quit:: + Forget about the current merge in progress. Leave the index + and the working tree as-is. + --continue:: After a 'git merge' stops due to conflicts you can conclude the merge by running 'git merge --continue' (see "HOW TO RESOLVE diff --git a/Documentation/git-multi-pack-index.txt b/Documentation/git-multi-pack-index.txt index f7778a2c85..233b2b7862 100644 --- a/Documentation/git-multi-pack-index.txt +++ b/Documentation/git-multi-pack-index.txt @@ -9,7 +9,7 @@ git-multi-pack-index - Write and verify multi-pack-indexes SYNOPSIS -------- [verse] -'git multi-pack-index' [--object-dir=<dir>] <verb> +'git multi-pack-index' [--object-dir=<dir>] <subcommand> DESCRIPTION ----------- @@ -23,13 +23,35 @@ OPTIONS `<dir>/packs/multi-pack-index` for the current MIDX file, and `<dir>/packs` for the pack-files to index. +The following subcommands are available: + write:: - When given as the verb, write a new MIDX file to - `<dir>/packs/multi-pack-index`. + Write a new MIDX file. verify:: - When given as the verb, verify the contents of the MIDX file - at `<dir>/packs/multi-pack-index`. + Verify the contents of the MIDX file. + +expire:: + Delete the pack-files that are tracked by the MIDX file, but + have no objects referenced by the MIDX. Rewrite the MIDX file + afterward to remove all references to these pack-files. + +repack:: + Create a new pack-file containing objects in small pack-files + referenced by the multi-pack-index. If the size given by the + `--batch-size=<size>` argument is zero, then create a pack + containing all objects referenced by the multi-pack-index. For + a non-zero batch size, Select the pack-files by examining packs + from oldest-to-newest, computing the "expected size" by counting + the number of objects in the pack referenced by the + multi-pack-index, then divide by the total number of objects in + the pack and multiply by the pack size. We select packs with + expected size below the batch size until the set of packs have + total expected size at least the batch size. If the total size + does not reach the batch size, then do nothing. If a new pack- + file is created, rewrite the multi-pack-index to reference the + new pack-file. A later run of 'git multi-pack-index expire' will + delete the pack-files that were part of this batch. EXAMPLES diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt index e45f3e680d..fecdf2600c 100644 --- a/Documentation/git-pack-objects.txt +++ b/Documentation/git-pack-objects.txt @@ -131,7 +131,7 @@ depth is 4095. --keep-pack=<pack-name>:: This flag causes an object already in the given pack to be ignored, even if it would have otherwise been - packed. `<pack-name>` is the the pack file name without + packed. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`). The option could be specified multiple times to keep multiple packs. diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt index a5e9501a0a..dfb901f8b8 100644 --- a/Documentation/git-pull.txt +++ b/Documentation/git-pull.txt @@ -249,7 +249,7 @@ BUGS ---- Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the -just fetched commits of the superproject the submodule itself can not be +just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version. diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 6a8a0d958b..3b8053447e 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -75,7 +75,7 @@ without any `<refspec>` on the command line. Otherwise, missing + If <dst> doesn't start with `refs/` (e.g. `refs/heads/master`) we will try to infer where in `refs/*` on the destination <repository> it -belongs based on the the type of <src> being pushed and whether <dst> +belongs based on the type of <src> being pushed and whether <dst> is ambiguous. + -- diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 5e4e927647..3136c19fb4 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -12,12 +12,12 @@ SYNOPSIS [<upstream> [<branch>]] 'git rebase' [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>] --root [<branch>] -'git rebase' --continue | --skip | --abort | --quit | --edit-todo | --show-current-patch +'git rebase' (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch) DESCRIPTION ----------- If <branch> is specified, 'git rebase' will perform an automatic -`git checkout <branch>` before doing anything else. Otherwise +`git switch <branch>` before doing anything else. Otherwise it remains on the current branch. If <upstream> is not specified, the upstream configured in @@ -543,8 +543,6 @@ In addition, the following pairs of options are incompatible: * --preserve-merges and --interactive * --preserve-merges and --signoff * --preserve-merges and --rebase-merges - * --rebase-merges and --strategy - * --rebase-merges and --strategy-option BEHAVIORAL DIFFERENCES ----------------------- diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt index 0cad37fb81..9659abbf8e 100644 --- a/Documentation/git-remote.txt +++ b/Documentation/git-remote.txt @@ -230,7 +230,7 @@ $ git branch -r staging/master staging/staging-linus staging/staging-next -$ git checkout -b staging staging/master +$ git switch -c staging staging/master ... ------------ diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt index aa0cc8bd44..92f146d27d 100644 --- a/Documentation/git-repack.txt +++ b/Documentation/git-repack.txt @@ -142,7 +142,7 @@ depth is 4095. --keep-pack=<pack-name>:: Exclude the given pack from repacking. This is the equivalent - of having `.keep` file on the pack. `<pack-name>` is the the + of having `.keep` file on the pack. `<pack-name>` is the pack file name without leading directory (e.g. `pack-123.pack`). The option could be specified multiple times to keep multiple packs. diff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.txt index 95763d7581..4cfc883378 100644 --- a/Documentation/git-rerere.txt +++ b/Documentation/git-rerere.txt @@ -91,7 +91,7 @@ For such a test, you need to merge master and topic somehow. One way to do it is to pull master into the topic branch: ------------ - $ git checkout topic + $ git switch topic $ git merge master o---*---o---+ topic @@ -113,10 +113,10 @@ the upstream might have been advanced since the test merge `+`, in which case the final commit graph would look like this: ------------ - $ git checkout topic + $ git switch topic $ git merge master $ ... work on both topic and master branches - $ git checkout master + $ git switch master $ git merge topic o---*---o---+---o---o topic @@ -136,11 +136,11 @@ merges, you could blow away the test merge, and keep building on top of the tip before the test merge: ------------ - $ git checkout topic + $ git switch topic $ git merge master $ git reset --hard HEAD^ ;# rewind the test merge $ ... work on both topic and master branches - $ git checkout master + $ git switch master $ git merge topic o---*---o-------o---o topic diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt index 26e746c53f..97e0544d9e 100644 --- a/Documentation/git-reset.txt +++ b/Documentation/git-reset.txt @@ -25,12 +25,13 @@ The `<tree-ish>`/`<commit>` defaults to `HEAD` in all forms. the current branch.) + This means that `git reset <paths>` is the opposite of `git add -<paths>`. +<paths>`. This command is equivalent to +`git restore [--source=<tree-ish>] --staged <paths>...`. + After running `git reset <paths>` to update the index entry, you can -use linkgit:git-checkout[1] to check the contents out of the index to -the working tree. -Alternatively, using linkgit:git-checkout[1] and specifying a commit, you +use linkgit:git-restore[1] to check the contents out of the index to +the working tree. Alternatively, using linkgit:git-restore[1] +and specifying a commit with `--source`, you can copy the contents of a path out of a commit to the index and to the working tree in one go. @@ -86,8 +87,8 @@ but carries forward unmerged index entries. changes, reset is aborted. -- -If you want to undo a commit other than the latest on a branch, -linkgit:git-revert[1] is your friend. +See "Reset, restore and revert" in linkgit:git[1] for the differences +between the three commands. OPTIONS @@ -149,9 +150,9 @@ See also the `--amend` option to linkgit:git-commit[1]. Undo a commit, making it a topic branch:: + ------------ -$ git branch topic/wip <1> -$ git reset --hard HEAD~3 <2> -$ git checkout topic/wip <3> +$ git branch topic/wip <1> +$ git reset --hard HEAD~3 <2> +$ git switch topic/wip <3> ------------ + <1> You have made some commits, but realize they were premature @@ -232,13 +233,13 @@ working tree are not in any shape to be committed yet, but you need to get to the other branch for a quick bugfix. + ------------ -$ git checkout feature ;# you were working in "feature" branch and -$ work work work ;# got interrupted +$ git switch feature ;# you were working in "feature" branch and +$ work work work ;# got interrupted $ git commit -a -m "snapshot WIP" <1> -$ git checkout master +$ git switch master $ fix fix fix $ git commit ;# commit with real log -$ git checkout feature +$ git switch feature $ git reset --soft HEAD^ ;# go back to WIP state <2> $ git reset <3> ------------ @@ -279,18 +280,18 @@ reset it while keeping the changes in your working tree. + ------------ $ git tag start -$ git checkout -b branch1 +$ git switch -c branch1 $ edit $ git commit ... <1> $ edit -$ git checkout -b branch2 <2> +$ git switch -c branch2 <2> $ git reset --keep start <3> ------------ + <1> This commits your first edits in `branch1`. <2> In the ideal world, you could have realized that the earlier commit did not belong to the new topic when you created and switched - to `branch2` (i.e. `git checkout -b branch2 start`), but nobody is + to `branch2` (i.e. `git switch -c branch2 start`), but nobody is perfect. <3> But you can use `reset --keep` to remove the unwanted commit after you switched to `branch2`. diff --git a/Documentation/git-restore.txt b/Documentation/git-restore.txt new file mode 100644 index 0000000000..1ab2e40ea9 --- /dev/null +++ b/Documentation/git-restore.txt @@ -0,0 +1,185 @@ +git-restore(1) +============== + +NAME +---- +git-restore - Restore working tree files + +SYNOPSIS +-------- +[verse] +'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] <pathspec>... +'git restore' (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [<pathspec>...] + +DESCRIPTION +----------- +Restore specified paths in the working tree with some contents from a +restore source. If a path is tracked but does not exist in the restore +source, it will be removed to match the source. + +The command can also be used to restore the content in the index with +`--staged`, or restore both the working tree and the index with +`--staged --worktree`. + +By default, the restore sources for working tree and the index are the +index and `HEAD` respectively. `--source` could be used to specify a +commit as the restore source. + +See "Reset, restore and revert" in linkgit:git[1] for the differences +between the three commands. + +THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. + +OPTIONS +------- +-s <tree>:: +--source=<tree>:: + Restore the working tree files with the content from the given + tree. It is common to specify the source tree by naming a + commit, branch or tag associated with it. ++ +If not specified, the default restore source for the working tree is +the index, and the default restore source for the index is +`HEAD`. When both `--staged` and `--worktree` are specified, +`--source` must also be specified. + +-p:: +--patch:: + Interactively select hunks in the difference between the + restore source and the restore location. See the ``Interactive + Mode'' section of linkgit:git-add[1] to learn how to operate + the `--patch` mode. ++ +Note that `--patch` can accept no pathspec and will prompt to restore +all modified paths. + +-W:: +--worktree:: +-S:: +--staged:: + Specify the restore location. If neither option is specified, + by default the working tree is restored. Specifying `--staged` + will only restore the index. Specifying both restores both. + +-q:: +--quiet:: + Quiet, suppress feedback messages. Implies `--no-progress`. + +--progress:: +--no-progress:: + Progress status is reported on the standard error stream + by default when it is attached to a terminal, unless `--quiet` + is specified. This flag enables progress reporting even if not + attached to a terminal, regardless of `--quiet`. + +--ours:: +--theirs:: + When restoring files in the working tree from the index, use + stage #2 ('ours') or #3 ('theirs') for unmerged paths. ++ +Note that during `git rebase` and `git pull --rebase`, 'ours' and +'theirs' may appear swapped. See the explanation of the same options +in linkgit:git-checkout[1] for details. + +-m:: +--merge:: + When restoring files on the working tree from the index, + recreate the conflicted merge in the unmerged paths. + +--conflict=<style>:: + The same as `--merge` option above, but changes the way the + conflicting hunks are presented, overriding the + `merge.conflictStyle` configuration variable. Possible values + are "merge" (default) and "diff3" (in addition to what is + shown by "merge" style, shows the original contents). + +--ignore-unmerged:: + When restoring files on the working tree from the index, do + not abort the operation if there are unmerged entries and + neither `--ours`, `--theirs`, `--merge` or `--conflict` is + specified. Unmerged paths on the working tree are left alone. + +--ignore-skip-worktree-bits:: + In sparse checkout mode, by default is to only update entries + matched by `<pathspec>` and sparse patterns in + $GIT_DIR/info/sparse-checkout. This option ignores the sparse + patterns and unconditionally restores any files in + `<pathspec>`. + +--overlay:: +--no-overlay:: + In overlay mode, the command never removes files when + restoring. In no-overlay mode, tracked files that do not + appear in the `--source` tree are removed, to make them match + `<tree>` exactly. The default is no-overlay mode. + +EXAMPLES +-------- + +The following sequence switches to the `master` branch, reverts the +`Makefile` to two revisions back, deletes hello.c by mistake, and gets +it back from the index. + +------------ +$ git switch master +$ git restore --source master~2 Makefile <1> +$ rm -f hello.c +$ git restore hello.c <2> +------------ + +<1> take a file out of another commit +<2> restore hello.c from the index + +If you want to restore _all_ C source files to match the version in +the index, you can say + +------------ +$ git restore '*.c' +------------ + +Note the quotes around `*.c`. The file `hello.c` will also be +restored, even though it is no longer in the working tree, because the +file globbing is used to match entries in the index (not in the +working tree by the shell). + +To restore all files in the current directory + +------------ +$ git restore . +------------ + +or to restore all working tree files with 'top' pathspec magic (see +linkgit:gitglossary[7]) + +------------ +$ git restore :/ +------------ + +To restore a file in the index to match the version in `HEAD` (this is +the same as using linkgit:git-reset[1]) + +------------ +$ git restore --staged hello.c +------------ + +or you can restore both the index and the working tree (this the same +as using linkgit:git-checkout[1]) + +------------ +$ git restore --source=HEAD --staged --worktree hello.c +------------ + +or the short form which is more practical but less readable: + +------------ +$ git restore -s@ -SW hello.c +------------ + +SEE ALSO +-------- +linkgit:git-checkout[1], +linkgit:git-reset[1] + +GIT +--- +Part of the linkgit:git[1] suite diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt index 88609ff435..9392760b25 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.txt @@ -48,6 +48,7 @@ SYNOPSIS [ --date=<format>] [ [ --objects | --objects-edge | --objects-edge-aggressive ] [ --unpacked ] + [ --object-names | --no-object-names ] [ --filter=<filter-spec> [ --filter-print-omitted ] ] ] [ --missing=<missing-action> ] [ --pretty | --header ] diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt index 0c82ca5bc0..9d22270757 100644 --- a/Documentation/git-revert.txt +++ b/Documentation/git-revert.txt @@ -9,9 +9,7 @@ SYNOPSIS -------- [verse] 'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>... -'git revert' --continue -'git revert' --quit -'git revert' --abort +'git revert' (--continue | --skip | --abort | --quit) DESCRIPTION ----------- @@ -26,10 +24,13 @@ effect of some earlier commits (often only a faulty one). If you want to throw away all uncommitted changes in your working directory, you should see linkgit:git-reset[1], particularly the `--hard` option. If you want to extract specific files as they were in another commit, you -should see linkgit:git-checkout[1], specifically the `git checkout -<commit> -- <filename>` syntax. Take care with these alternatives as +should see linkgit:git-restore[1], specifically the `--source` +option. Take care with these alternatives as both will discard uncommitted changes in your working directory. +See "Reset, restore and revert" in linkgit:git[1] for the differences +between the three commands. + OPTIONS ------- <commit>...:: diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index 504ae7fe76..d93e5d0f58 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt @@ -278,6 +278,14 @@ must be used for each option. Automating ~~~~~~~~~~ +--no-[to|cc|bcc]:: + Clears any list of "To:", "Cc:", "Bcc:" addresses previously + set via config. + +--no-identity:: + Clears the previously read value of `sendemail.identity` set + via config, if any. + --to-cmd=<command>:: Specify a command to execute once per patch file which should generate patch file specific "To:" entries. diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt index e31ea7d303..8fbe12c66c 100644 --- a/Documentation/git-stash.txt +++ b/Documentation/git-stash.txt @@ -235,12 +235,12 @@ return to your original branch to make the emergency fix, like this: + ---------------------------------------------------------------- # ... hack hack hack ... -$ git checkout -b my_wip +$ git switch -c my_wip $ git commit -a -m "WIP" -$ git checkout master +$ git switch master $ edit emergency fix $ git commit -a -m "Fix in a hurry" -$ git checkout my_wip +$ git switch my_wip $ git reset --soft HEAD^ # ... continue hacking ... ---------------------------------------------------------------- @@ -293,7 +293,8 @@ SEE ALSO linkgit:git-checkout[1], linkgit:git-commit[1], linkgit:git-reflog[1], -linkgit:git-reset[1] +linkgit:git-reset[1], +linkgit:git-switch[1] GIT --- diff --git a/Documentation/git-switch.txt b/Documentation/git-switch.txt new file mode 100644 index 0000000000..197900363b --- /dev/null +++ b/Documentation/git-switch.txt @@ -0,0 +1,273 @@ +git-switch(1) +============= + +NAME +---- +git-switch - Switch branches + +SYNOPSIS +-------- +[verse] +'git switch' [<options>] [--no-guess] <branch> +'git switch' [<options>] --detach [<start-point>] +'git switch' [<options>] (-c|-C) <new-branch> [<start-point>] +'git switch' [<options>] --orphan <new-branch> + +DESCRIPTION +----------- +Switch to a specified branch. The working tree and the index are +updated to match the branch. All new commits will be added to the tip +of this branch. + +Optionally a new branch could be created with either `-c`, `-C`, +automatically from a remote branch of same name (see `--guess`), or +detach the working tree from any branch with `--detach`, along with +switching. + +Switching branches does not require a clean index and working tree +(i.e. no differences compared to `HEAD`). The operation is aborted +however if the operation leads to loss of local changes, unless told +otherwise with `--discard-changes` or `--merge`. + +THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. + +OPTIONS +------- +<branch>:: + Branch to switch to. + +<new-branch>:: + Name for the new branch. + +<start-point>:: + The starting point for the new branch. Specifying a + `<start-point>` allows you to create a branch based on some + other point in history than where HEAD currently points. (Or, + in the case of `--detach`, allows you to inspect and detach + from some other point.) ++ +You can use the `@{-N}` syntax to refer to the N-th last +branch/commit switched to using "git switch" or "git checkout" +operation. You may also specify `-` which is synonymous to `@{-1}`. +This is often used to switch quickly between two branches, or to undo +a branch switch by mistake. ++ +As a special case, you may use `A...B` as a shortcut for the merge +base of `A` and `B` if there is exactly one merge base. You can leave +out at most one of `A` and `B`, in which case it defaults to `HEAD`. + +-c <new-branch>:: +--create <new-branch>:: + Create a new branch named `<new-branch>` starting at + `<start-point>` before switching to the branch. This is a + convenient shortcut for: ++ +------------ +$ git branch <new-branch> +$ git switch <new-branch> +------------ + +-C <new-branch>:: +--force-create <new-branch>:: + Similar to `--create` except that if `<new-branch>` already + exists, it will be reset to `<start-point>`. This is a + convenient shortcut for: ++ +------------ +$ git branch -f <new-branch> +$ git switch <new-branch> +------------ + +-d:: +--detach:: + Switch to a commit for inspection and discardable + experiments. See the "DETACHED HEAD" section in + linkgit:git-checkout[1] for details. + +--guess:: +--no-guess:: + If `<branch>` is not found but there does exist a tracking + branch in exactly one remote (call it `<remote>`) with a + matching name, treat as equivalent to ++ +------------ +$ git switch -c <branch> --track <remote>/<branch> +------------ ++ +If the branch exists in multiple remotes and one of them is named by +the `checkout.defaultRemote` configuration variable, we'll use that +one for the purposes of disambiguation, even if the `<branch>` isn't +unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` +to always checkout remote branches from there if `<branch>` is +ambiguous but exists on the 'origin' remote. See also +`checkout.defaultRemote` in linkgit:git-config[1]. ++ +`--guess` is the default behavior. Use `--no-guess` to disable it. + +-f:: +--force:: + An alias for `--discard-changes`. + +--discard-changes:: + Proceed even if the index or the working tree differs from + `HEAD`. Both the index and working tree are restored to match + the switching target. If `--recurse-submodules` is specified, + submodule content is also restored to match the switching + target. This is used to throw away local changes. + +-m:: +--merge:: + If you have local modifications to one or more files that are + different between the current branch and the branch to which + you are switching, the command refuses to switch branches in + order to preserve your modifications in context. However, + with this option, a three-way merge between the current + branch, your working tree contents, and the new branch is + done, and you will be on the new branch. ++ +When a merge conflict happens, the index entries for conflicting +paths are left unmerged, and you need to resolve the conflicts +and mark the resolved paths with `git add` (or `git rm` if the merge +should result in deletion of the path). + +--conflict=<style>:: + The same as `--merge` option above, but changes the way the + conflicting hunks are presented, overriding the + `merge.conflictStyle` configuration variable. Possible values are + "merge" (default) and "diff3" (in addition to what is shown by + "merge" style, shows the original contents). + +-q:: +--quiet:: + Quiet, suppress feedback messages. + +--progress:: +--no-progress:: + Progress status is reported on the standard error stream + by default when it is attached to a terminal, unless `--quiet` + is specified. This flag enables progress reporting even if not + attached to a terminal, regardless of `--quiet`. + +-t:: +--track:: + When creating a new branch, set up "upstream" configuration. + `-c` is implied. See `--track` in linkgit:git-branch[1] for + details. ++ +If no `-c` option is given, the name of the new branch will be derived +from the remote-tracking branch, by looking at the local part of the +refspec configured for the corresponding remote, and then stripping +the initial part up to the "*". This would tell us to use `hack` as +the local branch when branching off of `origin/hack` (or +`remotes/origin/hack`, or even `refs/remotes/origin/hack`). If the +given name has no slash, or the above guessing results in an empty +name, the guessing is aborted. You can explicitly give a name with +`-c` in such a case. + +--no-track:: + Do not set up "upstream" configuration, even if the + `branch.autoSetupMerge` configuration variable is true. + +--orphan <new-branch>:: + Create a new 'orphan' branch, named `<new-branch>`. All + tracked files are removed. + +--ignore-other-worktrees:: + `git switch` refuses when the wanted ref is already + checked out by another worktree. This option makes it check + the ref out anyway. In other words, the ref can be held by + more than one worktree. + +--recurse-submodules:: +--no-recurse-submodules:: + Using `--recurse-submodules` will update the content of all + initialized submodules according to the commit recorded in the + superproject. If nothing (or `--no-recurse-submodules`) is + used, the work trees of submodules will not be updated. Just + like linkgit:git-submodule[1], this will detach `HEAD` of the + submodules. + +EXAMPLES +-------- + +The following command switches to the "master" branch: + +------------ +$ git switch master +------------ + +After working in the wrong branch, switching to the correct branch +would be done using: + +------------ +$ git switch mytopic +------------ + +However, your "wrong" branch and correct "mytopic" branch may differ +in files that you have modified locally, in which case the above +switch would fail like this: + +------------ +$ git switch mytopic +error: You have local changes to 'frotz'; not switching branches. +------------ + +You can give the `-m` flag to the command, which would try a three-way +merge: + +------------ +$ git switch -m mytopic +Auto-merging frotz +------------ + +After this three-way merge, the local modifications are _not_ +registered in your index file, so `git diff` would show you what +changes you made since the tip of the new branch. + +To switch back to the previous branch before we switched to mytopic +(i.e. "master" branch): + +------------ +$ git switch - +------------ + +You can grow a new branch from any commit. For example, switch to +"HEAD~3" and create branch "fixup": + +------------ +$ git switch -c fixup HEAD~3 +Switched to a new branch 'fixup' +------------ + +If you want to start a new branch from a remote branch of the same +name: + +------------ +$ git switch new-topic +Branch 'new-topic' set up to track remote branch 'new-topic' from 'origin' +Switched to a new branch 'new-topic' +------------ + +To check out commit `HEAD~3` for temporary inspection or experiment +without creating a new branch: + +------------ +$ git switch --detach HEAD~3 +HEAD is now at 9fc9555312 Merge branch 'cc/shared-index-permbits' +------------ + +If it turns out whatever you have done is worth keeping, you can +always create a new name for it (without switching away): + +------------ +$ git switch -c good-surprises +------------ + +SEE ALSO +-------- +linkgit:git-checkout[1], +linkgit:git-branch[1] + +GIT +--- +Part of the linkgit:git[1] suite diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt index a74e7b926d..2e5599a67f 100644 --- a/Documentation/git-tag.txt +++ b/Documentation/git-tag.txt @@ -64,6 +64,13 @@ OPTIONS -s:: --sign:: Make a GPG-signed tag, using the default e-mail address's key. + The default behavior of tag GPG-signing is controlled by `tag.gpgSign` + configuration variable if it exists, or disabled oder otherwise. + See linkgit:git-config[1]. + +--no-sign:: + Override `tag.gpgSign` configuration variable that is + set to force each and every tag to be signed. -u <keyid>:: --local-user=<keyid>:: diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt index bd0e36492f..969bb2e15f 100644 --- a/Documentation/git-update-server-info.txt +++ b/Documentation/git-update-server-info.txt @@ -9,7 +9,7 @@ git-update-server-info - Update auxiliary info file to help dumb servers SYNOPSIS -------- [verse] -'git update-server-info' [--force] +'git update-server-info' DESCRIPTION ----------- @@ -19,15 +19,6 @@ $GIT_OBJECT_DIRECTORY/info directories to help clients discover what references and packs the server has. This command generates such auxiliary files. - -OPTIONS -------- - --f:: ---force:: - Update the info files from scratch. - - OUTPUT ------ diff --git a/Documentation/git.txt b/Documentation/git.txt index 81f7ecd52c..9b82564d1a 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -33,7 +33,8 @@ individual Git commands with "git help command". linkgit:gitcli[7] manual page gives you an overview of the command-line command syntax. A formatted and hyperlinked copy of the latest Git documentation -can be viewed at `https://git.github.io/htmldocs/git.html`. +can be viewed at https://git.github.io/htmldocs/git.html +or https://git-scm.com/docs. OPTIONS @@ -211,6 +212,26 @@ people via patch over e-mail. include::cmds-foreignscminterface.txt[] +Reset, restore and revert +~~~~~~~~~~~~~~~~~~~~~~~~~ +There are three commands with similar names: `git reset`, +`git restore` and `git revert`. + +* linkgit:git-revert[1] is about making a new commit that reverts the + changes made by other commits. + +* linkgit:git-restore[1] is about restoring files in the working tree + from either the index or another commit. This command does not + update your branch. The command can also be used to restore files in + the index from another commit. + +* linkgit:git-reset[1] is about updating your branch, moving the tip + in order to add or remove commits from the branch. This operation + changes the commit history. ++ +`git reset` can also be used to restore the index, overlapping with +`git restore`. + Low-level commands (plumbing) ----------------------------- diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index 4fb20cd0e9..c5a528c667 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -112,7 +112,8 @@ Checking-out and checking-in These attributes affect how the contents stored in the repository are copied to the working tree files when commands -such as 'git checkout' and 'git merge' run. They also affect how +such as 'git switch', 'git checkout' and 'git merge' run. +They also affect how Git stores the contents you prepare in the working tree in the repository upon 'git add' and 'git commit'. @@ -809,6 +810,8 @@ patterns are available: - `css` suitable for cascading style sheets. +- `dts` suitable for devicetree (DTS) files. + - `fortran` suitable for source code in the Fortran language. - `fountain` suitable for Fountain documents. @@ -819,7 +822,7 @@ patterns are available: - `java` suitable for source code in the Java language. -- `matlab` suitable for source code in the MATLAB language. +- `matlab` suitable for source code in the MATLAB and Octave languages. - `objc` suitable for source code in the Objective-C language. @@ -833,6 +836,8 @@ patterns are available: - `ruby` suitable for source code in the Ruby language. +- `rust` suitable for source code in the Rust language. + - `tex` suitable for source code for LaTeX documents. diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt index 592e06d839..4b32876b6e 100644 --- a/Documentation/gitcli.txt +++ b/Documentation/gitcli.txt @@ -37,6 +37,12 @@ arguments. Here are the rules: file called HEAD in your work tree, `git diff HEAD` is ambiguous, and you have to say either `git diff HEAD --` or `git diff -- HEAD` to disambiguate. + + * Because `--` disambiguates revisions and paths in some commands, it + cannot be used for those commands to separate options and revisions. + You can use `--end-of-options` for this (it also works for commands + that do not distinguish between revisions in paths, in which case it + is simply an alias for `--`). + When writing a script that is expected to handle random user-input, it is a good practice to make it explicit which arguments are which by placing @@ -47,8 +53,8 @@ disambiguating `--` at appropriate places. things: + -------------------------------- -$ git checkout -- *.c -$ git checkout -- \*.c +$ git restore *.c +$ git restore \*.c -------------------------------- + The former lets your shell expand the fileglob, and you are asking @@ -209,6 +215,18 @@ See also http://marc.info/?l=git&m=116563135620359 and http://marc.info/?l=git&m=119150393620273 for further information. +Some other commands that also work on files in the working tree and/or +in the index can take `--staged` and/or `--worktree`. + +* `--staged` is exactly like `--cached`, which is used to ask a + command to only work on the index, not the working tree. + +* `--worktree` is the opposite, to ask a command to work on the + working tree only, not the index. + +* The two options can be specified together to ask a command to work + on both the index and the working tree. + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.txt index e29a9effcc..f880d21dfb 100644 --- a/Documentation/gitcore-tutorial.txt +++ b/Documentation/gitcore-tutorial.txt @@ -741,7 +741,7 @@ used earlier, and create a branch in it. You do that by simply just saying that you want to check out a new branch: ------------ -$ git checkout -b mybranch +$ git switch -c mybranch ------------ will create a new branch based at the current `HEAD` position, and switch @@ -755,7 +755,7 @@ just telling 'git checkout' what the base of the checkout would be. In other words, if you have an earlier tag or branch, you'd just do ------------ -$ git checkout -b mybranch earlier-commit +$ git switch -c mybranch earlier-commit ------------ and it would create the new branch `mybranch` at the earlier commit, @@ -765,7 +765,7 @@ and check out the state at that time. You can always just jump back to your original `master` branch by doing ------------ -$ git checkout master +$ git switch master ------------ (or any other branch-name, for that matter) and if you forget which @@ -794,7 +794,7 @@ $ git branch <branchname> [startingpoint] which will simply _create_ the branch, but will not do anything further. You can then later -- once you decide that you want to actually develop -on that branch -- switch to that branch with a regular 'git checkout' +on that branch -- switch to that branch with a regular 'git switch' with the branchname as the argument. @@ -808,7 +808,7 @@ being the same as the original `master` branch, let's make sure we're in that branch, and do some work there. ------------------------------------------------ -$ git checkout mybranch +$ git switch mybranch $ echo "Work, work, work" >>hello $ git commit -m "Some work." -i hello ------------------------------------------------ @@ -825,7 +825,7 @@ does some work in the original branch, and simulate that by going back to the master branch, and editing the same file differently there: ------------ -$ git checkout master +$ git switch master ------------ Here, take a moment to look at the contents of `hello`, and notice how they @@ -958,7 +958,7 @@ to the `master` branch. Let's go back to `mybranch`, and run 'git merge' to get the "upstream changes" back to your branch. ------------ -$ git checkout mybranch +$ git switch mybranch $ git merge -m "Merge upstream changes." master ------------ @@ -1133,9 +1133,8 @@ Remember, before running 'git merge', our `master` head was at work." commit. ------------ -$ git checkout mybranch -$ git reset --hard master^2 -$ git checkout master +$ git switch -C mybranch master^2 +$ git switch master $ git reset --hard master^ ------------ diff --git a/Documentation/giteveryday.txt b/Documentation/giteveryday.txt index 9f2528fc8c..1bd919f92b 100644 --- a/Documentation/giteveryday.txt +++ b/Documentation/giteveryday.txt @@ -41,7 +41,7 @@ following commands. * linkgit:git-log[1] to see what happened. - * linkgit:git-checkout[1] and linkgit:git-branch[1] to switch + * linkgit:git-switch[1] and linkgit:git-branch[1] to switch branches. * linkgit:git-add[1] to manage the index file. @@ -51,8 +51,7 @@ following commands. * linkgit:git-commit[1] to advance the current branch. - * linkgit:git-reset[1] and linkgit:git-checkout[1] (with - pathname parameters) to undo changes. + * linkgit:git-restore[1] to undo changes. * linkgit:git-merge[1] to merge between local branches. @@ -80,9 +79,9 @@ $ git tag v2.43 <2> Create a topic branch and develop.:: + ------------ -$ git checkout -b alsa-audio <1> +$ git switch -c alsa-audio <1> $ edit/compile/test -$ git checkout -- curses/ux_audio_oss.c <2> +$ git restore curses/ux_audio_oss.c <2> $ git add curses/ux_audio_alsa.c <3> $ edit/compile/test $ git diff HEAD <4> @@ -90,7 +89,7 @@ $ git commit -a -s <5> $ edit/compile/test $ git diff HEAD^ <6> $ git commit -a --amend <7> -$ git checkout master <8> +$ git switch master <8> $ git merge alsa-audio <9> $ git log --since='3 days ago' <10> $ git log v2.43.. curses/ <11> @@ -148,11 +147,11 @@ Clone the upstream and work on it. Feed changes to upstream.:: ------------ $ git clone git://git.kernel.org/pub/scm/.../torvalds/linux-2.6 my2.6 $ cd my2.6 -$ git checkout -b mine master <1> +$ git switch -c mine master <1> $ edit/compile/test; git commit -a -s <2> $ git format-patch master <3> $ git send-email --to="person <email@example.com>" 00*.patch <4> -$ git checkout master <5> +$ git switch master <5> $ git pull <6> $ git log -p ORIG_HEAD.. arch/i386 include/asm-i386 <7> $ git ls-remote --heads http://git.kernel.org/.../jgarzik/libata-dev.git <8> @@ -194,7 +193,7 @@ satellite$ edit/compile/test/commit satellite$ git push origin <4> mothership$ cd frotz -mothership$ git checkout master +mothership$ git switch master mothership$ git merge satellite/master <5> ------------ + @@ -216,7 +215,7 @@ machine into the master branch. Branch off of a specific tag.:: + ------------ -$ git checkout -b private2.6.14 v2.6.14 <1> +$ git switch -c private2.6.14 v2.6.14 <1> $ edit/compile/test; git commit -a $ git checkout master $ git cherry-pick v2.6.14..private2.6.14 <2> @@ -274,14 +273,14 @@ $ mailx <3> & s 2 3 4 5 ./+to-apply & s 7 8 ./+hold-linus & q -$ git checkout -b topic/one master +$ git switch -c topic/one master $ git am -3 -i -s ./+to-apply <4> $ compile/test -$ git checkout -b hold/linus && git am -3 -i -s ./+hold-linus <5> -$ git checkout topic/one && git rebase master <6> -$ git checkout pu && git reset --hard next <7> +$ git switch -c hold/linus && git am -3 -i -s ./+hold-linus <5> +$ git switch topic/one && git rebase master <6> +$ git switch -C pu next <7> $ git merge topic/one topic/two && git merge hold/linus <8> -$ git checkout maint +$ git switch maint $ git cherry-pick master~4 <9> $ compile/test $ git tag -s -m "GIT 0.99.9x" v0.99.9x <10> diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt index 786e778ab8..57d6e2b98d 100644 --- a/Documentation/githooks.txt +++ b/Documentation/githooks.txt @@ -103,6 +103,28 @@ The default 'pre-commit' hook, when enabled--and with the `hooks.allownonascii` config option unset or set to false--prevents the use of non-ASCII filenames. +pre-merge-commit +~~~~~~~~~~~~~~~~ + +This hook is invoked by linkgit:git-merge[1], and can be bypassed +with the `--no-verify` option. It takes no parameters, and is +invoked after the merge has been carried out successfully and before +obtaining the proposed commit log message to +make a commit. Exiting with a non-zero status from this script +causes the `git merge` command to abort before creating a commit. + +The default 'pre-merge-commit' hook, when enabled, runs the +'pre-commit' hook, if the latter is enabled. + +This hook is invoked with the environment variable +`GIT_EDITOR=:` if the command will not bring up an editor +to modify the commit message. + +If the merge cannot be carried out automatically, the conflicts +need to be resolved and the result committed separately (see +linkgit:git-merge[1]). At that point, this hook will not be executed, +but the 'pre-commit' hook will, if it is enabled. + prepare-commit-msg ~~~~~~~~~~~~~~~~~~ @@ -165,12 +187,13 @@ rebased, and is not set when rebasing the current branch. post-checkout ~~~~~~~~~~~~~ -This hook is invoked when a linkgit:git-checkout[1] is run after having updated the +This hook is invoked when a linkgit:git-checkout[1] or +linkgit:git-switch[1] is run after having updated the worktree. The hook is given three parameters: the ref of the previous HEAD, the ref of the new HEAD (which may or may not have changed), and a flag indicating whether the checkout was a branch checkout (changing branches, flag=1) or a file checkout (retrieving a file from the index, flag=0). -This hook cannot affect the outcome of `git checkout`. +This hook cannot affect the outcome of `git switch` or `git checkout`. It is also run after linkgit:git-clone[1], unless the `--no-checkout` (`-n`) option is used. The first parameter given to the hook is the null-ref, the second the @@ -406,7 +429,8 @@ exit with a zero status. For example, the hook can simply run `git read-tree -u -m HEAD "$1"` in order to emulate `git fetch` that is run in the reverse direction with `git push`, as the two-tree form of `git read-tree -u -m` is -essentially the same as `git checkout` that switches branches while +essentially the same as `git switch` or `git checkout` +that switches branches while keeping the local changes in the working tree that do not interfere with the difference between the branches. diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt index 216b11ee88..d6388f10bb 100644 --- a/Documentation/gitrepository-layout.txt +++ b/Documentation/gitrepository-layout.txt @@ -59,7 +59,7 @@ objects/[0-9a-f][0-9a-f]:: here are often called 'unpacked' (or 'loose') objects. objects/pack:: - Packs (files that store many object in compressed form, + Packs (files that store many objects in compressed form, along with index files to allow them to be randomly accessed) are found in this directory. diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt index e0976f6017..8bdb7d0bd3 100644 --- a/Documentation/gittutorial-2.txt +++ b/Documentation/gittutorial-2.txt @@ -370,13 +370,13 @@ situation: $ git status On branch master Changes to be committed: - (use "git reset HEAD <file>..." to unstage) + (use "git restore --staged <file>..." to unstage) new file: closing.txt Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) + (use "git restore <file>..." to discard changes in working directory) modified: file.txt diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt index 242de31cb6..59ef5cef1f 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.txt @@ -110,7 +110,7 @@ $ git status On branch master Changes to be committed: Your branch is up to date with 'origin/master'. - (use "git reset HEAD <file>..." to unstage) + (use "git restore --staged <file>..." to unstage) modified: file1 modified: file2 @@ -207,7 +207,7 @@ automatically. The asterisk marks the branch you are currently on; type ------------------------------------------------ -$ git checkout experimental +$ git switch experimental ------------------------------------------------ to switch to the experimental branch. Now edit a file, commit the @@ -216,7 +216,7 @@ change, and switch back to the master branch: ------------------------------------------------ (edit file) $ git commit -a -$ git checkout master +$ git switch master ------------------------------------------------ Check that the change you made is no longer visible, since it was diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.txt index ca11c7bdaf..abc0dc6bc7 100644 --- a/Documentation/gitworkflows.txt +++ b/Documentation/gitworkflows.txt @@ -301,8 +301,7 @@ topics on 'next': .Rewind and rebuild next [caption="Recipe: "] ===================================== -* `git checkout next` -* `git reset --hard master` +* `git switch -C next master` * `git merge ai/topic_in_next1` * `git merge ai/topic_in_next2` * ... diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt index 8d38ae6010..090c888335 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.txt @@ -255,7 +255,7 @@ This commit is referred to as a "merge commit", or sometimes just a [[def_object]]object:: The unit of storage in Git. It is uniquely identified by the <<def_SHA1,SHA-1>> of its contents. Consequently, an - object can not be changed. + object cannot be changed. [[def_object_database]]object database:: Stores a set of "objects", and an individual <<def_object,object>> is diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt index 79a00d2a4a..d6a9f4b96f 100644 --- a/Documentation/merge-options.txt +++ b/Documentation/merge-options.txt @@ -105,6 +105,10 @@ option can be used to override --squash. + With --squash, --commit is not allowed, and will fail. +--no-verify:: + This option bypasses the pre-merge and commit-msg hooks. + See also linkgit:githooks[5]. + -s <strategy>:: --strategy=<strategy>:: Use the given merge strategy; can be supplied more than diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index 71a1fcc093..90ff9e2bea 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -182,6 +182,14 @@ explicitly. Pretend as if all objects mentioned by reflogs are listed on the command line as `<commit>`. +--alternate-refs:: + Pretend as if all objects mentioned as ref tips of alternate + repositories were listed on the command line. An alternate + repository is any repository whose object directory is specified + in `objects/info/alternates`. The set of included objects may + be modified by `core.alternateRefsCommand`, etc. See + linkgit:git-config[1]. + --single-worktree:: By default, all working trees will be examined by the following options when there are more than one (see @@ -708,6 +716,16 @@ ifdef::git-rev-list[] Only useful with `--objects`; print the object IDs that are not in packs. +--object-names:: + Only useful with `--objects`; print the names of the object IDs + that are found. This is the default behavior. + +--no-object-names:: + Only useful with `--objects`; does not print the names of the object + IDs that are found. This inverts `--object-names`. This flag allows + the output to be more easily parsed by commands such as + linkgit:git-cat-file[1]. + --filter=<filter-spec>:: Only useful with one of the `--objects*`; omits objects (usually blobs) from the list of printed objects. The '<filter-spec>' @@ -738,6 +756,22 @@ explicitly-given commit or tree. Note that the form '--filter=sparse:path=<path>' that wants to read from an arbitrary path on the filesystem has been dropped for security reasons. ++ +Multiple '--filter=' flags can be specified to combine filters. Only +objects which are accepted by every filter are included. ++ +The form '--filter=combine:<filter1>+<filter2>+...<filterN>' can also be +used to combined several filters, but this is harder than just repeating +the '--filter' flag and is usually not necessary. Filters are joined by +'{plus}' and individual filters are %-encoded (i.e. URL-encoded). +Besides the '{plus}' and '%' characters, the following characters are +reserved and also must be encoded: `~!@#$^&*()[]{}\;",<>?`+'`+ +as well as all characters with ASCII code <= `0x20`, which includes +space and newline. ++ +Other arbitrary characters can also be encoded. For instance, +'combine:tree:3+blob:none' and 'combine:tree%3A3+blob%3Anone' are +equivalent. --no-filter:: Turn off any previous `--filter=` argument. diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index 82c1e5754e..97f995e5a9 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -115,7 +115,7 @@ Here's an example to make it more clear: ------------------------------ $ git config push.default current $ git config remote.pushdefault myfork -$ git checkout -b mybranch origin/master +$ git switch -c mybranch origin/master $ git rev-parse --symbolic-full-name @{upstream} refs/remotes/origin/master diff --git a/Documentation/sequencer.txt b/Documentation/sequencer.txt index 5a57c4a407..3bceb56474 100644 --- a/Documentation/sequencer.txt +++ b/Documentation/sequencer.txt @@ -3,6 +3,10 @@ `.git/sequencer`. Can be used to continue after resolving conflicts in a failed cherry-pick or revert. +--skip:: + Skip the current commit and continue with the rest of the + sequence. + --quit:: Forget about the current operation in progress. Can be used to clear the sequencer state after a failed cherry-pick or diff --git a/Documentation/technical/api-ref-iteration.txt b/Documentation/technical/api-ref-iteration.txt index 46c3d5c355..ad9d019ff9 100644 --- a/Documentation/technical/api-ref-iteration.txt +++ b/Documentation/technical/api-ref-iteration.txt @@ -54,7 +54,7 @@ this: do not do this you will get an error for each ref that it does not point to a valid object. -Note: As a side-effect of this you can not safely assume that all +Note: As a side-effect of this you cannot safely assume that all objects you lookup are available in superproject. All submodule objects will be available the same way as the superprojects objects. diff --git a/Documentation/technical/api-trace2.txt b/Documentation/technical/api-trace2.txt index fd1e628944..71eb081fed 100644 --- a/Documentation/technical/api-trace2.txt +++ b/Documentation/technical/api-trace2.txt @@ -35,7 +35,7 @@ Format details are given in a later section. === The Normal Format Target The normal format target is a tradition printf format and similar -to GIT_TRACE format. This format is enabled with the `GIT_TR` +to GIT_TRACE format. This format is enabled with the `GIT_TRACE2` environment variable or the `trace2.normalTarget` system or global config setting. diff --git a/Documentation/technical/api-tree-walking.txt b/Documentation/technical/api-tree-walking.txt index bde18622a8..7962e32854 100644 --- a/Documentation/technical/api-tree-walking.txt +++ b/Documentation/technical/api-tree-walking.txt @@ -62,9 +62,7 @@ Initializing `setup_traverse_info`:: Initialize a `traverse_info` given the pathname of the tree to start - traversing from. The `base` argument is assumed to be the `path` - member of the `name_entry` being recursed into unless the tree is a - top-level tree in which case the empty string ("") is used. + traversing from. Walking ------- @@ -140,6 +138,10 @@ same in the next callback invocation. This utilizes the memory structure of a tree entry to avoid the overhead of using a generic strlen(). +`strbuf_make_traverse_path`:: + + Convenience wrapper to `make_traverse_path` into a strbuf. + Authors ------- diff --git a/Documentation/technical/commit-graph-format.txt b/Documentation/technical/commit-graph-format.txt index 16452a0504..a4f17441ae 100644 --- a/Documentation/technical/commit-graph-format.txt +++ b/Documentation/technical/commit-graph-format.txt @@ -44,8 +44,9 @@ HEADER: 1-byte number (C) of "chunks" - 1-byte (reserved for later use) - Current clients should ignore this value. + 1-byte number (B) of base commit-graphs + We infer the length (H*B) of the Base Graphs chunk + from this value. CHUNK LOOKUP: @@ -92,6 +93,12 @@ CHUNK DATA: positions for the parents until reaching a value with the most-significant bit on. The other bits correspond to the position of the last parent. + Base Graphs List (ID: {'B', 'A', 'S', 'E'}) [Optional] + This list of H-byte hashes describe a set of B commit-graph files that + form a commit-graph chain. The graph position for the ith commit in this + file's OID Lookup chunk is equal to i plus the number of commits in all + base graphs. If B is non-zero, this chunk must exist. + TRAILER: H-byte HASH-checksum of all of the above. diff --git a/Documentation/technical/commit-graph.txt b/Documentation/technical/commit-graph.txt index fb53341d5e..729fbcb32f 100644 --- a/Documentation/technical/commit-graph.txt +++ b/Documentation/technical/commit-graph.txt @@ -127,6 +127,197 @@ Design Details helpful for these clones, anyway. The commit-graph will not be read or written when shallow commits are present. +Commit Graphs Chains +-------------------- + +Typically, repos grow with near-constant velocity (commits per day). Over time, +the number of commits added by a fetch operation is much smaller than the +number of commits in the full history. By creating a "chain" of commit-graphs, +we enable fast writes of new commit data without rewriting the entire commit +history -- at least, most of the time. + +## File Layout + +A commit-graph chain uses multiple files, and we use a fixed naming convention +to organize these files. Each commit-graph file has a name +`$OBJDIR/info/commit-graphs/graph-{hash}.graph` where `{hash}` is the hex- +valued hash stored in the footer of that file (which is a hash of the file's +contents before that hash). For a chain of commit-graph files, a plain-text +file at `$OBJDIR/info/commit-graphs/commit-graph-chain` contains the +hashes for the files in order from "lowest" to "highest". + +For example, if the `commit-graph-chain` file contains the lines + +``` + {hash0} + {hash1} + {hash2} +``` + +then the commit-graph chain looks like the following diagram: + + +-----------------------+ + | graph-{hash2}.graph | + +-----------------------+ + | + +-----------------------+ + | | + | graph-{hash1}.graph | + | | + +-----------------------+ + | + +-----------------------+ + | | + | | + | | + | graph-{hash0}.graph | + | | + | | + | | + +-----------------------+ + +Let X0 be the number of commits in `graph-{hash0}.graph`, X1 be the number of +commits in `graph-{hash1}.graph`, and X2 be the number of commits in +`graph-{hash2}.graph`. If a commit appears in position i in `graph-{hash2}.graph`, +then we interpret this as being the commit in position (X0 + X1 + i), and that +will be used as its "graph position". The commits in `graph-{hash2}.graph` use these +positions to refer to their parents, which may be in `graph-{hash1}.graph` or +`graph-{hash0}.graph`. We can navigate to an arbitrary commit in position j by checking +its containment in the intervals [0, X0), [X0, X0 + X1), [X0 + X1, X0 + X1 + +X2). + +Each commit-graph file (except the base, `graph-{hash0}.graph`) contains data +specifying the hashes of all files in the lower layers. In the above example, +`graph-{hash1}.graph` contains `{hash0}` while `graph-{hash2}.graph` contains +`{hash0}` and `{hash1}`. + +## Merging commit-graph files + +If we only added a new commit-graph file on every write, we would run into a +linear search problem through many commit-graph files. Instead, we use a merge +strategy to decide when the stack should collapse some number of levels. + +The diagram below shows such a collapse. As a set of new commits are added, it +is determined by the merge strategy that the files should collapse to +`graph-{hash1}`. Thus, the new commits, the commits in `graph-{hash2}` and +the commits in `graph-{hash1}` should be combined into a new `graph-{hash3}` +file. + + +---------------------+ + | | + | (new commits) | + | | + +---------------------+ + | | + +-----------------------+ +---------------------+ + | graph-{hash2} |->| | + +-----------------------+ +---------------------+ + | | | + +-----------------------+ +---------------------+ + | | | | + | graph-{hash1} |->| | + | | | | + +-----------------------+ +---------------------+ + | tmp_graphXXX + +-----------------------+ + | | + | | + | | + | graph-{hash0} | + | | + | | + | | + +-----------------------+ + +During this process, the commits to write are combined, sorted and we write the +contents to a temporary file, all while holding a `commit-graph-chain.lock` +lock-file. When the file is flushed, we rename it to `graph-{hash3}` +according to the computed `{hash3}`. Finally, we write the new chain data to +`commit-graph-chain.lock`: + +``` + {hash3} + {hash0} +``` + +We then close the lock-file. + +## Merge Strategy + +When writing a set of commits that do not exist in the commit-graph stack of +height N, we default to creating a new file at level N + 1. We then decide to +merge with the Nth level if one of two conditions hold: + + 1. `--size-multiple=<X>` is specified or X = 2, and the number of commits in + level N is less than X times the number of commits in level N + 1. + + 2. `--max-commits=<C>` is specified with non-zero C and the number of commits + in level N + 1 is more than C commits. + +This decision cascades down the levels: when we merge a level we create a new +set of commits that then compares to the next level. + +The first condition bounds the number of levels to be logarithmic in the total +number of commits. The second condition bounds the total number of commits in +a `graph-{hashN}` file and not in the `commit-graph` file, preventing +significant performance issues when the stack merges and another process only +partially reads the previous stack. + +The merge strategy values (2 for the size multiple, 64,000 for the maximum +number of commits) could be extracted into config settings for full +flexibility. + +## Deleting graph-{hash} files + +After a new tip file is written, some `graph-{hash}` files may no longer +be part of a chain. It is important to remove these files from disk, eventually. +The main reason to delay removal is that another process could read the +`commit-graph-chain` file before it is rewritten, but then look for the +`graph-{hash}` files after they are deleted. + +To allow holding old split commit-graphs for a while after they are unreferenced, +we update the modified times of the files when they become unreferenced. Then, +we scan the `$OBJDIR/info/commit-graphs/` directory for `graph-{hash}` +files whose modified times are older than a given expiry window. This window +defaults to zero, but can be changed using command-line arguments or a config +setting. + +## Chains across multiple object directories + +In a repo with alternates, we look for the `commit-graph-chain` file starting +in the local object directory and then in each alternate. The first file that +exists defines our chain. As we look for the `graph-{hash}` files for +each `{hash}` in the chain file, we follow the same pattern for the host +directories. + +This allows commit-graphs to be split across multiple forks in a fork network. +The typical case is a large "base" repo with many smaller forks. + +As the base repo advances, it will likely update and merge its commit-graph +chain more frequently than the forks. If a fork updates their commit-graph after +the base repo, then it should "reparent" the commit-graph chain onto the new +chain in the base repo. When reading each `graph-{hash}` file, we track +the object directory containing it. During a write of a new commit-graph file, +we check for any changes in the source object directory and read the +`commit-graph-chain` file for that source and create a new file based on those +files. During this "reparent" operation, we necessarily need to collapse all +levels in the fork, as all of the files are invalid against the new base file. + +It is crucial to be careful when cleaning up "unreferenced" `graph-{hash}.graph` +files in this scenario. It falls to the user to define the proper settings for +their custom environment: + + 1. When merging levels in the base repo, the unreferenced files may still be + referenced by chains from fork repos. + + 2. The expiry time should be set to a length of time such that every fork has + time to recompute their commit-graph chain to "reparent" onto the new base + file(s). + + 3. If the commit-graph chain is updated in the base, the fork will not have + access to the new chain until its chain is updated to reference those files. + (This may change in the future [5].) + Related Links ------------- [0] https://bugs.chromium.org/p/git/issues/detail?id=8 @@ -153,3 +344,7 @@ Related Links [4] https://public-inbox.org/git/20180108154822.54829-1-git@jeffhostetler.com/T/#u A patch to remove the ahead-behind calculation from 'status'. + +[5] https://public-inbox.org/git/f27db281-abad-5043-6d71-cbb083b1c877@gmail.com/ + A discussion of a "two-dimensional graph position" that can allow reading + multiple commit-graph chains at the same time. diff --git a/Documentation/technical/hash-function-transition.txt b/Documentation/technical/hash-function-transition.txt index bc2ace2a6e..2ae8fa470a 100644 --- a/Documentation/technical/hash-function-transition.txt +++ b/Documentation/technical/hash-function-transition.txt @@ -456,7 +456,7 @@ packfile marked as UNREACHABLE_GARBAGE (using the PSRC field; see below). To avoid the race when writing new objects referring to an about-to-be-deleted object, code paths that write new objects will need to copy any objects from UNREACHABLE_GARBAGE packs that they -refer to to new, non-UNREACHABLE_GARBAGE packs (or loose objects). +refer to new, non-UNREACHABLE_GARBAGE packs (or loose objects). UNREACHABLE_GARBAGE are then safe to delete if their creation time (as indicated by the file's mtime) is long enough ago. diff --git a/Documentation/technical/partial-clone.txt b/Documentation/technical/partial-clone.txt index 896c7b3878..210373e258 100644 --- a/Documentation/technical/partial-clone.txt +++ b/Documentation/technical/partial-clone.txt @@ -30,12 +30,20 @@ advance* during clone and fetch operations and thereby reduce download times and disk usage. Missing objects can later be "demand fetched" if/when needed. +A remote that can later provide the missing objects is called a +promisor remote, as it promises to send the objects when +requested. Initialy Git supported only one promisor remote, the origin +remote from which the user cloned and that was configured in the +"extensions.partialClone" config option. Later support for more than +one promisor remote has been implemented. + Use of partial clone requires that the user be online and the origin -remote be available for on-demand fetching of missing objects. This may -or may not be problematic for the user. For example, if the user can -stay within the pre-selected subset of the source tree, they may not -encounter any missing objects. Alternatively, the user could try to -pre-fetch various objects if they know that they are going offline. +remote or other promisor remotes be available for on-demand fetching +of missing objects. This may or may not be problematic for the user. +For example, if the user can stay within the pre-selected subset of +the source tree, they may not encounter any missing objects. +Alternatively, the user could try to pre-fetch various objects if they +know that they are going offline. Non-Goals @@ -100,18 +108,18 @@ or commits that reference missing trees. Handling Missing Objects ------------------------ -- An object may be missing due to a partial clone or fetch, or missing due - to repository corruption. To differentiate these cases, the local - repository specially indicates such filtered packfiles obtained from the - promisor remote as "promisor packfiles". +- An object may be missing due to a partial clone or fetch, or missing + due to repository corruption. To differentiate these cases, the + local repository specially indicates such filtered packfiles + obtained from promisor remotes as "promisor packfiles". + These promisor packfiles consist of a "<name>.promisor" file with arbitrary contents (like the "<name>.keep" files), in addition to their "<name>.pack" and "<name>.idx" files. - The local repository considers a "promisor object" to be an object that - it knows (to the best of its ability) that the promisor remote has promised - that it has, either because the local repository has that object in one of + it knows (to the best of its ability) that promisor remotes have promised + that they have, either because the local repository has that object in one of its promisor packfiles, or because another promisor object refers to it. + When Git encounters a missing object, Git can see if it is a promisor object @@ -123,12 +131,12 @@ expensive-to-modify list of missing objects.[a] - Since almost all Git code currently expects any referenced object to be present locally and because we do not want to force every command to do a dry-run first, a fallback mechanism is added to allow Git to attempt - to dynamically fetch missing objects from the promisor remote. + to dynamically fetch missing objects from promisor remotes. + When the normal object lookup fails to find an object, Git invokes -fetch-object to try to get the object from the server and then retry -the object lookup. This allows objects to be "faulted in" without -complicated prediction algorithms. +promisor_remote_get_direct() to try to get the object from a promisor +remote and then retry the object lookup. This allows objects to be +"faulted in" without complicated prediction algorithms. + For efficiency reasons, no check as to whether the missing object is actually a promisor object is performed. @@ -157,8 +165,7 @@ and prefetch those objects in bulk. + We are not happy with this global variable and would like to remove it, but that requires significant refactoring of the object code to pass an -additional flag. We hope that concurrent efforts to add an ODB API can -encompass this. +additional flag. Fetching Missing Objects @@ -182,21 +189,63 @@ has been updated to not use any object flags when the corresponding argument though they are not necessary. +Using many promisor remotes +--------------------------- + +Many promisor remotes can be configured and used. + +This allows for example a user to have multiple geographically-close +cache servers for fetching missing blobs while continuing to do +filtered `git-fetch` commands from the central server. + +When fetching objects, promisor remotes are tried one after the other +until all the objects have been fetched. + +Remotes that are considered "promisor" remotes are those specified by +the following configuration variables: + +- `extensions.partialClone = <name>` + +- `remote.<name>.promisor = true` + +- `remote.<name>.partialCloneFilter = ...` + +Only one promisor remote can be configured using the +`extensions.partialClone` config variable. This promisor remote will +be the last one tried when fetching objects. + +We decided to make it the last one we try, because it is likely that +someone using many promisor remotes is doing so because the other +promisor remotes are better for some reason (maybe they are closer or +faster for some kind of objects) than the origin, and the origin is +likely to be the remote specified by extensions.partialClone. + +This justification is not very strong, but one choice had to be made, +and anyway the long term plan should be to make the order somehow +fully configurable. + +For now though the other promisor remotes will be tried in the order +they appear in the config file. + Current Limitations ------------------- -- The remote used for a partial clone (or the first partial fetch - following a regular clone) is marked as the "promisor remote". +- It is not possible to specify the order in which the promisor + remotes are tried in other ways than the order in which they appear + in the config file. + -We are currently limited to a single promisor remote and only that -remote may be used for subsequent partial fetches. +It is also not possible to specify an order to be used when fetching +from one remote and a different order when fetching from another +remote. + +- It is not possible to push only specific objects to a promisor + remote. + -We accept this limitation because we believe initial users of this -feature will be using it on repositories with a strong single central -server. +It is not possible to push at the same time to multiple promisor +remote in a specific order. -- Dynamic object fetching will only ask the promisor remote for missing - objects. We assume that the promisor remote has a complete view of the +- Dynamic object fetching will only ask promisor remotes for missing + objects. We assume that promisor remotes have a complete view of the repository and can satisfy all such requests. - Repack essentially treats promisor and non-promisor packfiles as 2 @@ -218,15 +267,17 @@ server. Future Work ----------- -- Allow more than one promisor remote and define a strategy for fetching - missing objects from specific promisor remotes or of iterating over the - set of promisor remotes until a missing object is found. +- Improve the way to specify the order in which promisor remotes are + tried. + -A user might want to have multiple geographically-close cache servers -for fetching missing blobs while continuing to do filtered `git-fetch` -commands from the central server, for example. +For example this could allow to specify explicitly something like: +"When fetching from this remote, I want to use these promisor remotes +in this order, though, when pushing or fetching to that remote, I want +to use those promisor remotes in that order." + +- Allow pushing to promisor remotes. + -Or the user might want to work in a triangular work flow with multiple +The user might want to work in a triangular work flow with multiple promisor remotes that each have an incomplete view of the repository. - Allow repack to work on promisor packfiles (while keeping them distinct diff --git a/Documentation/technical/protocol-v2.txt b/Documentation/technical/protocol-v2.txt index 03264c7d9a..40f91f6b1e 100644 --- a/Documentation/technical/protocol-v2.txt +++ b/Documentation/technical/protocol-v2.txt @@ -141,7 +141,7 @@ Capabilities ------------ There are two different types of capabilities: normal capabilities, -which can be used to to convey information or alter the behavior of a +which can be used to convey information or alter the behavior of a request, and commands, which are the core actions that a client wants to perform (fetch, push, etc). diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt index eff7890274..8bce75b2cf 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.txt @@ -122,10 +122,10 @@ Tags are expected to always point at the same version of a project, while heads are expected to advance as development progresses. Create a new branch head pointing to one of these versions and check it -out using linkgit:git-checkout[1]: +out using linkgit:git-switch[1]: ------------------------------------------------ -$ git checkout -b new v2.6.13 +$ git switch -c new v2.6.13 ------------------------------------------------ The working directory then reflects the contents that the project had @@ -282,10 +282,10 @@ a summary of the commands: this command will fail with a warning. `git branch -D <branch>`:: delete the branch `<branch>` irrespective of its merged status. -`git checkout <branch>`:: +`git switch <branch>`:: make the current branch `<branch>`, updating the working directory to reflect the version referenced by `<branch>`. -`git checkout -b <new> <start-point>`:: +`git switch -c <new> <start-point>`:: create a new branch `<new>` referencing `<start-point>`, and check it out. @@ -302,22 +302,22 @@ ref: refs/heads/master Examining an old version without creating a new branch ------------------------------------------------------ -The `git checkout` command normally expects a branch head, but will also -accept an arbitrary commit; for example, you can check out the commit -referenced by a tag: +The `git switch` command normally expects a branch head, but will also +accept an arbitrary commit when invoked with --detach; for example, +you can check out the commit referenced by a tag: ------------------------------------------------ -$ git checkout v2.6.17 +$ git switch --detach v2.6.17 Note: checking out 'v2.6.17'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this -state without impacting any branches by performing another checkout. +state without impacting any branches by performing another switch. If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -b with the checkout command again. Example: +do so (now or later) by using -c with the switch command again. Example: - git checkout -b new_branch_name + git switch -c new_branch_name HEAD is now at 427abfa Linux v2.6.17 ------------------------------------------------ @@ -373,7 +373,7 @@ You might want to build on one of these remote-tracking branches on a branch of your own, just as you would for a tag: ------------------------------------------------ -$ git checkout -b my-todo-copy origin/todo +$ git switch -c my-todo-copy origin/todo ------------------------------------------------ You can also check out `origin/todo` directly to examine it or @@ -1408,7 +1408,7 @@ If you get stuck and decide to just give up and throw the whole mess away, you can always return to the pre-merge state with ------------------------------------------------- -$ git reset --hard HEAD +$ git merge --abort ------------------------------------------------- Or, if you've already committed the merge that you want to throw away, @@ -1446,7 +1446,7 @@ mistake, you can return the entire working tree to the last committed state with ------------------------------------------------- -$ git reset --hard HEAD +$ git restore --staged --worktree :/ ------------------------------------------------- If you make a commit that you later wish you hadn't, there are two @@ -1523,12 +1523,10 @@ Checking out an old version of a file In the process of undoing a previous bad change, you may find it useful to check out an older version of a particular file using -linkgit:git-checkout[1]. We've used `git checkout` before to switch -branches, but it has quite different behavior if it is given a path -name: the command +linkgit:git-restore[1]. The command ------------------------------------------------- -$ git checkout HEAD^ path/to/file +$ git restore --source=HEAD^ path/to/file ------------------------------------------------- replaces path/to/file by the contents it had in the commit HEAD^, and @@ -2211,8 +2209,8 @@ $ git branch --track release origin/master These can be easily kept up to date using linkgit:git-pull[1]. ------------------------------------------------- -$ git checkout test && git pull -$ git checkout release && git pull +$ git switch test && git pull +$ git switch release && git pull ------------------------------------------------- Important note! If you have any local changes in these branches, then @@ -2264,7 +2262,7 @@ tested changes 2) help future bug hunters that use `git bisect` to find problems ------------------------------------------------- -$ git checkout -b speed-up-spinlocks v2.6.35 +$ git switch -c speed-up-spinlocks v2.6.35 ------------------------------------------------- Now you apply the patch(es), run some tests, and commit the change(s). If @@ -2279,7 +2277,7 @@ When you are happy with the state of this change, you can merge it into the "test" branch in preparation to make it public: ------------------------------------------------- -$ git checkout test && git merge speed-up-spinlocks +$ git switch test && git merge speed-up-spinlocks ------------------------------------------------- It is unlikely that you would have any conflicts here ... but you might if you @@ -2291,7 +2289,7 @@ see the value of keeping each patch (or patch series) in its own branch. It means that the patches can be moved into the `release` tree in any order. ------------------------------------------------- -$ git checkout release && git merge speed-up-spinlocks +$ git switch release && git merge speed-up-spinlocks ------------------------------------------------- After a while, you will have a number of branches, and despite the @@ -2512,7 +2510,7 @@ Suppose that you create a branch `mywork` on a remote-tracking branch `origin`, and create some commits on top of it: ------------------------------------------------- -$ git checkout -b mywork origin +$ git switch -c mywork origin $ vi file.txt $ git commit $ vi otherfile.txt @@ -2552,7 +2550,7 @@ commits without any merges, you may instead choose to use linkgit:git-rebase[1]: ------------------------------------------------- -$ git checkout mywork +$ git switch mywork $ git rebase origin ------------------------------------------------- @@ -3668,13 +3666,13 @@ change within the submodule, and then update the superproject to reference the new commit: ------------------------------------------------- -$ git checkout master +$ git switch master ------------------------------------------------- or ------------------------------------------------- -$ git checkout -b fix-up +$ git switch -c fix-up ------------------------------------------------- then @@ -3800,8 +3798,8 @@ use linkgit:git-tag[1] for both. The Workflow ------------ -High-level operations such as linkgit:git-commit[1], -linkgit:git-checkout[1] and linkgit:git-reset[1] work by moving data +High-level operations such as linkgit:git-commit[1] and +linkgit:git-restore[1] work by moving data between the working tree, the index, and the object database. Git provides low-level operations which perform each of these steps individually. @@ -4194,7 +4192,7 @@ start. A good place to start is with the contents of the initial commit, with: ---------------------------------------------------- -$ git checkout e83c5163 +$ git switch --detach e83c5163 ---------------------------------------------------- The initial revision lays the foundation for almost everything Git has @@ -4437,10 +4435,10 @@ Managing branches ----------------- ----------------------------------------------- -$ git branch # list all local branches in this repo -$ git checkout test # switch working directory to branch "test" -$ git branch new # create branch "new" starting at current HEAD -$ git branch -d new # delete branch "new" +$ git branch # list all local branches in this repo +$ git switch test # switch working directory to branch "test" +$ git branch new # create branch "new" starting at current HEAD +$ git branch -d new # delete branch "new" ----------------------------------------------- Instead of basing a new branch on current HEAD (the default), use: @@ -4456,7 +4454,7 @@ $ git branch new test~10 # ten commits before tip of branch "test" Create and switch to a new branch at the same time: ----------------------------------------------- -$ git checkout -b new v2.6.15 +$ git switch -c new v2.6.15 ----------------------------------------------- Update and examine branches from the repository you cloned from: @@ -4467,7 +4465,7 @@ $ git branch -r # list origin/master origin/next ... -$ git checkout -b masterwork origin/master +$ git switch -c masterwork origin/master ----------------------------------------------- Fetch a branch from a different repository, and give it a new diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index ac51bac07b..98f88a28d3 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v2.22.1 +DEF_VER=v2.23.GIT LF=' ' @@ -265,10 +265,6 @@ all:: # # Define NO_DEFLATE_BOUND if your zlib does not have deflateBound. # -# Define NO_R_TO_GCC_LINKER if your gcc does not like "-R/path/lib" -# that tells runtime paths to dynamic libraries; -# "-Wl,-rpath=/path/lib" is used instead. -# # Define NO_NORETURN if using buggy versions of gcc 4.6+ and profile feedback, # as the compiler can crash (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49299) # @@ -624,8 +620,6 @@ SCRIPT_SH += git-web--browse.sh SCRIPT_LIB += git-mergetool--lib SCRIPT_LIB += git-parse-remote -SCRIPT_LIB += git-rebase--am -SCRIPT_LIB += git-rebase--common SCRIPT_LIB += git-rebase--preserve-merges SCRIPT_LIB += git-sh-setup SCRIPT_LIB += git-sh-i18n @@ -710,6 +704,7 @@ TEST_BUILTINS_OBJS += test-config.o TEST_BUILTINS_OBJS += test-ctype.o TEST_BUILTINS_OBJS += test-date.o TEST_BUILTINS_OBJS += test-delta.o +TEST_BUILTINS_OBJS += test-dir-iterator.o TEST_BUILTINS_OBJS += test-drop-caches.o TEST_BUILTINS_OBJS += test-dump-cache-tree.o TEST_BUILTINS_OBJS += test-dump-fsmonitor.o @@ -727,6 +722,7 @@ TEST_BUILTINS_OBJS += test-lazy-init-name-hash.o TEST_BUILTINS_OBJS += test-match-trees.o TEST_BUILTINS_OBJS += test-mergesort.o TEST_BUILTINS_OBJS += test-mktemp.o +TEST_BUILTINS_OBJS += test-oidmap.o TEST_BUILTINS_OBJS += test-online-cpus.o TEST_BUILTINS_OBJS += test-parse-options.o TEST_BUILTINS_OBJS += test-path-utils.o @@ -777,9 +773,11 @@ BUILT_INS += git-format-patch$X BUILT_INS += git-fsck-objects$X BUILT_INS += git-init$X BUILT_INS += git-merge-subtree$X +BUILT_INS += git-restore$X BUILT_INS += git-show$X BUILT_INS += git-stage$X BUILT_INS += git-status$X +BUILT_INS += git-switch$X BUILT_INS += git-whatchanged$X # what 'all' will build and 'install' will install in gitexecdir, @@ -886,7 +884,6 @@ LIB_OBJS += ewah/ewah_io.o LIB_OBJS += ewah/ewah_rlw.o LIB_OBJS += exec-cmd.o LIB_OBJS += fetch-negotiator.o -LIB_OBJS += fetch-object.o LIB_OBJS += fetch-pack.o LIB_OBJS += fsck.o LIB_OBJS += fsmonitor.o @@ -950,6 +947,7 @@ LIB_OBJS += preload-index.o LIB_OBJS += pretty.o LIB_OBJS += prio-queue.o LIB_OBJS += progress.o +LIB_OBJS += promisor-remote.o LIB_OBJS += prompt.o LIB_OBJS += protocol.o LIB_OBJS += quote.o @@ -967,6 +965,7 @@ LIB_OBJS += refspec.o LIB_OBJS += ref-filter.o LIB_OBJS += remote.o LIB_OBJS += replace-object.o +LIB_OBJS += repo-settings.o LIB_OBJS += repository.o LIB_OBJS += rerere.o LIB_OBJS += resolve-undo.o @@ -1065,6 +1064,7 @@ BUILTIN_OBJS += builtin/diff-index.o BUILTIN_OBJS += builtin/diff-tree.o BUILTIN_OBJS += builtin/diff.o BUILTIN_OBJS += builtin/difftool.o +BUILTIN_OBJS += builtin/env--helper.o BUILTIN_OBJS += builtin/fast-export.o BUILTIN_OBJS += builtin/fetch-pack.o BUILTIN_OBJS += builtin/fetch.o @@ -1160,6 +1160,7 @@ endif # which'll override these defaults. CFLAGS = -g -O2 -Wall LDFLAGS = +CC_LD_DYNPATH = -Wl,-rpath, BASIC_CFLAGS = -I. BASIC_LDFLAGS = @@ -1240,7 +1241,7 @@ endif ifdef SANE_TOOL_PATH SANE_TOOL_PATH_SQ = $(subst ','\'',$(SANE_TOOL_PATH)) -BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix $(SANE_TOOL_PATH_SQ)|' +BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix "$(SANE_TOOL_PATH_SQ)"|' PATH := $(SANE_TOOL_PATH):${PATH} else BROKEN_PATH_FIX = '/^\# @@BROKEN_PATH_FIX@@$$/d' @@ -1290,16 +1291,6 @@ ifeq ($(uname_S),Darwin) PTHREAD_LIBS = endif -ifndef CC_LD_DYNPATH - ifdef NO_R_TO_GCC_LINKER - # Some gcc does not accept and pass -R to the linker to specify - # the runtime dynamic library path. - CC_LD_DYNPATH = -Wl,-rpath, - else - CC_LD_DYNPATH = -R - endif -endif - ifdef NO_LIBGEN_H COMPAT_CFLAGS += -DNO_LIBGEN_H COMPAT_OBJS += compat/basename.o @@ -2730,7 +2721,7 @@ bin-wrappers/%: wrap-for-bin.sh @mkdir -p bin-wrappers $(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e 's|@@BUILD_DIR@@|$(shell pwd)|' \ - -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))|' < $< > $@ && \ + -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%$(X),$(@F))$(patsubst git%,$(X),$(filter $(@F),$(BINDIR_PROGRAMS_NEED_X)))|' < $< > $@ && \ chmod +x $@ # GNU make supports exporting all variables by "export" without parameters. @@ -2873,6 +2864,33 @@ install: all $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' $(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' $(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)' +ifdef MSVC + # We DO NOT install the individual foo.o.pdb files because they + # have already been rolled up into the exe's pdb file. + # We DO NOT have pdb files for the builtin commands (like git-status.exe) + # because it is just a copy/hardlink of git.exe, rather than a unique binary. + $(INSTALL) git.pdb '$(DESTDIR_SQ)$(bindir_SQ)' + $(INSTALL) git-shell.pdb '$(DESTDIR_SQ)$(bindir_SQ)' + $(INSTALL) git-upload-pack.pdb '$(DESTDIR_SQ)$(bindir_SQ)' + $(INSTALL) git-credential-store.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-daemon.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-fast-import.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-http-backend.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-http-fetch.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-http-push.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-imap-send.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-remote-http.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-remote-testsvn.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-sh-i18n--envsubst.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(INSTALL) git-show-index.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' +ifndef DEBUG + $(INSTALL) $(vcpkg_rel_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)' + $(INSTALL) $(vcpkg_rel_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)' +else + $(INSTALL) $(vcpkg_dbg_bin)/*.dll '$(DESTDIR_SQ)$(bindir_SQ)' + $(INSTALL) $(vcpkg_dbg_bin)/*.pdb '$(DESTDIR_SQ)$(bindir_SQ)' +endif +endif $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' $(INSTALL) -m 644 mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)' @@ -3085,6 +3103,19 @@ endif $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS $(RM) GIT-USER-AGENT GIT-PREFIX $(RM) GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PERL-HEADER GIT-PYTHON-VARS +ifdef MSVC + $(RM) $(patsubst %.o,%.o.pdb,$(OBJECTS)) + $(RM) $(patsubst %.exe,%.pdb,$(OTHER_PROGRAMS)) + $(RM) $(patsubst %.exe,%.iobj,$(OTHER_PROGRAMS)) + $(RM) $(patsubst %.exe,%.ipdb,$(OTHER_PROGRAMS)) + $(RM) $(patsubst %.exe,%.pdb,$(PROGRAMS)) + $(RM) $(patsubst %.exe,%.iobj,$(PROGRAMS)) + $(RM) $(patsubst %.exe,%.ipdb,$(PROGRAMS)) + $(RM) $(patsubst %.exe,%.pdb,$(TEST_PROGRAMS)) + $(RM) $(patsubst %.exe,%.iobj,$(TEST_PROGRAMS)) + $(RM) $(patsubst %.exe,%.ipdb,$(TEST_PROGRAMS)) + $(RM) compat/vcbuild/MSVC-DEFS-GEN +endif .PHONY: all install profile-clean cocciclean clean strip .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell @@ -1 +1 @@ -Documentation/RelNotes/2.22.1.txt
\ No newline at end of file +Documentation/RelNotes/2.24.0.txt
\ No newline at end of file @@ -3,6 +3,7 @@ #include "color.h" #include "help.h" +int advice_fetch_show_forced_updates = 1; int advice_push_update_rejected = 1; int advice_push_non_ff_current = 1; int advice_push_non_ff_matching = 1; @@ -12,9 +13,11 @@ int advice_push_needs_force = 1; int advice_push_unqualified_ref_name = 1; int advice_status_hints = 1; int advice_status_u_option = 1; +int advice_status_ahead_behind_warning = 1; int advice_commit_before_merge = 1; int advice_reset_quiet_warning = 1; int advice_resolve_conflict = 1; +int advice_sequencer_in_use = 1; int advice_implicit_identity = 1; int advice_detached_head = 1; int advice_set_upstream_failure = 1; @@ -59,6 +62,7 @@ static struct { const char *name; int *preference; } advice_config[] = { + { "fetchShowForcedUpdates", &advice_fetch_show_forced_updates }, { "pushUpdateRejected", &advice_push_update_rejected }, { "pushNonFFCurrent", &advice_push_non_ff_current }, { "pushNonFFMatching", &advice_push_non_ff_matching }, @@ -68,9 +72,11 @@ static struct { { "pushUnqualifiedRefName", &advice_push_unqualified_ref_name }, { "statusHints", &advice_status_hints }, { "statusUoption", &advice_status_u_option }, + { "statusAheadBehindWarning", &advice_status_ahead_behind_warning }, { "commitBeforeMerge", &advice_commit_before_merge }, { "resetQuiet", &advice_reset_quiet_warning }, { "resolveConflict", &advice_resolve_conflict }, + { "sequencerInUse", &advice_sequencer_in_use }, { "implicitIdentity", &advice_implicit_identity }, { "detachedHead", &advice_detached_head }, { "setupStreamFailure", &advice_set_upstream_failure }, @@ -193,13 +199,22 @@ void NORETURN die_conclude_merge(void) void detach_advice(const char *new_name) { const char *fmt = - _("Note: checking out '%s'.\n\n" + _("Note: switching to '%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" + "state without impacting any branches by switching back to a branch.\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 <new-branch-name>\n\n"); + "do so (now or later) by using -c with the switch command. Example:\n" + "\n" + " git switch -c <new-branch-name>\n" + "\n" + "Or undo this operation with:\n" + "\n" + " git switch -\n" + "\n" + "Turn off this advice by setting config variable advice.detachedHead to false\n\n"); fprintf(stderr, fmt, new_name); } @@ -3,6 +3,7 @@ #include "git-compat-util.h" +extern int advice_fetch_show_forced_updates; extern int advice_push_update_rejected; extern int advice_push_non_ff_current; extern int advice_push_non_ff_matching; @@ -12,9 +13,11 @@ extern int advice_push_needs_force; extern int advice_push_unqualified_ref_name; extern int advice_status_hints; extern int advice_status_u_option; +extern int advice_status_ahead_behind_warning; extern int advice_commit_before_merge; extern int advice_reset_quiet_warning; extern int advice_resolve_conflict; +extern int advice_sequencer_in_use; extern int advice_implicit_identity; extern int advice_detached_head; extern int advice_set_upstream_failure; @@ -22,6 +22,12 @@ #include "rerere.h" #include "apply.h" +struct gitdiff_data { + struct strbuf *root; + int linenr; + int p_value; +}; + static void git_apply_config(void) { git_config_get_string_const("apply.whitespace", &apply_default_whitespace); @@ -201,40 +207,6 @@ struct fragment { #define BINARY_DELTA_DEFLATED 1 #define BINARY_LITERAL_DEFLATED 2 -/* - * This represents a "patch" to a file, both metainfo changes - * such as creation/deletion, filemode and content changes represented - * as a series of fragments. - */ -struct patch { - char *new_name, *old_name, *def_name; - unsigned int old_mode, new_mode; - int is_new, is_delete; /* -1 = unknown, 0 = false, 1 = true */ - int rejected; - unsigned ws_rule; - int lines_added, lines_deleted; - int score; - int extension_linenr; /* first line specifying delete/new/rename/copy */ - unsigned int is_toplevel_relative:1; - unsigned int inaccurate_eof:1; - unsigned int is_binary:1; - unsigned int is_copy:1; - unsigned int is_rename:1; - unsigned int recount:1; - unsigned int conflicted_threeway:1; - unsigned int direct_to_threeway:1; - unsigned int crlf_in_old:1; - struct fragment *fragments; - char *result; - size_t resultsize; - char old_oid_prefix[GIT_MAX_HEXSZ + 1]; - char new_oid_prefix[GIT_MAX_HEXSZ + 1]; - struct patch *next; - - /* three-way fallback result */ - struct object_id threeway_stage[3]; -}; - static void free_fragment_list(struct fragment *list) { while (list) { @@ -469,7 +441,7 @@ static char *squash_slash(char *name) return name; } -static char *find_name_gnu(struct apply_state *state, +static char *find_name_gnu(struct strbuf *root, const char *line, int p_value) { @@ -478,7 +450,7 @@ static char *find_name_gnu(struct apply_state *state, /* * Proposed "new-style" GNU patch/diff format; see - * http://marc.info/?l=git&m=112927316408690&w=2 + * https://public-inbox.org/git/7vll0wvb2a.fsf@assigned-by-dhcp.cox.net/ */ if (unquote_c_style(&name, line, NULL)) { strbuf_release(&name); @@ -495,8 +467,8 @@ static char *find_name_gnu(struct apply_state *state, } strbuf_remove(&name, 0, cp - name.buf); - if (state->root.len) - strbuf_insert(&name, 0, state->root.buf, state->root.len); + if (root->len) + strbuf_insert(&name, 0, root->buf, root->len); return squash_slash(strbuf_detach(&name, NULL)); } @@ -659,7 +631,7 @@ static size_t diff_timestamp_len(const char *line, size_t len) return line + len - end; } -static char *find_name_common(struct apply_state *state, +static char *find_name_common(struct strbuf *root, const char *line, const char *def, int p_value, @@ -702,30 +674,30 @@ static char *find_name_common(struct apply_state *state, return squash_slash(xstrdup(def)); } - if (state->root.len) { - char *ret = xstrfmt("%s%.*s", state->root.buf, len, start); + if (root->len) { + char *ret = xstrfmt("%s%.*s", root->buf, len, start); return squash_slash(ret); } return squash_slash(xmemdupz(start, len)); } -static char *find_name(struct apply_state *state, +static char *find_name(struct strbuf *root, const char *line, char *def, int p_value, int terminate) { if (*line == '"') { - char *name = find_name_gnu(state, line, p_value); + char *name = find_name_gnu(root, line, p_value); if (name) return name; } - return find_name_common(state, line, def, p_value, NULL, terminate); + return find_name_common(root, line, def, p_value, NULL, terminate); } -static char *find_name_traditional(struct apply_state *state, +static char *find_name_traditional(struct strbuf *root, const char *line, char *def, int p_value) @@ -734,7 +706,7 @@ static char *find_name_traditional(struct apply_state *state, size_t date_len; if (*line == '"') { - char *name = find_name_gnu(state, line, p_value); + char *name = find_name_gnu(root, line, p_value); if (name) return name; } @@ -742,10 +714,10 @@ static char *find_name_traditional(struct apply_state *state, len = strchrnul(line, '\n') - line; date_len = diff_timestamp_len(line, len); if (!date_len) - return find_name_common(state, line, def, p_value, NULL, TERM_TAB); + return find_name_common(root, line, def, p_value, NULL, TERM_TAB); len -= date_len; - return find_name_common(state, line, def, p_value, line + len, 0); + return find_name_common(root, line, def, p_value, line + len, 0); } /* @@ -759,7 +731,7 @@ static int guess_p_value(struct apply_state *state, const char *nameline) if (is_dev_null(nameline)) return -1; - name = find_name_traditional(state, nameline, NULL, 0); + name = find_name_traditional(&state->root, nameline, NULL, 0); if (!name) return -1; cp = strchr(name, '/'); @@ -883,17 +855,17 @@ static int parse_traditional_patch(struct apply_state *state, if (is_dev_null(first)) { patch->is_new = 1; patch->is_delete = 0; - name = find_name_traditional(state, second, NULL, state->p_value); + name = find_name_traditional(&state->root, second, NULL, state->p_value); patch->new_name = name; } else if (is_dev_null(second)) { patch->is_new = 0; patch->is_delete = 1; - name = find_name_traditional(state, first, NULL, state->p_value); + name = find_name_traditional(&state->root, first, NULL, state->p_value); patch->old_name = name; } else { char *first_name; - first_name = find_name_traditional(state, first, NULL, state->p_value); - name = find_name_traditional(state, second, first_name, state->p_value); + first_name = find_name_traditional(&state->root, first, NULL, state->p_value); + name = find_name_traditional(&state->root, second, first_name, state->p_value); free(first_name); if (has_epoch_timestamp(first)) { patch->is_new = 1; @@ -914,7 +886,7 @@ static int parse_traditional_patch(struct apply_state *state, return 0; } -static int gitdiff_hdrend(struct apply_state *state, +static int gitdiff_hdrend(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -933,14 +905,14 @@ static int gitdiff_hdrend(struct apply_state *state, #define DIFF_OLD_NAME 0 #define DIFF_NEW_NAME 1 -static int gitdiff_verify_name(struct apply_state *state, +static int gitdiff_verify_name(struct gitdiff_data *state, const char *line, int isnull, char **name, int side) { if (!*name && !isnull) { - *name = find_name(state, line, NULL, state->p_value, TERM_TAB); + *name = find_name(state->root, line, NULL, state->p_value, TERM_TAB); return 0; } @@ -949,7 +921,7 @@ static int gitdiff_verify_name(struct apply_state *state, if (isnull) return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), *name, state->linenr); - another = find_name(state, line, NULL, state->p_value, TERM_TAB); + another = find_name(state->root, line, NULL, state->p_value, TERM_TAB); if (!another || strcmp(another, *name)) { free(another); return error((side == DIFF_NEW_NAME) ? @@ -965,7 +937,7 @@ static int gitdiff_verify_name(struct apply_state *state, return 0; } -static int gitdiff_oldname(struct apply_state *state, +static int gitdiff_oldname(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -974,7 +946,7 @@ static int gitdiff_oldname(struct apply_state *state, DIFF_OLD_NAME); } -static int gitdiff_newname(struct apply_state *state, +static int gitdiff_newname(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -992,21 +964,21 @@ static int parse_mode_line(const char *line, int linenr, unsigned int *mode) return 0; } -static int gitdiff_oldmode(struct apply_state *state, +static int gitdiff_oldmode(struct gitdiff_data *state, const char *line, struct patch *patch) { return parse_mode_line(line, state->linenr, &patch->old_mode); } -static int gitdiff_newmode(struct apply_state *state, +static int gitdiff_newmode(struct gitdiff_data *state, const char *line, struct patch *patch) { return parse_mode_line(line, state->linenr, &patch->new_mode); } -static int gitdiff_delete(struct apply_state *state, +static int gitdiff_delete(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1016,7 +988,7 @@ static int gitdiff_delete(struct apply_state *state, return gitdiff_oldmode(state, line, patch); } -static int gitdiff_newfile(struct apply_state *state, +static int gitdiff_newfile(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1026,47 +998,47 @@ static int gitdiff_newfile(struct apply_state *state, return gitdiff_newmode(state, line, patch); } -static int gitdiff_copysrc(struct apply_state *state, +static int gitdiff_copysrc(struct gitdiff_data *state, const char *line, struct patch *patch) { patch->is_copy = 1; free(patch->old_name); - patch->old_name = find_name(state, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); + patch->old_name = find_name(state->root, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); return 0; } -static int gitdiff_copydst(struct apply_state *state, +static int gitdiff_copydst(struct gitdiff_data *state, const char *line, struct patch *patch) { patch->is_copy = 1; free(patch->new_name); - patch->new_name = find_name(state, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); + patch->new_name = find_name(state->root, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); return 0; } -static int gitdiff_renamesrc(struct apply_state *state, +static int gitdiff_renamesrc(struct gitdiff_data *state, const char *line, struct patch *patch) { patch->is_rename = 1; free(patch->old_name); - patch->old_name = find_name(state, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); + patch->old_name = find_name(state->root, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); return 0; } -static int gitdiff_renamedst(struct apply_state *state, +static int gitdiff_renamedst(struct gitdiff_data *state, const char *line, struct patch *patch) { patch->is_rename = 1; free(patch->new_name); - patch->new_name = find_name(state, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); + patch->new_name = find_name(state->root, line, NULL, state->p_value ? state->p_value - 1 : 0, 0); return 0; } -static int gitdiff_similarity(struct apply_state *state, +static int gitdiff_similarity(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1076,7 +1048,7 @@ static int gitdiff_similarity(struct apply_state *state, return 0; } -static int gitdiff_dissimilarity(struct apply_state *state, +static int gitdiff_dissimilarity(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1086,7 +1058,7 @@ static int gitdiff_dissimilarity(struct apply_state *state, return 0; } -static int gitdiff_index(struct apply_state *state, +static int gitdiff_index(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1126,7 +1098,7 @@ static int gitdiff_index(struct apply_state *state, * This is normal for a diff that doesn't change anything: we'll fall through * into the next diff. Tell the parser to break out. */ -static int gitdiff_unrecognized(struct apply_state *state, +static int gitdiff_unrecognized(struct gitdiff_data *state, const char *line, struct patch *patch) { @@ -1137,17 +1109,17 @@ static int gitdiff_unrecognized(struct apply_state *state, * Skip p_value leading components from "line"; as we do not accept * absolute paths, return NULL in that case. */ -static const char *skip_tree_prefix(struct apply_state *state, +static const char *skip_tree_prefix(int p_value, const char *line, int llen) { int nslash; int i; - if (!state->p_value) + if (!p_value) return (llen && line[0] == '/') ? NULL : line; - nslash = state->p_value; + nslash = p_value; for (i = 0; i < llen; i++) { int ch = line[i]; if (ch == '/' && --nslash <= 0) @@ -1164,7 +1136,7 @@ static const char *skip_tree_prefix(struct apply_state *state, * creation or deletion of an empty file. In any of these cases, * both sides are the same name under a/ and b/ respectively. */ -static char *git_header_name(struct apply_state *state, +static char *git_header_name(int p_value, const char *line, int llen) { @@ -1184,7 +1156,7 @@ static char *git_header_name(struct apply_state *state, goto free_and_fail1; /* strip the a/b prefix including trailing slash */ - cp = skip_tree_prefix(state, first.buf, first.len); + cp = skip_tree_prefix(p_value, first.buf, first.len); if (!cp) goto free_and_fail1; strbuf_remove(&first, 0, cp - first.buf); @@ -1201,7 +1173,7 @@ static char *git_header_name(struct apply_state *state, if (*second == '"') { if (unquote_c_style(&sp, second, NULL)) goto free_and_fail1; - cp = skip_tree_prefix(state, sp.buf, sp.len); + cp = skip_tree_prefix(p_value, sp.buf, sp.len); if (!cp) goto free_and_fail1; /* They must match, otherwise ignore */ @@ -1212,7 +1184,7 @@ static char *git_header_name(struct apply_state *state, } /* unquoted second */ - cp = skip_tree_prefix(state, second, line + llen - second); + cp = skip_tree_prefix(p_value, second, line + llen - second); if (!cp) goto free_and_fail1; if (line + llen - cp != first.len || @@ -1227,7 +1199,7 @@ static char *git_header_name(struct apply_state *state, } /* unquoted first name */ - name = skip_tree_prefix(state, line, llen); + name = skip_tree_prefix(p_value, line, llen); if (!name) return NULL; @@ -1243,7 +1215,7 @@ static char *git_header_name(struct apply_state *state, if (unquote_c_style(&sp, second, NULL)) goto free_and_fail2; - np = skip_tree_prefix(state, sp.buf, sp.len); + np = skip_tree_prefix(p_value, sp.buf, sp.len); if (!np) goto free_and_fail2; @@ -1287,7 +1259,7 @@ static char *git_header_name(struct apply_state *state, */ if (!name[len + 1]) return NULL; /* no postimage name */ - second = skip_tree_prefix(state, name + len + 1, + second = skip_tree_prefix(p_value, name + len + 1, line_len - (len + 1)); if (!second) return NULL; @@ -1302,26 +1274,28 @@ static char *git_header_name(struct apply_state *state, } } -static int check_header_line(struct apply_state *state, struct patch *patch) +static int check_header_line(int linenr, struct patch *patch) { int extensions = (patch->is_delete == 1) + (patch->is_new == 1) + (patch->is_rename == 1) + (patch->is_copy == 1); if (extensions > 1) return error(_("inconsistent header lines %d and %d"), - patch->extension_linenr, state->linenr); + patch->extension_linenr, linenr); if (extensions && !patch->extension_linenr) - patch->extension_linenr = state->linenr; + patch->extension_linenr = linenr; return 0; } -/* Verify that we recognize the lines following a git header */ -static int parse_git_header(struct apply_state *state, - const char *line, - int len, - unsigned int size, - struct patch *patch) +int parse_git_diff_header(struct strbuf *root, + int *linenr, + int p_value, + const char *line, + int len, + unsigned int size, + struct patch *patch) { unsigned long offset; + struct gitdiff_data parse_hdr_state; /* A git diff has explicit new/delete information, so we don't guess */ patch->is_new = 0; @@ -1333,20 +1307,24 @@ static int parse_git_header(struct apply_state *state, * or removing or adding empty files), so we get * the default name from the header. */ - patch->def_name = git_header_name(state, line, len); - if (patch->def_name && state->root.len) { - char *s = xstrfmt("%s%s", state->root.buf, patch->def_name); + patch->def_name = git_header_name(p_value, line, len); + if (patch->def_name && root->len) { + char *s = xstrfmt("%s%s", root->buf, patch->def_name); free(patch->def_name); patch->def_name = s; } line += len; size -= len; - state->linenr++; - for (offset = len ; size > 0 ; offset += len, size -= len, line += len, state->linenr++) { + (*linenr)++; + parse_hdr_state.root = root; + parse_hdr_state.linenr = *linenr; + parse_hdr_state.p_value = p_value; + + for (offset = len ; size > 0 ; offset += len, size -= len, line += len, (*linenr)++) { static const struct opentry { const char *str; - int (*fn)(struct apply_state *, const char *, struct patch *); + int (*fn)(struct gitdiff_data *, const char *, struct patch *); } optable[] = { { "@@ -", gitdiff_hdrend }, { "--- ", gitdiff_oldname }, @@ -1377,10 +1355,10 @@ static int parse_git_header(struct apply_state *state, int res; if (len < oplen || memcmp(p->str, line, oplen)) continue; - res = p->fn(state, line + oplen, patch); + res = p->fn(&parse_hdr_state, line + oplen, patch); if (res < 0) return -1; - if (check_header_line(state, patch)) + if (check_header_line(*linenr, patch)) return -1; if (res > 0) return offset; @@ -1561,7 +1539,9 @@ static int find_header(struct apply_state *state, * or mode change, so we handle that specially */ if (!memcmp("diff --git ", line, 11)) { - int git_hdr_len = parse_git_header(state, line, len, size, patch); + int git_hdr_len = parse_git_diff_header(&state->root, &state->linenr, + state->p_value, line, len, + size, patch); if (git_hdr_len < 0) return -128; if (git_hdr_len <= len) @@ -4663,6 +4643,7 @@ static int apply_patch(struct apply_state *state, struct patch *list = NULL, **listp = &list; int skipped_patch = 0; int res = 0; + int flush_attributes = 0; state->patch_input_file = filename; if (read_patch_file(&buf, fd) < 0) @@ -4690,6 +4671,14 @@ static int apply_patch(struct apply_state *state, patch_stats(state, patch); *listp = patch; listp = &patch->next; + + if ((patch->new_name && + ends_with_path_components(patch->new_name, + GITATTRIBUTES_FILE)) || + (patch->old_name && + ends_with_path_components(patch->old_name, + GITATTRIBUTES_FILE))) + flush_attributes = 1; } else { if (state->apply_verbosity > verbosity_normal) @@ -4766,6 +4755,8 @@ static int apply_patch(struct apply_state *state, if (state->summary && state->apply_verbosity > verbosity_silent) summary_patch_list(list); + if (flush_attributes) + reset_parsed_attributes(); end: free_patch_list(list); strbuf_release(&buf); @@ -117,6 +117,40 @@ struct apply_state { int applied_after_fixing_ws; }; +/* + * This represents a "patch" to a file, both metainfo changes + * such as creation/deletion, filemode and content changes represented + * as a series of fragments. + */ +struct patch { + char *new_name, *old_name, *def_name; + unsigned int old_mode, new_mode; + int is_new, is_delete; /* -1 = unknown, 0 = false, 1 = true */ + int rejected; + unsigned ws_rule; + int lines_added, lines_deleted; + int score; + int extension_linenr; /* first line specifying delete/new/rename/copy */ + unsigned int is_toplevel_relative:1; + unsigned int inaccurate_eof:1; + unsigned int is_binary:1; + unsigned int is_copy:1; + unsigned int is_rename:1; + unsigned int recount:1; + unsigned int conflicted_threeway:1; + unsigned int direct_to_threeway:1; + unsigned int crlf_in_old:1; + struct fragment *fragments; + char *result; + size_t resultsize; + char old_oid_prefix[GIT_MAX_HEXSZ + 1]; + char new_oid_prefix[GIT_MAX_HEXSZ + 1]; + struct patch *next; + + /* three-way fallback result */ + struct object_id threeway_stage[3]; +}; + int apply_parse_options(int argc, const char **argv, struct apply_state *state, int *force_apply, int *options, @@ -128,6 +162,20 @@ void clear_apply_state(struct apply_state *state); int check_apply_state(struct apply_state *state, int force_apply); /* + * Parse a git diff header, starting at line. Fills the relevant + * metadata information in 'struct patch'. + * + * Returns -1 on failure, the length of the parsed header otherwise. + */ +int parse_git_diff_header(struct strbuf *root, + int *linenr, + int p_value, + const char *line, + int len, + unsigned int size, + struct patch *patch); + +/* * Some aspects of the apply behavior are controlled by the following * bits in the "options" parameter passed to apply_all_patches(). */ diff --git a/archive-tar.c b/archive-tar.c index 3e53aac1e6..e16d3f756d 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -142,19 +142,25 @@ static int stream_blocked(const struct object_id *oid) * string and appends it to a struct strbuf. */ static void strbuf_append_ext_header(struct strbuf *sb, const char *keyword, - const char *value, unsigned int valuelen) + const char *value, size_t valuelen) { - int len, tmp; + size_t orig_len = sb->len; + size_t len, tmp; /* "%u %s=%s\n" */ len = 1 + 1 + strlen(keyword) + 1 + valuelen + 1; - for (tmp = len; tmp > 9; tmp /= 10) + for (tmp = 1; len / 10 >= tmp; tmp *= 10) len++; strbuf_grow(sb, len); - strbuf_addf(sb, "%u %s=", len, keyword); + strbuf_addf(sb, "%"PRIuMAX" %s=", (uintmax_t)len, keyword); strbuf_add(sb, value, valuelen); strbuf_addch(sb, '\n'); + + if (len != sb->len - orig_len) + BUG("pax extended header length miscalculated as %"PRIuMAX + ", should be %"PRIuMAX, + (uintmax_t)len, (uintmax_t)(sb->len - orig_len)); } /* @@ -418,7 +418,9 @@ static void parse_treeish_arg(const char **argv, unsigned short mode; int err; - err = get_tree_entry(&tree->object.oid, prefix, &tree_oid, + err = get_tree_entry(ar_args->repo, + &tree->object.oid, + prefix, &tree_oid, &mode); if (err || !S_ISDIR(mode)) die(_("current working directory is untracked")); @@ -101,7 +101,7 @@ static void verify_working_tree_path(struct repository *r, struct object_id blob_oid; unsigned short mode; - if (!get_tree_entry(commit_oid, path, &blob_oid, &mode) && + if (!get_tree_entry(r, commit_oid, path, &blob_oid, &mode) && oid_object_info(r, &blob_oid, NULL) == OBJ_BLOB) return; } @@ -311,12 +311,707 @@ static int diff_hunks(mmfile_t *file_a, mmfile_t *file_b, return xdi_diff(file_a, file_b, &xpp, &xecfg, &ecb); } +static const char *get_next_line(const char *start, const char *end) +{ + const char *nl = memchr(start, '\n', end - start); + + return nl ? nl + 1 : end; +} + +static int find_line_starts(int **line_starts, const char *buf, + unsigned long len) +{ + const char *end = buf + len; + const char *p; + int *lineno; + int num = 0; + + for (p = buf; p < end; p = get_next_line(p, end)) + num++; + + ALLOC_ARRAY(*line_starts, num + 1); + lineno = *line_starts; + + for (p = buf; p < end; p = get_next_line(p, end)) + *lineno++ = p - buf; + + *lineno = len; + + return num; +} + +struct fingerprint_entry; + +/* A fingerprint is intended to loosely represent a string, such that two + * fingerprints can be quickly compared to give an indication of the similarity + * of the strings that they represent. + * + * A fingerprint is represented as a multiset of the lower-cased byte pairs in + * the string that it represents. Whitespace is added at each end of the + * string. Whitespace pairs are ignored. Whitespace is converted to '\0'. + * For example, the string "Darth Radar" will be converted to the following + * fingerprint: + * {"\0d", "da", "da", "ar", "ar", "rt", "th", "h\0", "\0r", "ra", "ad", "r\0"} + * + * The similarity between two fingerprints is the size of the intersection of + * their multisets, including repeated elements. See fingerprint_similarity for + * examples. + * + * For ease of implementation, the fingerprint is implemented as a map + * of byte pairs to the count of that byte pair in the string, instead of + * allowing repeated elements in a set. + */ +struct fingerprint { + struct hashmap map; + /* As we know the maximum number of entries in advance, it's + * convenient to store the entries in a single array instead of having + * the hashmap manage the memory. + */ + struct fingerprint_entry *entries; +}; + +/* A byte pair in a fingerprint. Stores the number of times the byte pair + * occurs in the string that the fingerprint represents. + */ +struct fingerprint_entry { + /* The hashmap entry - the hash represents the byte pair in its + * entirety so we don't need to store the byte pair separately. + */ + struct hashmap_entry entry; + /* The number of times the byte pair occurs in the string that the + * fingerprint represents. + */ + int count; +}; + +/* See `struct fingerprint` for an explanation of what a fingerprint is. + * \param result the fingerprint of the string is stored here. This must be + * freed later using free_fingerprint. + * \param line_begin the start of the string + * \param line_end the end of the string + */ +static void get_fingerprint(struct fingerprint *result, + const char *line_begin, + const char *line_end) +{ + unsigned int hash, c0 = 0, c1; + const char *p; + int max_map_entry_count = 1 + line_end - line_begin; + struct fingerprint_entry *entry = xcalloc(max_map_entry_count, + sizeof(struct fingerprint_entry)); + struct fingerprint_entry *found_entry; + + hashmap_init(&result->map, NULL, NULL, max_map_entry_count); + result->entries = entry; + for (p = line_begin; p <= line_end; ++p, c0 = c1) { + /* Always terminate the string with whitespace. + * Normalise whitespace to 0, and normalise letters to + * lower case. This won't work for multibyte characters but at + * worst will match some unrelated characters. + */ + if ((p == line_end) || isspace(*p)) + c1 = 0; + else + c1 = tolower(*p); + hash = c0 | (c1 << 8); + /* Ignore whitespace pairs */ + if (hash == 0) + continue; + hashmap_entry_init(entry, hash); + + found_entry = hashmap_get(&result->map, entry, NULL); + if (found_entry) { + found_entry->count += 1; + } else { + entry->count = 1; + hashmap_add(&result->map, entry); + ++entry; + } + } +} + +static void free_fingerprint(struct fingerprint *f) +{ + hashmap_free(&f->map, 0); + free(f->entries); +} + +/* Calculates the similarity between two fingerprints as the size of the + * intersection of their multisets, including repeated elements. See + * `struct fingerprint` for an explanation of the fingerprint representation. + * The similarity between "cat mat" and "father rather" is 2 because "at" is + * present twice in both strings while the similarity between "tim" and "mit" + * is 0. + */ +static int fingerprint_similarity(struct fingerprint *a, struct fingerprint *b) +{ + int intersection = 0; + struct hashmap_iter iter; + const struct fingerprint_entry *entry_a, *entry_b; + + hashmap_iter_init(&b->map, &iter); + + while ((entry_b = hashmap_iter_next(&iter))) { + if ((entry_a = hashmap_get(&a->map, entry_b, NULL))) { + intersection += entry_a->count < entry_b->count ? + entry_a->count : entry_b->count; + } + } + return intersection; +} + +/* Subtracts byte-pair elements in B from A, modifying A in place. + */ +static void fingerprint_subtract(struct fingerprint *a, struct fingerprint *b) +{ + struct hashmap_iter iter; + struct fingerprint_entry *entry_a; + const struct fingerprint_entry *entry_b; + + hashmap_iter_init(&b->map, &iter); + + while ((entry_b = hashmap_iter_next(&iter))) { + if ((entry_a = hashmap_get(&a->map, entry_b, NULL))) { + if (entry_a->count <= entry_b->count) + hashmap_remove(&a->map, entry_b, NULL); + else + entry_a->count -= entry_b->count; + } + } +} + +/* Calculate fingerprints for a series of lines. + * Puts the fingerprints in the fingerprints array, which must have been + * preallocated to allow storing line_count elements. + */ +static void get_line_fingerprints(struct fingerprint *fingerprints, + const char *content, const int *line_starts, + long first_line, long line_count) +{ + int i; + const char *linestart, *lineend; + + line_starts += first_line; + for (i = 0; i < line_count; ++i) { + linestart = content + line_starts[i]; + lineend = content + line_starts[i + 1]; + get_fingerprint(fingerprints + i, linestart, lineend); + } +} + +static void free_line_fingerprints(struct fingerprint *fingerprints, + int nr_fingerprints) +{ + int i; + + for (i = 0; i < nr_fingerprints; i++) + free_fingerprint(&fingerprints[i]); +} + +/* This contains the data necessary to linearly map a line number in one half + * of a diff chunk to the line in the other half of the diff chunk that is + * closest in terms of its position as a fraction of the length of the chunk. + */ +struct line_number_mapping { + int destination_start, destination_length, + source_start, source_length; +}; + +/* Given a line number in one range, offset and scale it to map it onto the + * other range. + * Essentially this mapping is a simple linear equation but the calculation is + * more complicated to allow performing it with integer operations. + * Another complication is that if a line could map onto many lines in the + * destination range then we want to choose the line at the center of those + * possibilities. + * Example: if the chunk is 2 lines long in A and 10 lines long in B then the + * first 5 lines in B will map onto the first line in the A chunk, while the + * last 5 lines will all map onto the second line in the A chunk. + * Example: if the chunk is 10 lines long in A and 2 lines long in B then line + * 0 in B will map onto line 2 in A, and line 1 in B will map onto line 7 in A. + */ +static int map_line_number(int line_number, + const struct line_number_mapping *mapping) +{ + return ((line_number - mapping->source_start) * 2 + 1) * + mapping->destination_length / + (mapping->source_length * 2) + + mapping->destination_start; +} + +/* Get a pointer to the element storing the similarity between a line in A + * and a line in B. + * + * The similarities are stored in a 2-dimensional array. Each "row" in the + * array contains the similarities for a line in B. The similarities stored in + * a row are the similarities between the line in B and the nearby lines in A. + * To keep the length of each row the same, it is padded out with values of -1 + * where the search range extends beyond the lines in A. + * For example, if max_search_distance_a is 2 and the two sides of a diff chunk + * look like this: + * a | m + * b | n + * c | o + * d | p + * e | q + * Then the similarity array will contain: + * [-1, -1, am, bm, cm, + * -1, an, bn, cn, dn, + * ao, bo, co, do, eo, + * bp, cp, dp, ep, -1, + * cq, dq, eq, -1, -1] + * Where similarities are denoted either by -1 for invalid, or the + * concatenation of the two lines in the diff being compared. + * + * \param similarities array of similarities between lines in A and B + * \param line_a the index of the line in A, in the same frame of reference as + * closest_line_a. + * \param local_line_b the index of the line in B, relative to the first line + * in B that similarities represents. + * \param closest_line_a the index of the line in A that is deemed to be + * closest to local_line_b. This must be in the same + * frame of reference as line_a. This value defines + * where similarities is centered for the line in B. + * \param max_search_distance_a maximum distance in lines from the closest line + * in A for other lines in A for which + * similarities may be calculated. + */ +static int *get_similarity(int *similarities, + int line_a, int local_line_b, + int closest_line_a, int max_search_distance_a) +{ + assert(abs(line_a - closest_line_a) <= + max_search_distance_a); + return similarities + line_a - closest_line_a + + max_search_distance_a + + local_line_b * (max_search_distance_a * 2 + 1); +} + +#define CERTAIN_NOTHING_MATCHES -2 +#define CERTAINTY_NOT_CALCULATED -1 + +/* Given a line in B, first calculate its similarities with nearby lines in A + * if not already calculated, then identify the most similar and second most + * similar lines. The "certainty" is calculated based on those two + * similarities. + * + * \param start_a the index of the first line of the chunk in A + * \param length_a the length in lines of the chunk in A + * \param local_line_b the index of the line in B, relative to the first line + * in the chunk. + * \param fingerprints_a array of fingerprints for the chunk in A + * \param fingerprints_b array of fingerprints for the chunk in B + * \param similarities 2-dimensional array of similarities between lines in A + * and B. See get_similarity() for more details. + * \param certainties array of values indicating how strongly a line in B is + * matched with some line in A. + * \param second_best_result array of absolute indices in A for the second + * closest match of a line in B. + * \param result array of absolute indices in A for the closest match of a line + * in B. + * \param max_search_distance_a maximum distance in lines from the closest line + * in A for other lines in A for which + * similarities may be calculated. + * \param map_line_number_in_b_to_a parameter to map_line_number(). + */ +static void find_best_line_matches( + int start_a, + int length_a, + int start_b, + int local_line_b, + struct fingerprint *fingerprints_a, + struct fingerprint *fingerprints_b, + int *similarities, + int *certainties, + int *second_best_result, + int *result, + const int max_search_distance_a, + const struct line_number_mapping *map_line_number_in_b_to_a) +{ + + int i, search_start, search_end, closest_local_line_a, *similarity, + best_similarity = 0, second_best_similarity = 0, + best_similarity_index = 0, second_best_similarity_index = 0; + + /* certainty has already been calculated so no need to redo the work */ + if (certainties[local_line_b] != CERTAINTY_NOT_CALCULATED) + return; + + closest_local_line_a = map_line_number( + local_line_b + start_b, map_line_number_in_b_to_a) - start_a; + + search_start = closest_local_line_a - max_search_distance_a; + if (search_start < 0) + search_start = 0; + + search_end = closest_local_line_a + max_search_distance_a + 1; + if (search_end > length_a) + search_end = length_a; + + for (i = search_start; i < search_end; ++i) { + similarity = get_similarity(similarities, + i, local_line_b, + closest_local_line_a, + max_search_distance_a); + if (*similarity == -1) { + /* This value will never exceed 10 but assert just in + * case + */ + assert(abs(i - closest_local_line_a) < 1000); + /* scale the similarity by (1000 - distance from + * closest line) to act as a tie break between lines + * that otherwise are equally similar. + */ + *similarity = fingerprint_similarity( + fingerprints_b + local_line_b, + fingerprints_a + i) * + (1000 - abs(i - closest_local_line_a)); + } + if (*similarity > best_similarity) { + second_best_similarity = best_similarity; + second_best_similarity_index = best_similarity_index; + best_similarity = *similarity; + best_similarity_index = i; + } else if (*similarity > second_best_similarity) { + second_best_similarity = *similarity; + second_best_similarity_index = i; + } + } + + if (best_similarity == 0) { + /* this line definitely doesn't match with anything. Mark it + * with this special value so it doesn't get invalidated and + * won't be recalculated. + */ + certainties[local_line_b] = CERTAIN_NOTHING_MATCHES; + result[local_line_b] = -1; + } else { + /* Calculate the certainty with which this line matches. + * If the line matches well with two lines then that reduces + * the certainty. However we still want to prioritise matching + * a line that matches very well with two lines over matching a + * line that matches poorly with one line, hence doubling + * best_similarity. + * This means that if we have + * line X that matches only one line with a score of 3, + * line Y that matches two lines equally with a score of 5, + * and line Z that matches only one line with a score or 2, + * then the lines in order of certainty are X, Y, Z. + */ + certainties[local_line_b] = best_similarity * 2 - + second_best_similarity; + + /* We keep both the best and second best results to allow us to + * check at a later stage of the matching process whether the + * result needs to be invalidated. + */ + result[local_line_b] = start_a + best_similarity_index; + second_best_result[local_line_b] = + start_a + second_best_similarity_index; + } +} + +/* + * This finds the line that we can match with the most confidence, and + * uses it as a partition. It then calls itself on the lines on either side of + * that partition. In this way we avoid lines appearing out of order, and + * retain a sensible line ordering. + * \param start_a index of the first line in A with which lines in B may be + * compared. + * \param start_b index of the first line in B for which matching should be + * done. + * \param length_a number of lines in A with which lines in B may be compared. + * \param length_b number of lines in B for which matching should be done. + * \param fingerprints_a mutable array of fingerprints in A. The first element + * corresponds to the line at start_a. + * \param fingerprints_b array of fingerprints in B. The first element + * corresponds to the line at start_b. + * \param similarities 2-dimensional array of similarities between lines in A + * and B. See get_similarity() for more details. + * \param certainties array of values indicating how strongly a line in B is + * matched with some line in A. + * \param second_best_result array of absolute indices in A for the second + * closest match of a line in B. + * \param result array of absolute indices in A for the closest match of a line + * in B. + * \param max_search_distance_a maximum distance in lines from the closest line + * in A for other lines in A for which + * similarities may be calculated. + * \param max_search_distance_b an upper bound on the greatest possible + * distance between lines in B such that they will + * both be compared with the same line in A + * according to max_search_distance_a. + * \param map_line_number_in_b_to_a parameter to map_line_number(). + */ +static void fuzzy_find_matching_lines_recurse( + int start_a, int start_b, + int length_a, int length_b, + struct fingerprint *fingerprints_a, + struct fingerprint *fingerprints_b, + int *similarities, + int *certainties, + int *second_best_result, + int *result, + int max_search_distance_a, + int max_search_distance_b, + const struct line_number_mapping *map_line_number_in_b_to_a) +{ + int i, invalidate_min, invalidate_max, offset_b, + second_half_start_a, second_half_start_b, + second_half_length_a, second_half_length_b, + most_certain_line_a, most_certain_local_line_b = -1, + most_certain_line_certainty = -1, + closest_local_line_a; + + for (i = 0; i < length_b; ++i) { + find_best_line_matches(start_a, + length_a, + start_b, + i, + fingerprints_a, + fingerprints_b, + similarities, + certainties, + second_best_result, + result, + max_search_distance_a, + map_line_number_in_b_to_a); + + if (certainties[i] > most_certain_line_certainty) { + most_certain_line_certainty = certainties[i]; + most_certain_local_line_b = i; + } + } + + /* No matches. */ + if (most_certain_local_line_b == -1) + return; + + most_certain_line_a = result[most_certain_local_line_b]; + + /* + * Subtract the most certain line's fingerprint in B from the matched + * fingerprint in A. This means that other lines in B can't also match + * the same parts of the line in A. + */ + fingerprint_subtract(fingerprints_a + most_certain_line_a - start_a, + fingerprints_b + most_certain_local_line_b); + + /* Invalidate results that may be affected by the choice of most + * certain line. + */ + invalidate_min = most_certain_local_line_b - max_search_distance_b; + invalidate_max = most_certain_local_line_b + max_search_distance_b + 1; + if (invalidate_min < 0) + invalidate_min = 0; + if (invalidate_max > length_b) + invalidate_max = length_b; + + /* As the fingerprint in A has changed, discard previously calculated + * similarity values with that fingerprint. + */ + for (i = invalidate_min; i < invalidate_max; ++i) { + closest_local_line_a = map_line_number( + i + start_b, map_line_number_in_b_to_a) - start_a; + + /* Check that the lines in A and B are close enough that there + * is a similarity value for them. + */ + if (abs(most_certain_line_a - start_a - closest_local_line_a) > + max_search_distance_a) { + continue; + } + + *get_similarity(similarities, most_certain_line_a - start_a, + i, closest_local_line_a, + max_search_distance_a) = -1; + } + + /* More invalidating of results that may be affected by the choice of + * most certain line. + * Discard the matches for lines in B that are currently matched with a + * line in A such that their ordering contradicts the ordering imposed + * by the choice of most certain line. + */ + for (i = most_certain_local_line_b - 1; i >= invalidate_min; --i) { + /* In this loop we discard results for lines in B that are + * before most-certain-line-B but are matched with a line in A + * that is after most-certain-line-A. + */ + if (certainties[i] >= 0 && + (result[i] >= most_certain_line_a || + second_best_result[i] >= most_certain_line_a)) { + certainties[i] = CERTAINTY_NOT_CALCULATED; + } + } + for (i = most_certain_local_line_b + 1; i < invalidate_max; ++i) { + /* In this loop we discard results for lines in B that are + * after most-certain-line-B but are matched with a line in A + * that is before most-certain-line-A. + */ + if (certainties[i] >= 0 && + (result[i] <= most_certain_line_a || + second_best_result[i] <= most_certain_line_a)) { + certainties[i] = CERTAINTY_NOT_CALCULATED; + } + } + + /* Repeat the matching process for lines before the most certain line. + */ + if (most_certain_local_line_b > 0) { + fuzzy_find_matching_lines_recurse( + start_a, start_b, + most_certain_line_a + 1 - start_a, + most_certain_local_line_b, + fingerprints_a, fingerprints_b, similarities, + certainties, second_best_result, result, + max_search_distance_a, + max_search_distance_b, + map_line_number_in_b_to_a); + } + /* Repeat the matching process for lines after the most certain line. + */ + if (most_certain_local_line_b + 1 < length_b) { + second_half_start_a = most_certain_line_a; + offset_b = most_certain_local_line_b + 1; + second_half_start_b = start_b + offset_b; + second_half_length_a = + length_a + start_a - second_half_start_a; + second_half_length_b = + length_b + start_b - second_half_start_b; + fuzzy_find_matching_lines_recurse( + second_half_start_a, second_half_start_b, + second_half_length_a, second_half_length_b, + fingerprints_a + second_half_start_a - start_a, + fingerprints_b + offset_b, + similarities + + offset_b * (max_search_distance_a * 2 + 1), + certainties + offset_b, + second_best_result + offset_b, result + offset_b, + max_search_distance_a, + max_search_distance_b, + map_line_number_in_b_to_a); + } +} + +/* Find the lines in the parent line range that most closely match the lines in + * the target line range. This is accomplished by matching fingerprints in each + * blame_origin, and choosing the best matches that preserve the line ordering. + * See struct fingerprint for details of fingerprint matching, and + * fuzzy_find_matching_lines_recurse for details of preserving line ordering. + * + * The performance is believed to be O(n log n) in the typical case and O(n^2) + * in a pathological case, where n is the number of lines in the target range. + */ +static int *fuzzy_find_matching_lines(struct blame_origin *parent, + struct blame_origin *target, + int tlno, int parent_slno, int same, + int parent_len) +{ + /* We use the terminology "A" for the left hand side of the diff AKA + * parent, and "B" for the right hand side of the diff AKA target. */ + int start_a = parent_slno; + int length_a = parent_len; + int start_b = tlno; + int length_b = same - tlno; + + struct line_number_mapping map_line_number_in_b_to_a = { + start_a, length_a, start_b, length_b + }; + + struct fingerprint *fingerprints_a = parent->fingerprints; + struct fingerprint *fingerprints_b = target->fingerprints; + + int i, *result, *second_best_result, + *certainties, *similarities, similarity_count; + + /* + * max_search_distance_a means that given a line in B, compare it to + * the line in A that is closest to its position, and the lines in A + * that are no greater than max_search_distance_a lines away from the + * closest line in A. + * + * max_search_distance_b is an upper bound on the greatest possible + * distance between lines in B such that they will both be compared + * with the same line in A according to max_search_distance_a. + */ + int max_search_distance_a = 10, max_search_distance_b; + + if (length_a <= 0) + return NULL; + + if (max_search_distance_a >= length_a) + max_search_distance_a = length_a ? length_a - 1 : 0; + + max_search_distance_b = ((2 * max_search_distance_a + 1) * length_b + - 1) / length_a; + + result = xcalloc(sizeof(int), length_b); + second_best_result = xcalloc(sizeof(int), length_b); + certainties = xcalloc(sizeof(int), length_b); + + /* See get_similarity() for details of similarities. */ + similarity_count = length_b * (max_search_distance_a * 2 + 1); + similarities = xcalloc(sizeof(int), similarity_count); + + for (i = 0; i < length_b; ++i) { + result[i] = -1; + second_best_result[i] = -1; + certainties[i] = CERTAINTY_NOT_CALCULATED; + } + + for (i = 0; i < similarity_count; ++i) + similarities[i] = -1; + + fuzzy_find_matching_lines_recurse(start_a, start_b, + length_a, length_b, + fingerprints_a + start_a, + fingerprints_b + start_b, + similarities, + certainties, + second_best_result, + result, + max_search_distance_a, + max_search_distance_b, + &map_line_number_in_b_to_a); + + free(similarities); + free(certainties); + free(second_best_result); + + return result; +} + +static void fill_origin_fingerprints(struct blame_origin *o) +{ + int *line_starts; + + if (o->fingerprints) + return; + o->num_lines = find_line_starts(&line_starts, o->file.ptr, + o->file.size); + o->fingerprints = xcalloc(sizeof(struct fingerprint), o->num_lines); + get_line_fingerprints(o->fingerprints, o->file.ptr, line_starts, + 0, o->num_lines); + free(line_starts); +} + +static void drop_origin_fingerprints(struct blame_origin *o) +{ + if (o->fingerprints) { + free_line_fingerprints(o->fingerprints, o->num_lines); + o->num_lines = 0; + FREE_AND_NULL(o->fingerprints); + } +} + /* * Given an origin, prepare mmfile_t structure to be used by the * diff machinery */ static void fill_origin_blob(struct diff_options *opt, - struct blame_origin *o, mmfile_t *file, int *num_read_blob) + struct blame_origin *o, mmfile_t *file, + int *num_read_blob, int fill_fingerprints) { if (!o->file.ptr) { enum object_type type; @@ -340,11 +1035,14 @@ static void fill_origin_blob(struct diff_options *opt, } else *file = o->file; + if (fill_fingerprints) + fill_origin_fingerprints(o); } static void drop_origin_blob(struct blame_origin *o) { FREE_AND_NULL(o->file.ptr); + drop_origin_fingerprints(o); } /* @@ -480,7 +1178,9 @@ void blame_coalesce(struct blame_scoreboard *sb) for (ent = sb->ent; ent && (next = ent->next); ent = next) { if (ent->suspect == next->suspect && - ent->s_lno + ent->num_lines == next->s_lno) { + ent->s_lno + ent->num_lines == next->s_lno && + ent->ignored == next->ignored && + ent->unblamable == next->unblamable) { ent->num_lines += next->num_lines; ent->next = next->next; blame_origin_decref(next->suspect); @@ -532,7 +1232,7 @@ static int fill_blob_sha1_and_mode(struct repository *r, { if (!is_null_oid(&origin->blob_oid)) return 0; - if (get_tree_entry(&origin->commit->object.oid, origin->path, &origin->blob_oid, &origin->mode)) + if (get_tree_entry(r, &origin->commit->object.oid, origin->path, &origin->blob_oid, &origin->mode)) goto error_out; if (oid_object_info(r, &origin->blob_oid, NULL) != OBJ_BLOB) goto error_out; @@ -730,8 +1430,14 @@ static void split_overlap(struct blame_entry *split, struct blame_origin *parent) { int chunk_end_lno; + int i; memset(split, 0, sizeof(struct blame_entry [3])); + for (i = 0; i < 3; i++) { + split[i].ignored = e->ignored; + split[i].unblamable = e->unblamable; + } + if (e->s_lno < tlno) { /* there is a pre-chunk part not blamed on parent */ split[0].suspect = blame_origin_incref(e->suspect); @@ -840,6 +1546,164 @@ static struct blame_entry *reverse_blame(struct blame_entry *head, } /* + * Splits a blame entry into two entries at 'len' lines. The original 'e' + * consists of len lines, i.e. [e->lno, e->lno + len), and the second part, + * which is returned, consists of the remainder: [e->lno + len, e->lno + + * e->num_lines). The caller needs to sort out the reference counting for the + * new entry's suspect. + */ +static struct blame_entry *split_blame_at(struct blame_entry *e, int len, + struct blame_origin *new_suspect) +{ + struct blame_entry *n = xcalloc(1, sizeof(struct blame_entry)); + + n->suspect = new_suspect; + n->ignored = e->ignored; + n->unblamable = e->unblamable; + n->lno = e->lno + len; + n->s_lno = e->s_lno + len; + n->num_lines = e->num_lines - len; + e->num_lines = len; + e->score = 0; + return n; +} + +struct blame_line_tracker { + int is_parent; + int s_lno; +}; + +static int are_lines_adjacent(struct blame_line_tracker *first, + struct blame_line_tracker *second) +{ + return first->is_parent == second->is_parent && + first->s_lno + 1 == second->s_lno; +} + +static int scan_parent_range(struct fingerprint *p_fps, + struct fingerprint *t_fps, int t_idx, + int from, int nr_lines) +{ + int sim, p_idx; + #define FINGERPRINT_FILE_THRESHOLD 10 + int best_sim_val = FINGERPRINT_FILE_THRESHOLD; + int best_sim_idx = -1; + + for (p_idx = from; p_idx < from + nr_lines; p_idx++) { + sim = fingerprint_similarity(&t_fps[t_idx], &p_fps[p_idx]); + if (sim < best_sim_val) + continue; + /* Break ties with the closest-to-target line number */ + if (sim == best_sim_val && best_sim_idx != -1 && + abs(best_sim_idx - t_idx) < abs(p_idx - t_idx)) + continue; + best_sim_val = sim; + best_sim_idx = p_idx; + } + return best_sim_idx; +} + +/* + * The first pass checks the blame entry (from the target) against the parent's + * diff chunk. If that fails for a line, the second pass tries to match that + * line to any part of parent file. That catches cases where a change was + * broken into two chunks by 'context.' + */ +static void guess_line_blames(struct blame_origin *parent, + struct blame_origin *target, + int tlno, int offset, int same, int parent_len, + struct blame_line_tracker *line_blames) +{ + int i, best_idx, target_idx; + int parent_slno = tlno + offset; + int *fuzzy_matches; + + fuzzy_matches = fuzzy_find_matching_lines(parent, target, + tlno, parent_slno, same, + parent_len); + for (i = 0; i < same - tlno; i++) { + target_idx = tlno + i; + if (fuzzy_matches && fuzzy_matches[i] >= 0) { + best_idx = fuzzy_matches[i]; + } else { + best_idx = scan_parent_range(parent->fingerprints, + target->fingerprints, + target_idx, 0, + parent->num_lines); + } + if (best_idx >= 0) { + line_blames[i].is_parent = 1; + line_blames[i].s_lno = best_idx; + } else { + line_blames[i].is_parent = 0; + line_blames[i].s_lno = target_idx; + } + } + free(fuzzy_matches); +} + +/* + * This decides which parts of a blame entry go to the parent (added to the + * ignoredp list) and which stay with the target (added to the diffp list). The + * actual decision was made in a separate heuristic function, and those answers + * for the lines in 'e' are in line_blames. This consumes e, essentially + * putting it on a list. + * + * Note that the blame entries on the ignoredp list are not necessarily sorted + * with respect to the parent's line numbers yet. + */ +static void ignore_blame_entry(struct blame_entry *e, + struct blame_origin *parent, + struct blame_entry **diffp, + struct blame_entry **ignoredp, + struct blame_line_tracker *line_blames) +{ + int entry_len, nr_lines, i; + + /* + * We carve new entries off the front of e. Each entry comes from a + * contiguous chunk of lines: adjacent lines from the same origin + * (either the parent or the target). + */ + entry_len = 1; + nr_lines = e->num_lines; /* e changes in the loop */ + for (i = 0; i < nr_lines; i++) { + struct blame_entry *next = NULL; + + /* + * We are often adjacent to the next line - only split the blame + * entry when we have to. + */ + if (i + 1 < nr_lines) { + if (are_lines_adjacent(&line_blames[i], + &line_blames[i + 1])) { + entry_len++; + continue; + } + next = split_blame_at(e, entry_len, + blame_origin_incref(e->suspect)); + } + if (line_blames[i].is_parent) { + e->ignored = 1; + blame_origin_decref(e->suspect); + e->suspect = blame_origin_incref(parent); + e->s_lno = line_blames[i - entry_len + 1].s_lno; + e->next = *ignoredp; + *ignoredp = e; + } else { + e->unblamable = 1; + /* e->s_lno is already in the target's address space. */ + e->next = *diffp; + *diffp = e; + } + assert(e->num_lines == entry_len); + e = next; + entry_len = 1; + } + assert(!e); +} + +/* * Process one hunk from the patch between the current suspect for * blame_entry e and its parent. This first blames any unfinished * entries before the chunk (which is where target and parent start @@ -848,13 +1712,20 @@ static struct blame_entry *reverse_blame(struct blame_entry *head, * -C options may lead to overlapping/duplicate source line number * ranges, all we can rely on from sorting/merging is the order of the * first suspect line number. + * + * tlno: line number in the target where this chunk begins + * same: line number in the target where this chunk ends + * offset: add to tlno to get the chunk starting point in the parent + * parent_len: number of lines in the parent chunk */ static void blame_chunk(struct blame_entry ***dstq, struct blame_entry ***srcq, - int tlno, int offset, int same, - struct blame_origin *parent) + int tlno, int offset, int same, int parent_len, + struct blame_origin *parent, + struct blame_origin *target, int ignore_diffs) { struct blame_entry *e = **srcq; - struct blame_entry *samep = NULL, *diffp = NULL; + struct blame_entry *samep = NULL, *diffp = NULL, *ignoredp = NULL; + struct blame_line_tracker *line_blames = NULL; while (e && e->s_lno < tlno) { struct blame_entry *next = e->next; @@ -865,14 +1736,9 @@ static void blame_chunk(struct blame_entry ***dstq, struct blame_entry ***srcq, */ if (e->s_lno + e->num_lines > tlno) { /* Move second half to a new record */ - int len = tlno - e->s_lno; - struct blame_entry *n = xcalloc(1, sizeof (struct blame_entry)); - n->suspect = e->suspect; - n->lno = e->lno + len; - n->s_lno = e->s_lno + len; - n->num_lines = e->num_lines - len; - e->num_lines = len; - e->score = 0; + struct blame_entry *n; + + n = split_blame_at(e, tlno - e->s_lno, e->suspect); /* Push new record to diffp */ n->next = diffp; diffp = n; @@ -908,6 +1774,14 @@ static void blame_chunk(struct blame_entry ***dstq, struct blame_entry ***srcq, */ samep = NULL; diffp = NULL; + + if (ignore_diffs && same - tlno > 0) { + line_blames = xcalloc(sizeof(struct blame_line_tracker), + same - tlno); + guess_line_blames(parent, target, tlno, offset, same, + parent_len, line_blames); + } + while (e && e->s_lno < same) { struct blame_entry *next = e->next; @@ -919,22 +1793,37 @@ static void blame_chunk(struct blame_entry ***dstq, struct blame_entry ***srcq, * Move second half to a new record to be * processed by later chunks */ - int len = same - e->s_lno; - struct blame_entry *n = xcalloc(1, sizeof (struct blame_entry)); - n->suspect = blame_origin_incref(e->suspect); - n->lno = e->lno + len; - n->s_lno = e->s_lno + len; - n->num_lines = e->num_lines - len; - e->num_lines = len; - e->score = 0; + struct blame_entry *n; + + n = split_blame_at(e, same - e->s_lno, + blame_origin_incref(e->suspect)); /* Push new record to samep */ n->next = samep; samep = n; } - e->next = diffp; - diffp = e; + if (ignore_diffs) { + ignore_blame_entry(e, parent, &diffp, &ignoredp, + line_blames + e->s_lno - tlno); + } else { + e->next = diffp; + diffp = e; + } e = next; } + free(line_blames); + if (ignoredp) { + /* + * Note ignoredp is not sorted yet, and thus neither is dstq. + * That list must be sorted before we queue_blames(). We defer + * sorting until after all diff hunks are processed, so that + * guess_line_blames() can pick *any* line in the parent. The + * slight drawback is that we end up sorting all blame entries + * passed to the parent, including those that are unrelated to + * changes made by the ignored commit. + */ + **dstq = reverse_blame(ignoredp, **dstq); + *dstq = &ignoredp->next; + } **srcq = reverse_blame(diffp, reverse_blame(samep, e)); /* Move across elements that are in the unblamable portion */ if (diffp) @@ -943,7 +1832,9 @@ static void blame_chunk(struct blame_entry ***dstq, struct blame_entry ***srcq, struct blame_chunk_cb_data { struct blame_origin *parent; + struct blame_origin *target; long offset; + int ignore_diffs; struct blame_entry **dstq; struct blame_entry **srcq; }; @@ -956,7 +1847,8 @@ static int blame_chunk_cb(long start_a, long count_a, if (start_a - start_b != d->offset) die("internal error in blame::blame_chunk_cb"); blame_chunk(&d->dstq, &d->srcq, start_b, start_a - start_b, - start_b + count_b, d->parent); + start_b + count_b, count_a, d->parent, d->target, + d->ignore_diffs); d->offset = start_a + count_a - (start_b + count_b); return 0; } @@ -968,7 +1860,7 @@ static int blame_chunk_cb(long start_a, long count_a, */ static void pass_blame_to_parent(struct blame_scoreboard *sb, struct blame_origin *target, - struct blame_origin *parent) + struct blame_origin *parent, int ignore_diffs) { mmfile_t file_p, file_o; struct blame_chunk_cb_data d; @@ -978,11 +1870,15 @@ static void pass_blame_to_parent(struct blame_scoreboard *sb, return; /* nothing remains for this target */ d.parent = parent; + d.target = target; d.offset = 0; + d.ignore_diffs = ignore_diffs; d.dstq = &newdest; d.srcq = &target->suspects; - fill_origin_blob(&sb->revs->diffopt, parent, &file_p, &sb->num_read_blob); - fill_origin_blob(&sb->revs->diffopt, target, &file_o, &sb->num_read_blob); + fill_origin_blob(&sb->revs->diffopt, parent, &file_p, + &sb->num_read_blob, ignore_diffs); + fill_origin_blob(&sb->revs->diffopt, target, &file_o, + &sb->num_read_blob, ignore_diffs); sb->num_get_patch++; if (diff_hunks(&file_p, &file_o, blame_chunk_cb, &d, sb->xdl_opts)) @@ -990,8 +1886,13 @@ static void pass_blame_to_parent(struct blame_scoreboard *sb, oid_to_hex(&parent->commit->object.oid), oid_to_hex(&target->commit->object.oid)); /* The rest are the same as the parent */ - blame_chunk(&d.dstq, &d.srcq, INT_MAX, d.offset, INT_MAX, parent); + blame_chunk(&d.dstq, &d.srcq, INT_MAX, d.offset, INT_MAX, 0, + parent, target, 0); *d.dstq = NULL; + if (ignore_diffs) + newdest = llist_mergesort(newdest, get_next_blame, + set_next_blame, + compare_blame_suspect); queue_blames(sb, parent, newdest); return; @@ -1188,7 +2089,8 @@ static void find_move_in_parent(struct blame_scoreboard *sb, if (!unblamed) return; /* nothing remains for this target */ - fill_origin_blob(&sb->revs->diffopt, parent, &file_p, &sb->num_read_blob); + fill_origin_blob(&sb->revs->diffopt, parent, &file_p, + &sb->num_read_blob, 0); if (!file_p.ptr) return; @@ -1317,7 +2219,8 @@ static void find_copy_in_parent(struct blame_scoreboard *sb, norigin = get_origin(parent, p->one->path); oidcpy(&norigin->blob_oid, &p->one->oid); norigin->mode = p->one->mode; - fill_origin_blob(&sb->revs->diffopt, norigin, &file_p, &sb->num_read_blob); + fill_origin_blob(&sb->revs->diffopt, norigin, &file_p, + &sb->num_read_blob, 0); if (!file_p.ptr) continue; @@ -1495,12 +2398,35 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin, blame_origin_incref(porigin); origin->previous = porigin; } - pass_blame_to_parent(sb, origin, porigin); + pass_blame_to_parent(sb, origin, porigin, 0); if (!origin->suspects) goto finish; } /* + * Pass remaining suspects for ignored commits to their parents. + */ + if (oidset_contains(&sb->ignore_list, &commit->object.oid)) { + for (i = 0, sg = first_scapegoat(revs, commit, sb->reverse); + i < num_sg && sg; + sg = sg->next, i++) { + struct blame_origin *porigin = sg_origin[i]; + + if (!porigin) + continue; + pass_blame_to_parent(sb, origin, porigin, 1); + /* + * Preemptively drop porigin so we can refresh the + * fingerprints if we use the parent again, which can + * occur if you ignore back-to-back commits. + */ + drop_origin_blob(porigin); + if (!origin->suspects) + goto finish; + } + } + + /* * Optionally find moves in parents' files. */ if (opt & PICKAXE_BLAME_MOVE) { @@ -1640,37 +2566,14 @@ void assign_blame(struct blame_scoreboard *sb, int opt) } } -static const char *get_next_line(const char *start, const char *end) -{ - const char *nl = memchr(start, '\n', end - start); - return nl ? nl + 1 : end; -} - /* * To allow quick access to the contents of nth line in the * final image, prepare an index in the scoreboard. */ static int prepare_lines(struct blame_scoreboard *sb) { - const char *buf = sb->final_buf; - unsigned long len = sb->final_buf_size; - const char *end = buf + len; - const char *p; - int *lineno; - int num = 0; - - for (p = buf; p < end; p = get_next_line(p, end)) - num++; - - ALLOC_ARRAY(sb->lineno, num + 1); - lineno = sb->lineno; - - for (p = buf; p < end; p = get_next_line(p, end)) - *lineno++ = p - buf; - - *lineno = len; - - sb->num_lines = num; + sb->num_lines = find_line_starts(&sb->lineno, sb->final_buf, + sb->final_buf_size); return sb->num_lines; } @@ -51,6 +51,8 @@ struct blame_origin { */ struct blame_entry *suspects; mmfile_t file; + int num_lines; + void *fingerprints; struct object_id blob_oid; unsigned short mode; /* guilty gets set when shipping any suspects to the final @@ -92,6 +94,8 @@ struct blame_entry { * scanning the lines over and over. */ unsigned score; + int ignored; + int unblamable; }; /* @@ -117,6 +121,8 @@ struct blame_scoreboard { /* linked list of blames */ struct blame_entry *ent; + struct oidset ignore_list; + /* look-up a line in the final buffer */ int num_lines; int *lineno; @@ -7,10 +7,9 @@ const char *blob_type = "blob"; struct blob *lookup_blob(struct repository *r, const struct object_id *oid) { - struct object *obj = lookup_object(r, oid->hash); + struct object *obj = lookup_object(r, oid); if (!obj) - return create_object(r, oid->hash, - alloc_blob_node(r)); + return create_object(r, oid, alloc_blob_node(r)); return object_as_type(r, obj, OBJ_BLOB, 0); } @@ -338,14 +338,19 @@ void create_branch(struct repository *r, free(real_ref); } -void remove_branch_state(struct repository *r) +void remove_merge_branch_state(struct repository *r) { - sequencer_post_commit_cleanup(r); unlink(git_path_merge_head(r)); unlink(git_path_merge_rr(r)); unlink(git_path_merge_msg(r)); unlink(git_path_merge_mode(r)); +} + +void remove_branch_state(struct repository *r, int verbose) +{ + sequencer_post_commit_cleanup(r, verbose); unlink(git_path_squash_msg(r)); + remove_merge_branch_state(r); } void die_if_checked_out(const char *branch, int ignore_current_worktree) @@ -61,10 +61,16 @@ int validate_branchname(const char *name, struct strbuf *ref); int validate_new_branchname(const char *name, struct strbuf *ref, int force); /* + * Remove information about the merge state on the current + * branch. (E.g., MERGE_HEAD) + */ +void remove_merge_branch_state(struct repository *r); + +/* * Remove information about the state of working on the current * branch. (E.g., MERGE_HEAD) */ -void remove_branch_state(struct repository *r); +void remove_branch_state(struct repository *r, int verbose); /* * Configure local branch "local" as downstream to branch "remote" @@ -160,6 +160,7 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix); int cmd_diff(int argc, const char **argv, const char *prefix); int cmd_diff_tree(int argc, const char **argv, const char *prefix); int cmd_difftool(int argc, const char **argv, const char *prefix); +int cmd_env__helper(int argc, const char **argv, const char *prefix); int cmd_fast_export(int argc, const char **argv, const char *prefix); int cmd_fetch(int argc, const char **argv, const char *prefix); int cmd_fetch_pack(int argc, const char **argv, const char *prefix); @@ -214,6 +215,7 @@ int cmd_remote_fd(int argc, const char **argv, const char *prefix); int cmd_repack(int argc, const char **argv, const char *prefix); int cmd_rerere(int argc, const char **argv, const char *prefix); int cmd_reset(int argc, const char **argv, const char *prefix); +int cmd_restore(int argc, const char **argv, const char *prefix); int cmd_rev_list(int argc, const char **argv, const char *prefix); int cmd_rev_parse(int argc, const char **argv, const char *prefix); int cmd_revert(int argc, const char **argv, const char *prefix); @@ -227,6 +229,7 @@ int cmd_status(int argc, const char **argv, const char *prefix); int cmd_stash(int argc, const char **argv, const char *prefix); int cmd_stripspace(int argc, const char **argv, const char *prefix); int cmd_submodule__helper(int argc, const char **argv, const char *prefix); +int cmd_switch(int argc, const char **argv, const char *prefix); int cmd_symbolic_ref(int argc, const char **argv, const char *prefix); int cmd_tag(int argc, const char **argv, const char *prefix); int cmd_tar_tree(int argc, const char **argv, const char *prefix); diff --git a/builtin/am.c b/builtin/am.c index 252e37ddf0..1aea657a7f 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1956,7 +1956,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem if (merge_tree(remote_tree)) return -1; - remove_branch_state(the_repository); + remove_branch_state(the_repository, 0); return 0; } diff --git a/builtin/blame.c b/builtin/blame.c index 21cde57e71..b6534d4dea 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -53,14 +53,17 @@ static int no_whole_file_rename; static int show_progress; static char repeated_meta_color[COLOR_MAXLEN]; static int coloring_mode; +static struct string_list ignore_revs_file_list = STRING_LIST_INIT_NODUP; +static int mark_unblamable_lines; +static int mark_ignored_lines; static struct date_mode blame_date_mode = { DATE_ISO8601 }; static size_t blame_date_width; static struct string_list mailmap = STRING_LIST_INIT_NODUP; -#ifndef DEBUG -#define DEBUG 0 +#ifndef DEBUG_BLAME +#define DEBUG_BLAME 0 #endif static unsigned blame_move_score; @@ -480,6 +483,14 @@ static void emit_other(struct blame_scoreboard *sb, struct blame_entry *ent, int } } + if (mark_unblamable_lines && ent->unblamable) { + length--; + putchar('*'); + } + if (mark_ignored_lines && ent->ignored) { + length--; + putchar('?'); + } printf("%.*s", length, hex); if (opt & OUTPUT_ANNOTATE_COMPAT) { const char *name; @@ -696,6 +707,24 @@ static int git_blame_config(const char *var, const char *value, void *cb) parse_date_format(value, &blame_date_mode); return 0; } + if (!strcmp(var, "blame.ignorerevsfile")) { + const char *str; + int ret; + + ret = git_config_pathname(&str, var, value); + if (ret) + return ret; + string_list_insert(&ignore_revs_file_list, str); + return 0; + } + if (!strcmp(var, "blame.markunblamablelines")) { + mark_unblamable_lines = git_config_bool(var, value); + return 0; + } + if (!strcmp(var, "blame.markignoredlines")) { + mark_ignored_lines = git_config_bool(var, value); + return 0; + } if (!strcmp(var, "color.blame.repeatedlines")) { if (color_parse_mem(value, strlen(value), repeated_meta_color)) warning(_("invalid color '%s' in color.blame.repeatedLines"), @@ -775,6 +804,27 @@ static int is_a_rev(const char *name) return OBJ_NONE < oid_object_info(the_repository, &oid, NULL); } +static void build_ignorelist(struct blame_scoreboard *sb, + struct string_list *ignore_revs_file_list, + struct string_list *ignore_rev_list) +{ + struct string_list_item *i; + struct object_id oid; + + oidset_init(&sb->ignore_list, 0); + for_each_string_list_item(i, ignore_revs_file_list) { + if (!strcmp(i->string, "")) + oidset_clear(&sb->ignore_list); + else + oidset_parse_file(&sb->ignore_list, i->string); + } + for_each_string_list_item(i, ignore_rev_list) { + if (get_oid_committish(i->string, &oid)) + die(_("cannot find revision %s to ignore"), i->string); + oidset_insert(&sb->ignore_list, &oid); + } +} + int cmd_blame(int argc, const char **argv, const char *prefix) { struct rev_info revs; @@ -786,6 +836,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix) struct progress_info pi = { NULL, 0 }; struct string_list range_list = STRING_LIST_INIT_NODUP; + struct string_list ignore_rev_list = STRING_LIST_INIT_NODUP; int output_option = 0, opt = 0; int show_stats = 0; const char *revs_file = NULL; @@ -807,6 +858,8 @@ int cmd_blame(int argc, const char **argv, const char *prefix) OPT_BIT('s', NULL, &output_option, N_("Suppress author name and timestamp (Default: off)"), OUTPUT_NO_AUTHOR), OPT_BIT('e', "show-email", &output_option, N_("Show author email instead of name (Default: off)"), OUTPUT_SHOW_EMAIL), OPT_BIT('w', NULL, &xdl_opts, N_("Ignore whitespace differences"), XDF_IGNORE_WHITESPACE), + OPT_STRING_LIST(0, "ignore-rev", &ignore_rev_list, N_("rev"), N_("Ignore <rev> when blaming")), + OPT_STRING_LIST(0, "ignore-revs-file", &ignore_revs_file_list, N_("file"), N_("Ignore revisions from <file>")), OPT_BIT(0, "color-lines", &output_option, N_("color redundant metadata from previous line differently"), OUTPUT_COLOR_LINE), OPT_BIT(0, "color-by-age", &output_option, N_("color lines by age"), OUTPUT_SHOW_AGE_WITH_COLOR), @@ -1012,6 +1065,9 @@ parse_done: sb.contents_from = contents_from; sb.reverse = reverse; sb.repo = the_repository; + build_ignorelist(&sb, &ignore_revs_file_list, &ignore_rev_list); + string_list_clear(&ignore_revs_file_list, 0); + string_list_clear(&ignore_rev_list, 0); setup_scoreboard(&sb, path, &o); lno = sb.num_lines; @@ -1062,7 +1118,7 @@ parse_done: if (blame_copy_score) sb.copy_score = blame_copy_score; - sb.debug = DEBUG; + sb.debug = DEBUG_BLAME; sb.on_sanity_fail = &sanity_check_on_fail; sb.show_root = show_root; diff --git a/builtin/branch.c b/builtin/branch.c index 8e243cf8c2..2ef214632f 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -47,6 +47,7 @@ static char branch_colors[][COLOR_MAXLEN] = { GIT_COLOR_NORMAL, /* LOCAL */ GIT_COLOR_GREEN, /* CURRENT */ GIT_COLOR_BLUE, /* UPSTREAM */ + GIT_COLOR_CYAN, /* WORKTREE */ }; enum color_branch { BRANCH_COLOR_RESET = 0, @@ -54,7 +55,8 @@ enum color_branch { BRANCH_COLOR_REMOTE = 2, BRANCH_COLOR_LOCAL = 3, BRANCH_COLOR_CURRENT = 4, - BRANCH_COLOR_UPSTREAM = 5 + BRANCH_COLOR_UPSTREAM = 5, + BRANCH_COLOR_WORKTREE = 6 }; static const char *color_branch_slots[] = { @@ -64,6 +66,7 @@ static const char *color_branch_slots[] = { [BRANCH_COLOR_LOCAL] = "local", [BRANCH_COLOR_CURRENT] = "current", [BRANCH_COLOR_UPSTREAM] = "upstream", + [BRANCH_COLOR_WORKTREE] = "worktree", }; static struct string_list output = STRING_LIST_INIT_DUP; @@ -342,9 +345,10 @@ static char *build_format(struct ref_filter *filter, int maxwidth, const char *r struct strbuf local = STRBUF_INIT; struct strbuf remote = STRBUF_INIT; - strbuf_addf(&local, "%%(if)%%(HEAD)%%(then)* %s%%(else) %s%%(end)", - branch_get_color(BRANCH_COLOR_CURRENT), - branch_get_color(BRANCH_COLOR_LOCAL)); + strbuf_addf(&local, "%%(if)%%(HEAD)%%(then)* %s%%(else)%%(if)%%(worktreepath)%%(then)+ %s%%(else) %s%%(end)%%(end)", + branch_get_color(BRANCH_COLOR_CURRENT), + branch_get_color(BRANCH_COLOR_WORKTREE), + branch_get_color(BRANCH_COLOR_LOCAL)); strbuf_addf(&remote, " %s", branch_get_color(BRANCH_COLOR_REMOTE)); @@ -363,9 +367,13 @@ static char *build_format(struct ref_filter *filter, int maxwidth, const char *r strbuf_addf(&local, " %s ", obname.buf); if (filter->verbose > 1) + { + strbuf_addf(&local, "%%(if:notequals=*)%%(HEAD)%%(then)%%(if)%%(worktreepath)%%(then)(%s%%(worktreepath)%s) %%(end)%%(end)", + branch_get_color(BRANCH_COLOR_WORKTREE), branch_get_color(BRANCH_COLOR_RESET)); strbuf_addf(&local, "%%(if)%%(upstream)%%(then)[%s%%(upstream:short)%s%%(if)%%(upstream:track)" "%%(then): %%(upstream:track,nobracket)%%(end)] %%(end)%%(contents:subject)", branch_get_color(BRANCH_COLOR_UPSTREAM), branch_get_color(BRANCH_COLOR_RESET)); + } else strbuf_addf(&local, "%%(if)%%(upstream:track)%%(then)%%(upstream:track) %%(end)%%(contents:subject)"); diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 0f092382e1..d6a1aa74cd 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -15,6 +15,7 @@ #include "sha1-array.h" #include "packfile.h" #include "object-store.h" +#include "promisor-remote.h" struct batch_options { int enabled; @@ -172,7 +173,8 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, * fall-back to the usual case. */ } - buf = read_object_with_reference(&oid, exp_type, &size, NULL); + buf = read_object_with_reference(the_repository, + &oid, exp_type, &size, NULL); break; default: @@ -523,8 +525,8 @@ static int batch_objects(struct batch_options *opt) if (opt->all_objects) { struct object_cb_data cb; - if (repository_format_partial_clone) - warning("This repository has extensions.partialClone set. Some objects may not be loaded."); + if (has_promisor_remote()) + warning("This repository uses promisor remotes. Some objects may not be loaded."); cb.opt = opt; cb.expand = &data; diff --git a/builtin/checkout.c b/builtin/checkout.c index ffa776c6e1..0a3679eb77 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1,32 +1,31 @@ #define USE_THE_INDEX_COMPATIBILITY_MACROS #include "builtin.h" -#include "config.h" +#include "advice.h" +#include "blob.h" +#include "branch.h" +#include "cache-tree.h" #include "checkout.h" +#include "commit.h" +#include "config.h" +#include "diff.h" +#include "dir.h" +#include "ll-merge.h" #include "lockfile.h" +#include "merge-recursive.h" +#include "object-store.h" #include "parse-options.h" #include "refs.h" -#include "object-store.h" -#include "commit.h" +#include "remote.h" +#include "resolve-undo.h" +#include "revision.h" +#include "run-command.h" +#include "submodule.h" +#include "submodule-config.h" #include "tree.h" #include "tree-walk.h" -#include "cache-tree.h" #include "unpack-trees.h" -#include "dir.h" -#include "run-command.h" -#include "merge-recursive.h" -#include "branch.h" -#include "diff.h" -#include "revision.h" -#include "remote.h" -#include "blob.h" +#include "wt-status.h" #include "xdiff-interface.h" -#include "ll-merge.h" -#include "resolve-undo.h" -#include "submodule-config.h" -#include "submodule.h" -#include "advice.h" - -static int checkout_optimize_new_branch; static const char * const checkout_usage[] = { N_("git checkout [<options>] <branch>"), @@ -34,12 +33,23 @@ static const char * const checkout_usage[] = { NULL, }; +static const char * const switch_branch_usage[] = { + N_("git switch [<options>] [<branch>]"), + NULL, +}; + +static const char * const restore_usage[] = { + N_("git restore [<options>] [--source=<branch>] <file>..."), + NULL, +}; + struct checkout_opts { int patch_mode; int quiet; int merge; int force; int force_detach; + int implicit_detach; int writeout_stage; int overwrite_ignore; int ignore_skipworktree; @@ -47,10 +57,19 @@ struct checkout_opts { int show_progress; int count_checkout_paths; int overlay_mode; - /* - * If new checkout options are added, skip_merge_working_tree - * should be updated accordingly. - */ + int dwim_new_local_branch; + int discard_changes; + int accept_ref; + int accept_pathspec; + int switch_branch_doing_nothing_is_ok; + int only_merge_on_switching_branches; + int can_switch_when_in_progress; + int orphan_from_empty_tree; + int empty_pathspec_ok; + int checkout_index; + int checkout_worktree; + const char *ignore_unmerged_opt; + int ignore_unmerged; const char *new_branch; const char *new_branch_force; @@ -58,10 +77,12 @@ struct checkout_opts { int new_branch_log; enum branch_track track; struct diff_options diff_options; + char *conflict_style; int branch_exists; const char *prefix; struct pathspec pathspec; + const char *from_treeish; struct tree *source_tree; }; @@ -105,6 +126,7 @@ static int update_some(const struct object_id *oid, struct strbuf *base, if (pos >= 0) { struct cache_entry *old = active_cache[pos]; if (ce->ce_mode == old->ce_mode && + !ce_intent_to_add(old) && oideq(&ce->oid, &old->oid)) { old->ce_flags |= CE_UPDATE; discard_cache_entry(ce); @@ -313,17 +335,74 @@ static void mark_ce_for_checkout_no_overlay(struct cache_entry *ce, } } +static int checkout_worktree(const struct checkout_opts *opts) +{ + struct checkout state = CHECKOUT_INIT; + int nr_checkouts = 0, nr_unmerged = 0; + int errs = 0; + int pos; + + state.force = 1; + state.refresh_cache = 1; + state.istate = &the_index; + + enable_delayed_checkout(&state); + for (pos = 0; pos < active_nr; pos++) { + struct cache_entry *ce = active_cache[pos]; + if (ce->ce_flags & CE_MATCHED) { + if (!ce_stage(ce)) { + errs |= checkout_entry(ce, &state, + NULL, &nr_checkouts); + continue; + } + if (opts->writeout_stage) + errs |= checkout_stage(opts->writeout_stage, + ce, pos, + &state, + &nr_checkouts, opts->overlay_mode); + else if (opts->merge) + errs |= checkout_merged(pos, &state, + &nr_unmerged); + pos = skip_same_name(ce, pos) - 1; + } + } + remove_marked_cache_entries(&the_index, 1); + remove_scheduled_dirs(); + errs |= finish_delayed_checkout(&state, &nr_checkouts); + + if (opts->count_checkout_paths) { + if (nr_unmerged) + fprintf_ln(stderr, Q_("Recreated %d merge conflict", + "Recreated %d merge conflicts", + nr_unmerged), + nr_unmerged); + if (opts->source_tree) + fprintf_ln(stderr, Q_("Updated %d path from %s", + "Updated %d paths from %s", + nr_checkouts), + nr_checkouts, + find_unique_abbrev(&opts->source_tree->object.oid, + DEFAULT_ABBREV)); + else if (!nr_unmerged || nr_checkouts) + fprintf_ln(stderr, Q_("Updated %d path from the index", + "Updated %d paths from the index", + nr_checkouts), + nr_checkouts); + } + + return errs; +} + static int checkout_paths(const struct checkout_opts *opts, const char *revision) { int pos; - struct checkout state = CHECKOUT_INIT; static char *ps_matched; struct object_id rev; struct commit *head; int errs = 0; struct lock_file lock_file = LOCK_INIT; - int nr_checkouts = 0, nr_unmerged = 0; + int checkout_index; trace2_cmd_mode(opts->patch_mode ? "patch" : "path"); @@ -333,8 +412,9 @@ static int checkout_paths(const struct checkout_opts *opts, if (opts->new_branch_log) die(_("'%s' cannot be used with updating paths"), "-l"); - if (opts->force && opts->patch_mode) - die(_("'%s' cannot be used with updating paths"), "-f"); + if (opts->ignore_unmerged && opts->patch_mode) + die(_("'%s' cannot be used with updating paths"), + opts->ignore_unmerged_opt); if (opts->force_detach) die(_("'%s' cannot be used with updating paths"), "--detach"); @@ -342,16 +422,46 @@ static int checkout_paths(const struct checkout_opts *opts, if (opts->merge && opts->patch_mode) die(_("'%s' cannot be used with %s"), "--merge", "--patch"); - if (opts->force && opts->merge) - die(_("'%s' cannot be used with %s"), "-f", "-m"); + if (opts->ignore_unmerged && opts->merge) + die(_("'%s' cannot be used with %s"), + opts->ignore_unmerged_opt, "-m"); if (opts->new_branch) die(_("Cannot update paths and switch to branch '%s' at the same time."), opts->new_branch); - if (opts->patch_mode) - return run_add_interactive(revision, "--patch=checkout", - &opts->pathspec); + if (!opts->checkout_worktree && !opts->checkout_index) + die(_("neither '%s' or '%s' is specified"), + "--staged", "--worktree"); + + if (!opts->checkout_worktree && !opts->from_treeish) + die(_("'%s' must be used when '%s' is not specified"), + "--worktree", "--source"); + + if (opts->checkout_index && !opts->checkout_worktree && + opts->writeout_stage) + die(_("'%s' or '%s' cannot be used with %s"), + "--ours", "--theirs", "--staged"); + + if (opts->checkout_index && !opts->checkout_worktree && + opts->merge) + die(_("'%s' or '%s' cannot be used with %s"), + "--merge", "--conflict", "--staged"); + + if (opts->patch_mode) { + const char *patch_mode; + + if (opts->checkout_index && opts->checkout_worktree) + patch_mode = "--patch=checkout"; + else if (opts->checkout_index && !opts->checkout_worktree) + patch_mode = "--patch=reset"; + else if (!opts->checkout_index && opts->checkout_worktree) + patch_mode = "--patch=worktree"; + else + BUG("either flag must have been set, worktree=%d, index=%d", + opts->checkout_worktree, opts->checkout_index); + return run_add_interactive(revision, patch_mode, &opts->pathspec); + } repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR); if (read_cache_preload(&opts->pathspec) < 0) @@ -392,8 +502,9 @@ static int checkout_paths(const struct checkout_opts *opts, if (ce->ce_flags & CE_MATCHED) { if (!ce_stage(ce)) continue; - if (opts->force) { - warning(_("path '%s' is unmerged"), ce->name); + if (opts->ignore_unmerged) { + if (!opts->quiet) + warning(_("path '%s' is unmerged"), ce->name); } else if (opts->writeout_stage) { errs |= check_stage(opts->writeout_stage, ce, pos, opts->overlay_mode); } else if (opts->merge) { @@ -409,57 +520,31 @@ static int checkout_paths(const struct checkout_opts *opts, return 1; /* Now we are committed to check them out */ - state.force = 1; - state.refresh_cache = 1; - state.istate = &the_index; + if (opts->checkout_worktree) + errs |= checkout_worktree(opts); - enable_delayed_checkout(&state); - for (pos = 0; pos < active_nr; pos++) { - struct cache_entry *ce = active_cache[pos]; - if (ce->ce_flags & CE_MATCHED) { - if (!ce_stage(ce)) { - errs |= checkout_entry(ce, &state, - NULL, &nr_checkouts); - continue; - } - if (opts->writeout_stage) - errs |= checkout_stage(opts->writeout_stage, - ce, pos, - &state, - &nr_checkouts, opts->overlay_mode); - else if (opts->merge) - errs |= checkout_merged(pos, &state, - &nr_unmerged); - pos = skip_same_name(ce, pos) - 1; - } - } - remove_marked_cache_entries(&the_index, 1); - remove_scheduled_dirs(); - errs |= finish_delayed_checkout(&state, &nr_checkouts); + /* + * Allow updating the index when checking out from the index. + * This is to save new stat info. + */ + if (opts->checkout_worktree && !opts->checkout_index && !opts->source_tree) + checkout_index = 1; + else + checkout_index = opts->checkout_index; - if (opts->count_checkout_paths) { - if (nr_unmerged) - fprintf_ln(stderr, Q_("Recreated %d merge conflict", - "Recreated %d merge conflicts", - nr_unmerged), - nr_unmerged); - if (opts->source_tree) - fprintf_ln(stderr, Q_("Updated %d path from %s", - "Updated %d paths from %s", - nr_checkouts), - nr_checkouts, - find_unique_abbrev(&opts->source_tree->object.oid, - DEFAULT_ABBREV)); - else if (!nr_unmerged || nr_checkouts) - fprintf_ln(stderr, Q_("Updated %d path from the index", - "Updated %d paths from the index", - nr_checkouts), - nr_checkouts); + if (checkout_index) { + if (write_locked_index(&the_index, &lock_file, COMMIT_LOCK)) + die(_("unable to write new index file")); + } else { + /* + * NEEDSWORK: if --worktree is not specified, we + * should save stat info of checked out files in the + * index to avoid the next (potentially costly) + * refresh. But it's a bit tricker to do... + */ + rollback_lock_file(&lock_file); } - if (write_locked_index(&the_index, &lock_file, COMMIT_LOCK)) - die(_("unable to write new index file")); - read_ref_full("HEAD", 0, &rev, NULL); head = lookup_commit_reference_gently(the_repository, &rev, 1); @@ -553,112 +638,6 @@ static void setup_branch_path(struct branch_info *branch) branch->path = strbuf_detach(&buf, NULL); } -/* - * Skip merging the trees, updating the index and working directory if and - * only if we are creating a new branch via "git checkout -b <new_branch>." - */ -static int skip_merge_working_tree(const struct checkout_opts *opts, - const struct branch_info *old_branch_info, - const struct branch_info *new_branch_info) -{ - /* - * Do the merge if sparse checkout is on and the user has not opted in - * to the optimized behavior - */ - if (core_apply_sparse_checkout && !checkout_optimize_new_branch) - return 0; - - /* - * We must do the merge if we are actually moving to a new commit. - */ - if (!old_branch_info->commit || !new_branch_info->commit || - !oideq(&old_branch_info->commit->object.oid, - &new_branch_info->commit->object.oid)) - return 0; - - /* - * opts->patch_mode cannot be used with switching branches so is - * not tested here - */ - - /* - * opts->quiet only impacts output so doesn't require a merge - */ - - /* - * Honor the explicit request for a three-way merge or to throw away - * local changes - */ - if (opts->merge || opts->force) - return 0; - - /* - * --detach is documented as "updating the index and the files in the - * working tree" but this optimization skips those steps so fall through - * to the regular code path. - */ - if (opts->force_detach) - return 0; - - /* - * opts->writeout_stage cannot be used with switching branches so is - * not tested here - */ - - /* - * Honor the explicit ignore requests - */ - if (!opts->overwrite_ignore || opts->ignore_skipworktree || - opts->ignore_other_worktrees) - return 0; - - /* - * opts->show_progress only impacts output so doesn't require a merge - */ - - /* - * opts->overlay_mode cannot be used with switching branches so is - * not tested here - */ - - /* - * If we aren't creating a new branch any changes or updates will - * happen in the existing branch. Since that could only be updating - * the index and working directory, we don't want to skip those steps - * or we've defeated any purpose in running the command. - */ - if (!opts->new_branch) - return 0; - - /* - * new_branch_force is defined to "create/reset and checkout a branch" - * so needs to go through the merge to do the reset - */ - if (opts->new_branch_force) - return 0; - - /* - * A new orphaned branch requrires the index and the working tree to be - * adjusted to <start_point> - */ - if (opts->new_orphan_branch) - return 0; - - /* - * Remaining variables are not checkout options but used to track state - */ - - /* - * Do the merge if this is the initial checkout. We cannot use - * is_cache_unborn() here because the index hasn't been loaded yet - * so cache_nr and timestamp.sec are always zero. - */ - if (!file_exists(get_index_file())) - return 0; - - return 1; -} - static int merge_working_tree(const struct checkout_opts *opts, struct branch_info *old_branch_info, struct branch_info *new_branch_info, @@ -666,15 +645,21 @@ static int merge_working_tree(const struct checkout_opts *opts, { int ret; struct lock_file lock_file = LOCK_INIT; + struct tree *new_tree; hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR); if (read_cache_preload(NULL) < 0) return error(_("index file corrupt")); resolve_undo_clear(); - if (opts->force) { - ret = reset_tree(get_commit_tree(new_branch_info->commit), - opts, 1, writeout_error); + if (opts->new_orphan_branch && opts->orphan_from_empty_tree) { + if (new_branch_info->commit) + BUG("'switch --orphan' should never accept a commit as starting point"); + new_tree = parse_tree_indirect(the_hash_algo->empty_tree); + } else + new_tree = get_commit_tree(new_branch_info->commit); + if (opts->discard_changes) { + ret = reset_tree(new_tree, opts, 1, writeout_error); if (ret) return ret; } else { @@ -712,7 +697,8 @@ static int merge_working_tree(const struct checkout_opts *opts, &old_branch_info->commit->object.oid : the_hash_algo->empty_tree); init_tree_desc(&trees[0], tree->buffer, tree->size); - tree = parse_tree_indirect(&new_branch_info->commit->object.oid); + parse_tree(new_tree); + tree = new_tree; init_tree_desc(&trees[1], tree->buffer, tree->size); ret = unpack_trees(2, trees, &topts); @@ -745,13 +731,6 @@ static int merge_working_tree(const struct checkout_opts *opts, "the following files:\n%s"), sb.buf); strbuf_release(&sb); - if (repo_index_has_changes(the_repository, - get_commit_tree(old_branch_info->commit), - &sb)) - warning(_("staged changes in the following files may be lost: %s"), - sb.buf); - strbuf_release(&sb); - /* Do more real merge */ /* @@ -777,7 +756,7 @@ static int merge_working_tree(const struct checkout_opts *opts, o.verbosity = 0; work = write_tree_from_memory(&o); - ret = reset_tree(get_commit_tree(new_branch_info->commit), + ret = reset_tree(new_tree, opts, 1, writeout_error); if (ret) @@ -786,13 +765,13 @@ static int merge_working_tree(const struct checkout_opts *opts, o.branch1 = new_branch_info->name; o.branch2 = "local"; ret = merge_trees(&o, - get_commit_tree(new_branch_info->commit), + new_tree, work, old_tree, &result); if (ret < 0) exit(128); - ret = reset_tree(get_commit_tree(new_branch_info->commit), + ret = reset_tree(new_tree, opts, 0, writeout_error); strbuf_release(&o.obuf); @@ -810,7 +789,7 @@ static int merge_working_tree(const struct checkout_opts *opts, if (write_locked_index(&the_index, &lock_file, COMMIT_LOCK)) die(_("unable to write new index file")); - if (!opts->force && !opts->quiet) + if (!opts->discard_changes && !opts->quiet && new_branch_info->commit) show_local_changes(&new_branch_info->commit->object, &opts->diff_options); return 0; @@ -915,7 +894,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts, delete_reflog(old_branch_info->path); } } - remove_branch_state(the_repository); + remove_branch_state(the_repository, !opts->quiet); strbuf_release(&msg); if (!opts->quiet && (new_branch_info->path || (!opts->force_detach && !strcmp(new_branch_info->name, "HEAD")))) @@ -1011,7 +990,10 @@ static void orphaned_commit_warning(struct commit *old_commit, struct commit *ne add_pending_object(&revs, object, oid_to_hex(&object->oid)); for_each_ref(add_pending_uninteresting_ref, &revs); - add_pending_oid(&revs, "HEAD", &new_commit->object.oid, UNINTERESTING); + if (new_commit) + add_pending_oid(&revs, "HEAD", + &new_commit->object.oid, + UNINTERESTING); if (prepare_revision_walk(&revs)) die(_("internal error in revision walk")); @@ -1032,6 +1014,7 @@ static int switch_branches(const struct checkout_opts *opts, void *path_to_free; struct object_id rev; int flag, writeout_error = 0; + int do_merge = 1; trace2_cmd_mode("branch"); @@ -1045,22 +1028,26 @@ static int switch_branches(const struct checkout_opts *opts, if (old_branch_info.path) skip_prefix(old_branch_info.path, "refs/heads/", &old_branch_info.name); + if (opts->new_orphan_branch && opts->orphan_from_empty_tree) { + if (new_branch_info->name) + BUG("'switch --orphan' should never accept a commit as starting point"); + new_branch_info->commit = NULL; + new_branch_info->name = "(empty)"; + do_merge = 1; + } + if (!new_branch_info->name) { new_branch_info->name = "HEAD"; new_branch_info->commit = old_branch_info.commit; if (!new_branch_info->commit) die(_("You are on a branch yet to be born")); parse_commit_or_die(new_branch_info->commit); + + if (opts->only_merge_on_switching_branches) + do_merge = 0; } - /* optimize the "checkout -b <new_branch> path */ - if (skip_merge_working_tree(opts, &old_branch_info, new_branch_info)) { - if (!checkout_optimize_new_branch && !opts->quiet) { - if (read_cache_preload(NULL) < 0) - return error(_("index file corrupt")); - show_local_changes(&new_branch_info->commit->object, &opts->diff_options); - } - } else { + if (do_merge) { ret = merge_working_tree(opts, &old_branch_info, new_branch_info, &writeout_error); if (ret) { free(path_to_free); @@ -1080,11 +1067,6 @@ static int switch_branches(const struct checkout_opts *opts, static int git_checkout_config(const char *var, const char *value, void *cb) { - if (!strcmp(var, "checkout.optimizenewbranch")) { - checkout_optimize_new_branch = git_config_bool(var, value); - return 0; - } - if (!strcmp(var, "diff.ignoresubmodules")) { struct checkout_opts *opts = cb; handle_ignore_submodules_arg(&opts->diff_options, value); @@ -1097,6 +1079,34 @@ static int git_checkout_config(const char *var, const char *value, void *cb) return git_xmerge_config(var, value, NULL); } +static void setup_new_branch_info_and_source_tree( + struct branch_info *new_branch_info, + struct checkout_opts *opts, + struct object_id *rev, + const char *arg) +{ + struct tree **source_tree = &opts->source_tree; + struct object_id branch_rev; + + new_branch_info->name = arg; + setup_branch_path(new_branch_info); + + if (!check_refname_format(new_branch_info->path, 0) && + !read_ref(new_branch_info->path, &branch_rev)) + oidcpy(rev, &branch_rev); + else + new_branch_info->path = NULL; /* not an existing branch */ + + new_branch_info->commit = lookup_commit_reference_gently(the_repository, rev, 1); + if (!new_branch_info->commit) { + /* not a commit */ + *source_tree = parse_tree_indirect(rev); + } else { + parse_commit_or_die(new_branch_info->commit); + *source_tree = get_commit_tree(new_branch_info->commit); + } +} + static int parse_branchname_arg(int argc, const char **argv, int dwim_new_local_branch_ok, struct branch_info *new_branch_info, @@ -1104,10 +1114,8 @@ static int parse_branchname_arg(int argc, const char **argv, struct object_id *rev, int *dwim_remotes_matched) { - struct tree **source_tree = &opts->source_tree; const char **new_branch = &opts->new_branch; int argcount = 0; - struct object_id branch_rev; const char *arg; int dash_dash_pos; int has_dash_dash = 0; @@ -1157,10 +1165,16 @@ static int parse_branchname_arg(int argc, const char **argv, if (!argc) return 0; + if (!opts->accept_pathspec) { + if (argc > 1) + die(_("only one reference expected")); + has_dash_dash = 1; /* helps disambiguate */ + } + arg = argv[0]; dash_dash_pos = -1; for (i = 0; i < argc; i++) { - if (!strcmp(argv[i], "--")) { + if (opts->accept_pathspec && !strcmp(argv[i], "--")) { dash_dash_pos = i; break; } @@ -1194,11 +1208,12 @@ static int parse_branchname_arg(int argc, const char **argv, recover_with_dwim = 0; /* - * Accept "git checkout foo" and "git checkout foo --" - * as candidates for dwim. + * Accept "git checkout foo", "git checkout foo --" + * and "git switch foo" as candidates for dwim. */ if (!(argc == 1 && !has_dash_dash) && - !(argc == 2 && has_dash_dash)) + !(argc == 2 && has_dash_dash) && + opts->accept_pathspec) recover_with_dwim = 0; if (recover_with_dwim) { @@ -1229,26 +1244,11 @@ static int parse_branchname_arg(int argc, const char **argv, argv++; argc--; - new_branch_info->name = arg; - setup_branch_path(new_branch_info); - - if (!check_refname_format(new_branch_info->path, 0) && - !read_ref(new_branch_info->path, &branch_rev)) - oidcpy(rev, &branch_rev); - else - new_branch_info->path = NULL; /* not an existing branch */ - - new_branch_info->commit = lookup_commit_reference_gently(the_repository, rev, 1); - if (!new_branch_info->commit) { - /* not a commit */ - *source_tree = parse_tree_indirect(rev); - } else { - parse_commit_or_die(new_branch_info->commit); - *source_tree = get_commit_tree(new_branch_info->commit); - } + setup_new_branch_info_and_source_tree(new_branch_info, opts, rev, arg); - if (!*source_tree) /* case (1): want a tree */ + if (!opts->source_tree) /* case (1): want a tree */ die(_("reference is not a tree: %s"), arg); + if (!has_dash_dash) { /* case (3).(d) -> (1) */ /* * Do not complain the most common case @@ -1258,7 +1258,7 @@ static int parse_branchname_arg(int argc, const char **argv, */ if (argc) verify_non_filename(opts->prefix, arg); - } else { + } else if (opts->accept_pathspec) { argcount++; argv++; argc--; @@ -1285,6 +1285,60 @@ static int switch_unborn_to_new_branch(const struct checkout_opts *opts) return status; } +static void die_expecting_a_branch(const struct branch_info *branch_info) +{ + struct object_id oid; + char *to_free; + + if (dwim_ref(branch_info->name, strlen(branch_info->name), &oid, &to_free) == 1) { + const char *ref = to_free; + + if (skip_prefix(ref, "refs/tags/", &ref)) + die(_("a branch is expected, got tag '%s'"), ref); + if (skip_prefix(ref, "refs/remotes/", &ref)) + die(_("a branch is expected, got remote branch '%s'"), ref); + die(_("a branch is expected, got '%s'"), ref); + } + if (branch_info->commit) + die(_("a branch is expected, got commit '%s'"), branch_info->name); + /* + * This case should never happen because we already die() on + * non-commit, but just in case. + */ + die(_("a branch is expected, got '%s'"), branch_info->name); +} + +static void die_if_some_operation_in_progress(void) +{ + struct wt_status_state state; + + memset(&state, 0, sizeof(state)); + wt_status_get_state(the_repository, &state, 0); + + if (state.merge_in_progress) + die(_("cannot switch branch while merging\n" + "Consider \"git merge --quit\" " + "or \"git worktree add\".")); + if (state.am_in_progress) + die(_("cannot switch branch in the middle of an am session\n" + "Consider \"git am --quit\" " + "or \"git worktree add\".")); + if (state.rebase_interactive_in_progress || state.rebase_in_progress) + die(_("cannot switch branch while rebasing\n" + "Consider \"git rebase --quit\" " + "or \"git worktree add\".")); + if (state.cherry_pick_in_progress) + die(_("cannot switch branch while cherry-picking\n" + "Consider \"git cherry-pick --quit\" " + "or \"git worktree add\".")); + if (state.revert_in_progress) + die(_("cannot switch branch while reverting\n" + "Consider \"git revert --quit\" " + "or \"git worktree add\".")); + if (state.bisect_in_progress) + warning(_("you are switching branch while bisecting")); +} + static int checkout_branch(struct checkout_opts *opts, struct branch_info *new_branch_info) { @@ -1295,9 +1349,9 @@ static int checkout_branch(struct checkout_opts *opts, die(_("'%s' cannot be used with switching branches"), "--patch"); - if (!opts->overlay_mode) + if (opts->overlay_mode != -1) die(_("'%s' cannot be used with switching branches"), - "--no-overlay"); + "--[no]-overlay"); if (opts->writeout_stage) die(_("'%s' cannot be used with switching branches"), @@ -1306,6 +1360,9 @@ static int checkout_branch(struct checkout_opts *opts, if (opts->force && opts->merge) die(_("'%s' cannot be used with '%s'"), "-f", "-m"); + if (opts->discard_changes && opts->merge) + die(_("'%s' cannot be used with '%s'"), "--discard-changes", "--merge"); + if (opts->force_detach && opts->new_branch) die(_("'%s' cannot be used with '%s'"), "--detach", "-b/-B/--orphan"); @@ -1313,6 +1370,8 @@ static int checkout_branch(struct checkout_opts *opts, if (opts->new_orphan_branch) { if (opts->track != BRANCH_TRACK_UNSPECIFIED) die(_("'%s' cannot be used with '%s'"), "--orphan", "-t"); + if (opts->orphan_from_empty_tree && new_branch_info->name) + die(_("'%s' cannot take <start-point>"), "--orphan"); } else if (opts->force_detach) { if (opts->track != BRANCH_TRACK_UNSPECIFIED) die(_("'%s' cannot be used with '%s'"), "--detach", "-t"); @@ -1323,6 +1382,23 @@ static int checkout_branch(struct checkout_opts *opts, die(_("Cannot switch branch to a non-commit '%s'"), new_branch_info->name); + if (!opts->switch_branch_doing_nothing_is_ok && + !new_branch_info->name && + !opts->new_branch && + !opts->force_detach) + die(_("missing branch or commit argument")); + + if (!opts->implicit_detach && + !opts->force_detach && + !opts->new_branch && + !opts->new_branch_force && + new_branch_info->name && + !new_branch_info->path) + die_expecting_a_branch(new_branch_info); + + if (!opts->can_switch_when_in_progress) + die_if_some_operation_in_progress(); + if (new_branch_info->path && !opts->force_detach && !opts->new_branch && !opts->ignore_other_worktrees) { int flag; @@ -1344,99 +1420,148 @@ static int checkout_branch(struct checkout_opts *opts, return switch_branches(opts, new_branch_info); } -int cmd_checkout(int argc, const char **argv, const char *prefix) +static struct option *add_common_options(struct checkout_opts *opts, + struct option *prevopts) { - struct checkout_opts opts; - struct branch_info new_branch_info; - char *conflict_style = NULL; - int dwim_new_local_branch, no_dwim_new_local_branch = 0; - int dwim_remotes_matched = 0; struct option options[] = { - OPT__QUIET(&opts.quiet, N_("suppress progress reporting")), - OPT_STRING('b', NULL, &opts.new_branch, N_("branch"), - N_("create and checkout a new branch")), - OPT_STRING('B', NULL, &opts.new_branch_force, N_("branch"), - N_("create/reset and checkout a branch")), - OPT_BOOL('l', NULL, &opts.new_branch_log, N_("create reflog for new branch")), - OPT_BOOL(0, "detach", &opts.force_detach, N_("detach HEAD at named commit")), - OPT_SET_INT('t', "track", &opts.track, N_("set upstream info for new branch"), + OPT__QUIET(&opts->quiet, N_("suppress progress reporting")), + { OPTION_CALLBACK, 0, "recurse-submodules", NULL, + "checkout", "control recursive updating of submodules", + PARSE_OPT_OPTARG, option_parse_recurse_submodules_worktree_updater }, + OPT_BOOL(0, "progress", &opts->show_progress, N_("force progress reporting")), + OPT_BOOL('m', "merge", &opts->merge, N_("perform a 3-way merge with the new branch")), + OPT_STRING(0, "conflict", &opts->conflict_style, N_("style"), + N_("conflict style (merge or diff3)")), + OPT_END() + }; + struct option *newopts = parse_options_concat(prevopts, options); + free(prevopts); + return newopts; +} + +static struct option *add_common_switch_branch_options( + struct checkout_opts *opts, struct option *prevopts) +{ + struct option options[] = { + OPT_BOOL('d', "detach", &opts->force_detach, N_("detach HEAD at named commit")), + OPT_SET_INT('t', "track", &opts->track, N_("set upstream info for new branch"), BRANCH_TRACK_EXPLICIT), - OPT_STRING(0, "orphan", &opts.new_orphan_branch, N_("new-branch"), N_("new unparented branch")), - OPT_SET_INT_F('2', "ours", &opts.writeout_stage, + OPT__FORCE(&opts->force, N_("force checkout (throw away local modifications)"), + PARSE_OPT_NOCOMPLETE), + OPT_STRING(0, "orphan", &opts->new_orphan_branch, N_("new-branch"), N_("new unparented branch")), + OPT_BOOL_F(0, "overwrite-ignore", &opts->overwrite_ignore, + N_("update ignored files (default)"), + PARSE_OPT_NOCOMPLETE), + OPT_BOOL(0, "ignore-other-worktrees", &opts->ignore_other_worktrees, + N_("do not check if another worktree is holding the given ref")), + OPT_END() + }; + struct option *newopts = parse_options_concat(prevopts, options); + free(prevopts); + return newopts; +} + +static struct option *add_checkout_path_options(struct checkout_opts *opts, + struct option *prevopts) +{ + struct option options[] = { + OPT_SET_INT_F('2', "ours", &opts->writeout_stage, N_("checkout our version for unmerged files"), 2, PARSE_OPT_NONEG), - OPT_SET_INT_F('3', "theirs", &opts.writeout_stage, + OPT_SET_INT_F('3', "theirs", &opts->writeout_stage, N_("checkout their version for unmerged files"), 3, PARSE_OPT_NONEG), - OPT__FORCE(&opts.force, N_("force checkout (throw away local modifications)"), - PARSE_OPT_NOCOMPLETE), - OPT_BOOL('m', "merge", &opts.merge, N_("perform a 3-way merge with the new branch")), - OPT_BOOL_F(0, "overwrite-ignore", &opts.overwrite_ignore, - N_("update ignored files (default)"), - PARSE_OPT_NOCOMPLETE), - OPT_STRING(0, "conflict", &conflict_style, N_("style"), - N_("conflict style (merge or diff3)")), - OPT_BOOL('p', "patch", &opts.patch_mode, N_("select hunks interactively")), - OPT_BOOL(0, "ignore-skip-worktree-bits", &opts.ignore_skipworktree, + OPT_BOOL('p', "patch", &opts->patch_mode, N_("select hunks interactively")), + OPT_BOOL(0, "ignore-skip-worktree-bits", &opts->ignore_skipworktree, N_("do not limit pathspecs to sparse entries only")), - OPT_BOOL(0, "no-guess", &no_dwim_new_local_branch, - N_("do not second guess 'git checkout <no-such-branch>'")), - OPT_BOOL(0, "ignore-other-worktrees", &opts.ignore_other_worktrees, - N_("do not check if another worktree is holding the given ref")), - { OPTION_CALLBACK, 0, "recurse-submodules", NULL, - "checkout", "control recursive updating of submodules", - PARSE_OPT_OPTARG, option_parse_recurse_submodules_worktree_updater }, - OPT_BOOL(0, "progress", &opts.show_progress, N_("force progress reporting")), - OPT_BOOL(0, "overlay", &opts.overlay_mode, N_("use overlay mode (default)")), - OPT_END(), + OPT_END() }; + struct option *newopts = parse_options_concat(prevopts, options); + free(prevopts); + return newopts; +} + +static int checkout_main(int argc, const char **argv, const char *prefix, + struct checkout_opts *opts, struct option *options, + const char * const usagestr[]) +{ + struct branch_info new_branch_info; + int dwim_remotes_matched = 0; + int parseopt_flags = 0; - memset(&opts, 0, sizeof(opts)); memset(&new_branch_info, 0, sizeof(new_branch_info)); - opts.overwrite_ignore = 1; - opts.prefix = prefix; - opts.show_progress = -1; - opts.overlay_mode = -1; + opts->overwrite_ignore = 1; + opts->prefix = prefix; + opts->show_progress = -1; + + git_config(git_checkout_config, opts); - git_config(git_checkout_config, &opts); + opts->track = BRANCH_TRACK_UNSPECIFIED; - opts.track = BRANCH_TRACK_UNSPECIFIED; + if (!opts->accept_pathspec && !opts->accept_ref) + BUG("make up your mind, you need to take _something_"); + if (opts->accept_pathspec && opts->accept_ref) + parseopt_flags = PARSE_OPT_KEEP_DASHDASH; - argc = parse_options(argc, argv, prefix, options, checkout_usage, - PARSE_OPT_KEEP_DASHDASH); + argc = parse_options(argc, argv, prefix, options, + usagestr, parseopt_flags); - dwim_new_local_branch = !no_dwim_new_local_branch; - if (opts.show_progress < 0) { - if (opts.quiet) - opts.show_progress = 0; + if (opts->show_progress < 0) { + if (opts->quiet) + opts->show_progress = 0; else - opts.show_progress = isatty(2); + opts->show_progress = isatty(2); } - if (conflict_style) { - opts.merge = 1; /* implied */ - git_xmerge_config("merge.conflictstyle", conflict_style, NULL); + if (opts->conflict_style) { + opts->merge = 1; /* implied */ + git_xmerge_config("merge.conflictstyle", opts->conflict_style, NULL); + } + if (opts->force) { + opts->discard_changes = 1; + opts->ignore_unmerged_opt = "--force"; + opts->ignore_unmerged = 1; } - if ((!!opts.new_branch + !!opts.new_branch_force + !!opts.new_orphan_branch) > 1) + if ((!!opts->new_branch + !!opts->new_branch_force + !!opts->new_orphan_branch) > 1) die(_("-b, -B and --orphan are mutually exclusive")); - if (opts.overlay_mode == 1 && opts.patch_mode) + if (opts->overlay_mode == 1 && opts->patch_mode) die(_("-p and --overlay are mutually exclusive")); + if (opts->checkout_index >= 0 || opts->checkout_worktree >= 0) { + if (opts->checkout_index < 0) + opts->checkout_index = 0; + if (opts->checkout_worktree < 0) + opts->checkout_worktree = 0; + } else { + if (opts->checkout_index < 0) + opts->checkout_index = -opts->checkout_index - 1; + if (opts->checkout_worktree < 0) + opts->checkout_worktree = -opts->checkout_worktree - 1; + } + if (opts->checkout_index < 0 || opts->checkout_worktree < 0) + BUG("these flags should be non-negative by now"); + /* + * convenient shortcut: "git restore --staged" equals + * "git restore --staged --source HEAD" + */ + if (!opts->from_treeish && opts->checkout_index && !opts->checkout_worktree) + opts->from_treeish = "HEAD"; + /* * From here on, new_branch will contain the branch to be checked out, * and new_branch_force and new_orphan_branch will tell us which one of * -b/-B/--orphan is being used. */ - if (opts.new_branch_force) - opts.new_branch = opts.new_branch_force; + if (opts->new_branch_force) + opts->new_branch = opts->new_branch_force; - if (opts.new_orphan_branch) - opts.new_branch = opts.new_orphan_branch; + if (opts->new_orphan_branch) + opts->new_branch = opts->new_orphan_branch; /* --track without -b/-B/--orphan should DWIM */ - if (opts.track != BRANCH_TRACK_UNSPECIFIED && !opts.new_branch) { + if (opts->track != BRANCH_TRACK_UNSPECIFIED && !opts->new_branch) { const char *argv0 = argv[0]; if (!argc || !strcmp(argv0, "--")) die(_("--track needs a branch name")); @@ -1445,7 +1570,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) argv0 = strchr(argv0, '/'); if (!argv0 || !argv0[1]) die(_("missing branch name; try -b")); - opts.new_branch = argv0 + 1; + opts->new_branch = argv0 + 1; } /* @@ -1461,59 +1586,75 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) * including "last branch" syntax and DWIM-ery for names of * remote branches, erroring out for invalid or ambiguous cases. */ - if (argc) { + if (argc && opts->accept_ref) { struct object_id rev; int dwim_ok = - !opts.patch_mode && - dwim_new_local_branch && - opts.track == BRANCH_TRACK_UNSPECIFIED && - !opts.new_branch; + !opts->patch_mode && + opts->dwim_new_local_branch && + opts->track == BRANCH_TRACK_UNSPECIFIED && + !opts->new_branch; int n = parse_branchname_arg(argc, argv, dwim_ok, - &new_branch_info, &opts, &rev, + &new_branch_info, opts, &rev, &dwim_remotes_matched); argv += n; argc -= n; + } else if (!opts->accept_ref && opts->from_treeish) { + struct object_id rev; + + if (get_oid_mb(opts->from_treeish, &rev)) + die(_("could not resolve %s"), opts->from_treeish); + + setup_new_branch_info_and_source_tree(&new_branch_info, + opts, &rev, + opts->from_treeish); + + if (!opts->source_tree) + die(_("reference is not a tree: %s"), opts->from_treeish); } + if (opts->accept_pathspec && !opts->empty_pathspec_ok && !argc && + !opts->patch_mode) /* patch mode is special */ + die(_("you must specify path(s) to restore")); + if (argc) { - parse_pathspec(&opts.pathspec, 0, - opts.patch_mode ? PATHSPEC_PREFIX_ORIGIN : 0, + parse_pathspec(&opts->pathspec, 0, + opts->patch_mode ? PATHSPEC_PREFIX_ORIGIN : 0, prefix, argv); - if (!opts.pathspec.nr) + if (!opts->pathspec.nr) die(_("invalid path specification")); /* * Try to give more helpful suggestion. * new_branch && argc > 1 will be caught later. */ - if (opts.new_branch && argc == 1) + if (opts->new_branch && argc == 1) die(_("'%s' is not a commit and a branch '%s' cannot be created from it"), - argv[0], opts.new_branch); + argv[0], opts->new_branch); - if (opts.force_detach) + if (opts->force_detach) die(_("git checkout: --detach does not take a path argument '%s'"), argv[0]); - if (1 < !!opts.writeout_stage + !!opts.force + !!opts.merge) + if (1 < !!opts->writeout_stage + !!opts->force + !!opts->merge) die(_("git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index.")); } - if (opts.new_branch) { + if (opts->new_branch) { struct strbuf buf = STRBUF_INIT; - if (opts.new_branch_force) - opts.branch_exists = validate_branchname(opts.new_branch, &buf); + if (opts->new_branch_force) + opts->branch_exists = validate_branchname(opts->new_branch, &buf); else - opts.branch_exists = - validate_new_branchname(opts.new_branch, &buf, 0); + opts->branch_exists = + validate_new_branchname(opts->new_branch, &buf, 0); strbuf_release(&buf); } UNLEAK(opts); - if (opts.patch_mode || opts.pathspec.nr) { - int ret = checkout_paths(&opts, new_branch_info.name); + if (opts->patch_mode || opts->pathspec.nr) { + int ret = checkout_paths(opts, new_branch_info.name); if (ret && dwim_remotes_matched > 1 && advice_checkout_ambiguous_remote_branch_name) advise(_("'%s' matched more than one remote tracking branch.\n" @@ -1532,6 +1673,123 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) dwim_remotes_matched); return ret; } else { - return checkout_branch(&opts, &new_branch_info); + return checkout_branch(opts, &new_branch_info); } } + +int cmd_checkout(int argc, const char **argv, const char *prefix) +{ + struct checkout_opts opts; + struct option *options; + struct option checkout_options[] = { + OPT_STRING('b', NULL, &opts.new_branch, N_("branch"), + N_("create and checkout a new branch")), + OPT_STRING('B', NULL, &opts.new_branch_force, N_("branch"), + N_("create/reset and checkout a branch")), + OPT_BOOL('l', NULL, &opts.new_branch_log, N_("create reflog for new branch")), + OPT_BOOL(0, "guess", &opts.dwim_new_local_branch, + N_("second guess 'git checkout <no-such-branch>' (default)")), + OPT_BOOL(0, "overlay", &opts.overlay_mode, N_("use overlay mode (default)")), + OPT_END() + }; + int ret; + + memset(&opts, 0, sizeof(opts)); + opts.dwim_new_local_branch = 1; + opts.switch_branch_doing_nothing_is_ok = 1; + opts.only_merge_on_switching_branches = 0; + opts.accept_ref = 1; + opts.accept_pathspec = 1; + opts.implicit_detach = 1; + opts.can_switch_when_in_progress = 1; + opts.orphan_from_empty_tree = 0; + opts.empty_pathspec_ok = 1; + opts.overlay_mode = -1; + opts.checkout_index = -2; /* default on */ + opts.checkout_worktree = -2; /* default on */ + + options = parse_options_dup(checkout_options); + options = add_common_options(&opts, options); + options = add_common_switch_branch_options(&opts, options); + options = add_checkout_path_options(&opts, options); + + ret = checkout_main(argc, argv, prefix, &opts, + options, checkout_usage); + FREE_AND_NULL(options); + return ret; +} + +int cmd_switch(int argc, const char **argv, const char *prefix) +{ + struct checkout_opts opts; + struct option *options = NULL; + struct option switch_options[] = { + OPT_STRING('c', "create", &opts.new_branch, N_("branch"), + N_("create and switch to a new branch")), + OPT_STRING('C', "force-create", &opts.new_branch_force, N_("branch"), + N_("create/reset and switch to a branch")), + OPT_BOOL(0, "guess", &opts.dwim_new_local_branch, + N_("second guess 'git switch <no-such-branch>'")), + OPT_BOOL(0, "discard-changes", &opts.discard_changes, + N_("throw away local modifications")), + OPT_END() + }; + int ret; + + memset(&opts, 0, sizeof(opts)); + opts.dwim_new_local_branch = 1; + opts.accept_ref = 1; + opts.accept_pathspec = 0; + opts.switch_branch_doing_nothing_is_ok = 0; + opts.only_merge_on_switching_branches = 1; + opts.implicit_detach = 0; + opts.can_switch_when_in_progress = 0; + opts.orphan_from_empty_tree = 1; + opts.overlay_mode = -1; + + options = parse_options_dup(switch_options); + options = add_common_options(&opts, options); + options = add_common_switch_branch_options(&opts, options); + + ret = checkout_main(argc, argv, prefix, &opts, + options, switch_branch_usage); + FREE_AND_NULL(options); + return ret; +} + +int cmd_restore(int argc, const char **argv, const char *prefix) +{ + struct checkout_opts opts; + struct option *options; + struct option restore_options[] = { + OPT_STRING('s', "source", &opts.from_treeish, "<tree-ish>", + N_("which tree-ish to checkout from")), + OPT_BOOL('S', "staged", &opts.checkout_index, + N_("restore the index")), + OPT_BOOL('W', "worktree", &opts.checkout_worktree, + N_("restore the working tree (default)")), + OPT_BOOL(0, "ignore-unmerged", &opts.ignore_unmerged, + N_("ignore unmerged entries")), + OPT_BOOL(0, "overlay", &opts.overlay_mode, N_("use overlay mode")), + OPT_END() + }; + int ret; + + memset(&opts, 0, sizeof(opts)); + opts.accept_ref = 0; + opts.accept_pathspec = 1; + opts.empty_pathspec_ok = 0; + opts.overlay_mode = 0; + opts.checkout_index = -1; /* default off */ + opts.checkout_worktree = -2; /* default on */ + opts.ignore_unmerged_opt = "--ignore-unmerged"; + + options = parse_options_dup(restore_options); + options = add_common_options(&opts, options); + options = add_checkout_path_options(&opts, options); + + ret = checkout_main(argc, argv, prefix, &opts, + options, restore_usage); + FREE_AND_NULL(options); + return ret; +} diff --git a/builtin/clone.c b/builtin/clone.c index 3623f040d4..2048b6760a 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -23,6 +23,8 @@ #include "transport.h" #include "strbuf.h" #include "dir.h" +#include "dir-iterator.h" +#include "iterator.h" #include "sigchain.h" #include "branch.h" #include "remote.h" @@ -67,6 +69,7 @@ static int max_jobs = -1; static struct string_list option_recurse_submodules = STRING_LIST_INIT_NODUP; static struct list_objects_filter_options filter_options; static struct string_list server_options = STRING_LIST_INIT_NODUP; +static int option_remote_submodules; static int recurse_submodules_cb(const struct option *opt, const char *arg, int unset) @@ -142,6 +145,8 @@ static struct option builtin_clone_options[] = { OPT_SET_INT('6', "ipv6", &family, N_("use IPv6 addresses only"), TRANSPORT_FAMILY_IPV6), OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options), + OPT_BOOL(0, "remote-submodules", &option_remote_submodules, + N_("any cloned submodules will use their remote-tracking branch")), OPT_END() }; @@ -354,8 +359,7 @@ static void setup_reference(void) add_one_reference, &required); } -static void copy_alternates(struct strbuf *src, struct strbuf *dst, - const char *src_repo) +static void copy_alternates(struct strbuf *src, const char *src_repo) { /* * Read from the source objects/info/alternates file @@ -392,58 +396,63 @@ static void copy_alternates(struct strbuf *src, struct strbuf *dst, fclose(in); } +static void mkdir_if_missing(const char *pathname, mode_t mode) +{ + struct stat st; + + if (!mkdir(pathname, mode)) + return; + + if (errno != EEXIST) + die_errno(_("failed to create directory '%s'"), pathname); + else if (stat(pathname, &st)) + die_errno(_("failed to stat '%s'"), pathname); + else if (!S_ISDIR(st.st_mode)) + die(_("%s exists and is not a directory"), pathname); +} + static void copy_or_link_directory(struct strbuf *src, struct strbuf *dest, - const char *src_repo, int src_baselen) + const char *src_repo) { - struct dirent *de; - struct stat buf; int src_len, dest_len; - DIR *dir; - - dir = opendir(src->buf); - if (!dir) - die_errno(_("failed to open '%s'"), src->buf); - - if (mkdir(dest->buf, 0777)) { - if (errno != EEXIST) - die_errno(_("failed to create directory '%s'"), dest->buf); - else if (stat(dest->buf, &buf)) - die_errno(_("failed to stat '%s'"), dest->buf); - else if (!S_ISDIR(buf.st_mode)) - die(_("%s exists and is not a directory"), dest->buf); - } + struct dir_iterator *iter; + int iter_status; + unsigned int flags; + + mkdir_if_missing(dest->buf, 0777); + + flags = DIR_ITERATOR_PEDANTIC | DIR_ITERATOR_FOLLOW_SYMLINKS; + iter = dir_iterator_begin(src->buf, flags); + + if (!iter) + die_errno(_("failed to start iterator over '%s'"), src->buf); strbuf_addch(src, '/'); src_len = src->len; strbuf_addch(dest, '/'); dest_len = dest->len; - while ((de = readdir(dir)) != NULL) { + while ((iter_status = dir_iterator_advance(iter)) == ITER_OK) { strbuf_setlen(src, src_len); - strbuf_addstr(src, de->d_name); + strbuf_addstr(src, iter->relative_path); strbuf_setlen(dest, dest_len); - strbuf_addstr(dest, de->d_name); - if (stat(src->buf, &buf)) { - warning (_("failed to stat %s\n"), src->buf); - continue; - } - if (S_ISDIR(buf.st_mode)) { - if (de->d_name[0] != '.') - copy_or_link_directory(src, dest, - src_repo, src_baselen); + strbuf_addstr(dest, iter->relative_path); + + if (S_ISDIR(iter->st.st_mode)) { + mkdir_if_missing(dest->buf, 0777); continue; } /* Files that cannot be copied bit-for-bit... */ - if (!strcmp(src->buf + src_baselen, "/info/alternates")) { - copy_alternates(src, dest, src_repo); + if (!fspathcmp(iter->relative_path, "info/alternates")) { + copy_alternates(src, src_repo); continue; } if (unlink(dest->buf) && errno != ENOENT) die_errno(_("failed to unlink '%s'"), dest->buf); if (!option_no_hardlinks) { - if (!link(src->buf, dest->buf)) + if (!link(real_path(src->buf), dest->buf)) continue; if (option_local > 0) die_errno(_("failed to create link '%s'"), dest->buf); @@ -452,7 +461,11 @@ static void copy_or_link_directory(struct strbuf *src, struct strbuf *dest, if (copy_file_with_time(dest->buf, src->buf, 0666)) die_errno(_("failed to copy file to '%s'"), dest->buf); } - closedir(dir); + + if (iter_status != ITER_DONE) { + strbuf_setlen(src, src_len); + die(_("failed to iterate over '%s'"), src->buf); + } } static void clone_local(const char *src_repo, const char *dest_repo) @@ -470,7 +483,7 @@ static void clone_local(const char *src_repo, const char *dest_repo) get_common_dir(&dest, dest_repo); strbuf_addstr(&src, "/objects"); strbuf_addstr(&dest, "/objects"); - copy_or_link_directory(&src, &dest, src_repo, src.len); + copy_or_link_directory(&src, &dest, src_repo); strbuf_release(&src); strbuf_release(&dest); } @@ -492,7 +505,7 @@ static enum { static const char junk_leave_repo_msg[] = N_("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"); + "and retry with 'git restore --source=HEAD :/'\n"); static void remove_junk(void) { @@ -791,6 +804,11 @@ static int checkout(int submodule_progress) if (option_verbosity < 0) argv_array_push(&args, "--quiet"); + if (option_remote_submodules) { + argv_array_push(&args, "--remote"); + argv_array_push(&args, "--no-fetch"); + } + err = run_command_v_opt(args.argv, RUN_GIT_CMD); argv_array_clear(&args); } @@ -1142,13 +1160,11 @@ int cmd_clone(int argc, const char **argv, const char *prefix) transport->server_options = &server_options; if (filter_options.choice) { - struct strbuf expanded_filter_spec = STRBUF_INIT; - expand_list_objects_filter_spec(&filter_options, - &expanded_filter_spec); + const char *spec = + expand_list_objects_filter_spec(&filter_options); transport_set_option(transport, TRANS_OPT_LIST_OBJECTS_FILTER, - expanded_filter_spec.buf); + spec); transport_set_option(transport, TRANS_OPT_FROM_PROMISOR, "1"); - strbuf_release(&expanded_filter_spec); } if (transport->smart_options && !deepen && !filter_options.choice) diff --git a/builtin/column.c b/builtin/column.c index 5228ccf37a..e815e148aa 100644 --- a/builtin/column.c +++ b/builtin/column.c @@ -43,7 +43,7 @@ int cmd_column(int argc, const char **argv, const char *prefix) memset(&copts, 0, sizeof(copts)); copts.padding = 1; - argc = parse_options(argc, argv, "", options, builtin_column_usage, 0); + argc = parse_options(argc, argv, prefix, options, builtin_column_usage, 0); if (argc) usage_with_options(builtin_column_usage, options); if (real_command || command) { diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index d8efa5bab2..57863619b7 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -5,17 +5,18 @@ #include "parse-options.h" #include "repository.h" #include "commit-graph.h" +#include "object-store.h" static char const * const builtin_commit_graph_usage[] = { N_("git commit-graph [--object-dir <objdir>]"), N_("git commit-graph read [--object-dir <objdir>]"), - N_("git commit-graph verify [--object-dir <objdir>]"), - N_("git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--stdin-packs|--stdin-commits]"), + N_("git commit-graph verify [--object-dir <objdir>] [--shallow]"), + N_("git commit-graph write [--object-dir <objdir>] [--append|--split] [--reachable|--stdin-packs|--stdin-commits] <split options>"), NULL }; static const char * const builtin_commit_graph_verify_usage[] = { - N_("git commit-graph verify [--object-dir <objdir>]"), + N_("git commit-graph verify [--object-dir <objdir>] [--shallow]"), NULL }; @@ -25,7 +26,7 @@ static const char * const builtin_commit_graph_read_usage[] = { }; static const char * const builtin_commit_graph_write_usage[] = { - N_("git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--stdin-packs|--stdin-commits]"), + N_("git commit-graph write [--object-dir <objdir>] [--append|--split] [--reachable|--stdin-packs|--stdin-commits] <split options>"), NULL }; @@ -35,9 +36,10 @@ static struct opts_commit_graph { int stdin_packs; int stdin_commits; int append; + int split; + int shallow; } opts; - static int graph_verify(int argc, const char **argv) { struct commit_graph *graph = NULL; @@ -45,11 +47,14 @@ static int graph_verify(int argc, const char **argv) int open_ok; int fd; struct stat st; + int flags = 0; static struct option builtin_commit_graph_verify_options[] = { OPT_STRING(0, "object-dir", &opts.obj_dir, N_("dir"), N_("The object directory to store the graph")), + OPT_BOOL(0, "shallow", &opts.shallow, + N_("if the commit-graph is split, only verify the tip file")), OPT_END(), }; @@ -59,21 +64,27 @@ static int graph_verify(int argc, const char **argv) if (!opts.obj_dir) opts.obj_dir = get_object_directory(); + if (opts.shallow) + flags |= COMMIT_GRAPH_VERIFY_SHALLOW; graph_name = get_commit_graph_filename(opts.obj_dir); open_ok = open_commit_graph(graph_name, &fd, &st); - if (!open_ok && errno == ENOENT) - return 0; - if (!open_ok) + if (!open_ok && errno != ENOENT) die_errno(_("Could not open commit-graph '%s'"), graph_name); - graph = load_commit_graph_one_fd_st(fd, &st); + FREE_AND_NULL(graph_name); + if (open_ok) + graph = load_commit_graph_one_fd_st(fd, &st); + else + graph = read_commit_graph_one(the_repository, opts.obj_dir); + + /* Return failure if open_ok predicted success */ if (!graph) - return 1; + return !!open_ok; UNLEAK(graph); - return verify_commit_graph(the_repository, graph); + return verify_commit_graph(the_repository, graph, flags); } static int graph_read(int argc, const char **argv) @@ -135,6 +146,7 @@ static int graph_read(int argc, const char **argv) } extern int read_replace_refs; +static struct split_commit_graph_opts split_opts; static int graph_write(int argc, const char **argv) { @@ -142,7 +154,7 @@ static int graph_write(int argc, const char **argv) struct string_list *commit_hex = NULL; struct string_list lines; int result = 0; - unsigned int flags = COMMIT_GRAPH_PROGRESS; + enum commit_graph_write_flags flags = COMMIT_GRAPH_WRITE_PROGRESS; static struct option builtin_commit_graph_write_options[] = { OPT_STRING(0, "object-dir", &opts.obj_dir, @@ -156,9 +168,21 @@ static int graph_write(int argc, const char **argv) N_("start walk at commits listed by stdin")), OPT_BOOL(0, "append", &opts.append, N_("include all commits already in the commit-graph file")), + OPT_BOOL(0, "split", &opts.split, + N_("allow writing an incremental commit-graph file")), + OPT_INTEGER(0, "max-commits", &split_opts.max_commits, + N_("maximum number of commits in a non-base split commit-graph")), + OPT_INTEGER(0, "size-multiple", &split_opts.size_multiple, + N_("maximum ratio between two levels of a split commit-graph")), + OPT_EXPIRY_DATE(0, "expire-time", &split_opts.expire_time, + N_("maximum number of commits in a non-base split commit-graph")), OPT_END(), }; + split_opts.size_multiple = 2; + split_opts.max_commits = 0; + split_opts.expire_time = 0; + argc = parse_options(argc, argv, NULL, builtin_commit_graph_write_options, builtin_commit_graph_write_usage, 0); @@ -168,12 +192,17 @@ static int graph_write(int argc, const char **argv) if (!opts.obj_dir) opts.obj_dir = get_object_directory(); if (opts.append) - flags |= COMMIT_GRAPH_APPEND; + flags |= COMMIT_GRAPH_WRITE_APPEND; + if (opts.split) + flags |= COMMIT_GRAPH_WRITE_SPLIT; read_replace_refs = 0; - if (opts.reachable) - return write_commit_graph_reachable(opts.obj_dir, flags); + if (opts.reachable) { + if (write_commit_graph_reachable(opts.obj_dir, flags, &split_opts)) + return 1; + return 0; + } string_list_init(&lines, 0); if (opts.stdin_packs || opts.stdin_commits) { @@ -184,8 +213,10 @@ static int graph_write(int argc, const char **argv) if (opts.stdin_packs) pack_indexes = &lines; - if (opts.stdin_commits) + if (opts.stdin_commits) { commit_hex = &lines; + flags |= COMMIT_GRAPH_WRITE_CHECK_OIDS; + } UNLEAK(buf); } @@ -193,7 +224,8 @@ static int graph_write(int argc, const char **argv) if (write_commit_graph(opts.obj_dir, pack_indexes, commit_hex, - flags)) + flags, + &split_opts)) result = 1; UNLEAK(lines); diff --git a/builtin/commit.c b/builtin/commit.c index 1921401117..ae7aaf6dc6 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -60,15 +60,18 @@ N_("The previous cherry-pick is now empty, possibly due to conflict resolution.\ "\n"); static const char empty_cherry_pick_advice_single[] = -N_("Otherwise, please use 'git reset'\n"); +N_("Otherwise, please use 'git cherry-pick --skip'\n"); static const char empty_cherry_pick_advice_multi[] = -N_("If you wish to skip this commit, use:\n" +N_("and then use:\n" "\n" -" git reset\n" +" git cherry-pick --continue\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n"); +"to resume cherry-picking the remaining commits.\n" +"If you wish to skip this commit, use:\n" +"\n" +" git cherry-pick --skip\n" +"\n"); static const char *color_status_slots[] = { [WT_STATUS_HEADER] = "header", @@ -1078,9 +1081,11 @@ static const char *read_commit_message(const char *name) static struct status_deferred_config { enum wt_status_format status_format; int show_branch; + enum ahead_behind_flags ahead_behind; } status_deferred_config = { STATUS_FORMAT_UNSPECIFIED, - -1 /* unspecified */ + -1, /* unspecified */ + AHEAD_BEHIND_UNSPECIFIED, }; static void finalize_deferred_config(struct wt_status *s) @@ -1107,6 +1112,17 @@ static void finalize_deferred_config(struct wt_status *s) if (s->show_branch < 0) s->show_branch = 0; + /* + * If the user did not give a "--[no]-ahead-behind" command + * line argument *AND* we will print in a human-readable format + * (short, long etc.) then we inherit from the status.aheadbehind + * config setting. In all other cases (and porcelain V[12] formats + * in particular), we inherit _FULL for backwards compatibility. + */ + if (use_deferred_config && + s->ahead_behind_flags == AHEAD_BEHIND_UNSPECIFIED) + s->ahead_behind_flags = status_deferred_config.ahead_behind; + if (s->ahead_behind_flags == AHEAD_BEHIND_UNSPECIFIED) s->ahead_behind_flags = AHEAD_BEHIND_FULL; } @@ -1246,6 +1262,10 @@ static int git_status_config(const char *k, const char *v, void *cb) status_deferred_config.show_branch = git_config_bool(k, v); return 0; } + if (!strcmp(k, "status.aheadbehind")) { + status_deferred_config.ahead_behind = git_config_bool(k, v); + return 0; + } if (!strcmp(k, "status.showstash")) { s->show_stash = git_config_bool(k, v); return 0; @@ -1658,7 +1678,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) die("%s", err.buf); } - sequencer_post_commit_cleanup(the_repository); + sequencer_post_commit_cleanup(the_repository, 0); unlink(git_path_merge_head(the_repository)); unlink(git_path_merge_msg(the_repository)); unlink(git_path_merge_mode(the_repository)); @@ -1667,10 +1687,10 @@ int cmd_commit(int argc, const char **argv, const char *prefix) if (commit_index_files()) die(_("repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" - "not exceeded, and then \"git reset HEAD\" to recover.")); + "not exceeded, and then \"git restore --staged :/\" to recover.")); if (git_env_bool(GIT_TEST_COMMIT_GRAPH, 0) && - write_commit_graph_reachable(get_object_directory(), 0)) + write_commit_graph_reachable(get_object_directory(), 0, NULL)) return 1; repo_rerere(the_repository, 0); diff --git a/builtin/describe.c b/builtin/describe.c index 1409cedce2..200154297d 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -76,7 +76,7 @@ static int commit_name_neq(const void *unused_cmp_data, static inline struct commit_name *find_commit_name(const struct object_id *peeled) { - return hashmap_get_from_hash(&names, sha1hash(peeled->hash), peeled->hash); + return hashmap_get_from_hash(&names, oidhash(peeled), peeled); } static int replace_name(struct commit_name *e, @@ -123,7 +123,7 @@ static void add_to_known_names(const char *path, if (!e) { e = xmalloc(sizeof(struct commit_name)); oidcpy(&e->peeled, peeled); - hashmap_entry_init(e, sha1hash(peeled->hash)); + hashmap_entry_init(e, oidhash(peeled)); hashmap_add(&names, e); e->path = NULL; } diff --git a/builtin/env--helper.c b/builtin/env--helper.c new file mode 100644 index 0000000000..23c214fff6 --- /dev/null +++ b/builtin/env--helper.c @@ -0,0 +1,95 @@ +#include "builtin.h" +#include "config.h" +#include "parse-options.h" + +static char const * const env__helper_usage[] = { + N_("git env--helper --type=[bool|ulong] <options> <env-var>"), + NULL +}; + +static enum { + ENV_HELPER_TYPE_BOOL = 1, + ENV_HELPER_TYPE_ULONG +} cmdmode = 0; + +static int option_parse_type(const struct option *opt, const char *arg, + int unset) +{ + if (!strcmp(arg, "bool")) + cmdmode = ENV_HELPER_TYPE_BOOL; + else if (!strcmp(arg, "ulong")) + cmdmode = ENV_HELPER_TYPE_ULONG; + else + die(_("unrecognized --type argument, %s"), arg); + + return 0; +} + +int cmd_env__helper(int argc, const char **argv, const char *prefix) +{ + int exit_code = 0; + const char *env_variable = NULL; + const char *env_default = NULL; + int ret; + int ret_int, default_int; + unsigned long ret_ulong, default_ulong; + struct option opts[] = { + OPT_CALLBACK_F(0, "type", &cmdmode, N_("type"), + N_("value is given this type"), PARSE_OPT_NONEG, + option_parse_type), + OPT_STRING(0, "default", &env_default, N_("value"), + N_("default for git_env_*(...) to fall back on")), + OPT_BOOL(0, "exit-code", &exit_code, + N_("be quiet only use git_env_*() value as exit code")), + OPT_END(), + }; + + argc = parse_options(argc, argv, prefix, opts, env__helper_usage, + PARSE_OPT_KEEP_UNKNOWN); + if (env_default && !*env_default) + usage_with_options(env__helper_usage, opts); + if (!cmdmode) + usage_with_options(env__helper_usage, opts); + if (argc != 1) + usage_with_options(env__helper_usage, opts); + env_variable = argv[0]; + + switch (cmdmode) { + case ENV_HELPER_TYPE_BOOL: + if (env_default) { + default_int = git_parse_maybe_bool(env_default); + if (default_int == -1) { + error(_("option `--default' expects a boolean value with `--type=bool`, not `%s`"), + env_default); + usage_with_options(env__helper_usage, opts); + } + } else { + default_int = 0; + } + ret_int = git_env_bool(env_variable, default_int); + if (!exit_code) + puts(ret_int ? "true" : "false"); + ret = ret_int; + break; + case ENV_HELPER_TYPE_ULONG: + if (env_default) { + if (!git_parse_ulong(env_default, &default_ulong)) { + error(_("option `--default' expects an unsigned long value with `--type=ulong`, not `%s`"), + env_default); + usage_with_options(env__helper_usage, opts); + } + } else { + default_ulong = 0; + } + ret_ulong = git_env_ulong(env_variable, default_ulong); + if (!exit_code) + printf("%lu\n", ret_ulong); + ret = ret_ulong; + break; + default: + BUG("unknown <type> value"); + break; + } + + return !ret; +} diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 9e283482ef..f541f55d33 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -33,6 +33,7 @@ static const char *fast_export_usage[] = { static int progress; static enum { SIGNED_TAG_ABORT, VERBATIM, WARN, WARN_STRIP, STRIP } signed_tag_mode = SIGNED_TAG_ABORT; static enum { TAG_FILTERING_ABORT, DROP, REWRITE } tag_of_filtered_mode = TAG_FILTERING_ABORT; +static enum { REENCODE_ABORT, REENCODE_YES, REENCODE_NO } reencode_mode = REENCODE_ABORT; static int fake_missing_tagger; static int use_done_feature; static int no_data; @@ -77,6 +78,31 @@ static int parse_opt_tag_of_filtered_mode(const struct option *opt, return 0; } +static int parse_opt_reencode_mode(const struct option *opt, + const char *arg, int unset) +{ + if (unset) { + reencode_mode = REENCODE_ABORT; + return 0; + } + + switch (git_parse_maybe_bool(arg)) { + case 0: + reencode_mode = REENCODE_NO; + break; + case 1: + reencode_mode = REENCODE_YES; + break; + default: + if (!strcasecmp(arg, "abort")) + reencode_mode = REENCODE_ABORT; + else + return error("Unknown reencoding mode: %s", arg); + } + + return 0; +} + static struct decoration idnums; static uint32_t last_idnum; @@ -249,7 +275,7 @@ static void export_blob(const struct object_id *oid) if (is_null_oid(oid)) return; - object = lookup_object(the_repository, oid->hash); + object = lookup_object(the_repository, oid); if (object && object->flags & SHOWN) return; @@ -427,7 +453,7 @@ static void show_filemodify(struct diff_queue_struct *q, &spec->oid)); else { struct object *object = lookup_object(the_repository, - spec->oid.hash); + &spec->oid); printf("M %06o :%d ", spec->mode, get_object_mark(object)); } @@ -453,7 +479,7 @@ static const char *find_encoding(const char *begin, const char *end) bol = memmem(begin, end ? end - begin : strlen(begin), needle, strlen(needle)); if (!bol) - return git_commit_encoding; + return NULL; bol += strlen(needle); eol = strchrnul(bol, '\n'); *eol = '\0'; @@ -633,18 +659,32 @@ static void handle_commit(struct commit *commit, struct rev_info *rev, } mark_next_object(&commit->object); - if (anonymize) + if (anonymize) { reencoded = anonymize_commit_message(message); - else if (!is_encoding_utf8(encoding)) - reencoded = reencode_string(message, "UTF-8", encoding); + } else if (encoding) { + switch(reencode_mode) { + case REENCODE_YES: + reencoded = reencode_string(message, "UTF-8", encoding); + break; + case REENCODE_NO: + break; + case REENCODE_ABORT: + die("Encountered commit-specific encoding %s in commit " + "%s; use --reencode=[yes|no] to handle it", + encoding, oid_to_hex(&commit->object.oid)); + } + } if (!commit->parents) printf("reset %s\n", refname); printf("commit %s\nmark :%"PRIu32"\n", refname, last_idnum); if (show_original_ids) printf("original-oid %s\n", oid_to_hex(&commit->object.oid)); - printf("%.*s\n%.*s\ndata %u\n%s", + printf("%.*s\n%.*s\n", (int)(author_end - author), author, - (int)(committer_end - committer), committer, + (int)(committer_end - committer), committer); + if (!reencoded && encoding) + printf("encoding %s\n", encoding); + printf("data %u\n%s", (unsigned)(reencoded ? strlen(reencoded) : message ? strlen(message) : 0), @@ -1088,6 +1128,9 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix) OPT_CALLBACK(0, "tag-of-filtered-object", &tag_of_filtered_mode, N_("mode"), N_("select handling of tags that tag filtered objects"), parse_opt_tag_of_filtered_mode), + OPT_CALLBACK(0, "reencode", &reencode_mode, N_("mode"), + N_("select handling of commit messages in an alternate encoding"), + parse_opt_reencode_mode), OPT_STRING(0, "export-marks", &export_filename, N_("file"), N_("Dump marks to this file")), OPT_STRING(0, "import-marks", &import_filename, N_("file"), diff --git a/builtin/fetch.c b/builtin/fetch.c index c9b92b1e52..9b27ae9681 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -23,6 +23,10 @@ #include "packfile.h" #include "list-objects-filter-options.h" #include "commit-reach.h" +#include "branch.h" +#include "promisor-remote.h" + +#define FORCED_UPDATES_DELAY_WARNING_IN_MS (10 * 1000) static const char * const builtin_fetch_usage[] = { N_("git fetch [<options>] [<repository> [<refspec>...]]"), @@ -39,6 +43,8 @@ enum { }; static int fetch_prune_config = -1; /* unspecified */ +static int fetch_show_forced_updates = 1; +static uint64_t forced_updates_ms = 0; static int prune = -1; /* unspecified */ #define PRUNE_BY_DEFAULT 0 /* do we prune by default? */ @@ -46,8 +52,10 @@ static int fetch_prune_tags_config = -1; /* unspecified */ static int prune_tags = -1; /* unspecified */ #define PRUNE_TAGS_BY_DEFAULT 0 /* do we prune tags by default? */ -static int all, append, dry_run, force, keep, multiple, update_head_ok, verbosity, deepen_relative; +static int all, append, dry_run, force, keep, multiple, update_head_ok; +static int verbosity, deepen_relative, set_upstream; static int progress = -1; +static int enable_auto_gc = 1; static int tags = TAGS_DEFAULT, unshallow, update_shallow, deepen; static int max_children = 1; static enum transport_family family; @@ -79,6 +87,11 @@ static int git_fetch_config(const char *k, const char *v, void *cb) return 0; } + if (!strcmp(k, "fetch.showforcedupdates")) { + fetch_show_forced_updates = git_config_bool(k, v); + return 0; + } + if (!strcmp(k, "submodule.recurse")) { int r = git_config_bool(k, v) ? RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF; @@ -113,6 +126,8 @@ static struct option builtin_fetch_options[] = { OPT__VERBOSITY(&verbosity), OPT_BOOL(0, "all", &all, N_("fetch from all remotes")), + OPT_BOOL(0, "set-upstream", &set_upstream, + N_("set upstream for git pull/fetch")), OPT_BOOL('a', "append", &append, N_("append to .git/FETCH_HEAD instead of overwriting")), OPT_STRING(0, "upload-pack", &upload_pack, N_("path"), @@ -169,6 +184,10 @@ static struct option builtin_fetch_options[] = { OPT_STRING_LIST(0, "negotiation-tip", &negotiation_tip, N_("revision"), N_("report that we have only objects reachable from this object")), OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options), + OPT_BOOL(0, "auto-gc", &enable_auto_gc, + N_("run 'gc --auto' after fetching")), + OPT_BOOL(0, "show-forced-updates", &fetch_show_forced_updates, + N_("check for forced-updates on all updated branches")), OPT_END() }; @@ -707,6 +726,7 @@ static int update_local_ref(struct ref *ref, enum object_type type; struct branch *current_branch = branch_get(NULL); const char *pretty_ref = prettify_refname(ref->name); + int fast_forward = 0; type = oid_object_info(the_repository, &ref->new_oid, NULL); if (type < 0) @@ -781,9 +801,18 @@ static int update_local_ref(struct ref *ref, return r; } - if (in_merge_bases(current, updated)) { + if (fetch_show_forced_updates) { + uint64_t t_before = getnanotime(); + fast_forward = in_merge_bases(current, updated); + forced_updates_ms += (getnanotime() - t_before) / 1000000; + } else { + fast_forward = 1; + } + + if (fast_forward) { struct strbuf quickref = STRBUF_INIT; int r; + strbuf_add_unique_abbrev(&quickref, ¤t->object.oid, DEFAULT_ABBREV); strbuf_addstr(&quickref, ".."); strbuf_add_unique_abbrev(&quickref, &ref->new_oid, DEFAULT_ABBREV); @@ -826,6 +855,15 @@ static int iterate_ref_map(void *cb_data, struct object_id *oid) return 0; } +static const char warn_show_forced_updates[] = +N_("Fetch normally indicates which branches had a forced update,\n" + "but that check has been disabled. To re-enable, use '--show-forced-updates'\n" + "flag or run 'git config fetch.showForcedUpdates true'."); +static const char warn_time_show_forced_updates[] = +N_("It took %.2f seconds to check forced updates. You can use\n" + "'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates false'\n" + " to avoid this check.\n"); + static int store_updated_refs(const char *raw_url, const char *remote_name, int connectivity_checked, struct ref *ref_map) { @@ -979,6 +1017,15 @@ static int store_updated_refs(const char *raw_url, const char *remote_name, " 'git remote prune %s' to remove any old, conflicting " "branches"), remote_name); + if (advice_fetch_show_forced_updates) { + if (!fetch_show_forced_updates) { + warning(_(warn_show_forced_updates)); + } else if (forced_updates_ms > FORCED_UPDATES_DELAY_WARNING_IN_MS) { + warning(_(warn_time_show_forced_updates), + forced_updates_ms / 1000.0); + } + } + abort: strbuf_release(¬e); free(url); @@ -1196,13 +1243,10 @@ static struct transport *prepare_transport(struct remote *remote, int deepen) if (update_shallow) set_option(transport, TRANS_OPT_UPDATE_SHALLOW, "yes"); if (filter_options.choice) { - struct strbuf expanded_filter_spec = STRBUF_INIT; - expand_list_objects_filter_spec(&filter_options, - &expanded_filter_spec); - set_option(transport, TRANS_OPT_LIST_OBJECTS_FILTER, - expanded_filter_spec.buf); + const char *spec = + expand_list_objects_filter_spec(&filter_options); + set_option(transport, TRANS_OPT_LIST_OBJECTS_FILTER, spec); set_option(transport, TRANS_OPT_FROM_PROMISOR, "1"); - strbuf_release(&expanded_filter_spec); } if (negotiation_tip.nr) { if (transport->smart_options) @@ -1325,6 +1369,51 @@ static int do_fetch(struct transport *transport, retcode = 1; goto cleanup; } + + if (set_upstream) { + struct branch *branch = branch_get("HEAD"); + struct ref *rm; + struct ref *source_ref = NULL; + + /* + * We're setting the upstream configuration for the + * current branch. The relevent upstream is the + * fetched branch that is meant to be merged with the + * current one, i.e. the one fetched to FETCH_HEAD. + * + * When there are several such branches, consider the + * request ambiguous and err on the safe side by doing + * nothing and just emit a warning. + */ + for (rm = ref_map; rm; rm = rm->next) { + if (!rm->peer_ref) { + if (source_ref) { + warning(_("multiple branch detected, incompatible with --set-upstream")); + goto skip; + } else { + source_ref = rm; + } + } + } + if (source_ref) { + if (!strcmp(source_ref->name, "HEAD") || + starts_with(source_ref->name, "refs/heads/")) + install_branch_config(0, + branch->name, + transport->remote->name, + source_ref->name); + else if (starts_with(source_ref->name, "refs/remotes/")) + warning(_("not setting upstream for a remote remote-tracking branch")); + else if (starts_with(source_ref->name, "refs/tags/")) + warning(_("not setting upstream for a remote tag")); + else + warning(_("unknown branch type")); + } else { + warning(_("no source branch found.\n" + "you need to specify exactly one branch with the --set-upstream option.")); + } + } + skip: free_refs(ref_map); /* if neither --no-tags nor --tags was specified, do automated tag @@ -1432,7 +1521,7 @@ static int fetch_multiple(struct string_list *list) return errcode; } - argv_array_pushl(&argv, "fetch", "--append", NULL); + argv_array_pushl(&argv, "fetch", "--append", "--no-auto-gc", NULL); add_options_to_argv(&argv); for (i = 0; i < list->nr; i++) { @@ -1468,37 +1557,27 @@ static inline void fetch_one_setup_partial(struct remote *remote) * If no prior partial clone/fetch and the current fetch DID NOT * request a partial-fetch, do a normal fetch. */ - if (!repository_format_partial_clone && !filter_options.choice) + if (!has_promisor_remote() && !filter_options.choice) return; /* - * If this is the FIRST partial-fetch request, we enable partial - * on this repo and remember the given filter-spec as the default - * for subsequent fetches to this remote. + * If this is a partial-fetch request, we enable partial on + * this repo if not already enabled and remember the given + * filter-spec as the default for subsequent fetches to this + * remote. */ - if (!repository_format_partial_clone && filter_options.choice) { + if (filter_options.choice) { partial_clone_register(remote->name, &filter_options); return; } /* - * We are currently limited to only ONE promisor remote and only - * allow partial-fetches from the promisor remote. - */ - if (strcmp(remote->name, repository_format_partial_clone)) { - if (filter_options.choice) - die(_("--filter can only be used with the remote " - "configured in extensions.partialClone")); - return; - } - - /* * Do a partial-fetch from the promisor remote using either the * explicitly given filter-spec or inherit the filter-spec from * the config. */ if (!filter_options.choice) - partial_clone_get_default_filter_spec(&filter_options); + partial_clone_get_default_filter_spec(&filter_options, remote->name); return; } @@ -1619,7 +1698,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) if (depth || deepen_since || deepen_not.nr) deepen = 1; - if (filter_options.choice && !repository_format_partial_clone) + if (filter_options.choice && !has_promisor_remote()) die("--filter can only be used when extensions.partialClone is set"); if (all) { @@ -1653,7 +1732,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) } if (remote) { - if (filter_options.choice || repository_format_partial_clone) + if (filter_options.choice || has_promisor_remote()) fetch_one_setup_partial(remote); result = fetch_one(remote, argc, argv, prune_tags_ok); } else { @@ -1682,11 +1761,13 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) close_object_store(the_repository->objects); - argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL); - if (verbosity < 0) - argv_array_push(&argv_gc_auto, "--quiet"); - run_command_v_opt(argv_gc_auto.argv, RUN_GIT_CMD); - argv_array_clear(&argv_gc_auto); + if (enable_auto_gc) { + argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL); + if (verbosity < 0) + argv_array_push(&argv_gc_auto, "--quiet"); + run_command_v_opt(argv_gc_auto.argv, RUN_GIT_CMD); + argv_array_clear(&argv_gc_auto); + } return result; } diff --git a/builtin/fsck.c b/builtin/fsck.c index d26fb0a044..18403a94fa 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -238,7 +238,7 @@ static int mark_used(struct object *obj, int type, void *data, struct fsck_optio static void mark_unreachable_referents(const struct object_id *oid) { struct fsck_options options = FSCK_OPTIONS_DEFAULT; - struct object *obj = lookup_object(the_repository, oid->hash); + struct object *obj = lookup_object(the_repository, oid); if (!obj || !(obj->flags & HAS_OBJ)) return; /* not part of our original set */ @@ -497,7 +497,7 @@ static void fsck_handle_reflog_oid(const char *refname, struct object_id *oid, struct object *obj; if (!is_null_oid(oid)) { - obj = lookup_object(the_repository, oid->hash); + obj = lookup_object(the_repository, oid); if (obj && (obj->flags & HAS_OBJ)) { if (timestamp && name_objects) add_decoration(fsck_walk_options.object_names, @@ -756,7 +756,7 @@ static int fsck_cache_tree(struct cache_tree *it) static void mark_object_for_connectivity(const struct object_id *oid) { - struct object *obj = lookup_unknown_object(oid->hash); + struct object *obj = lookup_unknown_object(oid); obj->flags |= HAS_OBJ; } @@ -879,7 +879,7 @@ int cmd_fsck(int argc, const char **argv, const char *prefix) struct object_id oid; if (!get_oid(arg, &oid)) { struct object *obj = lookup_object(the_repository, - oid.hash); + &oid); if (!obj || !(obj->flags & HAS_OBJ)) { if (is_promisor_object(&oid)) diff --git a/builtin/gc.c b/builtin/gc.c index be8e0bfcbe..fadb45489f 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -27,6 +27,7 @@ #include "pack-objects.h" #include "blob.h" #include "tree.h" +#include "promisor-remote.h" #define FAILED_RUN "failed to run %s" @@ -41,7 +42,6 @@ static int aggressive_depth = 50; static int aggressive_window = 250; static int gc_auto_threshold = 6700; static int gc_auto_pack_limit = 50; -static int gc_write_commit_graph; static int detach_auto = 1; static timestamp_t gc_log_expire_time; static const char *gc_log_expire = "1.day.ago"; @@ -148,7 +148,6 @@ static void gc_config(void) git_config_get_int("gc.aggressivedepth", &aggressive_depth); git_config_get_int("gc.auto", &gc_auto_threshold); git_config_get_int("gc.autopacklimit", &gc_auto_pack_limit); - git_config_get_bool("gc.writecommitgraph", &gc_write_commit_graph); git_config_get_bool("gc.autodetach", &detach_auto); git_config_get_expiry("gc.pruneexpire", &prune_expire); git_config_get_expiry("gc.worktreepruneexpire", &prune_worktrees_expire); @@ -661,7 +660,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix) argv_array_push(&prune, prune_expire); if (quiet) argv_array_push(&prune, "--no-progress"); - if (repository_format_partial_clone) + if (has_promisor_remote()) argv_array_push(&prune, "--exclude-promisor-objects"); if (run_command_v_opt(prune.argv, RUN_GIT_CMD)) @@ -685,10 +684,11 @@ int cmd_gc(int argc, const char **argv, const char *prefix) clean_pack_garbage(); } - if (gc_write_commit_graph && - write_commit_graph_reachable(get_object_directory(), - !quiet && !daemonized ? COMMIT_GRAPH_PROGRESS : 0)) - return 1; + prepare_repo_settings(the_repository); + if (the_repository->settings.gc_write_commit_graph == 1) + write_commit_graph_reachable(get_object_directory(), + !quiet && !daemonized ? COMMIT_GRAPH_WRITE_PROGRESS : 0, + NULL); if (auto_gc && too_many_loose_objects()) warning(_("There are too many unreachable loose objects; " diff --git a/builtin/grep.c b/builtin/grep.c index 580fd38f41..69ac053acc 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -403,7 +403,7 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec, static int grep_submodule(struct grep_opt *opt, const struct pathspec *pathspec, const struct object_id *oid, - const char *filename, const char *path) + const char *filename, const char *path, int cached) { struct repository subrepo; struct repository *superproject = opt->repo; @@ -458,7 +458,8 @@ static int grep_submodule(struct grep_opt *opt, object = parse_object_or_die(oid, oid_to_hex(oid)); grep_read_lock(); - data = read_object_with_reference(&object->oid, tree_type, + data = read_object_with_reference(&subrepo, + &object->oid, tree_type, &size, NULL); grep_read_unlock(); @@ -474,7 +475,7 @@ static int grep_submodule(struct grep_opt *opt, strbuf_release(&base); free(data); } else { - hit = grep_cache(&subopt, pathspec, 1); + hit = grep_cache(&subopt, pathspec, cached); } repo_clear(&subrepo); @@ -522,7 +523,8 @@ static int grep_cache(struct grep_opt *opt, } } else if (recurse_submodules && S_ISGITLINK(ce->ce_mode) && submodule_path_match(repo->index, pathspec, name.buf, NULL)) { - hit |= grep_submodule(opt, pathspec, NULL, ce->name, ce->name); + hit |= grep_submodule(opt, pathspec, NULL, ce->name, + ce->name, cached); } else { continue; } @@ -597,7 +599,8 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec, free(data); } else if (recurse_submodules && S_ISGITLINK(entry.mode)) { hit |= grep_submodule(opt, pathspec, &entry.oid, - base->buf, base->buf + tn_len); + base->buf, base->buf + tn_len, + 1); /* ignored */ } strbuf_setlen(base, old_baselen); @@ -623,7 +626,8 @@ static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec, int hit, len; grep_read_lock(); - data = read_object_with_reference(&obj->oid, tree_type, + data = read_object_with_reference(opt->repo, + &obj->oid, tree_type, &size, NULL); grep_read_unlock(); @@ -1106,8 +1110,8 @@ int cmd_grep(int argc, const char **argv, const char *prefix) strbuf_addf(&buf, "+/%s%s", strcmp("less", pager) ? "" : "*", opt.pattern_list->pattern); - string_list_append(&path_list, buf.buf); - strbuf_detach(&buf, NULL); + string_list_append(&path_list, + strbuf_detach(&buf, NULL)); } } diff --git a/builtin/hash-object.c b/builtin/hash-object.c index e055c11103..640ef4ded5 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -108,7 +108,7 @@ int cmd_hash_object(int argc, const char **argv, const char *prefix) int i; const char *errstr = NULL; - argc = parse_options(argc, argv, NULL, hash_object_options, + argc = parse_options(argc, argv, prefix, hash_object_options, hash_object_usage, 0); if (flags & HASH_WRITE_OBJECT) diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 0d55f73b0b..a23454da6e 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -14,7 +14,7 @@ #include "thread-utils.h" #include "packfile.h" #include "object-store.h" -#include "fetch-object.h" +#include "promisor-remote.h" static const char index_pack_usage[] = "git index-pack [-v] [-o <index-file>] [--keep | --keep=<msg>] [--verify] [--strict] (<pack-file> | --stdin [--fix-thin] [<pack-file>])"; @@ -1352,7 +1352,7 @@ static void fix_unresolved_deltas(struct hashfile *f) sorted_by_pos[i] = &ref_deltas[i]; QSORT(sorted_by_pos, nr_ref_deltas, delta_pos_compare); - if (repository_format_partial_clone) { + if (has_promisor_remote()) { /* * Prefetch the delta bases. */ @@ -1366,8 +1366,8 @@ static void fix_unresolved_deltas(struct hashfile *f) oid_array_append(&to_fetch, &d->oid); } if (to_fetch.nr) - fetch_objects(repository_format_partial_clone, - to_fetch.oid, to_fetch.nr); + promisor_remote_get_direct(the_repository, + to_fetch.oid, to_fetch.nr); oid_array_clear(&to_fetch); } diff --git a/builtin/log.c b/builtin/log.c index e43ee12fb1..44b10b3415 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -47,7 +47,7 @@ static int default_follow; static int default_show_signature; static int decoration_style; static int decoration_given; -static int use_mailmap_config; +static int use_mailmap_config = 1; static const char *fmt_patch_subject_prefix = "PATCH"; static const char *fmt_pretty; @@ -63,9 +63,14 @@ struct line_opt_callback_data { struct string_list args; }; +static int session_is_interactive(void) +{ + return isatty(1) || pager_in_use(); +} + static int auto_decoration_style(void) { - return (isatty(1) || pager_in_use()) ? DECORATE_SHORT_REFS : 0; + return session_is_interactive() ? DECORATE_SHORT_REFS : 0; } static int parse_decoration_style(const char *value) @@ -155,7 +160,7 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix, struct rev_info *rev, struct setup_revision_opt *opt) { struct userformat_want w; - int quiet = 0, source = 0, mailmap = 0; + int quiet = 0, source = 0, mailmap; static struct line_opt_callback_data line_cb = {NULL, NULL, STRING_LIST_INIT_DUP}; static struct string_list decorate_refs_exclude = STRING_LIST_INIT_NODUP; static struct string_list decorate_refs_include = STRING_LIST_INIT_NODUP; @@ -779,6 +784,8 @@ enum { static int git_format_config(const char *var, const char *value, void *cb) { + struct rev_info *rev = cb; + if (!strcmp(var, "format.headers")) { if (!value) die(_("format.headers without value")); @@ -864,6 +871,22 @@ static int git_format_config(const char *var, const char *value, void *cb) from = NULL; return 0; } + if (!strcmp(var, "format.notes")) { + struct strbuf buf = STRBUF_INIT; + int b = git_parse_maybe_bool(value); + if (!b) + return 0; + rev->show_notes = 1; + if (b < 0) { + strbuf_addstr(&buf, value); + expand_notes_ref(&buf); + string_list_append(&rev->notes_opt.extra_notes_refs, + strbuf_detach(&buf, NULL)); + } else { + rev->notes_opt.use_default_notes = 1; + } + return 0; + } return git_log_config(var, value, cb); } @@ -1435,7 +1458,7 @@ static void prepare_bases(struct base_tree_info *bases, struct object_id *patch_id; if (*commit_base_at(&commit_base, commit)) continue; - if (commit_patch_id(commit, &diffopt, &oid, 0)) + if (commit_patch_id(commit, &diffopt, &oid, 0, 1)) die(_("cannot get patch id")); ALLOC_GROW(bases->patch_id, bases->nr_patch_id + 1, bases->alloc_patch_id); patch_id = bases->patch_id + bases->nr_patch_id; @@ -1617,8 +1640,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) extra_to.strdup_strings = 1; extra_cc.strdup_strings = 1; init_log_defaults(); - git_config(git_format_config, NULL); repo_init_revisions(the_repository, &rev, prefix); + git_config(git_format_config, &rev); rev.commit_format = CMIT_FMT_EMAIL; rev.expand_tabs_in_log_default = 0; rev.verbose_header = 1; diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 34ca0258b1..e72714a5a8 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -180,8 +180,9 @@ static struct merge_list *create_entry(unsigned stage, unsigned mode, const stru static char *traverse_path(const struct traverse_info *info, const struct name_entry *n) { - char *path = xmallocz(traverse_path_len(info, n) + the_hash_algo->rawsz); - return make_traverse_path(path, info, n); + struct strbuf buf = STRBUF_INIT; + strbuf_make_traverse_path(&buf, info, n->path, n->pathlen); + return strbuf_detach(&buf, NULL); } static void resolve(const struct traverse_info *info, struct name_entry *ours, struct name_entry *result) @@ -205,6 +206,7 @@ static void resolve(const struct traverse_info *info, struct name_entry *ours, s static void unresolved_directory(const struct traverse_info *info, struct name_entry n[3]) { + struct repository *r = the_repository; char *newbase; struct name_entry *p; struct tree_desc t[3]; @@ -220,9 +222,9 @@ static void unresolved_directory(const struct traverse_info *info, newbase = traverse_path(info, p); #define ENTRY_OID(e) (((e)->mode && S_ISDIR((e)->mode)) ? &(e)->oid : NULL) - buf0 = fill_tree_descriptor(t + 0, ENTRY_OID(n + 0)); - buf1 = fill_tree_descriptor(t + 1, ENTRY_OID(n + 1)); - buf2 = fill_tree_descriptor(t + 2, ENTRY_OID(n + 2)); + buf0 = fill_tree_descriptor(r, t + 0, ENTRY_OID(n + 0)); + buf1 = fill_tree_descriptor(r, t + 1, ENTRY_OID(n + 1)); + buf2 = fill_tree_descriptor(r, t + 2, ENTRY_OID(n + 2)); #undef ENTRY_OID merge_trees(t, newbase); @@ -351,14 +353,16 @@ static void merge_trees(struct tree_desc t[3], const char *base) traverse_trees(&the_index, 3, t, &info); } -static void *get_tree_descriptor(struct tree_desc *desc, const char *rev) +static void *get_tree_descriptor(struct repository *r, + struct tree_desc *desc, + const char *rev) { struct object_id oid; void *buf; - if (get_oid(rev, &oid)) + if (repo_get_oid(r, rev, &oid)) die("unknown rev %s", rev); - buf = fill_tree_descriptor(desc, &oid); + buf = fill_tree_descriptor(r, desc, &oid); if (!buf) die("%s is not a tree", rev); return buf; @@ -366,15 +370,16 @@ static void *get_tree_descriptor(struct tree_desc *desc, const char *rev) int cmd_merge_tree(int argc, const char **argv, const char *prefix) { + struct repository *r = the_repository; struct tree_desc t[3]; void *buf1, *buf2, *buf3; if (argc != 4) usage(merge_tree_usage); - buf1 = get_tree_descriptor(t+0, argv[1]); - buf2 = get_tree_descriptor(t+1, argv[2]); - buf3 = get_tree_descriptor(t+2, argv[3]); + buf1 = get_tree_descriptor(r, t+0, argv[1]); + buf2 = get_tree_descriptor(r, t+1, argv[2]); + buf3 = get_tree_descriptor(r, t+2, argv[3]); merge_trees(t, ""); free(buf1); free(buf2); diff --git a/builtin/merge.c b/builtin/merge.c index 29988e54c5..c9746e37b8 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -37,6 +37,7 @@ #include "packfile.h" #include "tag.h" #include "alias.h" +#include "branch.h" #include "commit-reach.h" #include "wt-status.h" @@ -73,13 +74,14 @@ static int option_renormalize; static int verbosity; static int allow_rerere_auto; static int abort_current_merge; +static int quit_current_merge; static int continue_current_merge; static int allow_unrelated_histories; static int show_progress = -1; static int default_to_upstream = 1; static int signoff; static const char *sign_commit; -static int verify_msg = 1; +static int no_verify; static struct strategy all_strategy[] = { { "recursive", DEFAULT_TWOHEAD | NO_TRIVIAL }, @@ -274,6 +276,8 @@ static struct option builtin_merge_options[] = { OPT__VERBOSITY(&verbosity), OPT_BOOL(0, "abort", &abort_current_merge, N_("abort the current in-progress merge")), + OPT_BOOL(0, "quit", &quit_current_merge, + N_("--abort but leave index and working tree alone")), OPT_BOOL(0, "continue", &continue_current_merge, N_("continue the current in-progress merge")), OPT_BOOL(0, "allow-unrelated-histories", &allow_unrelated_histories, @@ -283,18 +287,10 @@ static struct option builtin_merge_options[] = { N_("GPG sign commit"), PARSE_OPT_OPTARG, NULL, (intptr_t) "" }, OPT_BOOL(0, "overwrite-ignore", &overwrite_ignore, N_("update ignored files (default)")), OPT_BOOL(0, "signoff", &signoff, N_("add Signed-off-by:")), - OPT_BOOL(0, "verify", &verify_msg, N_("verify commit-msg hook")), + OPT_BOOL(0, "no-verify", &no_verify, N_("bypass pre-merge-commit and commit-msg hooks")), OPT_END() }; -/* Cleans up metadata that is uninteresting after a succeeded merge. */ -static void drop_save(void) -{ - unlink(git_path_merge_head(the_repository)); - unlink(git_path_merge_msg(the_repository)); - unlink(git_path_merge_mode(the_repository)); -} - static int save_state(struct object_id *stash) { int len; @@ -388,7 +384,7 @@ static void finish_up_to_date(const char *msg) { if (verbosity >= 0) printf("%s%s\n", squash ? _(" (nothing to squash)") : "", msg); - drop_save(); + remove_merge_branch_state(the_repository); } static void squash_message(struct commit *commit, struct commit_list *remoteheads) @@ -820,6 +816,18 @@ static void write_merge_heads(struct commit_list *); static void prepare_to_commit(struct commit_list *remoteheads) { struct strbuf msg = STRBUF_INIT; + const char *index_file = get_index_file(); + + if (!no_verify && run_commit_hook(0 < option_edit, index_file, "pre-merge-commit", NULL)) + abort_commit(remoteheads, NULL); + /* + * Re-read the index as pre-merge-commit hook could have updated it, + * and write it out as a tree. We must do this before we invoke + * the editor and after we invoke run_status above. + */ + if (find_hook("pre-merge-commit")) + discard_cache(); + read_cache_from(index_file); strbuf_addbuf(&msg, &merge_msg); if (squash) BUG("the control must not reach here under --squash"); @@ -846,7 +854,7 @@ static void prepare_to_commit(struct commit_list *remoteheads) abort_commit(remoteheads, NULL); } - if (verify_msg && run_commit_hook(0 < option_edit, get_index_file(), + if (!no_verify && run_commit_hook(0 < option_edit, get_index_file(), "commit-msg", git_path_merge_msg(the_repository), NULL)) abort_commit(remoteheads, NULL); @@ -881,7 +889,7 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads) &result_commit, NULL, sign_commit)) die(_("failed to write commit object")); finish(head, remoteheads, &result_commit, "In-index merge"); - drop_save(); + remove_merge_branch_state(the_repository); return 0; } @@ -896,6 +904,7 @@ static int finish_automerge(struct commit *head, struct strbuf buf = STRBUF_INIT; struct object_id result_commit; + write_tree_trivial(result_tree); free_commit_list(common); parents = remoteheads; if (!head_subsumed || fast_forward == FF_NO) @@ -907,7 +916,7 @@ static int finish_automerge(struct commit *head, strbuf_addf(&buf, "Merge made by the '%s' strategy.", wt_strategy); finish(head, remoteheads, &result_commit, buf.buf); strbuf_release(&buf); - drop_save(); + remove_merge_branch_state(the_repository); return 0; } @@ -1289,6 +1298,16 @@ int cmd_merge(int argc, const char **argv, const char *prefix) goto done; } + if (quit_current_merge) { + if (orig_argc != 2) + usage_msg_opt(_("--quit expects no arguments"), + builtin_merge_usage, + builtin_merge_options); + + remove_merge_branch_state(the_repository); + goto done; + } + if (continue_current_merge) { int nargc = 1; const char *nargv[] = {"commit", NULL}; @@ -1505,7 +1524,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) } finish(head_commit, remoteheads, &commit->object.oid, msg.buf); - drop_save(); + remove_merge_branch_state(the_repository); goto done; } else if (!remoteheads->next && common->next) ; @@ -1580,8 +1599,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix) save_state(&stash)) oidclr(&stash); - for (i = 0; i < use_strategies_nr; i++) { - int ret; + for (i = 0; !merge_was_ok && i < use_strategies_nr; i++) { + int ret, cnt; if (i) { printf(_("Rewinding the tree to pristine...\n")); restore_state(&head_commit->object.oid, &stash); @@ -1598,40 +1617,26 @@ int cmd_merge(int argc, const char **argv, const char *prefix) ret = try_merge_strategy(use_strategies[i]->name, common, remoteheads, head_commit); - if (!option_commit && !ret) { - merge_was_ok = 1; - /* - * This is necessary here just to avoid writing - * the tree, but later we will *not* exit with - * status code 1 because merge_was_ok is set. - */ - ret = 1; - } - - if (ret) { - /* - * The backend exits with 1 when conflicts are - * left to be resolved, with 2 when it does not - * handle the given merge at all. - */ - if (ret == 1) { - int cnt = evaluate_result(); - - if (best_cnt <= 0 || cnt <= best_cnt) { - best_strategy = use_strategies[i]->name; - best_cnt = cnt; + /* + * The backend exits with 1 when conflicts are + * left to be resolved, with 2 when it does not + * handle the given merge at all. + */ + if (ret < 2) { + if (!ret) { + if (option_commit) { + /* Automerge succeeded. */ + automerge_was_ok = 1; + break; } + merge_was_ok = 1; + } + cnt = evaluate_result(); + if (best_cnt <= 0 || cnt <= best_cnt) { + best_strategy = use_strategies[i]->name; + best_cnt = cnt; } - if (merge_was_ok) - break; - else - continue; } - - /* Automerge succeeded. */ - write_tree_trivial(&result_tree); - automerge_was_ok = 1; - break; } /* diff --git a/builtin/mktree.c b/builtin/mktree.c index 94e82b8504..891991b00d 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -67,7 +67,7 @@ static const char *mktree_usage[] = { NULL }; -static void mktree_line(char *buf, size_t len, int nul_term_line, int allow_missing) +static void mktree_line(char *buf, int nul_term_line, int allow_missing) { char *ptr, *ntr; const char *p; @@ -172,7 +172,7 @@ int cmd_mktree(int ac, const char **av, const char *prefix) break; die("input format error: (blank line only valid in batch mode)"); } - mktree_line(sb.buf, sb.len, nul_term_line, allow_missing); + mktree_line(sb.buf, nul_term_line, allow_missing); } if (is_batch_mode && got_eof && used < 1) { /* diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 72dfd3dadc..b1ea1a6aa1 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -6,12 +6,13 @@ #include "trace2.h" static char const * const builtin_multi_pack_index_usage[] = { - N_("git multi-pack-index [--object-dir=<dir>] (write|verify)"), + N_("git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --batch-size=<size>)"), NULL }; static struct opts_multi_pack_index { const char *object_dir; + unsigned long batch_size; } opts; int cmd_multi_pack_index(int argc, const char **argv, @@ -20,6 +21,8 @@ int cmd_multi_pack_index(int argc, const char **argv, static struct option builtin_multi_pack_index_options[] = { OPT_FILENAME(0, "object-dir", &opts.object_dir, N_("object directory containing set of packfile and pack-index pairs")), + OPT_MAGNITUDE(0, "batch-size", &opts.batch_size, + N_("during repack, collect pack-files of smaller size into a batch that is larger than this size")), OPT_END(), }; @@ -43,10 +46,17 @@ int cmd_multi_pack_index(int argc, const char **argv, trace2_cmd_mode(argv[0]); + if (!strcmp(argv[0], "repack")) + return midx_repack(the_repository, opts.object_dir, (size_t)opts.batch_size); + if (opts.batch_size) + die(_("--batch-size option is only for 'repack' subcommand")); + if (!strcmp(argv[0], "write")) return write_midx_file(opts.object_dir); if (!strcmp(argv[0], "verify")) return verify_midx_file(the_repository, opts.object_dir); + if (!strcmp(argv[0], "expire")) + return expire_midx_packs(the_repository, opts.object_dir); - die(_("unrecognized verb: %s"), argv[0]); + die(_("unrecognized subcommand: %s"), argv[0]); } diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 05ccf53e00..c785fe16ba 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -40,9 +40,7 @@ static void set_commit_rev_name(struct commit *commit, struct rev_name *name) } static int is_better_name(struct rev_name *name, - const char *tip_name, timestamp_t taggerdate, - int generation, int distance, int from_tag) { @@ -103,8 +101,7 @@ static void name_rev(struct commit *commit, name = xmalloc(sizeof(rev_name)); set_commit_rev_name(commit, name); goto copy_data; - } else if (is_better_name(name, tip_name, taggerdate, - generation, distance, from_tag)) { + } else if (is_better_name(name, taggerdate, distance, from_tag)) { copy_data: name->tip_name = tip_name; name->taggerdate = taggerdate; @@ -381,8 +378,7 @@ static void name_rev_line(char *p, struct name_ref_data *data) *(p+1) = 0; if (!get_oid(p - (hexsz - 1), &oid)) { struct object *o = - lookup_object(the_repository, - oid.hash); + lookup_object(the_repository, &oid); if (o) name = get_rev_name(o, &buf); } diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 787ae10288..c8f51bc65c 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -96,7 +96,11 @@ static off_t reuse_packfile_offset; static int use_bitmap_index_default = 1; static int use_bitmap_index = -1; -static int write_bitmap_index; +static enum { + WRITE_BITMAP_FALSE = 0, + WRITE_BITMAP_QUIET, + WRITE_BITMAP_TRUE, +} write_bitmap_index; static uint16_t write_bitmap_options = BITMAP_OPT_HASH_CACHE; static int exclude_promisor_objects; @@ -606,12 +610,12 @@ static int mark_tagged(const char *path, const struct object_id *oid, int flag, void *cb_data) { struct object_id peeled; - struct object_entry *entry = packlist_find(&to_pack, oid->hash, NULL); + struct object_entry *entry = packlist_find(&to_pack, oid, NULL); if (entry) entry->tagged = 1; if (!peel_ref(path, &peeled)) { - entry = packlist_find(&to_pack, peeled.hash, NULL); + entry = packlist_find(&to_pack, &peeled, NULL); if (entry) entry->tagged = 1; } @@ -892,7 +896,8 @@ static void write_pack_file(void) nr_written, oid.hash, offset); close(fd); if (write_bitmap_index) { - warning(_(no_split_warning)); + if (write_bitmap_index != WRITE_BITMAP_QUIET) + warning(_(no_split_warning)); write_bitmap_index = 0; } } @@ -996,7 +1001,7 @@ static int have_duplicate_entry(const struct object_id *oid, { struct object_entry *entry; - entry = packlist_find(&to_pack, oid->hash, index_pos); + entry = packlist_find(&to_pack, oid, index_pos); if (!entry) return 0; @@ -1176,7 +1181,8 @@ static int add_object_entry(const struct object_id *oid, enum object_type type, if (!want_object_in_pack(oid, exclude, &found_pack, &found_offset)) { /* The pack is missing an object, so it will not have closure */ if (write_bitmap_index) { - warning(_(no_closure_warning)); + if (write_bitmap_index != WRITE_BITMAP_QUIET) + warning(_(no_closure_warning)); write_bitmap_index = 0; } return 0; @@ -1428,7 +1434,8 @@ static void add_preferred_base(struct object_id *oid) if (window <= num_preferred_base++) return; - data = read_object_with_reference(oid, tree_type, &size, &tree_oid); + data = read_object_with_reference(the_repository, oid, + tree_type, &size, &tree_oid); if (!data) return; @@ -1494,11 +1501,13 @@ static int can_reuse_delta(const unsigned char *base_sha1, if (!base_sha1) return 0; + oidread(&base_oid, base_sha1); + /* * First see if we're already sending the base (or it's explicitly in * our "excluded" list). */ - base = packlist_find(&to_pack, base_sha1, NULL); + base = packlist_find(&to_pack, &base_oid, NULL); if (base) { if (!in_same_island(&delta->idx.oid, &base->idx.oid)) return 0; @@ -1511,7 +1520,6 @@ static int can_reuse_delta(const unsigned char *base_sha1, * even if it was buried too deep in history to make it into the * packing list. */ - oidread(&base_oid, base_sha1); if (thin && bitmap_has_oid_in_uninteresting(bitmap_git, &base_oid)) { if (use_delta_islands) { if (!in_same_island(&delta->idx.oid, &base_oid)) @@ -2334,15 +2342,6 @@ static void find_deltas(struct object_entry **list, unsigned *list_size, free(array); } -static void try_to_free_from_threads(size_t size) -{ - packing_data_lock(&to_pack); - release_pack_memory(size); - packing_data_unlock(&to_pack); -} - -static try_to_free_t old_try_to_free_routine; - /* * The main object list is split into smaller lists, each is handed to * one worker. @@ -2383,12 +2382,10 @@ static void init_threaded_search(void) pthread_mutex_init(&cache_mutex, NULL); pthread_mutex_init(&progress_mutex, NULL); pthread_cond_init(&progress_cond, NULL); - old_try_to_free_routine = set_try_to_free_routine(try_to_free_from_threads); } static void cleanup_threaded_search(void) { - set_try_to_free_routine(old_try_to_free_routine); pthread_cond_destroy(&progress_cond); pthread_mutex_destroy(&cache_mutex); pthread_mutex_destroy(&progress_mutex); @@ -2571,7 +2568,7 @@ static void add_tag_chain(const struct object_id *oid) * it was included via bitmaps, we would not have parsed it * previously). */ - if (packlist_find(&to_pack, oid->hash, NULL)) + if (packlist_find(&to_pack, oid, NULL)) return; tag = lookup_tag(the_repository, oid); @@ -2595,7 +2592,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) && /* peelable? */ - packlist_find(&to_pack, peeled.hash, NULL)) /* object packed? */ + packlist_find(&to_pack, &peeled, NULL)) /* object packed? */ add_tag_chain(oid); return 0; } @@ -2707,10 +2704,6 @@ static int git_pack_config(const char *k, const char *v, void *cb) use_bitmap_index_default = git_config_bool(k, v); return 0; } - if (!strcmp(k, "pack.usesparse")) { - sparse = git_config_bool(k, v); - return 0; - } if (!strcmp(k, "pack.threads")) { delta_search_threads = git_config_int(k, v); if (delta_search_threads < 0) @@ -2795,7 +2788,7 @@ static void show_object(struct object *obj, const char *name, void *data) for (p = strchr(name, '/'); p; p = strchr(p + 1, '/')) depth++; - ent = packlist_find(&to_pack, obj->oid.hash, NULL); + ent = packlist_find(&to_pack, &obj->oid, NULL); if (ent && depth > oe_tree_depth(&to_pack, ent)) oe_set_tree_depth(&to_pack, ent, depth); } @@ -2899,7 +2892,7 @@ static int ofscmp(const void *a_, const void *b_) return oidcmp(&a->object->oid, &b->object->oid); } -static void add_objects_in_unpacked_packs(struct rev_info *revs) +static void add_objects_in_unpacked_packs(void) { struct packed_git *p; struct in_pack in_pack; @@ -2922,7 +2915,7 @@ static void add_objects_in_unpacked_packs(struct rev_info *revs) for (i = 0; i < p->num_objects; i++) { nth_packed_object_oid(&oid, p, i); - o = lookup_unknown_object(oid.hash); + o = lookup_unknown_object(&oid); if (!(o->flags & OBJECT_ADDED)) mark_in_pack_object(o, p, &in_pack); o->flags |= OBJECT_ADDED; @@ -3011,7 +3004,7 @@ static int loosened_object_can_be_discarded(const struct object_id *oid, return 1; } -static void loosen_unused_packed_objects(struct rev_info *revs) +static void loosen_unused_packed_objects(void) { struct packed_git *p; uint32_t i; @@ -3026,7 +3019,7 @@ static void loosen_unused_packed_objects(struct rev_info *revs) for (i = 0; i < p->num_objects; i++) { nth_packed_object_oid(&oid, p, i); - if (!packlist_find(&to_pack, oid.hash, NULL) && + if (!packlist_find(&to_pack, &oid, NULL) && !has_sha1_pack_kept_or_nonlocal(&oid) && !loosened_object_can_be_discarded(&oid, p->mtime)) if (force_object_loose(&oid, p->mtime)) @@ -3158,11 +3151,11 @@ static void get_object_list(int ac, const char **av) } if (keep_unreachable) - add_objects_in_unpacked_packs(&revs); + add_objects_in_unpacked_packs(); if (pack_loose_unreachable) add_unreachable_loose_objects(); if (unpack_unreachable) - loosen_unused_packed_objects(&revs); + loosen_unused_packed_objects(); oid_array_clear(&recent_objects); } @@ -3311,8 +3304,13 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) N_("do not hide commits by grafts"), 0), OPT_BOOL(0, "use-bitmap-index", &use_bitmap_index, N_("use a bitmap index if available to speed up counting objects")), - OPT_BOOL(0, "write-bitmap-index", &write_bitmap_index, - N_("write a bitmap index together with the pack index")), + OPT_SET_INT(0, "write-bitmap-index", &write_bitmap_index, + N_("write a bitmap index together with the pack index"), + WRITE_BITMAP_TRUE), + OPT_SET_INT_F(0, "write-bitmap-index-quiet", + &write_bitmap_index, + N_("write a bitmap index if possible"), + WRITE_BITMAP_QUIET, PARSE_OPT_HIDDEN), OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options), { OPTION_CALLBACK, 0, "missing", NULL, N_("action"), N_("handling for missing objects"), PARSE_OPT_NONEG, @@ -3330,6 +3328,10 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) read_replace_refs = 0; sparse = git_env_bool("GIT_TEST_PACK_SPARSE", 0); + prepare_repo_settings(the_repository); + if (!sparse && the_repository->settings.pack_use_sparse != -1) + sparse = the_repository->settings.pack_use_sparse; + reset_pack_idx_option(&pack_idx_opts); git_config(git_pack_config, NULL); diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 970d0d30b4..bd28b80b2d 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "diff.h" static void flush_current_id(int patchlen, struct object_id *id, struct object_id *result) { @@ -54,22 +55,6 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after) return 1; } -static void flush_one_hunk(struct object_id *result, git_SHA_CTX *ctx) -{ - unsigned char hash[GIT_MAX_RAWSZ]; - unsigned short carry = 0; - int i; - - git_SHA1_Final(hash, ctx); - git_SHA1_Init(ctx); - /* 20-byte sum, with carry */ - for (i = 0; i < GIT_SHA1_RAWSZ; ++i) { - carry += result->hash[i] + hash[i]; - result->hash[i] = carry; - carry >>= 8; - } -} - static int get_one_patchid(struct object_id *next_oid, struct object_id *result, struct strbuf *line_buf, int stable) { diff --git a/builtin/prune.c b/builtin/prune.c index 97613eccb5..2b76872ad2 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -53,7 +53,7 @@ static int is_object_reachable(const struct object_id *oid, perform_reachability_traversal(revs); - obj = lookup_object(the_repository, oid->hash); + obj = lookup_object(the_repository, oid); return obj && (obj->flags & SEEN); } diff --git a/builtin/pull.c b/builtin/pull.c index 9dd32a115b..d25ff13a60 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -128,6 +128,8 @@ static char *opt_update_shallow; static char *opt_refmap; static char *opt_ipv4; static char *opt_ipv6; +static int opt_show_forced_updates = -1; +static char *set_upstream; static struct option pull_options[] = { /* Shared options */ @@ -240,6 +242,11 @@ static struct option pull_options[] = { OPT_PASSTHRU('6', "ipv6", &opt_ipv6, NULL, N_("use IPv6 addresses only"), PARSE_OPT_NOARG), + OPT_BOOL(0, "show-forced-updates", &opt_show_forced_updates, + N_("check for forced-updates on all updated branches")), + OPT_PASSTHRU(0, "set-upstream", &set_upstream, NULL, + N_("set upstream for git pull/fetch"), + PARSE_OPT_NOARG), OPT_END() }; @@ -549,6 +556,12 @@ static int run_fetch(const char *repo, const char **refspecs) argv_array_push(&args, opt_ipv4); if (opt_ipv6) argv_array_push(&args, opt_ipv6); + if (opt_show_forced_updates > 0) + argv_array_push(&args, "--show-forced-updates"); + else if (opt_show_forced_updates == 0) + argv_array_push(&args, "--no-show-forced-updates"); + if (set_upstream) + argv_array_push(&args, set_upstream); if (repo) { argv_array_push(&args, repo); diff --git a/builtin/range-diff.c b/builtin/range-diff.c index 784bd19321..9202e75544 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -32,7 +32,7 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix) repo_diff_setup(the_repository, &diffopt); options = parse_options_concat(range_diff_options, diffopt.parseopts); - argc = parse_options(argc, argv, NULL, options, + argc = parse_options(argc, argv, prefix, options, builtin_range_diff_usage, 0); diff_setup_done(&diffopt); diff --git a/builtin/read-tree.c b/builtin/read-tree.c index 5c9c082595..ca5e655d2f 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -111,7 +111,7 @@ static int git_read_tree_config(const char *var, const char *value, void *cb) return git_default_config(var, value, cb); } -int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) +int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix) { int i, stage = 0; struct object_id oid; @@ -165,7 +165,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) git_config(git_read_tree_config, NULL); - argc = parse_options(argc, argv, unused_prefix, read_tree_options, + argc = parse_options(argc, argv, cmd_prefix, read_tree_options, read_tree_usage, 0); hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR); diff --git a/builtin/rebase.c b/builtin/rebase.c index 2748fa6f2e..e8319d5946 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -62,7 +62,7 @@ struct rebase_options { const char *onto_name; const char *revisions; const char *switch_to; - int root; + int root, root_with_onto; struct object_id *squash_onto; struct commit *restrict_revision; int dont_finish_rebase; @@ -374,6 +374,7 @@ static int run_rebase_interactive(struct rebase_options *opts, flags |= abbreviate_commands ? TODO_LIST_ABBREVIATE_CMDS : 0; flags |= opts->rebase_merges ? TODO_LIST_REBASE_MERGES : 0; flags |= opts->rebase_cousins > 0 ? TODO_LIST_REBASE_COUSINS : 0; + flags |= opts->root_with_onto ? TODO_LIST_ROOT_WITH_ONTO : 0; flags |= command == ACTION_SHORTEN_OIDS ? TODO_LIST_SHORTEN_IDS : 0; switch (command) { @@ -508,7 +509,7 @@ int cmd_rebase__interactive(int argc, const char **argv, const char *prefix) if (argc == 1) usage_with_options(builtin_rebase_interactive_usage, options); - argc = parse_options(argc, argv, NULL, options, + argc = parse_options(argc, argv, prefix, options, builtin_rebase_interactive_usage, PARSE_OPT_KEEP_ARGV0); if (!is_null_oid(&squash_onto)) @@ -850,13 +851,13 @@ static int reset_head(struct object_id *oid, const char *action, goto leave_reset_head; } - if (!reset_hard && !fill_tree_descriptor(&desc[nr++], &head_oid)) { + if (!reset_hard && !fill_tree_descriptor(the_repository, &desc[nr++], &head_oid)) { ret = error(_("failed to find tree of %s"), oid_to_hex(&head_oid)); goto leave_reset_head; } - if (!fill_tree_descriptor(&desc[nr++], oid)) { + if (!fill_tree_descriptor(the_repository, &desc[nr++], oid)) { ret = error(_("failed to find tree of %s"), oid_to_hex(oid)); goto leave_reset_head; } @@ -1163,10 +1164,6 @@ static int run_specific_rebase(struct rebase_options *opts, enum action action) } switch (opts->type) { - case REBASE_AM: - backend = "git-rebase--am"; - backend_func = "git_rebase__am"; - break; case REBASE_PRESERVE_MERGES: backend = "git-rebase--preserve-merges"; backend_func = "git_rebase__preserve_merges"; @@ -1177,8 +1174,7 @@ static int run_specific_rebase(struct rebase_options *opts, enum action action) } strbuf_addf(&script_snippet, - ". git-sh-setup && . git-rebase--common &&" - " . %s && %s", backend, backend_func); + ". git-sh-setup && . %s && %s", backend, backend_func); argv[0] = script_snippet.buf; status = run_command_v_opt(argv, RUN_USING_SHELL); @@ -1497,10 +1493,6 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) usage_with_options(builtin_rebase_usage, builtin_rebase_options); - prefix = setup_git_directory(); - trace_repo_setup(prefix); - setup_work_tree(); - options.allow_empty_message = 1; git_config(rebase_config, &options); @@ -1616,7 +1608,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) if (reset_head(NULL, "reset", NULL, RESET_HEAD_HARD, NULL, NULL) < 0) die(_("could not discard worktree changes")); - remove_branch_state(the_repository); + remove_branch_state(the_repository, 0); if (read_basic_state(&options)) exit(1); goto run_rebase; @@ -1636,7 +1628,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) NULL, NULL) < 0) die(_("could not move back to %s"), oid_to_hex(&options.orig_head)); - remove_branch_state(the_repository); + remove_branch_state(the_repository, 0); ret = !!finish_rebase(&options); goto cleanup; } @@ -1842,15 +1834,6 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) "'--reschedule-failed-exec'")); } - if (options.rebase_merges) { - if (strategy_options.nr) - die(_("cannot combine '--rebase-merges' with " - "'--strategy-option'")); - if (options.strategy) - die(_("cannot combine '--rebase-merges' with " - "'--strategy'")); - } - if (!options.root) { if (argc < 1) { struct branch *branch; @@ -1881,7 +1864,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) options.squash_onto = &squash_onto; options.onto_name = squash_onto_name = xstrdup(oid_to_hex(&squash_onto)); - } + } else + options.root_with_onto = 1; + options.upstream_name = NULL; options.upstream = NULL; if (argc > 1) @@ -2131,7 +2116,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) strbuf_addf(&msg, "%s: checkout %s", getenv(GIT_REFLOG_ACTION_ENVIRONMENT), options.onto_name); if (reset_head(&options.onto->object.oid, "checkout", NULL, - RESET_HEAD_DETACH | RESET_ORIG_HEAD | + RESET_HEAD_DETACH | RESET_ORIG_HEAD | RESET_HEAD_RUN_POST_CHECKOUT_HOOK, NULL, msg.buf)) die(_("Could not detach HEAD")); diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index c5f5da940b..dcf385511f 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -12,7 +12,6 @@ #include "object.h" #include "remote.h" #include "connect.h" -#include "transport.h" #include "string-list.h" #include "sha1-array.h" #include "connected.h" @@ -1809,8 +1808,7 @@ static const char *unpack_with_sideband(struct shallow_info *si) return ret; } -static void prepare_shallow_update(struct command *commands, - struct shallow_info *si) +static void prepare_shallow_update(struct shallow_info *si) { int i, j, k, bitmap_size = DIV_ROUND_UP(si->ref->nr, 32); @@ -1876,7 +1874,7 @@ static void update_shallow_info(struct command *commands, si->ref = ref; if (shallow_update) { - prepare_shallow_update(commands, si); + prepare_shallow_update(si); return; } diff --git a/builtin/remote.c b/builtin/remote.c index f7edf7f2cb..5591cef775 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -1407,7 +1407,7 @@ static int update(int argc, const char **argv) return retval; } -static int remove_all_fetch_refspecs(const char *remote, const char *key) +static int remove_all_fetch_refspecs(const char *key) { return git_config_set_multivar_gently(key, NULL, NULL, 1); } @@ -1437,7 +1437,7 @@ static int set_remote_branches(const char *remotename, const char **branches, if (!remote_is_configured(remote, 1)) die(_("No such remote '%s'"), remotename); - if (!add_mode && remove_all_fetch_refspecs(remotename, key.buf)) { + if (!add_mode && remove_all_fetch_refspecs(key.buf)) { strbuf_release(&key); return 1; } diff --git a/builtin/repack.c b/builtin/repack.c index f834b5551b..3b3dd14372 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -11,6 +11,7 @@ #include "midx.h" #include "packfile.h" #include "object-store.h" +#include "promisor-remote.h" static int delta_base_offset = 1; static int pack_kept_objects = -1; @@ -129,19 +130,9 @@ static void get_non_kept_pack_filenames(struct string_list *fname_list, static void remove_redundant_pack(const char *dir_name, const char *base_name) { - const char *exts[] = {".pack", ".idx", ".keep", ".bitmap", ".promisor"}; - int i; struct strbuf buf = STRBUF_INIT; - size_t plen; - - strbuf_addf(&buf, "%s/%s", dir_name, base_name); - plen = buf.len; - - for (i = 0; i < ARRAY_SIZE(exts); i++) { - strbuf_setlen(&buf, plen); - strbuf_addstr(&buf, exts[i]); - unlink(buf.buf); - } + strbuf_addf(&buf, "%s/%s.pack", dir_name, base_name); + unlink_pack_path(buf.buf, 1); strbuf_release(&buf); } @@ -343,11 +334,13 @@ int cmd_repack(int argc, const char **argv, const char *prefix) (unpack_unreachable || (pack_everything & LOOSEN_UNREACHABLE))) die(_("--keep-unreachable and -A are incompatible")); - if (write_bitmaps < 0) - write_bitmaps = (pack_everything & ALL_INTO_ONE) && - is_bare_repository(); + if (write_bitmaps < 0) { + if (!(pack_everything & ALL_INTO_ONE) || + !is_bare_repository()) + write_bitmaps = 0; + } if (pack_kept_objects < 0) - pack_kept_objects = write_bitmaps; + pack_kept_objects = write_bitmaps > 0; if (write_bitmaps && !(pack_everything & ALL_INTO_ONE)) die(_(incremental_bitmap_conflict_error)); @@ -369,10 +362,12 @@ int cmd_repack(int argc, const char **argv, const char *prefix) argv_array_push(&cmd.args, "--all"); argv_array_push(&cmd.args, "--reflog"); argv_array_push(&cmd.args, "--indexed-objects"); - if (repository_format_partial_clone) + if (has_promisor_remote()) argv_array_push(&cmd.args, "--exclude-promisor-objects"); - if (write_bitmaps) + if (write_bitmaps > 0) argv_array_push(&cmd.args, "--write-bitmap-index"); + else if (write_bitmaps < 0) + argv_array_push(&cmd.args, "--write-bitmap-index-quiet"); if (use_delta_islands) argv_array_push(&cmd.args, "--delta-islands"); diff --git a/builtin/reset.c b/builtin/reset.c index 26ef9a7bd0..fdd572168b 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -79,13 +79,13 @@ static int reset_index(const struct object_id *oid, int reset_type, int quiet) struct object_id head_oid; if (get_oid("HEAD", &head_oid)) return error(_("You do not have a valid HEAD.")); - if (!fill_tree_descriptor(desc + nr, &head_oid)) + if (!fill_tree_descriptor(the_repository, desc + nr, &head_oid)) return error(_("Failed to find tree of HEAD.")); nr++; opts.fn = twoway_merge; } - if (!fill_tree_descriptor(desc + nr, oid)) { + if (!fill_tree_descriptor(the_repository, desc + nr, oid)) { error(_("Failed to find tree of %s."), oid_to_hex(oid)); goto out; } @@ -421,7 +421,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) print_new_head_line(lookup_commit_reference(the_repository, &oid)); } if (!pathspec.nr) - remove_branch_state(the_repository); + remove_branch_state(the_repository, 0); return update_ref_status; } diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 9f31837d30..b8dc2e1fba 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -49,6 +49,7 @@ static const char rev_list_usage[] = " --objects | --objects-edge\n" " --unpacked\n" " --header | --pretty\n" +" --[no-]object-names\n" " --abbrev=<n> | --no-abbrev\n" " --abbrev-commit\n" " --left-right\n" @@ -75,9 +76,12 @@ enum missing_action { }; static enum missing_action arg_missing_action; +/* display only the oid of each object encountered */ +static int arg_show_object_names = 1; + #define DEFAULT_OIDSET_SIZE (16*1024) -static void finish_commit(struct commit *commit, void *data); +static void finish_commit(struct commit *commit); static void show_commit(struct commit *commit, void *data) { struct rev_list_info *info = data; @@ -86,7 +90,7 @@ static void show_commit(struct commit *commit, void *data) display_progress(progress, ++progress_counter); if (info->flags & REV_LIST_QUIET) { - finish_commit(commit, data); + finish_commit(commit); return; } @@ -99,7 +103,7 @@ static void show_commit(struct commit *commit, void *data) revs->count_left++; else revs->count_right++; - finish_commit(commit, data); + finish_commit(commit); return; } @@ -188,10 +192,10 @@ static void show_commit(struct commit *commit, void *data) putchar('\n'); } maybe_flush_or_die(stdout, "stdout"); - finish_commit(commit, data); + finish_commit(commit); } -static void finish_commit(struct commit *commit, void *data) +static void finish_commit(struct commit *commit) { if (commit->parents) { free_commit_list(commit->parents); @@ -255,7 +259,10 @@ static void show_object(struct object *obj, const char *name, void *cb_data) display_progress(progress, ++progress_counter); if (info->flags & REV_LIST_QUIET) return; - show_object_with_name(stdout, obj, name); + if (arg_show_object_names) + show_object_with_name(stdout, obj, name); + else + printf("%s\n", oid_to_hex(&obj->oid)); } static void show_edge(struct commit *commit) @@ -466,8 +473,10 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) die(_("object filtering requires --objects")); if (filter_options.choice == LOFC_SPARSE_OID && !filter_options.sparse_oid_value) - die(_("invalid sparse value '%s'"), - filter_options.filter_spec); + die( + _("invalid sparse value '%s'"), + list_objects_filter_spec( + &filter_options)); continue; } if (!strcmp(arg, ("--no-" CL_ARG__FILTER))) { @@ -484,6 +493,16 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) if (skip_prefix(arg, "--missing=", &arg)) continue; /* already handled above */ + if (!strcmp(arg, ("--no-object-names"))) { + arg_show_object_names = 0; + continue; + } + + if (!strcmp(arg, ("--object-names"))) { + arg_show_object_names = 1; + continue; + } + usage(rev_list_usage); } diff --git a/builtin/revert.c b/builtin/revert.c index d4dcedbdc6..f61cc5d82c 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -102,6 +102,7 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts) OPT_CMDMODE(0, "quit", &cmd, N_("end revert or cherry-pick sequence"), 'q'), OPT_CMDMODE(0, "continue", &cmd, N_("resume revert or cherry-pick sequence"), 'c'), OPT_CMDMODE(0, "abort", &cmd, N_("cancel revert or cherry-pick sequence"), 'a'), + OPT_CMDMODE(0, "skip", &cmd, N_("skip current commit and continue"), 's'), OPT_CLEANUP(&cleanup_arg), OPT_BOOL('n', "no-commit", &opts->no_commit, N_("don't automatically commit")), OPT_BOOL('e', "edit", &opts->edit, N_("edit the commit message")), @@ -151,6 +152,8 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts) this_operation = "--quit"; else if (cmd == 'c') this_operation = "--continue"; + else if (cmd == 's') + this_operation = "--skip"; else { assert(cmd == 'a'); this_operation = "--abort"; @@ -203,13 +206,15 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts) if (cmd == 'q') { int ret = sequencer_remove_state(opts); if (!ret) - remove_branch_state(the_repository); + remove_branch_state(the_repository, 0); return ret; } if (cmd == 'c') return sequencer_continue(the_repository, opts); if (cmd == 'a') return sequencer_rollback(the_repository, opts); + if (cmd == 's') + return sequencer_skip(the_repository, opts); return sequencer_pick_revisions(the_repository, opts); } diff --git a/builtin/rm.c b/builtin/rm.c index bf4a443e13..19ce95a901 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -61,7 +61,7 @@ static void print_error_files(struct string_list *files_list, } } -static void submodules_absorb_gitdir_if_needed(const char *prefix) +static void submodules_absorb_gitdir_if_needed(void) { int i; for (i = 0; i < list.nr; i++) { @@ -83,7 +83,7 @@ static void submodules_absorb_gitdir_if_needed(const char *prefix) continue; if (!submodule_uses_gitfile(name)) - absorb_git_dir_into_superproject(prefix, name, + absorb_git_dir_into_superproject(name, ABSORB_GITDIR_RECURSE_SUBMODULES); } } @@ -179,7 +179,7 @@ static int check_local_mod(struct object_id *head, int index_only) * way as changed from the HEAD. */ if (no_head - || get_tree_entry(head, name, &oid, &mode) + || get_tree_entry(the_repository, head, name, &oid, &mode) || ce->ce_mode != create_ce_mode(mode) || !oideq(&ce->oid, &oid)) staged_changes = 1; @@ -313,7 +313,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix) } if (!index_only) - submodules_absorb_gitdir_if_needed(prefix); + submodules_absorb_gitdir_if_needed(); /* * If not forced, the file, the index and the HEAD (if exists) diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 082daeac32..35d7f51c23 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -514,7 +514,6 @@ static int show_merge_base(struct commit_list *seen, int num_rev) static int show_independent(struct commit **rev, int num_rev, - char **ref_name, unsigned int *rev_mask) { int i; @@ -862,7 +861,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) return show_merge_base(seen, num_rev); if (independent) - return show_independent(rev, num_rev, ref_name, rev_mask); + return show_independent(rev, num_rev, rev_mask); /* Show list; --more=-1 means list-only */ if (1 < num_rev || extra < 0) { diff --git a/builtin/stash.c b/builtin/stash.c index fde6397caa..b5a301f24d 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -1391,30 +1391,16 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q } if (keep_index == 1 && !is_null_oid(&info.i_tree)) { - struct child_process cp_ls = CHILD_PROCESS_INIT; - struct child_process cp_checkout = CHILD_PROCESS_INIT; - struct strbuf out = STRBUF_INIT; - - if (reset_tree(&info.i_tree, 0, 1)) { - ret = -1; - goto done; - } - - cp_ls.git_cmd = 1; - argv_array_pushl(&cp_ls.args, "ls-files", "-z", - "--modified", "--", NULL); - - add_pathspecs(&cp_ls.args, ps); - if (pipe_command(&cp_ls, NULL, 0, &out, 0, NULL, 0)) { - ret = -1; - goto done; - } + struct child_process cp = CHILD_PROCESS_INIT; - cp_checkout.git_cmd = 1; - argv_array_pushl(&cp_checkout.args, "checkout-index", - "-z", "--force", "--stdin", NULL); - if (pipe_command(&cp_checkout, out.buf, out.len, NULL, - 0, NULL, 0)) { + cp.git_cmd = 1; + argv_array_pushl(&cp.args, "checkout", "--no-overlay", + oid_to_hex(&info.i_tree), "--", NULL); + if (!ps->nr) + argv_array_push(&cp.args, ":/"); + else + add_pathspecs(&cp.args, ps); + if (run_command(&cp)) { ret = -1; goto done; } diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index afaf0819c9..909e77e802 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -2108,8 +2108,7 @@ static int absorb_git_dirs(int argc, const char **argv, const char *prefix) return 1; for (i = 0; i < list.nr; i++) - absorb_git_dir_into_superproject(prefix, - list.entries[i]->name, flags); + absorb_git_dir_into_superproject(list.entries[i]->name, flags); return 0; } diff --git a/builtin/tag.c b/builtin/tag.c index ef37dccf86..e0a4c25382 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -33,6 +33,7 @@ static const char * const git_tag_usage[] = { static unsigned int colopts; static int force_sign_annotate; +static int config_sign_tag = -1; /* unspecified */ static int list_tags(struct ref_filter *filter, struct ref_sorting *sorting, struct ref_format *format) @@ -144,6 +145,11 @@ static int git_tag_config(const char *var, const char *value, void *cb) int status; struct ref_sorting **sorting_tail = (struct ref_sorting **)cb; + if (!strcmp(var, "tag.gpgsign")) { + config_sign_tag = git_config_bool(var, value); + return 0; + } + if (!strcmp(var, "tag.sort")) { if (!value) return config_error_nonbool(var); @@ -442,15 +448,10 @@ int cmd_tag(int argc, const char **argv, const char *prefix) memset(&opt, 0, sizeof(opt)); memset(&filter, 0, sizeof(filter)); filter.lines = -1; + opt.sign = -1; argc = parse_options(argc, argv, prefix, options, git_tag_usage, 0); - if (keyid) { - opt.sign = 1; - set_signing_key(keyid); - } - create_tag_object = (opt.sign || annotate || msg.given || msgfile); - if (!cmdmode) { if (argc == 0) cmdmode = 'l'; @@ -463,6 +464,15 @@ int cmd_tag(int argc, const char **argv, const char *prefix) if (cmdmode == 'l') setup_auto_pager("tag", 1); + if (opt.sign == -1) + opt.sign = cmdmode ? 0 : config_sign_tag > 0; + + if (keyid) { + opt.sign = 1; + set_signing_key(keyid); + } + create_tag_object = (opt.sign || annotate || msg.given || msgfile); + if ((create_tag_object || force) && (cmdmode != 0)) usage_with_options(git_tag_usage, options); diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 80478808b3..a87a4bfd2c 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -332,7 +332,7 @@ static int resolve_against_held(unsigned nr, const struct object_id *base, { struct object *obj; struct obj_buffer *obj_buffer; - obj = lookup_object(the_repository, base->hash); + obj = lookup_object(the_repository, base); if (!obj) return 0; obj_buffer = lookup_object_buffer(obj); diff --git a/builtin/update-index.c b/builtin/update-index.c index 3f8cc6ccb4..49302d98c5 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -601,7 +601,7 @@ static struct cache_entry *read_one_ent(const char *which, struct object_id oid; struct cache_entry *ce; - if (get_tree_entry(ent, path, &oid, &mode)) { + if (get_tree_entry(the_repository, ent, path, &oid, &mode)) { if (which) error("%s: not in %s branch.", path, which); return NULL; @@ -966,6 +966,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix) struct parse_opt_ctx_t ctx; strbuf_getline_fn getline_fn; int parseopt_state = PARSE_OPT_UNKNOWN; + struct repository *r = the_repository; struct option options[] = { OPT_BIT('q', NULL, &refresh_args.flags, N_("continue refresh even when index needs update"), @@ -1180,11 +1181,12 @@ int cmd_update_index(int argc, const char **argv, const char *prefix) remove_split_index(&the_index); } + prepare_repo_settings(r); switch (untracked_cache) { case UC_UNSPECIFIED: break; case UC_DISABLE: - if (git_config_get_untracked_cache() == 1) + if (r->settings.core_untracked_cache == UNTRACKED_CACHE_WRITE) warning(_("core.untrackedCache is set to true; " "remove or change it, if you really want to " "disable the untracked cache")); @@ -1196,7 +1198,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix) return !test_if_untracked_cache_is_supported(); case UC_ENABLE: case UC_FORCE: - if (git_config_get_untracked_cache() == 0) + if (r->settings.core_untracked_cache == UNTRACKED_CACHE_REMOVE) warning(_("core.untrackedCache is set to false; " "remove or change it, if you really want to " "enable the untracked cache")); diff --git a/builtin/upload-pack.c b/builtin/upload-pack.c index 42dc4da5a1..6da8fa2607 100644 --- a/builtin/upload-pack.c +++ b/builtin/upload-pack.c @@ -33,7 +33,7 @@ int cmd_upload_pack(int argc, const char **argv, const char *prefix) packet_trace_identity("upload-pack"); read_replace_refs = 0; - argc = parse_options(argc, argv, NULL, options, upload_pack_usage, 0); + argc = parse_options(argc, argv, prefix, options, upload_pack_usage, 0); if (argc != 1) usage_with_options(upload_pack_usage, options); diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 4e93914e59..40c69a0bed 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -20,15 +20,14 @@ static const char * const verify_commit_usage[] = { NULL }; -static int run_gpg_verify(const struct object_id *oid, const char *buf, unsigned long size, unsigned flags) +static int run_gpg_verify(struct commit *commit, unsigned flags) { struct signature_check signature_check; int ret; memset(&signature_check, 0, sizeof(signature_check)); - ret = check_commit_signature(lookup_commit(the_repository, oid), - &signature_check); + ret = check_commit_signature(commit, &signature_check); print_signature_buffer(&signature_check, flags); signature_check_clear(&signature_check); @@ -37,26 +36,20 @@ static int run_gpg_verify(const struct object_id *oid, const char *buf, unsigned static int verify_commit(const char *name, unsigned flags) { - enum object_type type; struct object_id oid; - char *buf; - unsigned long size; - int ret; + struct object *obj; if (get_oid(name, &oid)) return error("commit '%s' not found.", name); - buf = read_object_file(&oid, &type, &size); - if (!buf) + obj = parse_object(the_repository, &oid); + if (!obj) return error("%s: unable to read file.", name); - if (type != OBJ_COMMIT) + if (obj->type != OBJ_COMMIT) return error("%s: cannot verify a non-commit object of type %s.", - name, type_name(type)); - - ret = run_gpg_verify(&oid, buf, size, flags); + name, type_name(obj->type)); - free(buf); - return ret; + return run_gpg_verify((struct commit *)obj, flags); } static int git_verify_commit_config(const char *var, const char *value, void *cb) diff --git a/builtin/worktree.c b/builtin/worktree.c index d2a7e2f3f1..7f094f8170 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -275,6 +275,7 @@ static int add_worktree(const char *path, const char *refname, struct strbuf symref = STRBUF_INIT; struct commit *commit = NULL; int is_branch = 0; + struct strbuf sb_name = STRBUF_INIT; validate_worktree_add(path, opts); @@ -290,7 +291,13 @@ static int add_worktree(const char *path, const char *refname, die(_("invalid reference: %s"), refname); name = worktree_basename(path, &len); - git_path_buf(&sb_repo, "worktrees/%.*s", (int)(path + len - name), name); + strbuf_add(&sb, name, path + len - name); + sanitize_refname_component(sb.buf, &sb_name); + if (!sb_name.len) + BUG("How come '%s' becomes empty after sanitization?", sb.buf); + strbuf_reset(&sb); + name = sb_name.buf; + git_path_buf(&sb_repo, "worktrees/%s", name); len = sb_repo.len; if (safe_create_leading_directories_const(sb_repo.buf)) die_errno(_("could not create leading directories of '%s'"), @@ -418,6 +425,7 @@ done: strbuf_release(&symref); strbuf_release(&sb_repo); strbuf_release(&sb_git); + strbuf_release(&sb_name); return ret; } @@ -872,7 +880,7 @@ static void check_clean_worktree(struct worktree *wt, original_path); ret = xread(cp.out, buf, sizeof(buf)); if (ret) - die(_("'%s' is dirty, use --force to delete it"), + die(_("'%s' contains modified or untracked files, use --force to delete it"), original_path); close(cp.out); ret = finish_command(&cp); diff --git a/builtin/write-tree.c b/builtin/write-tree.c index 3d46d22ee5..45d61707e7 100644 --- a/builtin/write-tree.c +++ b/builtin/write-tree.c @@ -16,16 +16,16 @@ static const char * const write_tree_usage[] = { NULL }; -int cmd_write_tree(int argc, const char **argv, const char *unused_prefix) +int cmd_write_tree(int argc, const char **argv, const char *cmd_prefix) { int flags = 0, ret; - const char *prefix = NULL; + const char *tree_prefix = NULL; struct object_id oid; const char *me = "git-write-tree"; struct option write_tree_options[] = { OPT_BIT(0, "missing-ok", &flags, N_("allow missing objects"), WRITE_TREE_MISSING_OK), - OPT_STRING(0, "prefix", &prefix, N_("<prefix>/"), + OPT_STRING(0, "prefix", &tree_prefix, N_("<prefix>/"), N_("write tree object for a subdirectory <prefix>")), { OPTION_BIT, 0, "ignore-cache-tree", &flags, NULL, N_("only useful for debugging"), @@ -35,10 +35,10 @@ int cmd_write_tree(int argc, const char **argv, const char *unused_prefix) }; git_config(git_default_config, NULL); - argc = parse_options(argc, argv, unused_prefix, write_tree_options, + argc = parse_options(argc, argv, cmd_prefix, write_tree_options, write_tree_usage, 0); - ret = write_cache_as_tree(&oid, flags, prefix); + ret = write_cache_as_tree(&oid, flags, tree_prefix); switch (ret) { case 0: printf("%s\n", oid_to_hex(&oid)); @@ -50,7 +50,7 @@ int cmd_write_tree(int argc, const char **argv, const char *unused_prefix) die("%s: error building trees", me); break; case WRITE_TREE_PREFIX_ERROR: - die("%s: prefix %s not found", me, prefix); + die("%s: prefix %s not found", me, tree_prefix); break; } return ret; diff --git a/cache-tree.c b/cache-tree.c index b13bfaf71e..0e5724fad7 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -5,9 +5,10 @@ #include "cache-tree.h" #include "object-store.h" #include "replace-object.h" +#include "promisor-remote.h" -#ifndef DEBUG -#define DEBUG 0 +#ifndef DEBUG_CACHE_TREE +#define DEBUG_CACHE_TREE 0 #endif struct cache_tree *cache_tree(void) @@ -111,7 +112,7 @@ static int do_invalidate_path(struct cache_tree *it, const char *path) int namelen; struct cache_tree_sub *down; -#if DEBUG +#if DEBUG_CACHE_TREE fprintf(stderr, "cache-tree invalidate <%s>\n", path); #endif @@ -357,7 +358,7 @@ static int update_one(struct cache_tree *it, } ce_missing_ok = mode == S_IFGITLINK || missing_ok || - (repository_format_partial_clone && + (has_promisor_remote() && ce_skip_worktree(ce)); if (is_null_oid(oid) || (!ce_missing_ok && !has_object_file(oid))) { @@ -398,7 +399,7 @@ static int update_one(struct cache_tree *it, strbuf_addf(&buffer, "%o %.*s%c", mode, entlen, path + baselen, '\0'); strbuf_add(&buffer, oid->hash, the_hash_algo->rawsz); -#if DEBUG +#if DEBUG_CACHE_TREE fprintf(stderr, "cache-tree update-one %o %.*s\n", mode, entlen, path + baselen); #endif @@ -421,7 +422,7 @@ static int update_one(struct cache_tree *it, strbuf_release(&buffer); it->entry_count = to_invalidate ? -1 : i - *skip_count; -#if DEBUG +#if DEBUG_CACHE_TREE fprintf(stderr, "cache-tree update-one (%d ent, %d subtree) %s\n", it->entry_count, it->subtree_nr, oid_to_hex(&it->oid)); @@ -462,7 +463,7 @@ static void write_one(struct strbuf *buffer, struct cache_tree *it, strbuf_add(buffer, path, pathlen); strbuf_addf(buffer, "%c%d %d\n", 0, it->entry_count, it->subtree_nr); -#if DEBUG +#if DEBUG_CACHE_TREE if (0 <= it->entry_count) fprintf(stderr, "cache-tree <%.*s> (%d ent, %d subtree) %s\n", pathlen, path, it->entry_count, it->subtree_nr, @@ -536,7 +537,7 @@ static struct cache_tree *read_one(const char **buffer, unsigned long *size_p) size -= rawsz; } -#if DEBUG +#if DEBUG_CACHE_TREE if (0 <= it->entry_count) fprintf(stderr, "cache-tree <%s> (%d ent, %d subtree) %s\n", *buffer, it->entry_count, subtree_nr, @@ -713,7 +714,7 @@ static struct cache_tree *find_cache_tree_from_traversal(struct cache_tree *root if (!info->prev) return root; our_parent = find_cache_tree_from_traversal(root, info->prev); - return cache_tree_find(our_parent, info->name.path); + return cache_tree_find(our_parent, info->name); } int cache_tree_matches_traversal(struct cache_tree *root, @@ -43,30 +43,6 @@ int git_deflate_end_gently(git_zstream *); int git_deflate(git_zstream *, int flush); unsigned long git_deflate_bound(git_zstream *, unsigned long); -/* The length in bytes and in hex digits of an object name (SHA-1 value). */ -#define GIT_SHA1_RAWSZ 20 -#define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ) -/* The block size of SHA-1. */ -#define GIT_SHA1_BLKSZ 64 - -/* The length in bytes and in hex digits of an object name (SHA-256 value). */ -#define GIT_SHA256_RAWSZ 32 -#define GIT_SHA256_HEXSZ (2 * GIT_SHA256_RAWSZ) -/* The block size of SHA-256. */ -#define GIT_SHA256_BLKSZ 64 - -/* The length in byte and in hex digits of the largest possible hash value. */ -#define GIT_MAX_RAWSZ GIT_SHA256_RAWSZ -#define GIT_MAX_HEXSZ GIT_SHA256_HEXSZ -/* The largest possible block size for any supported hash. */ -#define GIT_MAX_BLKSZ GIT_SHA256_BLKSZ - -struct object_id { - unsigned char hash[GIT_MAX_RAWSZ]; -}; - -#define the_hash_algo the_repository->hash_algo - #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT) #define DTYPE(de) ((de)->d_type) #else @@ -660,6 +636,9 @@ int daemonize(void); * at least 'nr' entries; the number of entries currently allocated * is 'alloc', using the standard growing factor alloc_nr() macro. * + * Consider using ALLOC_GROW_BY instead of ALLOC_GROW as it has some + * added niceties. + * * DO NOT USE any expression with side-effect for 'x', 'nr', or 'alloc'. */ #define ALLOC_GROW(x, nr, alloc) \ @@ -673,6 +652,25 @@ int daemonize(void); } \ } while (0) +/* + * Similar to ALLOC_GROW but handles updating of the nr value and + * zeroing the bytes of the newly-grown array elements. + * + * DO NOT USE any expression with side-effect for any of the + * arguments. + */ +#define ALLOC_GROW_BY(x, nr, increase, alloc) \ + do { \ + if (increase) { \ + size_t new_nr = nr + (increase); \ + if (new_nr < nr) \ + BUG("negative growth in ALLOC_GROW_BY"); \ + ALLOC_GROW(x, new_nr, alloc); \ + memset((x) + nr, 0, sizeof(*(x)) * (increase)); \ + nr = new_nr; \ + } \ + } while (0) + /* Initialize and use the cache information */ struct lock_file; void preload_index(struct index_state *index, @@ -961,8 +959,6 @@ extern int grafts_replace_parents; #define GIT_REPO_VERSION 0 #define GIT_REPO_VERSION_READ 1 extern int repository_format_precious_objects; -extern char *repository_format_partial_clone; -extern const char *core_partial_clone_filter_default; extern int repository_format_worktree_config; /* @@ -1500,7 +1496,8 @@ int df_name_compare(const char *name1, int len1, int mode1, const char *name2, i int name_compare(const char *name1, size_t len1, const char *name2, size_t len2); int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2); -void *read_object_with_reference(const struct object_id *oid, +void *read_object_with_reference(struct repository *r, + const struct object_id *oid, const char *required_type, unsigned long *size, struct object_id *oid_ret); @@ -1786,8 +1783,8 @@ int add_files_to_cache(const char *prefix, const struct pathspec *pathspec, int extern int diff_auto_refresh_index; /* match-trees.c */ -void shift_tree(const struct object_id *, const struct object_id *, struct object_id *, int); -void shift_tree_by(const struct object_id *, const struct object_id *, struct object_id *, const char *); +void shift_tree(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, int); +void shift_tree_by(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, const char *); /* * whitespace rules. @@ -186,7 +186,7 @@ osx-clang|osx-gcc) export GIT_SKIP_TESTS="t9810 t9816" ;; GIT_TEST_GETTEXT_POISON) - export GIT_TEST_GETTEXT_POISON=YesPlease + export GIT_TEST_GETTEXT_POISON=true ;; esac diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh index cdd2913440..ff0ef7f08e 100755 --- a/ci/run-build-and-tests.sh +++ b/ci/run-build-and-tests.sh @@ -11,9 +11,9 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";; esac make -make test -if test "$jobname" = "linux-gcc" -then +case "$jobname" in +linux-gcc) + make test export GIT_TEST_SPLIT_INDEX=yes export GIT_TEST_FULL_IN_PACK_ARRAY=true export GIT_TEST_OE_SIZE=10 @@ -21,7 +21,16 @@ then export GIT_TEST_COMMIT_GRAPH=1 export GIT_TEST_MULTI_PACK_INDEX=1 make test -fi + ;; +linux-gcc-4.8) + # Don't run the tests; we only care about whether Git can be + # built with GCC 4.8, as it errors out on some undesired (C99) + # constructs that newer compilers seem to quietly accept. + ;; +*) + make test + ;; +esac check_unignored_build_artifacts diff --git a/command-list.txt b/command-list.txt index 3a9af104b5..a9ac72bef4 100644 --- a/command-list.txt +++ b/command-list.txt @@ -59,7 +59,7 @@ git-cat-file plumbinginterrogators git-check-attr purehelpers git-check-ignore purehelpers git-check-mailmap purehelpers -git-checkout mainporcelain history +git-checkout mainporcelain git-checkout-index plumbingmanipulators git-check-ref-format purehelpers git-cherry plumbinginterrogators complete @@ -81,7 +81,7 @@ git-cvsimport foreignscminterface git-cvsserver foreignscminterface git-daemon synchingrepositories git-describe mainporcelain -git-diff mainporcelain history +git-diff mainporcelain info git-diff-files plumbinginterrogators git-diff-index plumbinginterrogators git-diff-tree plumbinginterrogators @@ -150,7 +150,8 @@ git-repack ancillarymanipulators complete git-replace ancillarymanipulators complete git-request-pull foreignscminterface complete git-rerere ancillaryinterrogators -git-reset mainporcelain worktree +git-reset mainporcelain history +git-restore mainporcelain worktree git-revert mainporcelain git-rev-list plumbinginterrogators git-rev-parse plumbinginterrogators @@ -171,6 +172,7 @@ git-status mainporcelain info git-stripspace purehelpers git-submodule mainporcelain git-svn foreignscminterface +git-switch mainporcelain history git-symbolic-ref plumbingmanipulators git-tag mainporcelain history git-unpack-file plumbinginterrogators diff --git a/commit-graph.c b/commit-graph.c index 1752341098..9b02d2c426 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -22,6 +22,7 @@ #define GRAPH_CHUNKID_OIDLOOKUP 0x4f49444c /* "OIDL" */ #define GRAPH_CHUNKID_DATA 0x43444154 /* "CDAT" */ #define GRAPH_CHUNKID_EXTRAEDGES 0x45444745 /* "EDGE" */ +#define GRAPH_CHUNKID_BASE 0x42415345 /* "BASE" */ #define GRAPH_DATA_WIDTH (the_hash_algo->rawsz + 16) @@ -42,7 +43,28 @@ char *get_commit_graph_filename(const char *obj_dir) { - return xstrfmt("%s/info/commit-graph", obj_dir); + char *filename = xstrfmt("%s/info/commit-graph", obj_dir); + char *normalized = xmalloc(strlen(filename) + 1); + normalize_path_copy(normalized, filename); + free(filename); + return normalized; +} + +static char *get_split_graph_filename(const char *obj_dir, + const char *oid_hex) +{ + char *filename = xstrfmt("%s/info/commit-graphs/graph-%s.graph", + obj_dir, + oid_hex); + char *normalized = xmalloc(strlen(filename) + 1); + normalize_path_copy(normalized, filename); + free(filename); + return normalized; +} + +static char *get_chain_filename(const char *obj_dir) +{ + return xstrfmt("%s/info/commit-graphs/commit-graph-chain", obj_dir); } static uint8_t oid_version(void) @@ -249,6 +271,12 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd, else graph->chunk_extra_edges = data + chunk_offset; break; + + case GRAPH_CHUNKID_BASE: + if (graph->chunk_base_graphs) + chunk_repeated = 1; + else + graph->chunk_base_graphs = data + chunk_offset; } if (chunk_repeated) { @@ -267,6 +295,8 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd, last_chunk_offset = chunk_offset; } + hashcpy(graph->oid.hash, graph->data + graph->data_len - graph->hash_len); + if (verify_commit_graph_lite(graph)) { free(graph); return NULL; @@ -280,26 +310,152 @@ static struct commit_graph *load_commit_graph_one(const char *graph_file) struct stat st; int fd; + struct commit_graph *g; int open_ok = open_commit_graph(graph_file, &fd, &st); if (!open_ok) return NULL; - return load_commit_graph_one_fd_st(fd, &st); + g = load_commit_graph_one_fd_st(fd, &st); + + if (g) + g->filename = xstrdup(graph_file); + + return g; +} + +static struct commit_graph *load_commit_graph_v1(struct repository *r, const char *obj_dir) +{ + char *graph_name = get_commit_graph_filename(obj_dir); + struct commit_graph *g = load_commit_graph_one(graph_name); + free(graph_name); + + if (g) + g->obj_dir = obj_dir; + + return g; +} + +static int add_graph_to_chain(struct commit_graph *g, + struct commit_graph *chain, + struct object_id *oids, + int n) +{ + struct commit_graph *cur_g = chain; + + if (n && !g->chunk_base_graphs) { + warning(_("commit-graph has no base graphs chunk")); + return 0; + } + + while (n) { + n--; + + if (!cur_g || + !oideq(&oids[n], &cur_g->oid) || + !hasheq(oids[n].hash, g->chunk_base_graphs + g->hash_len * n)) { + warning(_("commit-graph chain does not match")); + return 0; + } + + cur_g = cur_g->base_graph; + } + + g->base_graph = chain; + + if (chain) + g->num_commits_in_base = chain->num_commits + chain->num_commits_in_base; + + return 1; +} + +static struct commit_graph *load_commit_graph_chain(struct repository *r, const char *obj_dir) +{ + struct commit_graph *graph_chain = NULL; + struct strbuf line = STRBUF_INIT; + struct stat st; + struct object_id *oids; + int i = 0, valid = 1, count; + char *chain_name = get_chain_filename(obj_dir); + FILE *fp; + int stat_res; + + fp = fopen(chain_name, "r"); + stat_res = stat(chain_name, &st); + free(chain_name); + + if (!fp || + stat_res || + st.st_size <= the_hash_algo->hexsz) + return NULL; + + count = st.st_size / (the_hash_algo->hexsz + 1); + oids = xcalloc(count, sizeof(struct object_id)); + + prepare_alt_odb(r); + + for (i = 0; i < count; i++) { + struct object_directory *odb; + + if (strbuf_getline_lf(&line, fp) == EOF) + break; + + if (get_oid_hex(line.buf, &oids[i])) { + warning(_("invalid commit-graph chain: line '%s' not a hash"), + line.buf); + valid = 0; + break; + } + + valid = 0; + for (odb = r->objects->odb; odb; odb = odb->next) { + char *graph_name = get_split_graph_filename(odb->path, line.buf); + struct commit_graph *g = load_commit_graph_one(graph_name); + + free(graph_name); + + if (g) { + g->obj_dir = odb->path; + + if (add_graph_to_chain(g, graph_chain, oids, i)) { + graph_chain = g; + valid = 1; + } + + break; + } + } + + if (!valid) { + warning(_("unable to find all commit-graph files")); + break; + } + } + + free(oids); + fclose(fp); + strbuf_release(&line); + + return graph_chain; +} + +struct commit_graph *read_commit_graph_one(struct repository *r, const char *obj_dir) +{ + struct commit_graph *g = load_commit_graph_v1(r, obj_dir); + + if (!g) + g = load_commit_graph_chain(r, obj_dir); + + return g; } static void prepare_commit_graph_one(struct repository *r, const char *obj_dir) { - char *graph_name; if (r->objects->commit_graph) return; - graph_name = get_commit_graph_filename(obj_dir); - r->objects->commit_graph = - load_commit_graph_one(graph_name); - - FREE_AND_NULL(graph_name); + r->objects->commit_graph = read_commit_graph_one(r, obj_dir); } /* @@ -311,7 +467,6 @@ static void prepare_commit_graph_one(struct repository *r, const char *obj_dir) static int prepare_commit_graph(struct repository *r) { struct object_directory *odb; - int config_value; if (git_env_bool(GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD, 0)) die("dying as requested by the '%s' variable on commit-graph load!", @@ -321,9 +476,10 @@ static int prepare_commit_graph(struct repository *r) return !!r->objects->commit_graph; r->objects->commit_graph_attempted = 1; + prepare_repo_settings(r); + if (!git_env_bool(GIT_TEST_COMMIT_GRAPH, 0) && - (repo_config_get_bool(r, "core.commitgraph", &config_value) || - !config_value)) + r->settings.core_commit_graph != 1) /* * This repository is not configured to use commit graphs, so * do not load one. (But report commit_graph_attempted anyway @@ -361,9 +517,18 @@ int generation_numbers_enabled(struct repository *r) return !!first_generation; } +static void close_commit_graph_one(struct commit_graph *g) +{ + if (!g) + return; + + close_commit_graph_one(g->base_graph); + free_commit_graph(g); +} + void close_commit_graph(struct raw_object_store *o) { - free_commit_graph(o->commit_graph); + close_commit_graph_one(o->commit_graph); o->commit_graph = NULL; } @@ -373,18 +538,38 @@ static int bsearch_graph(struct commit_graph *g, struct object_id *oid, uint32_t g->chunk_oid_lookup, g->hash_len, pos); } +static void load_oid_from_graph(struct commit_graph *g, + uint32_t pos, + struct object_id *oid) +{ + uint32_t lex_index; + + while (g && pos < g->num_commits_in_base) + g = g->base_graph; + + if (!g) + BUG("NULL commit-graph"); + + if (pos >= g->num_commits + g->num_commits_in_base) + die(_("invalid commit position. commit-graph is likely corrupt")); + + lex_index = pos - g->num_commits_in_base; + + hashcpy(oid->hash, g->chunk_oid_lookup + g->hash_len * lex_index); +} + static struct commit_list **insert_parent_or_die(struct repository *r, struct commit_graph *g, - uint64_t pos, + uint32_t pos, struct commit_list **pptr) { struct commit *c; struct object_id oid; - if (pos >= g->num_commits) - die("invalid parent position %"PRIu64, pos); + if (pos >= g->num_commits + g->num_commits_in_base) + die("invalid parent position %"PRIu32, pos); - hashcpy(oid.hash, g->chunk_oid_lookup + g->hash_len * pos); + load_oid_from_graph(g, pos, &oid); c = lookup_commit(r, &oid); if (!c) die(_("could not find commit %s"), oid_to_hex(&oid)); @@ -394,7 +579,14 @@ static struct commit_list **insert_parent_or_die(struct repository *r, static void fill_commit_graph_info(struct commit *item, struct commit_graph *g, uint32_t pos) { - const unsigned char *commit_data = g->chunk_commit_data + GRAPH_DATA_WIDTH * pos; + const unsigned char *commit_data; + uint32_t lex_index; + + while (pos < g->num_commits_in_base) + g = g->base_graph; + + lex_index = pos - g->num_commits_in_base; + commit_data = g->chunk_commit_data + GRAPH_DATA_WIDTH * lex_index; item->graph_pos = pos; item->generation = get_be32(commit_data + g->hash_len + 8) >> 2; } @@ -412,10 +604,25 @@ static int fill_commit_in_graph(struct repository *r, uint32_t *parent_data_ptr; uint64_t date_low, date_high; struct commit_list **pptr; - const unsigned char *commit_data = g->chunk_commit_data + (g->hash_len + 16) * pos; + const unsigned char *commit_data; + uint32_t lex_index; - item->object.parsed = 1; + while (pos < g->num_commits_in_base) + g = g->base_graph; + + if (pos >= g->num_commits + g->num_commits_in_base) + die(_("invalid commit position. commit-graph is likely corrupt")); + + /* + * Store the "full" position, but then use the + * "local" position for the rest of the calculation. + */ item->graph_pos = pos; + lex_index = pos - g->num_commits_in_base; + + commit_data = g->chunk_commit_data + (g->hash_len + 16) * lex_index; + + item->object.parsed = 1; set_commit_tree(item, NULL); @@ -459,7 +666,18 @@ static int find_commit_in_graph(struct commit *item, struct commit_graph *g, uin *pos = item->graph_pos; return 1; } else { - return bsearch_graph(g, &(item->object.oid), pos); + struct commit_graph *cur_g = g; + uint32_t lex_index; + + while (cur_g && !bsearch_graph(cur_g, &(item->object.oid), &lex_index)) + cur_g = cur_g->base_graph; + + if (cur_g) { + *pos = lex_index + cur_g->num_commits_in_base; + return 1; + } + + return 0; } } @@ -499,8 +717,13 @@ static struct tree *load_tree_for_commit(struct repository *r, struct commit *c) { struct object_id oid; - const unsigned char *commit_data = g->chunk_commit_data + - GRAPH_DATA_WIDTH * (c->graph_pos); + const unsigned char *commit_data; + + while (c->graph_pos < g->num_commits_in_base) + g = g->base_graph; + + commit_data = g->chunk_commit_data + + GRAPH_DATA_WIDTH * (c->graph_pos - g->num_commits_in_base); hashcpy(oid.hash, commit_data); set_commit_tree(c, lookup_tree(r, &oid)); @@ -539,7 +762,7 @@ struct packed_oid_list { struct write_commit_graph_context { struct repository *r; - const char *obj_dir; + char *obj_dir; char *graph_name; struct packed_oid_list oids; struct packed_commit_list commits; @@ -548,8 +771,22 @@ struct write_commit_graph_context { struct progress *progress; int progress_done; uint64_t progress_cnt; + + char *base_graph_name; + int num_commit_graphs_before; + int num_commit_graphs_after; + char **commit_graph_filenames_before; + char **commit_graph_filenames_after; + char **commit_graph_hash_after; + uint32_t new_num_commits_in_base; + struct commit_graph *new_base_graph; + unsigned append:1, - report_progress:1; + report_progress:1, + split:1, + check_oids:1; + + const struct split_commit_graph_opts *split_opts; }; static void write_graph_chunk_fanout(struct hashfile *f, @@ -619,6 +856,16 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len, ctx->commits.nr, commit_to_sha1); + if (edge_value >= 0) + edge_value += ctx->new_num_commits_in_base; + else { + uint32_t pos; + if (find_commit_in_graph(parent->item, + ctx->new_base_graph, + &pos)) + edge_value = pos; + } + if (edge_value < 0) BUG("missing parent %s for commit %s", oid_to_hex(&parent->item->object.oid), @@ -639,6 +886,17 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len, ctx->commits.list, ctx->commits.nr, commit_to_sha1); + + if (edge_value >= 0) + edge_value += ctx->new_num_commits_in_base; + else { + uint32_t pos; + if (find_commit_in_graph(parent->item, + ctx->new_base_graph, + &pos)) + edge_value = pos; + } + if (edge_value < 0) BUG("missing parent %s for commit %s", oid_to_hex(&parent->item->object.oid), @@ -696,6 +954,16 @@ static void write_graph_chunk_extra_edges(struct hashfile *f, ctx->commits.nr, commit_to_sha1); + if (edge_value >= 0) + edge_value += ctx->new_num_commits_in_base; + else { + uint32_t pos; + if (find_commit_in_graph(parent->item, + ctx->new_base_graph, + &pos)) + edge_value = pos; + } + if (edge_value < 0) BUG("missing parent %s for commit %s", oid_to_hex(&parent->item->object.oid), @@ -710,7 +978,7 @@ static void write_graph_chunk_extra_edges(struct hashfile *f, } } -static int commit_compare(const void *_a, const void *_b) +static int oid_compare(const void *_a, const void *_b) { const struct object_id *a = (const struct object_id *)_a; const struct object_id *b = (const struct object_id *)_b; @@ -787,7 +1055,13 @@ static void close_reachable(struct write_commit_graph_context *ctx) display_progress(ctx->progress, i + 1); commit = lookup_commit(ctx->r, &ctx->oids.list[i]); - if (commit && !parse_commit_no_graph(commit)) + if (!commit) + continue; + if (ctx->split) { + if (!parse_commit(commit) && + commit->graph_pos == COMMIT_NOT_FROM_GRAPH) + add_missing_parents(ctx, commit); + } else if (!parse_commit_no_graph(commit)) add_missing_parents(ctx, commit); } stop_progress(&ctx->progress); @@ -861,14 +1135,16 @@ static int add_ref_to_list(const char *refname, return 0; } -int write_commit_graph_reachable(const char *obj_dir, unsigned int flags) +int write_commit_graph_reachable(const char *obj_dir, + enum commit_graph_write_flags flags, + const struct split_commit_graph_opts *split_opts) { struct string_list list = STRING_LIST_INIT_DUP; int result; for_each_ref(add_ref_to_list, &list); result = write_commit_graph(obj_dir, NULL, &list, - flags); + flags, split_opts); string_list_clear(&list, 0); return result; @@ -913,14 +1189,14 @@ static int fill_oids_from_packs(struct write_commit_graph_context *ctx, } stop_progress(&ctx->progress); - strbuf_reset(&progress_title); + strbuf_release(&progress_title); strbuf_release(&packname); return 0; } -static void fill_oids_from_commit_hex(struct write_commit_graph_context *ctx, - struct string_list *commit_hex) +static int fill_oids_from_commit_hex(struct write_commit_graph_context *ctx, + struct string_list *commit_hex) { uint32_t i; struct strbuf progress_title = STRBUF_INIT; @@ -941,20 +1217,21 @@ static void fill_oids_from_commit_hex(struct write_commit_graph_context *ctx, struct commit *result; display_progress(ctx->progress, i + 1); - if (commit_hex->items[i].string && - parse_oid_hex(commit_hex->items[i].string, &oid, &end)) - continue; - - result = lookup_commit_reference_gently(ctx->r, &oid, 1); - - if (result) { + if (!parse_oid_hex(commit_hex->items[i].string, &oid, &end) && + (result = lookup_commit_reference_gently(ctx->r, &oid, 1))) { ALLOC_GROW(ctx->oids.list, ctx->oids.nr + 1, ctx->oids.alloc); oidcpy(&ctx->oids.list[ctx->oids.nr], &(result->object.oid)); ctx->oids.nr++; + } else if (ctx->check_oids) { + error(_("invalid commit object id: %s"), + commit_hex->items[i].string); + return -1; } } stop_progress(&ctx->progress); strbuf_release(&progress_title); + + return 0; } static void fill_oids_from_all_packs(struct write_commit_graph_context *ctx) @@ -979,12 +1256,20 @@ static uint32_t count_distinct_commits(struct write_commit_graph_context *ctx) _("Counting distinct commits in commit graph"), ctx->oids.nr); display_progress(ctx->progress, 0); /* TODO: Measure QSORT() progress */ - QSORT(ctx->oids.list, ctx->oids.nr, commit_compare); + QSORT(ctx->oids.list, ctx->oids.nr, oid_compare); for (i = 1; i < ctx->oids.nr; i++) { display_progress(ctx->progress, i + 1); - if (!oideq(&ctx->oids.list[i - 1], &ctx->oids.list[i])) + if (!oideq(&ctx->oids.list[i - 1], &ctx->oids.list[i])) { + if (ctx->split) { + struct commit *c = lookup_commit(ctx->r, &ctx->oids.list[i]); + + if (!c || c->graph_pos != COMMIT_NOT_FROM_GRAPH) + continue; + } + count_distinct++; + } } stop_progress(&ctx->progress); @@ -1007,7 +1292,13 @@ static void copy_oids_to_commits(struct write_commit_graph_context *ctx) if (i > 0 && oideq(&ctx->oids.list[i - 1], &ctx->oids.list[i])) continue; + ALLOC_GROW(ctx->commits.list, ctx->commits.nr + 1, ctx->commits.alloc); ctx->commits.list[ctx->commits.nr] = lookup_commit(ctx->r, &ctx->oids.list[i]); + + if (ctx->split && + ctx->commits.list[ctx->commits.nr]->graph_pos != COMMIT_NOT_FROM_GRAPH) + continue; + parse_commit_no_graph(ctx->commits.list[ctx->commits.nr]); for (parent = ctx->commits.list[ctx->commits.nr]->parents; @@ -1022,18 +1313,56 @@ static void copy_oids_to_commits(struct write_commit_graph_context *ctx) stop_progress(&ctx->progress); } +static int write_graph_chunk_base_1(struct hashfile *f, + struct commit_graph *g) +{ + int num = 0; + + if (!g) + return 0; + + num = write_graph_chunk_base_1(f, g->base_graph); + hashwrite(f, g->oid.hash, the_hash_algo->rawsz); + return num + 1; +} + +static int write_graph_chunk_base(struct hashfile *f, + struct write_commit_graph_context *ctx) +{ + int num = write_graph_chunk_base_1(f, ctx->new_base_graph); + + if (num != ctx->num_commit_graphs_after - 1) { + error(_("failed to write correct number of base graph ids")); + return -1; + } + + return 0; +} + static int write_commit_graph_file(struct write_commit_graph_context *ctx) { uint32_t i; + int fd; struct hashfile *f; struct lock_file lk = LOCK_INIT; - uint32_t chunk_ids[5]; - uint64_t chunk_offsets[5]; + uint32_t chunk_ids[6]; + uint64_t chunk_offsets[6]; const unsigned hashsz = the_hash_algo->rawsz; struct strbuf progress_title = STRBUF_INIT; - int num_chunks = ctx->num_extra_edges ? 4 : 3; + int num_chunks = 3; + struct object_id file_hash; + + if (ctx->split) { + struct strbuf tmp_file = STRBUF_INIT; + + strbuf_addf(&tmp_file, + "%s/info/commit-graphs/tmp_graph_XXXXXX", + ctx->obj_dir); + ctx->graph_name = strbuf_detach(&tmp_file, NULL); + } else { + ctx->graph_name = get_commit_graph_filename(ctx->obj_dir); + } - ctx->graph_name = get_commit_graph_filename(ctx->obj_dir); if (safe_create_leading_directories(ctx->graph_name)) { UNLEAK(ctx->graph_name); error(_("unable to create leading directories of %s"), @@ -1041,30 +1370,61 @@ static int write_commit_graph_file(struct write_commit_graph_context *ctx) return -1; } - hold_lock_file_for_update(&lk, ctx->graph_name, LOCK_DIE_ON_ERROR); - f = hashfd(lk.tempfile->fd, lk.tempfile->filename.buf); + if (ctx->split) { + char *lock_name = get_chain_filename(ctx->obj_dir); - hashwrite_be32(f, GRAPH_SIGNATURE); + hold_lock_file_for_update(&lk, lock_name, LOCK_DIE_ON_ERROR); - hashwrite_u8(f, GRAPH_VERSION); - hashwrite_u8(f, oid_version()); - hashwrite_u8(f, num_chunks); - hashwrite_u8(f, 0); /* unused padding byte */ + fd = git_mkstemp_mode(ctx->graph_name, 0444); + if (fd < 0) { + error(_("unable to create '%s'"), ctx->graph_name); + return -1; + } + + f = hashfd(fd, ctx->graph_name); + } else { + hold_lock_file_for_update(&lk, ctx->graph_name, LOCK_DIE_ON_ERROR); + fd = lk.tempfile->fd; + f = hashfd(lk.tempfile->fd, lk.tempfile->filename.buf); + } chunk_ids[0] = GRAPH_CHUNKID_OIDFANOUT; chunk_ids[1] = GRAPH_CHUNKID_OIDLOOKUP; chunk_ids[2] = GRAPH_CHUNKID_DATA; - if (ctx->num_extra_edges) - chunk_ids[3] = GRAPH_CHUNKID_EXTRAEDGES; - else - chunk_ids[3] = 0; - chunk_ids[4] = 0; + if (ctx->num_extra_edges) { + chunk_ids[num_chunks] = GRAPH_CHUNKID_EXTRAEDGES; + num_chunks++; + } + if (ctx->num_commit_graphs_after > 1) { + chunk_ids[num_chunks] = GRAPH_CHUNKID_BASE; + num_chunks++; + } + + chunk_ids[num_chunks] = 0; chunk_offsets[0] = 8 + (num_chunks + 1) * GRAPH_CHUNKLOOKUP_WIDTH; chunk_offsets[1] = chunk_offsets[0] + GRAPH_FANOUT_SIZE; chunk_offsets[2] = chunk_offsets[1] + hashsz * ctx->commits.nr; chunk_offsets[3] = chunk_offsets[2] + (hashsz + 16) * ctx->commits.nr; - chunk_offsets[4] = chunk_offsets[3] + 4 * ctx->num_extra_edges; + + num_chunks = 3; + if (ctx->num_extra_edges) { + chunk_offsets[num_chunks + 1] = chunk_offsets[num_chunks] + + 4 * ctx->num_extra_edges; + num_chunks++; + } + if (ctx->num_commit_graphs_after > 1) { + chunk_offsets[num_chunks + 1] = chunk_offsets[num_chunks] + + hashsz * (ctx->num_commit_graphs_after - 1); + num_chunks++; + } + + hashwrite_be32(f, GRAPH_SIGNATURE); + + hashwrite_u8(f, GRAPH_VERSION); + hashwrite_u8(f, oid_version()); + hashwrite_u8(f, num_chunks); + hashwrite_u8(f, ctx->num_commit_graphs_after - 1); for (i = 0; i <= num_chunks; i++) { uint32_t chunk_write[3]; @@ -1090,23 +1450,317 @@ static int write_commit_graph_file(struct write_commit_graph_context *ctx) write_graph_chunk_data(f, hashsz, ctx); if (ctx->num_extra_edges) write_graph_chunk_extra_edges(f, ctx); + if (ctx->num_commit_graphs_after > 1 && + write_graph_chunk_base(f, ctx)) { + return -1; + } stop_progress(&ctx->progress); strbuf_release(&progress_title); + if (ctx->split && ctx->base_graph_name && ctx->num_commit_graphs_after > 1) { + char *new_base_hash = xstrdup(oid_to_hex(&ctx->new_base_graph->oid)); + char *new_base_name = get_split_graph_filename(ctx->new_base_graph->obj_dir, new_base_hash); + + free(ctx->commit_graph_filenames_after[ctx->num_commit_graphs_after - 2]); + free(ctx->commit_graph_hash_after[ctx->num_commit_graphs_after - 2]); + ctx->commit_graph_filenames_after[ctx->num_commit_graphs_after - 2] = new_base_name; + ctx->commit_graph_hash_after[ctx->num_commit_graphs_after - 2] = new_base_hash; + } + close_commit_graph(ctx->r->objects); - finalize_hashfile(f, NULL, CSUM_HASH_IN_STREAM | CSUM_FSYNC); + finalize_hashfile(f, file_hash.hash, CSUM_HASH_IN_STREAM | CSUM_FSYNC); + + if (ctx->split) { + FILE *chainf = fdopen_lock_file(&lk, "w"); + char *final_graph_name; + int result; + + close(fd); + + if (!chainf) { + error(_("unable to open commit-graph chain file")); + return -1; + } + + if (ctx->base_graph_name) { + const char *dest = ctx->commit_graph_filenames_after[ + ctx->num_commit_graphs_after - 2]; + + if (strcmp(ctx->base_graph_name, dest)) { + result = rename(ctx->base_graph_name, dest); + + if (result) { + error(_("failed to rename base commit-graph file")); + return -1; + } + } + } else { + char *graph_name = get_commit_graph_filename(ctx->obj_dir); + unlink(graph_name); + } + + ctx->commit_graph_hash_after[ctx->num_commit_graphs_after - 1] = xstrdup(oid_to_hex(&file_hash)); + final_graph_name = get_split_graph_filename(ctx->obj_dir, + ctx->commit_graph_hash_after[ctx->num_commit_graphs_after - 1]); + ctx->commit_graph_filenames_after[ctx->num_commit_graphs_after - 1] = final_graph_name; + + result = rename(ctx->graph_name, final_graph_name); + + for (i = 0; i < ctx->num_commit_graphs_after; i++) + fprintf(lk.tempfile->fp, "%s\n", ctx->commit_graph_hash_after[i]); + + if (result) { + error(_("failed to rename temporary commit-graph file")); + return -1; + } + } + commit_lock_file(&lk); return 0; } +static void split_graph_merge_strategy(struct write_commit_graph_context *ctx) +{ + struct commit_graph *g = ctx->r->objects->commit_graph; + uint32_t num_commits = ctx->commits.nr; + uint32_t i; + + int max_commits = 0; + int size_mult = 2; + + if (ctx->split_opts) { + max_commits = ctx->split_opts->max_commits; + size_mult = ctx->split_opts->size_multiple; + } + + g = ctx->r->objects->commit_graph; + ctx->num_commit_graphs_after = ctx->num_commit_graphs_before + 1; + + while (g && (g->num_commits <= size_mult * num_commits || + (max_commits && num_commits > max_commits))) { + if (strcmp(g->obj_dir, ctx->obj_dir)) + break; + + num_commits += g->num_commits; + g = g->base_graph; + + ctx->num_commit_graphs_after--; + } + + ctx->new_base_graph = g; + + if (ctx->num_commit_graphs_after == 2) { + char *old_graph_name = get_commit_graph_filename(g->obj_dir); + + if (!strcmp(g->filename, old_graph_name) && + strcmp(g->obj_dir, ctx->obj_dir)) { + ctx->num_commit_graphs_after = 1; + ctx->new_base_graph = NULL; + } + + free(old_graph_name); + } + + ALLOC_ARRAY(ctx->commit_graph_filenames_after, ctx->num_commit_graphs_after); + ALLOC_ARRAY(ctx->commit_graph_hash_after, ctx->num_commit_graphs_after); + + for (i = 0; i < ctx->num_commit_graphs_after && + i < ctx->num_commit_graphs_before; i++) + ctx->commit_graph_filenames_after[i] = xstrdup(ctx->commit_graph_filenames_before[i]); + + i = ctx->num_commit_graphs_before - 1; + g = ctx->r->objects->commit_graph; + + while (g) { + if (i < ctx->num_commit_graphs_after) + ctx->commit_graph_hash_after[i] = xstrdup(oid_to_hex(&g->oid)); + + i--; + g = g->base_graph; + } +} + +static void merge_commit_graph(struct write_commit_graph_context *ctx, + struct commit_graph *g) +{ + uint32_t i; + uint32_t offset = g->num_commits_in_base; + + ALLOC_GROW(ctx->commits.list, ctx->commits.nr + g->num_commits, ctx->commits.alloc); + + for (i = 0; i < g->num_commits; i++) { + struct object_id oid; + struct commit *result; + + display_progress(ctx->progress, i + 1); + + load_oid_from_graph(g, i + offset, &oid); + + /* only add commits if they still exist in the repo */ + result = lookup_commit_reference_gently(ctx->r, &oid, 1); + + if (result) { + ctx->commits.list[ctx->commits.nr] = result; + ctx->commits.nr++; + } + } +} + +static int commit_compare(const void *_a, const void *_b) +{ + const struct commit *a = *(const struct commit **)_a; + const struct commit *b = *(const struct commit **)_b; + return oidcmp(&a->object.oid, &b->object.oid); +} + +static void sort_and_scan_merged_commits(struct write_commit_graph_context *ctx) +{ + uint32_t i, num_parents; + struct commit_list *parent; + + if (ctx->report_progress) + ctx->progress = start_delayed_progress( + _("Scanning merged commits"), + ctx->commits.nr); + + QSORT(ctx->commits.list, ctx->commits.nr, commit_compare); + + ctx->num_extra_edges = 0; + for (i = 0; i < ctx->commits.nr; i++) { + display_progress(ctx->progress, i); + + if (i && oideq(&ctx->commits.list[i - 1]->object.oid, + &ctx->commits.list[i]->object.oid)) { + die(_("unexpected duplicate commit id %s"), + oid_to_hex(&ctx->commits.list[i]->object.oid)); + } else { + num_parents = 0; + for (parent = ctx->commits.list[i]->parents; parent; parent = parent->next) + num_parents++; + + if (num_parents > 2) + ctx->num_extra_edges += num_parents - 1; + } + } + + stop_progress(&ctx->progress); +} + +static void merge_commit_graphs(struct write_commit_graph_context *ctx) +{ + struct commit_graph *g = ctx->r->objects->commit_graph; + uint32_t current_graph_number = ctx->num_commit_graphs_before; + struct strbuf progress_title = STRBUF_INIT; + + while (g && current_graph_number >= ctx->num_commit_graphs_after) { + current_graph_number--; + + if (ctx->report_progress) { + strbuf_addstr(&progress_title, _("Merging commit-graph")); + ctx->progress = start_delayed_progress(progress_title.buf, 0); + } + + merge_commit_graph(ctx, g); + stop_progress(&ctx->progress); + strbuf_release(&progress_title); + + g = g->base_graph; + } + + if (g) { + ctx->new_base_graph = g; + ctx->new_num_commits_in_base = g->num_commits + g->num_commits_in_base; + } + + if (ctx->new_base_graph) + ctx->base_graph_name = xstrdup(ctx->new_base_graph->filename); + + sort_and_scan_merged_commits(ctx); +} + +static void mark_commit_graphs(struct write_commit_graph_context *ctx) +{ + uint32_t i; + time_t now = time(NULL); + + for (i = ctx->num_commit_graphs_after - 1; i < ctx->num_commit_graphs_before; i++) { + struct stat st; + struct utimbuf updated_time; + + stat(ctx->commit_graph_filenames_before[i], &st); + + updated_time.actime = st.st_atime; + updated_time.modtime = now; + utime(ctx->commit_graph_filenames_before[i], &updated_time); + } +} + +static void expire_commit_graphs(struct write_commit_graph_context *ctx) +{ + struct strbuf path = STRBUF_INIT; + DIR *dir; + struct dirent *de; + size_t dirnamelen; + timestamp_t expire_time = time(NULL); + + if (ctx->split_opts && ctx->split_opts->expire_time) + expire_time -= ctx->split_opts->expire_time; + if (!ctx->split) { + char *chain_file_name = get_chain_filename(ctx->obj_dir); + unlink(chain_file_name); + free(chain_file_name); + ctx->num_commit_graphs_after = 0; + } + + strbuf_addstr(&path, ctx->obj_dir); + strbuf_addstr(&path, "/info/commit-graphs"); + dir = opendir(path.buf); + + if (!dir) + goto out; + + strbuf_addch(&path, '/'); + dirnamelen = path.len; + while ((de = readdir(dir)) != NULL) { + struct stat st; + uint32_t i, found = 0; + + strbuf_setlen(&path, dirnamelen); + strbuf_addstr(&path, de->d_name); + + stat(path.buf, &st); + + if (st.st_mtime > expire_time) + continue; + if (path.len < 6 || strcmp(path.buf + path.len - 6, ".graph")) + continue; + + for (i = 0; i < ctx->num_commit_graphs_after; i++) { + if (!strcmp(ctx->commit_graph_filenames_after[i], + path.buf)) { + found = 1; + break; + } + } + + if (!found) + unlink(path.buf); + } + +out: + strbuf_release(&path); +} + int write_commit_graph(const char *obj_dir, struct string_list *pack_indexes, struct string_list *commit_hex, - unsigned int flags) + enum commit_graph_write_flags flags, + const struct split_commit_graph_opts *split_opts) { struct write_commit_graph_context *ctx; uint32_t i, count_distinct = 0; + size_t len; int res = 0; if (!commit_graph_compatible(the_repository)) @@ -1114,13 +1768,49 @@ int write_commit_graph(const char *obj_dir, ctx = xcalloc(1, sizeof(struct write_commit_graph_context)); ctx->r = the_repository; - ctx->obj_dir = obj_dir; - ctx->append = flags & COMMIT_GRAPH_APPEND ? 1 : 0; - ctx->report_progress = flags & COMMIT_GRAPH_PROGRESS ? 1 : 0; + + /* normalize object dir with no trailing slash */ + ctx->obj_dir = xmallocz(strlen(obj_dir) + 1); + normalize_path_copy(ctx->obj_dir, obj_dir); + len = strlen(ctx->obj_dir); + if (len && ctx->obj_dir[len - 1] == '/') + ctx->obj_dir[len - 1] = 0; + + ctx->append = flags & COMMIT_GRAPH_WRITE_APPEND ? 1 : 0; + ctx->report_progress = flags & COMMIT_GRAPH_WRITE_PROGRESS ? 1 : 0; + ctx->split = flags & COMMIT_GRAPH_WRITE_SPLIT ? 1 : 0; + ctx->check_oids = flags & COMMIT_GRAPH_WRITE_CHECK_OIDS ? 1 : 0; + ctx->split_opts = split_opts; + + if (ctx->split) { + struct commit_graph *g; + prepare_commit_graph(ctx->r); + + g = ctx->r->objects->commit_graph; + + while (g) { + ctx->num_commit_graphs_before++; + g = g->base_graph; + } + + if (ctx->num_commit_graphs_before) { + ALLOC_ARRAY(ctx->commit_graph_filenames_before, ctx->num_commit_graphs_before); + i = ctx->num_commit_graphs_before; + g = ctx->r->objects->commit_graph; + + while (g) { + ctx->commit_graph_filenames_before[--i] = xstrdup(g->filename); + g = g->base_graph; + } + } + } ctx->approx_nr_objects = approximate_object_count(); ctx->oids.alloc = ctx->approx_nr_objects / 32; + if (ctx->split && split_opts && ctx->oids.alloc > split_opts->max_commits) + ctx->oids.alloc = split_opts->max_commits; + if (ctx->append) { prepare_commit_graph_one(ctx->r, ctx->obj_dir); if (ctx->r->objects->commit_graph) @@ -1144,8 +1834,10 @@ int write_commit_graph(const char *obj_dir, goto cleanup; } - if (commit_hex) - fill_oids_from_commit_hex(ctx, commit_hex); + if (commit_hex) { + if ((res = fill_oids_from_commit_hex(ctx, commit_hex))) + goto cleanup; + } if (!pack_indexes && !commit_hex) fill_oids_from_all_packs(ctx); @@ -1171,14 +1863,45 @@ int write_commit_graph(const char *obj_dir, goto cleanup; } + if (!ctx->commits.nr) + goto cleanup; + + if (ctx->split) { + split_graph_merge_strategy(ctx); + + merge_commit_graphs(ctx); + } else + ctx->num_commit_graphs_after = 1; + compute_generation_numbers(ctx); res = write_commit_graph_file(ctx); + if (ctx->split) + mark_commit_graphs(ctx); + + expire_commit_graphs(ctx); + cleanup: free(ctx->graph_name); free(ctx->commits.list); free(ctx->oids.list); + free(ctx->obj_dir); + + if (ctx->commit_graph_filenames_after) { + for (i = 0; i < ctx->num_commit_graphs_after; i++) { + free(ctx->commit_graph_filenames_after[i]); + free(ctx->commit_graph_hash_after[i]); + } + + for (i = 0; i < ctx->num_commit_graphs_before; i++) + free(ctx->commit_graph_filenames_before[i]); + + free(ctx->commit_graph_filenames_after); + free(ctx->commit_graph_filenames_before); + free(ctx->commit_graph_hash_after); + } + free(ctx); return res; @@ -1201,7 +1924,7 @@ static void graph_report(const char *fmt, ...) #define GENERATION_ZERO_EXISTS 1 #define GENERATION_NUMBER_EXISTS 2 -int verify_commit_graph(struct repository *r, struct commit_graph *g) +int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags) { uint32_t i, cur_fanout_pos = 0; struct object_id prev_oid, cur_oid, checksum; @@ -1209,6 +1932,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g) struct hashfile *f; int devnull; struct progress *progress = NULL; + int local_error = 0; if (!g) { graph_report("no commit-graph file loaded"); @@ -1279,7 +2003,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g) hashcpy(cur_oid.hash, g->chunk_oid_lookup + g->hash_len * i); graph_commit = lookup_commit(r, &cur_oid); - odb_commit = (struct commit *)create_object(r, cur_oid.hash, alloc_commit_node(r)); + odb_commit = (struct commit *)create_object(r, &cur_oid, alloc_commit_node(r)); if (parse_commit_internal(odb_commit, 0, 0)) { graph_report(_("failed to parse commit %s from object database for commit-graph"), oid_to_hex(&cur_oid)); @@ -1303,6 +2027,9 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g) break; } + /* parse parent in case it is in a base graph */ + parse_commit_in_graph_one(r, g, graph_parents->item); + if (!oideq(&graph_parents->item->object.oid, &odb_parents->item->object.oid)) graph_report(_("commit-graph parent for %s is %s != %s"), oid_to_hex(&cur_oid), @@ -1354,7 +2081,12 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g) } stop_progress(&progress); - return verify_commit_graph_error; + local_error = verify_commit_graph_error; + + if (!(flags & COMMIT_GRAPH_VERIFY_SHALLOW) && g->base_graph) + local_error |= verify_commit_graph(r, g->base_graph, flags); + + return local_error; } void free_commit_graph(struct commit_graph *g) @@ -1366,5 +2098,6 @@ void free_commit_graph(struct commit_graph *g) g->data = NULL; close(g->graph_fd); } + free(g->filename); free(g); } diff --git a/commit-graph.h b/commit-graph.h index 390c7f6961..486e64e591 100644 --- a/commit-graph.h +++ b/commit-graph.h @@ -47,15 +47,21 @@ struct commit_graph { unsigned char num_chunks; uint32_t num_commits; struct object_id oid; + char *filename; + const char *obj_dir; + + uint32_t num_commits_in_base; + struct commit_graph *base_graph; const uint32_t *chunk_oid_fanout; const unsigned char *chunk_oid_lookup; const unsigned char *chunk_commit_data; const unsigned char *chunk_extra_edges; + const unsigned char *chunk_base_graphs; }; struct commit_graph *load_commit_graph_one_fd_st(int fd, struct stat *st); - +struct commit_graph *read_commit_graph_one(struct repository *r, const char *obj_dir); struct commit_graph *parse_commit_graph(void *graph_map, int fd, size_t graph_size); @@ -65,8 +71,19 @@ struct commit_graph *parse_commit_graph(void *graph_map, int fd, */ int generation_numbers_enabled(struct repository *r); -#define COMMIT_GRAPH_APPEND (1 << 0) -#define COMMIT_GRAPH_PROGRESS (1 << 1) +enum commit_graph_write_flags { + COMMIT_GRAPH_WRITE_APPEND = (1 << 0), + COMMIT_GRAPH_WRITE_PROGRESS = (1 << 1), + COMMIT_GRAPH_WRITE_SPLIT = (1 << 2), + /* Make sure that each OID in the input is a valid commit OID. */ + COMMIT_GRAPH_WRITE_CHECK_OIDS = (1 << 3) +}; + +struct split_commit_graph_opts { + int size_multiple; + int max_commits; + timestamp_t expire_time; +}; /* * The write_commit_graph* methods return zero on success @@ -74,13 +91,18 @@ int generation_numbers_enabled(struct repository *r); * is not compatible with the commit-graph feature, then the * methods will return 0 without writing a commit-graph. */ -int write_commit_graph_reachable(const char *obj_dir, unsigned int flags); +int write_commit_graph_reachable(const char *obj_dir, + enum commit_graph_write_flags flags, + const struct split_commit_graph_opts *split_opts); int write_commit_graph(const char *obj_dir, struct string_list *pack_indexes, struct string_list *commit_hex, - unsigned int flags); + enum commit_graph_write_flags flags, + const struct split_commit_graph_opts *split_opts); + +#define COMMIT_GRAPH_VERIFY_SHALLOW (1 << 0) -int verify_commit_graph(struct repository *r, struct commit_graph *g); +int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags); void close_commit_graph(struct raw_object_store *); void free_commit_graph(struct commit_graph *); @@ -57,10 +57,9 @@ struct commit *lookup_commit_or_die(const struct object_id *oid, const char *ref struct commit *lookup_commit(struct repository *r, const struct object_id *oid) { - struct object *obj = lookup_object(r, oid->hash); + struct object *obj = lookup_object(r, oid); if (!obj) - return create_object(r, oid->hash, - alloc_commit_node(r)); + return create_object(r, oid, alloc_commit_node(r)); return object_as_type(r, obj, OBJ_COMMIT, 0); } diff --git a/common-main.c b/common-main.c index 582a7b1886..71e21dd20a 100644 --- a/common-main.c +++ b/common-main.c @@ -39,16 +39,16 @@ int main(int argc, const char **argv) git_resolve_executable_dir(argv[0]); - trace2_initialize(); - trace2_cmd_start(argv); - trace2_collect_process_info(TRACE2_PROCESS_INFO_STARTUP); - git_setup_gettext(); initialize_the_repository(); attr_start(); + trace2_initialize(); + trace2_cmd_start(argv); + trace2_collect_process_info(TRACE2_PROCESS_INFO_STARTUP); + result = cmd_main(argc, argv); trace2_cmd_exit(result); diff --git a/compat/mingw.c b/compat/mingw.c index 6d7fc07a48..a3b1e9e3bb 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1265,7 +1265,7 @@ static wchar_t *make_environment_block(char **deltaenv) } ALLOC_ARRAY(result, size); - memcpy(result, wenv, size * sizeof(*wenv)); + COPY_ARRAY(result, wenv, size); FreeEnvironmentStringsW(wenv); return result; } @@ -1309,7 +1309,7 @@ static wchar_t *make_environment_block(char **deltaenv) continue; size = wcslen(array[i]) + 1; - memcpy(p, array[i], size * sizeof(*p)); + COPY_ARRAY(p, array[i], size); p += size; } *p = L'\0'; @@ -1407,7 +1407,7 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen do_unset_environment_variables(); /* Determine whether or not we are associated to a console */ - cons = CreateFile("CONOUT$", GENERIC_WRITE, + cons = CreateFileW(L"CONOUT$", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (cons == INVALID_HANDLE_VALUE) { @@ -1555,7 +1555,10 @@ static int try_shell_exec(const char *cmd, char *const *argv) if (prog) { int exec_id; int argc = 0; - const char **argv2; +#ifndef _MSC_VER + const +#endif + char **argv2; while (argv[argc]) argc++; ALLOC_ARRAY(argv2, argc + 1); argv2[0] = (char *)cmd; /* full path to the script file */ @@ -1948,13 +1951,19 @@ struct passwd *getpwuid(int uid) static unsigned initialized; static char user_name[100]; static struct passwd *p; + wchar_t buf[100]; DWORD len; if (initialized) return p; - len = sizeof(user_name); - if (!GetUserName(user_name, &len)) { + len = ARRAY_SIZE(buf); + if (!GetUserNameW(buf, &len)) { + initialized = 1; + return NULL; + } + + if (xwcstoutf(user_name, buf, sizeof(user_name)) < 0) { initialized = 1; return NULL; } @@ -2118,8 +2127,33 @@ int mingw_raise(int sig) sigint_fn(SIGINT); return 0; +#if defined(_MSC_VER) + case SIGILL: + case SIGFPE: + case SIGSEGV: + case SIGTERM: + case SIGBREAK: + case SIGABRT: + case SIGABRT_COMPAT: + /* + * The <signal.h> header in the MS C Runtime defines 8 signals + * as being supported on the platform. Anything else causes an + * "Invalid signal or error" (which in DEBUG builds causes the + * Abort/Retry/Ignore dialog). We by-pass the CRT for things we + * already know will fail. + */ + return raise(sig); + default: + errno = EINVAL; + return -1; + +#else + default: return raise(sig); + +#endif + } } @@ -2301,20 +2335,39 @@ static void setup_windows_environment(void) /* simulate TERM to enable auto-color (see color.c) */ if (!getenv("TERM")) setenv("TERM", "cygwin", 1); + + /* calculate HOME if not set */ + if (!getenv("HOME")) { + /* + * try $HOMEDRIVE$HOMEPATH - the home share may be a network + * location, thus also check if the path exists (i.e. is not + * disconnected) + */ + if ((tmp = getenv("HOMEDRIVE"))) { + struct strbuf buf = STRBUF_INIT; + strbuf_addstr(&buf, tmp); + if ((tmp = getenv("HOMEPATH"))) { + strbuf_addstr(&buf, tmp); + if (is_directory(buf.buf)) + setenv("HOME", buf.buf, 1); + else + tmp = NULL; /* use $USERPROFILE */ + } + strbuf_release(&buf); + } + /* use $USERPROFILE if the home share is not available */ + if (!tmp && (tmp = getenv("USERPROFILE"))) + setenv("HOME", tmp, 1); + } } +#if !defined(_MSC_VER) /* * Disable MSVCRT command line wildcard expansion (__getmainargs called from * mingw startup code, see init.c in mingw runtime). */ int _CRT_glob = 0; - -typedef struct { - int newmode; -} _startupinfo; - -extern int __wgetmainargs(int *argc, wchar_t ***argv, wchar_t ***env, int glob, - _startupinfo *si); +#endif static NORETURN void die_startup(void) { @@ -2392,21 +2445,40 @@ static void maybe_redirect_std_handles(void) GENERIC_WRITE, FILE_FLAG_NO_BUFFERING); } -void mingw_startup(void) +#ifdef _MSC_VER +#ifdef _DEBUG +#include <crtdbg.h> +#endif +#endif + +/* + * We implement wmain() and compile with -municode, which would + * normally ignore main(), but we call the latter from the former + * so that we can handle non-ASCII command-line parameters + * appropriately. + * + * To be more compatible with the core git code, we convert + * argv into UTF8 and pass them directly to main(). + */ +int wmain(int argc, const wchar_t **wargv) { - int i, maxlen, argc; - char *buffer; - wchar_t **wenv, **wargv; - _startupinfo si; + int i, maxlen, exit_status; + char *buffer, **save; + const char **argv; trace2_initialize_clock(); - maybe_redirect_std_handles(); +#ifdef _MSC_VER +#ifdef _DEBUG + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG); +#endif - /* get wide char arguments and environment */ - si.newmode = 0; - if (__wgetmainargs(&argc, &wargv, &wenv, _CRT_glob, &si) < 0) - die_startup(); +#ifdef USE_MSVC_CRTDBG + _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); +#endif +#endif + + maybe_redirect_std_handles(); /* determine size of argv and environ conversion buffer */ maxlen = wcslen(wargv[0]); @@ -2417,9 +2489,16 @@ void mingw_startup(void) maxlen = 3 * maxlen + 1; buffer = malloc_startup(maxlen); - /* convert command line arguments and environment to UTF-8 */ + /* + * Create a UTF-8 version of w_argv. Also create a "save" copy + * to remember all the string pointers because parse_options() + * will remove claimed items from the argv that we pass down. + */ + ALLOC_ARRAY(argv, argc + 1); + ALLOC_ARRAY(save, argc + 1); for (i = 0; i < argc; i++) - __argv[i] = wcstoutfdup_startup(buffer, wargv[i], maxlen); + argv[i] = save[i] = wcstoutfdup_startup(buffer, wargv[i], maxlen); + argv[i] = save[i] = NULL; free(buffer); /* fix Windows specific environment settings */ @@ -2438,6 +2517,16 @@ void mingw_startup(void) /* initialize Unicode console */ winansi_init(); + + /* invoke the real main() using our utf8 version of argv. */ + exit_status = main(argc, argv); + + for (i = 0; i < argc; i++) + free(save[i]); + free(save); + free(argv); + + return exit_status; } int uname(struct utsname *buf) diff --git a/compat/mingw.h b/compat/mingw.h index 593bdbffe6..9ad204c57c 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -11,7 +11,7 @@ typedef _sigset_t sigset_t; #undef _POSIX_THREAD_SAFE_FUNCTIONS #endif -extern int mingw_core_config(const char *var, const char *value, void *cb); +int mingw_core_config(const char *var, const char *value, void *cb); #define platform_core_config mingw_core_config /* @@ -352,11 +352,13 @@ static inline int getrlimit(int resource, struct rlimit *rlp) #ifndef __MINGW64_VERSION_MAJOR #define off_t off64_t #define lseek _lseeki64 +#ifndef _MSC_VER struct timespec { time_t tv_sec; long tv_nsec; }; #endif +#endif struct mingw_stat { _dev_t st_dev; @@ -441,7 +443,7 @@ static inline void convert_slashes(char *path) *path = '/'; } #define PATH_SEP ';' -extern char *mingw_query_user_email(void); +char *mingw_query_user_email(void); #define query_user_email mingw_query_user_email #if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800) #define PRIuMAX "I64u" @@ -562,20 +564,20 @@ int xwcstoutf(char *utf, const wchar_t *wcs, size_t utflen); extern CRITICAL_SECTION pinfo_cs; /* - * A replacement of main() that adds win32 specific initialization. + * Git, like most portable C applications, implements a main() function. On + * Windows, this main() function would receive parameters encoded in the + * current locale, but Git for Windows would prefer UTF-8 encoded parameters. + * + * To make that happen, we still declare main() here, and then declare and + * implement wmain() (which is the Unicode variant of main()) and compile with + * -municode. This wmain() function reencodes the parameters from UTF-16 to + * UTF-8 format, sets up a couple of other things as required on Windows, and + * then hands off to the main() function. */ - -void mingw_startup(void); -#define main(c,v) dummy_decl_mingw_main(void); \ -static int mingw_main(c,v); \ -int main(int argc, const char **argv) \ -{ \ - mingw_startup(); \ - return mingw_main(__argc, (void *)__argv); \ -} \ -static int mingw_main(c,v) +int wmain(int argc, const wchar_t **w_argv); +int main(int argc, const char **argv); /* * Used by Pthread API implementation for Windows */ -extern int err_win_to_posix(DWORD winerr); +int err_win_to_posix(DWORD winerr); diff --git a/compat/msvc.h b/compat/msvc.h index 29a8ce8204..1d7a8c6145 100644 --- a/compat/msvc.h +++ b/compat/msvc.h @@ -6,6 +6,10 @@ #include <malloc.h> #include <io.h> +#pragma warning(disable: 4018) /* signed/unsigned comparison */ +#pragma warning(disable: 4244) /* type conversion, possible loss of data */ +#pragma warning(disable: 4090) /* 'function' : different 'const' qualifiers (ALLOC_GROW etc.)*/ + /* porting function */ #define inline __inline #define __inline__ __inline @@ -18,6 +22,12 @@ #undef ERROR +#define ftello _ftelli64 + +typedef int sigset_t; +/* open for reading, writing, or both (not in fcntl.h) */ +#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR) + #include "compat/mingw.h" #endif diff --git a/compat/nedmalloc/malloc.c.h b/compat/nedmalloc/malloc.c.h index b833ff9225..9134349590 100644 --- a/compat/nedmalloc/malloc.c.h +++ b/compat/nedmalloc/malloc.c.h @@ -1755,10 +1755,10 @@ static FORCEINLINE void pthread_release_lock (MLOCK_T *sl) { assert(sl->l != 0); assert(sl->threadid == CURRENT_THREAD); if (--sl->c == 0) { - sl->threadid = 0; volatile unsigned int* lp = &sl->l; int prev = 0; int ret; + sl->threadid = 0; __asm__ __volatile__ ("lock; xchgl %0, %1" : "=r" (ret) : "m" (*(lp)), "0"(prev) @@ -3066,7 +3066,7 @@ static int init_mparams(void) { #if !ONLY_MSPACES /* Set up lock for main malloc area */ gm->mflags = mparams.default_mflags; - INITIAL_LOCK(&gm->mutex); + (void)INITIAL_LOCK(&gm->mutex); #endif #if (FOOTERS && !INSECURE) @@ -5017,7 +5017,7 @@ static mstate init_user_mstate(char* tbase, size_t tsize) { mchunkptr msp = align_as_chunk(tbase); mstate m = (mstate)(chunk2mem(msp)); memset(m, 0, msize); - INITIAL_LOCK(&m->mutex); + (void)INITIAL_LOCK(&m->mutex); msp->head = (msize|PINUSE_BIT|CINUSE_BIT); m->seg.base = m->least_addr = tbase; m->seg.size = m->footprint = m->max_footprint = tsize; diff --git a/compat/obstack.h b/compat/obstack.h index ced94d0118..ae36ed6a66 100644 --- a/compat/obstack.h +++ b/compat/obstack.h @@ -496,7 +496,7 @@ __extension__ \ ( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \ ((((h)->temp.tempint > 0 \ && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \ - ? (int) ((h)->next_free = (h)->object_base \ + ? (ptrdiff_t) ((h)->next_free = (h)->object_base \ = (h)->temp.tempint + (char *) (h)->chunk) \ : (((obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0))) diff --git a/compat/poll/poll.c b/compat/poll/poll.c index 8b07edb0fe..0e95dd493c 100644 --- a/compat/poll/poll.c +++ b/compat/poll/poll.c @@ -150,7 +150,7 @@ win32_compute_revents (HANDLE h, int *p_sought) if (!once_only) { NtQueryInformationFile = (PNtQueryInformationFile)(void (*)(void)) - GetProcAddress (GetModuleHandle ("ntdll.dll"), + GetProcAddress (GetModuleHandleW (L"ntdll.dll"), "NtQueryInformationFile"); once_only = TRUE; } diff --git a/compat/vcbuild/.gitignore b/compat/vcbuild/.gitignore new file mode 100644 index 0000000000..8f8b794ef3 --- /dev/null +++ b/compat/vcbuild/.gitignore @@ -0,0 +1,3 @@ +/vcpkg/ +/MSVC-DEFS-GEN +/VCPKG-DEFS diff --git a/compat/vcbuild/README b/compat/vcbuild/README index 60fd873fe8..1b6dabf5a2 100644 --- a/compat/vcbuild/README +++ b/compat/vcbuild/README @@ -1,3 +1,65 @@ +The Steps to Build Git with VS2015 or VS2017 from the command line. + +1. Install the "vcpkg" open source package manager and build essential + third-party libraries. The steps for this have been captured in a + set of convenience scripts. These can be run from a stock Command + Prompt or from an SDK bash window: + + $ cd <repo_root> + $ ./compat/vcbuild/vcpkg_install.bat + + The vcpkg tools and all of the third-party sources will be installed + in this folder: + <repo_root>/compat/vcbuild/vcpkg/ + + A file will be created with a set of Makefile macros pointing to a + unified "include", "lib", and "bin" directory (release and debug) for + all of the required packages. This file will be included by the main + Makefile: + <repo_root>/compat/vcbuild/MSVC-DEFS-GEN + +2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo + root to make it easier to run and debug git.exe without having to + manipulate your PATH. This is especially true for debug sessions in + Visual Studio. + + Use ONE of the following forms which should match how you want to + compile git.exe. + + $ ./compat/vcbuild/vcpkg_copy_packages.bat debug + $ ./compat/vcbuild/vcpkg_copy_packages.bat release + +3. Build git using MSVC from an SDK bash window using one of the + following commands: + + $ make MSVC=1 + $ make MSVC=1 DEBUG=1 + +================================================================ + +Alternatively, run `make vcxproj` and then load the generated `git.sln` in +Visual Studio. The initial build will install the vcpkg system and build the +dependencies automatically. This will take a while. + +Instead of generating the `git.sln` file yourself (which requires a full Git +for Windows SDK), you may want to consider fetching the `vs/master` branch of +https://github.com/git-for-windows/git instead (which is updated automatically +via CI running `make vcxproj`). The `vs/master` branch does not require a Git +for Windows to build, but you can run the test scripts in a regular Git Bash. + +Note that `make vcxproj` will automatically add and commit the generated `.sln` +and `.vcxproj` files to the repo. This is necessary to allow building a +fully-testable Git in Visual Studio, where a regular Git Bash can be used to +run the test scripts (as opposed to a full Git for Windows SDK): a number of +build targets, such as Git commands implemented as Unix shell scripts (where +`@@SHELL_PATH@@` and other placeholders are interpolated) require a full-blown +Git for Windows SDK (which is about 10x the size of a regular Git for Windows +installation). + +If your plan is to open a Pull Request with Git for Windows, it is a good idea +to drop this commit before submitting. + +================================================================ The Steps of Build Git with VS2008 1. You need the build environment, which contains the Git dependencies diff --git a/compat/vcbuild/find_vs_env.bat b/compat/vcbuild/find_vs_env.bat new file mode 100644 index 0000000000..40194dd230 --- /dev/null +++ b/compat/vcbuild/find_vs_env.bat @@ -0,0 +1,168 @@ +@ECHO OFF +REM ================================================================ +REM You can use either GCC (the default) or MSVC to build git +REM using the GIT-SDK command line tools. +REM $ make +REM $ make MSVC=1 +REM +REM GIT-SDK BASH windows inherit environment variables with all of +REM the bin/lib/include paths for GCC. It DOES NOT inherit values +REM for the corresponding MSVC tools. +REM +REM During normal (non-git) Windows development, you launch one +REM of the provided "developer command prompts" to set environment +REM variables for the MSVC tools. +REM +REM Therefore, to allow MSVC command line builds of git from BASH +REM and MAKE, we must blend these two different worlds. This script +REM attempts to do that. +REM ================================================================ +REM This BAT file starts in a plain (non-developer) command prompt, +REM searches for the "best" commmand prompt setup script, installs +REM it into the current CMD process, and exports the various MSVC +REM environment variables for use by MAKE. +REM +REM The output of this script should be written to a make "include +REM file" and referenced by the top-level Makefile. +REM +REM See "config.mak.uname" (look for compat/vcbuild/MSVC-DEFS-GEN). +REM ================================================================ +REM The provided command prompts are custom to each VS release and +REM filled with lots of internal knowledge (such as Registry settings); +REM even their names vary by release, so it is not appropriate for us +REM to look inside them. Rather, just run them in a subordinate +REM process and extract the settings we need. +REM ================================================================ +REM +REM Current (VS2017 and beyond) +REM ------------------- +REM Visual Studio 2017 introduced a new installation layout and +REM support for side-by-side installation of multiple versions of +REM VS2017. Furthermore, these can all coexist with installations +REM of previous versions of VS (which have a completely different +REM layout on disk). +REM +REM VS2017 Update 2 introduced a "vswhere.exe" command: +REM https://github.com/Microsoft/vswhere +REM https://blogs.msdn.microsoft.com/heaths/2017/02/25/vswhere-available/ +REM https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/ +REM +REM VS2015 +REM ------ +REM Visual Studio 2015 uses the traditional VcVarsAll. +REM +REM Earlier Versions +REM ---------------- +REM Currently unsupported. +REM +REM ================================================================ +REM Note: Throughout this script we use "dir <path> && <cmd>" rather +REM than "if exist <path>" because of script problems with pathnames +REM containing spaces. +REM ================================================================ + +REM Sanitize PATH to prevent git-sdk paths from confusing "wmic.exe" +REM (called internally in some of the system BAT files). +SET PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; + +REM ================================================================ + +:current + SET vs_where=C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe + dir "%vs_where%" >nul 2>nul && GOTO have_vs_where + GOTO not_2017 + +:have_vs_where + REM Try to use VsWhere to get the location of VsDevCmd. + + REM Keep VsDevCmd from cd'ing away. + SET VSCMD_START_DIR=. + + REM Get the root of the VS product installation. + FOR /F "usebackq tokens=*" %%i IN (`"%vs_where%" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath`) DO @SET vs_ip=%%i + + SET vs_devcmd=%vs_ip%\Common7\Tools\VsDevCmd.bat + dir "%vs_devcmd%" >nul 2>nul && GOTO have_vs_devcmd + GOTO not_2017 + +:have_vs_devcmd + REM Use VsDevCmd to setup the environment of this process. + REM Setup CL for building 64-bit apps using 64-bit tools. + @call "%vs_devcmd%" -no_logo -arch=x64 -host_arch=x64 + + SET tgt=%VSCMD_ARG_TGT_ARCH% + + SET mn=%VCToolsInstallDir% + SET msvc_includes=-I"%mn%INCLUDE" + SET msvc_libs=-L"%mn%lib\%tgt%" + SET msvc_bin_dir=%mn%bin\Host%VSCMD_ARG_HOST_ARCH%\%tgt% + + SET sdk_dir=%WindowsSdkDir% + SET sdk_ver=%WindowsSDKVersion% + SET si=%sdk_dir%Include\%sdk_ver% + SET sdk_includes=-I"%si%ucrt" -I"%si%um" -I"%si%shared" + SET sl=%sdk_dir%lib\%sdk_ver% + SET sdk_libs=-L"%sl%ucrt\%tgt%" -L"%sl%um\%tgt%" + + SET vs_ver=%VisualStudioVersion% + + GOTO print_vars + +REM ================================================================ + +:not_2017 + REM See if VS2015 is installed. + + SET vs_2015_bat=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat + dir "%vs_2015_bat%" >nul 2>nul && GOTO have_vs_2015 + GOTO not_2015 + +:have_vs_2015 + REM Use VcVarsAll like the "x64 Native" command prompt. + REM Setup CL for building 64-bit apps using 64-bit tools. + @call "%vs_2015_bat%" amd64 + + REM Note that in VS2015 they use "x64" in some contexts and "amd64" in others. + SET mn=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ + SET msvc_includes=-I"%mn%INCLUDE" + SET msvc_libs=-L"%mn%lib\amd64" + SET msvc_bin_dir=%mn%bin\amd64 + + SET sdk_dir=%WindowsSdkDir% + SET sdk_ver=%WindowsSDKVersion% + SET si=%sdk_dir%Include\%sdk_ver% + SET sdk_includes=-I"%si%ucrt" -I"%si%um" -I"%si%shared" -I"%si%winrt" + SET sl=%sdk_dir%lib\%sdk_ver% + SET sdk_libs=-L"%sl%ucrt\x64" -L"%sl%um\x64" + + SET vs_ver=%VisualStudioVersion% + + GOTO print_vars + +REM ================================================================ + +:not_2015 + echo "ERROR: unsupported VS version (older than VS2015)" >&2 + EXIT /B 1 + +REM ================================================================ + +:print_vars + REM Dump the essential vars to stdout to allow the main + REM Makefile to include it. See config.mak.uname. + REM Include DOS-style and BASH-style path for bin dir. + + echo msvc_bin_dir=%msvc_bin_dir% + SET X1=%msvc_bin_dir:C:=/C% + SET X2=%X1:\=/% + echo msvc_bin_dir_msys=%X2% + + echo msvc_includes=%msvc_includes% + echo msvc_libs=%msvc_libs% + + echo sdk_includes=%sdk_includes% + echo sdk_libs=%sdk_libs% + + echo vs_ver=%vs_ver% + + EXIT /B 0 diff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl index a87d0da512..c7b021bfac 100755 --- a/compat/vcbuild/scripts/clink.pl +++ b/compat/vcbuild/scripts/clink.pl @@ -12,32 +12,62 @@ use strict; my @args = (); my @cflags = (); +my @lflags = (); my $is_linking = 0; +my $is_debug = 0; while (@ARGV) { my $arg = shift @ARGV; - if ("$arg" =~ /^-[DIMGO]/) { + if ("$arg" eq "-DDEBUG") { + # Some vcpkg-based libraries have different names for release + # and debug versions. This hack assumes that -DDEBUG comes + # before any "-l*" flags. + $is_debug = 1; + } + if ("$arg" =~ /^-[DIMGOZ]/) { push(@cflags, $arg); } elsif ("$arg" eq "-o") { my $file_out = shift @ARGV; if ("$file_out" =~ /exe$/) { $is_linking = 1; + # Create foo.exe and foo.pdb push(@args, "-OUT:$file_out"); } else { + # Create foo.o and foo.o.pdb push(@args, "-Fo$file_out"); + push(@args, "-Fd$file_out.pdb"); } } elsif ("$arg" eq "-lz") { + if ($is_debug) { + push(@args, "zlibd.lib"); + } else{ push(@args, "zlib.lib"); + } } elsif ("$arg" eq "-liconv") { - push(@args, "iconv.lib"); + push(@args, "libiconv.lib"); } elsif ("$arg" eq "-lcrypto") { push(@args, "libeay32.lib"); } elsif ("$arg" eq "-lssl") { push(@args, "ssleay32.lib"); } elsif ("$arg" eq "-lcurl") { - push(@args, "libcurl.lib"); + my $lib = ""; + # Newer vcpkg definitions call this libcurl_imp.lib; Do we + # need to use that instead? + foreach my $flag (@lflags) { + if ($flag =~ /^-LIBPATH:(.*)/) { + foreach my $l ("libcurl_imp.lib", "libcurl.lib") { + if (-f "$1/$l") { + $lib = $l; + last; + } + } + } + } + push(@args, $lib); + } elsif ("$arg" eq "-lexpat") { + push(@args, "expat.lib"); } elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") { $arg =~ s/^-L/-LIBPATH:/; - push(@args, $arg); + push(@lflags, $arg); } elsif ("$arg" =~ /^-R/) { # eat } else { @@ -45,10 +75,11 @@ while (@ARGV) { } } if ($is_linking) { + push(@args, @lflags); unshift(@args, "link.exe"); } else { unshift(@args, "cl.exe"); push(@args, @cflags); } -#printf("**** @args\n"); +printf(STDERR "**** @args\n\n\n") if (!defined($ENV{'QUIET_GEN'})); exit (system(@args) != 0); diff --git a/compat/vcbuild/vcpkg_copy_dlls.bat b/compat/vcbuild/vcpkg_copy_dlls.bat new file mode 100644 index 0000000000..13661c14f8 --- /dev/null +++ b/compat/vcbuild/vcpkg_copy_dlls.bat @@ -0,0 +1,39 @@ +@ECHO OFF +REM ================================================================ +REM This script is an optional step. It copies the *.dll and *.pdb +REM files (created by vcpkg_install.bat) into the top-level directory +REM of the repo so that you can type "./git.exe" and find them without +REM having to fixup your PATH. +REM +REM NOTE: Because the names of some DLL files change between DEBUG and +REM NOTE: RELEASE builds when built using "vcpkg.exe", you will need +REM NOTE: to copy up the corresponding version. +REM ================================================================ + + SETLOCAL EnableDelayedExpansion + + @FOR /F "delims=" %%D IN ("%~dp0") DO @SET cwd=%%~fD + cd %cwd% + + SET arch=x64-windows + SET inst=%cwd%vcpkg\installed\%arch% + + IF [%1]==[release] ( + echo Copying RELEASE mode DLLs to repo root... + ) ELSE IF [%1]==[debug] ( + SET inst=%inst%\debug + echo Copying DEBUG mode DLLs to repo root... + ) ELSE ( + echo ERROR: Invalid argument. + echo Usage: %~0 release + echo Usage: %~0 debug + EXIT /B 1 + ) + + xcopy /e/s/v/y %inst%\bin\*.dll ..\..\ + xcopy /e/s/v/y %inst%\bin\*.pdb ..\..\ + + xcopy /e/s/v/y %inst%\bin\*.dll ..\..\t\helper\ + xcopy /e/s/v/y %inst%\bin\*.pdb ..\..\t\helper\ + + EXIT /B 0 diff --git a/compat/vcbuild/vcpkg_install.bat b/compat/vcbuild/vcpkg_install.bat new file mode 100644 index 0000000000..ebd0bad242 --- /dev/null +++ b/compat/vcbuild/vcpkg_install.bat @@ -0,0 +1,80 @@ +@ECHO OFF +REM ================================================================ +REM This script installs the "vcpkg" source package manager and uses +REM it to build the third-party libraries that git requires when it +REM is built using MSVC. +REM +REM [1] Install VCPKG. +REM [a] Create <root>/compat/vcbuild/vcpkg/ +REM [b] Download "vcpkg". +REM [c] Compile using the currently installed version of VS. +REM [d] Create <root>/compat/vcbuild/vcpkg/vcpkg.exe +REM +REM [2] Install third-party libraries. +REM [a] Download each (which may also install CMAKE). +REM [b] Compile in RELEASE mode and install in: +REM vcpkg/installed/<arch>/{bin,lib} +REM [c] Compile in DEBUG mode and install in: +REM vcpkg/installed/<arch>/debug/{bin,lib} +REM [d] Install headers in: +REM vcpkg/installed/<arch>/include +REM +REM [3] Create a set of MAKE definitions for the top-level +REM Makefile to allow "make MSVC=1" to find the above +REM third-party libraries. +REM [a] Write vcpkg/VCPGK-DEFS +REM +REM https://blogs.msdn.microsoft.com/vcblog/2016/09/19/vcpkg-a-tool-to-acquire-and-build-c-open-source-libraries-on-windows/ +REM https://github.com/Microsoft/vcpkg +REM https://vcpkg.readthedocs.io/en/latest/ +REM ================================================================ + + SETLOCAL EnableDelayedExpansion + + @FOR /F "delims=" %%D IN ("%~dp0") DO @SET cwd=%%~fD + cd %cwd% + + dir vcpkg\vcpkg.exe >nul 2>nul && GOTO :install_libraries + + echo Fetching vcpkg in %cwd%vcpkg + git.exe clone https://github.com/Microsoft/vcpkg vcpkg + IF ERRORLEVEL 1 ( EXIT /B 1 ) + + cd vcpkg + echo Building vcpkg + powershell -exec bypass scripts\bootstrap.ps1 + IF ERRORLEVEL 1 ( EXIT /B 1 ) + + echo Successfully installed %cwd%vcpkg\vcpkg.exe + +:install_libraries + SET arch=x64-windows + + echo Installing third-party libraries... + FOR %%i IN (zlib expat libiconv openssl libssh2 curl) DO ( + cd %cwd%vcpkg + IF NOT EXIST "packages\%%i_%arch%" CALL :sub__install_one %%i + IF ERRORLEVEL 1 ( EXIT /B 1 ) + ) + +:install_defines + cd %cwd% + SET inst=%cwd%vcpkg\installed\%arch% + + echo vcpkg_inc=-I"%inst%\include">VCPKG-DEFS + echo vcpkg_rel_lib=-L"%inst%\lib">>VCPKG-DEFS + echo vcpkg_rel_bin="%inst%\bin">>VCPKG-DEFS + echo vcpkg_dbg_lib=-L"%inst%\debug\lib">>VCPKG-DEFS + echo vcpkg_dbg_bin="%inst%\debug\bin">>VCPKG-DEFS + + EXIT /B 0 + + +:sub__install_one + echo Installing package %1... + + .\vcpkg.exe install %1:%arch% + IF ERRORLEVEL 1 ( EXIT /B 1 ) + + echo Finished %1 + goto :EOF diff --git a/compat/win32/git.manifest b/compat/win32/git.manifest new file mode 100644 index 0000000000..771e3cce43 --- /dev/null +++ b/compat/win32/git.manifest @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity type="win32" name="Git" version="0.0.0.1" /> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false" /> + </requestedPrivileges> + </security> + </trustInfo> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- Windows Vista --> + <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> + <!-- Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!-- Windows 8 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!-- Windows 8.1 --> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!-- Windows 10 --> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + </application> + </compatibility> +</assembly> diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h index c6cb8dd219..f1cfe73de9 100644 --- a/compat/win32/pthread.h +++ b/compat/win32/pthread.h @@ -50,7 +50,7 @@ typedef struct { DWORD tid; } pthread_t; -extern int pthread_create(pthread_t *thread, const void *unused, +int pthread_create(pthread_t *thread, const void *unused, void *(*start_routine)(void*), void *arg); /* @@ -59,10 +59,10 @@ extern int pthread_create(pthread_t *thread, const void *unused, */ #define pthread_join(a, b) win32_pthread_join(&(a), (b)) -extern int win32_pthread_join(pthread_t *thread, void **value_ptr); +int win32_pthread_join(pthread_t *thread, void **value_ptr); #define pthread_equal(t1, t2) ((t1).tid == (t2).tid) -extern pthread_t pthread_self(void); +pthread_t pthread_self(void); static inline void NORETURN pthread_exit(void *ret) { diff --git a/compat/winansi.c b/compat/winansi.c index a29d34ef44..cacd82c833 100644 --- a/compat/winansi.c +++ b/compat/winansi.c @@ -540,7 +540,20 @@ static HANDLE swap_osfhnd(int fd, HANDLE new_handle) #ifdef DETECT_MSYS_TTY #include <winternl.h> + +#if defined(_MSC_VER) + +typedef struct _OBJECT_NAME_INFORMATION +{ + UNICODE_STRING Name; + WCHAR NameBuffer[0]; +} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION; + +#define ObjectNameInformation 1 + +#else #include <ntstatus.h> +#endif static void detect_msys_tty(int fd) { @@ -595,7 +608,7 @@ int winansi_isatty(int fd) void winansi_init(void) { int con1, con2; - char name[32]; + wchar_t name[32]; /* check if either stdout or stderr is a console output screen buffer */ con1 = is_console(1); @@ -615,13 +628,15 @@ void winansi_init(void) } /* create a named pipe to communicate with the console thread */ - xsnprintf(name, sizeof(name), "\\\\.\\pipe\\winansi%lu", GetCurrentProcessId()); - hwrite = CreateNamedPipe(name, PIPE_ACCESS_OUTBOUND, + if (swprintf(name, ARRAY_SIZE(name) - 1, L"\\\\.\\pipe\\winansi%lu", + GetCurrentProcessId()) < 0) + die("Could not initialize winansi pipe name"); + hwrite = CreateNamedPipeW(name, PIPE_ACCESS_OUTBOUND, PIPE_TYPE_BYTE | PIPE_WAIT, 1, BUFFER_SIZE, 0, 0, NULL); if (hwrite == INVALID_HANDLE_VALUE) die_lasterr("CreateNamedPipe failed"); - hread = CreateFile(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); + hread = CreateFileW(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); if (hread == INVALID_HANDLE_VALUE) die_lasterr("CreateFile for named pipe failed"); @@ -19,6 +19,7 @@ #include "utf8.h" #include "dir.h" #include "color.h" +#include "refs.h" struct config_source { struct config_source *prev; @@ -170,6 +171,12 @@ static int handle_path_include(const char *path, struct config_include_data *inc return ret; } +static void add_trailing_starstar_for_dir(struct strbuf *pat) +{ + if (pat->len && is_dir_sep(pat->buf[pat->len - 1])) + strbuf_addstr(pat, "**"); +} + static int prepare_include_condition_pattern(struct strbuf *pat) { struct strbuf path = STRBUF_INIT; @@ -199,8 +206,7 @@ static int prepare_include_condition_pattern(struct strbuf *pat) } else if (!is_absolute_path(pat->buf)) strbuf_insert(pat, 0, "**/", 3); - if (pat->len && is_dir_sep(pat->buf[pat->len - 1])) - strbuf_addstr(pat, "**"); + add_trailing_starstar_for_dir(pat); strbuf_release(&path); return prefix; @@ -264,6 +270,26 @@ done: return ret; } +static int include_by_branch(const char *cond, size_t cond_len) +{ + int flags; + int ret; + struct strbuf pattern = STRBUF_INIT; + const char *refname = !the_repository->gitdir ? + NULL : resolve_ref_unsafe("HEAD", 0, NULL, &flags); + const char *shortname; + + if (!refname || !(flags & REF_ISSYMREF) || + !skip_prefix(refname, "refs/heads/", &shortname)) + return 0; + + strbuf_add(&pattern, cond, cond_len); + add_trailing_starstar_for_dir(&pattern); + ret = !wildmatch(pattern.buf, shortname, WM_PATHNAME); + strbuf_release(&pattern); + return ret; +} + static int include_condition_is_true(const struct config_options *opts, const char *cond, size_t cond_len) { @@ -272,6 +298,8 @@ static int include_condition_is_true(const struct config_options *opts, return include_by_gitdir(opts, cond, cond_len, 0); else if (skip_prefix_mem(cond, cond_len, "gitdir/i:", &cond, &cond_len)) return include_by_gitdir(opts, cond, cond_len, 1); + else if (skip_prefix_mem(cond, cond_len, "onbranch:", &cond, &cond_len)) + return include_by_branch(cond, cond_len); /* unknown conditionals are always false */ return 0; @@ -946,34 +974,44 @@ int git_parse_ssize_t(const char *value, ssize_t *ret) NORETURN static void die_bad_number(const char *name, const char *value) { - const char * error_type = (errno == ERANGE)? _("out of range"):_("invalid unit"); + const char *error_type = (errno == ERANGE) ? + N_("out of range") : N_("invalid unit"); + const char *bad_numeric = N_("bad numeric config value '%s' for '%s': %s"); if (!value) value = ""; + if (!strcmp(name, "GIT_TEST_GETTEXT_POISON")) + /* + * We explicitly *don't* use _() here since it would + * cause an infinite loop with _() needing to call + * use_gettext_poison(). This is why marked up + * translations with N_() above. + */ + die(bad_numeric, value, name, error_type); + if (!(cf && cf->name)) - die(_("bad numeric config value '%s' for '%s': %s"), - value, name, error_type); + die(_(bad_numeric), value, name, _(error_type)); switch (cf->origin_type) { case CONFIG_ORIGIN_BLOB: die(_("bad numeric config value '%s' for '%s' in blob %s: %s"), - value, name, cf->name, error_type); + value, name, cf->name, _(error_type)); case CONFIG_ORIGIN_FILE: die(_("bad numeric config value '%s' for '%s' in file %s: %s"), - value, name, cf->name, error_type); + value, name, cf->name, _(error_type)); case CONFIG_ORIGIN_STDIN: die(_("bad numeric config value '%s' for '%s' in standard input: %s"), - value, name, error_type); + value, name, _(error_type)); case CONFIG_ORIGIN_SUBMODULE_BLOB: die(_("bad numeric config value '%s' for '%s' in submodule-blob %s: %s"), - value, name, cf->name, error_type); + value, name, cf->name, _(error_type)); case CONFIG_ORIGIN_CMDLINE: die(_("bad numeric config value '%s' for '%s' in command line %s: %s"), - value, name, cf->name, error_type); + value, name, cf->name, _(error_type)); default: die(_("bad numeric config value '%s' for '%s' in %s: %s"), - value, name, cf->name, error_type); + value, name, cf->name, _(error_type)); } } @@ -1341,11 +1379,6 @@ static int git_default_core_config(const char *var, const char *value, void *cb) return 0; } - if (!strcmp(var, "core.partialclonefilter")) { - return git_config_string(&core_partial_clone_filter_default, - var, value); - } - if (!strcmp(var, "core.usereplacerefs")) { read_replace_refs = git_config_bool(var, value); return 0; @@ -2250,30 +2283,6 @@ int git_config_get_expiry_in_days(const char *key, timestamp_t *expiry, timestam return -1; /* thing exists but cannot be parsed */ } -int git_config_get_untracked_cache(void) -{ - int val = -1; - const char *v; - - /* Hack for test programs like test-dump-untracked-cache */ - if (ignore_untracked_cache_config) - return -1; - - if (!git_config_get_maybe_bool("core.untrackedcache", &val)) - return val; - - if (!git_config_get_value("core.untrackedcache", &v)) { - if (!strcasecmp(v, "keep")) - return -1; - - error(_("unknown core.untrackedCache value '%s'; " - "using 'keep' default value"), v); - return -1; - } - - return -1; /* default value */ -} - int git_config_get_split_index(void) { int val; diff --git a/config.mak.uname b/config.mak.uname index b71688eeb7..db7f06b95f 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -1,5 +1,9 @@ # Platform specific Makefile tweaks based on uname detection +# Define NO_SAFESEH if you need MSVC/Visual Studio to ignore the lack of +# Microsoft's Safe Exception Handling in libraries (such as zlib). +# Typically required for VS2013+/32-bit compilation on Vista+ versions. + uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not') @@ -11,6 +15,21 @@ ifdef MSVC # avoid the MingW and Cygwin configuration sections uname_S := Windows uname_O := Windows + + # Generate and include makefile variables that point to the + # currently installed set of MSVC command line tools. +compat/vcbuild/MSVC-DEFS-GEN: compat/vcbuild/find_vs_env.bat + @"$<" | tr '\\' / >"$@" +include compat/vcbuild/MSVC-DEFS-GEN + + # See if vcpkg and the vcpkg-build versions of the third-party + # libraries that we use are installed. We include the result + # to get $(vcpkg_*) variables defined for the Makefile. +ifeq (,$(SKIP_VCPKG)) +compat/vcbuild/VCPKG-DEFS: compat/vcbuild/vcpkg_install.bat + @"$<" +include compat/vcbuild/VCPKG-DEFS +endif endif # We choose to avoid "if .. else if .. else .. endif endif" @@ -356,6 +375,19 @@ endif ifeq ($(uname_S),Windows) GIT_VERSION := $(GIT_VERSION).MSVC pathsep = ; + # Assume that this is built in Git for Windows' SDK + ifeq (MINGW32,$(MSYSTEM)) + prefix = /mingw32 + else + prefix = /mingw64 + endif + # Prepend MSVC 64-bit tool-chain to PATH. + # + # A regular Git Bash *does not* have cl.exe in its $PATH. As there is a + # link.exe next to, and required by, cl.exe, we have to prepend this + # onto the existing $PATH. + # + SANE_TOOL_PATH ?= $(msvc_bin_dir_msys) HAVE_ALLOCA_H = YesPlease NO_PREAD = YesPlease NEEDS_CRYPTO_WITH_SSL = YesPlease @@ -368,11 +400,14 @@ ifeq ($(uname_S),Windows) NO_STRCASESTR = YesPlease NO_STRLCPY = YesPlease NO_MEMMEM = YesPlease - # NEEDS_LIBICONV = YesPlease - NO_ICONV = YesPlease + NEEDS_LIBICONV = YesPlease NO_STRTOUMAX = YesPlease NO_MKDTEMP = YesPlease - SNPRINTF_RETURNS_BOGUS = YesPlease + NO_INTTYPES_H = YesPlease + # VS2015 with UCRT claims that snprintf and friends are C99 compliant, + # so we don't need this: + # + # SNPRINTF_RETURNS_BOGUS = YesPlease NO_SVN_TESTS = YesPlease RUNTIME_PREFIX = YesPlease HAVE_WPGMPTR = YesWeDo @@ -385,7 +420,6 @@ ifeq ($(uname_S),Windows) NO_REGEX = YesPlease NO_GETTEXT = YesPlease NO_PYTHON = YesPlease - BLK_SHA1 = YesPlease ETAGS_TARGET = ETAGS NO_POSIX_GOODIES = UnfortunatelyYes NATIVE_CRLF = YesPlease @@ -394,26 +428,52 @@ ifeq ($(uname_S),Windows) CC = compat/vcbuild/scripts/clink.pl AR = compat/vcbuild/scripts/lib.pl CFLAGS = - BASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE + BASIC_CFLAGS = -nologo -I. -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE COMPAT_OBJS = compat/msvc.o compat/winansi.o \ compat/win32/path-utils.o \ compat/win32/pthread.o compat/win32/syslog.o \ compat/win32/trace2_win32_process_info.o \ compat/win32/dirent.o - COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\" - BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE - EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib invalidcontinue.obj + COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DDETECT_MSYS_TTY -DNOGDI -DHAVE_STRING_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\" + BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -ENTRY:wmainCRTStartup -SUBSYSTEM:CONSOLE + # invalidcontinue.obj allows Git's source code to close the same file + # handle twice, or to access the osfhandle of an already-closed stdout + # See https://msdn.microsoft.com/en-us/library/ms235330.aspx + EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib invalidcontinue.obj kernel32.lib ntdll.lib PTHREAD_LIBS = lib = + BASIC_CFLAGS += $(vcpkg_inc) $(sdk_includes) $(msvc_includes) +ifndef DEBUG + BASIC_CFLAGS += $(vcpkg_rel_lib) +else + BASIC_CFLAGS += $(vcpkg_dbg_lib) +endif + BASIC_CFLAGS += $(sdk_libs) $(msvc_libs) + +ifneq ($(USE_MSVC_CRTDBG),) + # Optionally enable memory leak reporting. + BASIC_CFLAGS += -DUSE_MSVC_CRTDBG +endif BASIC_CFLAGS += -DPROTECT_NTFS_DEFAULT=1 + # Always give "-Zi" to the compiler and "-debug" to linker (even in + # release mode) to force a PDB to be generated (like RelWithDebInfo). + BASIC_CFLAGS += -Zi + BASIC_LDFLAGS += -debug -Zf + +ifdef NO_SAFESEH + LDFLAGS += -SAFESEH:NO +endif + ifndef DEBUG - BASIC_CFLAGS += -GL -Os -MD - BASIC_LDFLAGS += -LTCG + BASIC_CFLAGS += -GL -Gy -O2 -Oy- -MD -DNDEBUG + BASIC_LDFLAGS += -release -LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO /DEBUGTYPE:CV,FIXUP AR += -LTCG else - BASIC_CFLAGS += -Zi -MDd + BASIC_CFLAGS += -MDd -DDEBUG -D_DEBUG endif X = .exe + +compat/msvc.o: compat/msvc.c compat/mingw.c GIT-CFLAGS endif ifeq ($(uname_S),Interix) NO_INITGROUPS = YesPlease @@ -548,6 +608,7 @@ ifneq (,$(findstring MINGW,$(uname_S))) ETAGS_TARGET = ETAGS NO_POSIX_GOODIES = UnfortunatelyYes DEFAULT_HELP_FORMAT = html + BASIC_LDFLAGS += -municode COMPAT_CFLAGS += -DNOGDI -Icompat -Icompat/win32 COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\" COMPAT_OBJS += compat/mingw.o compat/winansi.o \ @@ -571,7 +632,7 @@ ifneq (,$(wildcard ../THIS_IS_MSYSGIT)) INTERNAL_QSORT = YesPlease HAVE_LIBCHARSET_H = YesPlease NO_GETTEXT = YesPlease - COMPAT_CLFAGS += -D__USE_MINGW_ACCESS + COMPAT_CFLAGS += -D__USE_MINGW_ACCESS else ifneq ($(shell expr "$(uname_R)" : '1\.'),2) # MSys2 @@ -596,7 +657,8 @@ else BASIC_LDFLAGS += -Wl,--large-address-aware endif CC = gcc - COMPAT_CFLAGS += -D__USE_MINGW_ANSI_STDIO=0 -DDETECT_MSYS_TTY + COMPAT_CFLAGS += -D__USE_MINGW_ANSI_STDIO=0 -DDETECT_MSYS_TTY \ + -fstack-protector-strong EXTLIBS += -lntdll INSTALL = /bin/install NO_R_TO_GCC_LINKER = YesPlease @@ -629,3 +691,77 @@ ifeq ($(uname_S),QNX) NO_STRCASESTR = YesPlease NO_STRLCPY = YesPlease endif + +vcxproj: + # Require clean work tree + git update-index -q --refresh && \ + git diff-files --quiet && \ + git diff-index --cached --quiet HEAD -- + + # Make .vcxproj files and add them + unset QUIET_GEN QUIET_BUILT_IN; \ + perl contrib/buildsystems/generate -g Vcxproj + git add -f git.sln {*,*/lib,t/helper/*}/*.vcxproj + + # Generate the LinkOrCopyBuiltins.targets file + (echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' && \ + echo ' <Target Name="CopyBuiltins_AfterBuild" AfterTargets="AfterBuild">' && \ + for name in $(BUILT_INS);\ + do \ + echo ' <Copy SourceFiles="$$(OutDir)\git.exe" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \ + done && \ + for name in $(REMOTE_CURL_ALIASES); \ + do \ + echo ' <Copy SourceFiles="$$(OutDir)\'"$(REMOTE_CURL_PRIMARY)"'" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \ + done && \ + echo ' </Target>' && \ + echo '</Project>') >git/LinkOrCopyBuiltins.targets + git add -f git/LinkOrCopyBuiltins.targets + + # Add command-list.h + $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 command-list.h + git add -f command-list.h + + # Add scripts + rm -f perl/perl.mak + $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 \ + $(SCRIPT_LIB) $(SCRIPT_SH_GEN) $(SCRIPT_PERL_GEN) + # Strip out the sane tool path, needed only for building + sed -i '/^git_broken_path_fix ".*/d' git-sh-setup + git add -f $(SCRIPT_LIB) $(SCRIPT_SH_GEN) $(SCRIPT_PERL_GEN) + + # Add Perl module + $(MAKE) $(LIB_PERL_GEN) + git add -f perl/build + + # Add bin-wrappers, for testing + rm -rf bin-wrappers/ + $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 $(test_bindir_programs) + # Ensure that the GIT_EXEC_PATH is a Unix-y one, and that the absolute + # path of the repository is not hard-coded (GIT_EXEC_PATH will be set + # by test-lib.sh according to the current setup) + sed -i -e 's/^\(GIT_EXEC_PATH\)=.*/test -n "$${\1##*:*}" ||\ + \1="$$(cygpath -u "$$\1")"/' \ + -e "s|'$$(pwd)|\"\$$GIT_EXEC_PATH\"'|g" bin-wrappers/* + # Ensure that test-* helpers find the .dll files copied to top-level + sed -i 's|^PATH=.*|&:"$$GIT_EXEC_PATH"|' bin-wrappers/test-* + # We do not want to force hard-linking builtins + sed -i 's|\(git\)-\([-a-z]*\)\.exe"|\1.exe" \2|g' \ + bin-wrappers/git-{receive-pack,upload-archive} + git add -f $(test_bindir_programs) + # remote-ext is a builtin, but invoked as if it were external + sed 's|receive-pack|remote-ext|g' \ + <bin-wrappers/git-receive-pack >bin-wrappers/git-remote-ext + git add -f bin-wrappers/git-remote-ext + + # Add templates + $(MAKE) -C templates + git add -f templates/boilerplates.made templates/blt/ + + # Add build options + $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 GIT-BUILD-OPTIONS + git add -f GIT-BUILD-OPTIONS + + # Commit the whole shebang + git commit -m "Generate Visual Studio solution" \ + -m "Auto-generated by \`$(MAKE)$(MAKEFLAGS) $@\`" diff --git a/configure.ac b/configure.ac index be3b55f1cc..a43b476402 100644 --- a/configure.ac +++ b/configure.ac @@ -475,8 +475,18 @@ else if test "$git_cv_ld_rpath" = "yes"; then CC_LD_DYNPATH=-rpath else - CC_LD_DYNPATH= - AC_MSG_WARN([linker does not support runtime path to dynamic libraries]) + AC_CACHE_CHECK([if linker supports -Wl,+b,], git_cv_ld_wl_b, [ + SAVE_LDFLAGS="${LDFLAGS}" + LDFLAGS="${SAVE_LDFLAGS} -Wl,+b,/" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [git_cv_ld_wl_b=yes], [git_cv_ld_wl_b=no]) + LDFLAGS="${SAVE_LDFLAGS}" + ]) + if test "$git_cv_ld_wl_b" = "yes"; then + CC_LD_DYNPATH=-Wl,+b, + else + CC_LD_DYNPATH= + AC_MSG_WARN([linker does not support runtime path to dynamic libraries]) + fi fi fi fi diff --git a/connected.c b/connected.c index 1ab481fed6..971db009b3 100644 --- a/connected.c +++ b/connected.c @@ -5,6 +5,7 @@ #include "connected.h" #include "transport.h" #include "packfile.h" +#include "promisor-remote.h" /* * If we feed all the commits we want to verify to this command @@ -73,13 +74,14 @@ int check_connected(oid_iterate_fn fn, void *cb_data, argv_array_push(&rev_list.args,"rev-list"); argv_array_push(&rev_list.args, "--objects"); argv_array_push(&rev_list.args, "--stdin"); - if (repository_format_partial_clone) + if (has_promisor_remote()) argv_array_push(&rev_list.args, "--exclude-promisor-objects"); if (!opt->is_deepening_fetch) { argv_array_push(&rev_list.args, "--not"); argv_array_push(&rev_list.args, "--all"); } argv_array_push(&rev_list.args, "--quiet"); + argv_array_push(&rev_list.args, "--alternate-refs"); if (opt->progress) argv_array_pushf(&rev_list.args, "--progress=%s", _("Checking connectivity")); diff --git a/contrib/buildsystems/Generators.pm b/contrib/buildsystems/Generators.pm index 408ef714b8..aa4cbaa2ad 100644 --- a/contrib/buildsystems/Generators.pm +++ b/contrib/buildsystems/Generators.pm @@ -17,7 +17,7 @@ BEGIN { $me = dirname($me); if (opendir(D,"$me/Generators")) { foreach my $gen (readdir(D)) { - next if ($gen =~ /^\.\.?$/); + next unless ($gen =~ /\.pm$/); require "${me}/Generators/$gen"; $gen =~ s,\.pm,,; push(@AVAILABLE, $gen); diff --git a/contrib/buildsystems/Generators/Vcproj.pm b/contrib/buildsystems/Generators/Vcproj.pm index cfa74adcc2..737647e76a 100644 --- a/contrib/buildsystems/Generators/Vcproj.pm +++ b/contrib/buildsystems/Generators/Vcproj.pm @@ -3,6 +3,7 @@ require Exporter; use strict; use vars qw($VERSION); +use Digest::SHA qw(sha256_hex); our $VERSION = '1.00'; our(@ISA, @EXPORT, @EXPORT_OK, @AVAILABLE); @@ -12,59 +13,12 @@ BEGIN { push @EXPORT_OK, qw(generate); } -my $guid_index = 0; -my @GUIDS = ( - "{E07B9989-2BF7-4F21-8918-BE22BA467AC3}", - "{278FFB51-0296-4A44-A81A-22B87B7C3592}", - "{7346A2C4-F0FD-444F-9EBE-1AF23B2B5650}", - "{67F421AC-EB34-4D49-820B-3196807B423F}", - "{385DCFE1-CC8C-4211-A451-80FCFC31CA51}", - "{97CC46C5-D2CC-4D26-B634-E75792B79916}", - "{C7CE21FE-6EF8-4012-A5C7-A22BCEDFBA11}", - "{51575134-3FDF-42D1-BABD-3FB12669C6C9}", - "{0AE195E4-9823-4B87-8E6F-20C5614AF2FF}", - "{4B918255-67CA-43BB-A46C-26704B666E6B}", - "{18CCFEEF-C8EE-4CC1-A265-26F95C9F4649}", - "{5D5D90FA-01B7-4973-AFE5-CA88C53AC197}", - "{1F054320-036D-49E1-B384-FB5DF0BC8AC0}", - "{7CED65EE-F2D9-4171-825B-C7D561FE5786}", - "{8D341679-0F07-4664-9A56-3BA0DE88B9BC}", - "{C189FEDC-2957-4BD7-9FA4-7622241EA145}", - "{66844203-1B9F-4C53-9274-164FFF95B847}", - "{E4FEA145-DECC-440D-AEEA-598CF381FD43}", - "{73300A8E-C8AC-41B0-B555-4F596B681BA7}", - "{873FDEB1-D01D-40BF-A1BF-8BBC58EC0F51}", - "{7922C8BE-76C5-4AC6-8BF7-885C0F93B782}", - "{E245D370-308B-4A49-BFC1-1E527827975F}", - "{F6FA957B-66FC-4ED7-B260-E59BBE4FE813}", - "{E6055070-0198-431A-BC49-8DB6CEE770AE}", - "{54159234-C3EB-43DA-906B-CE5DA5C74654}", - "{594CFC35-0B60-46F6-B8EF-9983ACC1187D}", - "{D93FCAB7-1F01-48D2-B832-F761B83231A5}", - "{DBA5E6AC-E7BE-42D3-8703-4E787141526E}", - "{6171953F-DD26-44C7-A3BE-CC45F86FC11F}", - "{9E19DDBE-F5E4-4A26-A2FE-0616E04879B8}", - "{AE81A615-99E3-4885-9CE0-D9CAA193E867}", - "{FBF4067E-1855-4F6C-8BCD-4D62E801A04D}", - "{17007948-6593-4AEB-8106-F7884B4F2C19}", - "{199D4C8D-8639-4DA6-82EF-08668C35DEE0}", - "{E085E50E-C140-4CF3-BE4B-094B14F0DDD6}", - "{00785268-A9CC-4E40-AC29-BAC0019159CE}", - "{4C06F56A-DCDB-46A6-B67C-02339935CF12}", - "{3A62D3FD-519E-4EC9-8171-D2C1BFEA022F}", - "{3A62D3FD-519E-4EC9-8171-D2C1BFEA022F}", - "{9392EB58-D7BA-410B-B1F0-B2FAA6BC89A7}", - "{2ACAB2D5-E0CE-4027-BCA0-D78B2D7A6C66}", - "{86E216C3-43CE-481A-BCB2-BE5E62850635}", - "{FB631291-7923-4B91-9A57-7B18FDBB7A42}", - "{0A176EC9-E934-45B8-B87F-16C7F4C80039}", - "{DF55CA80-46E8-4C53-B65B-4990A23DD444}", - "{3A0F9895-55D2-4710-BE5E-AD7498B5BF44}", - "{294BDC5A-F448-48B6-8110-DD0A81820F8C}", - "{4B9F66E9-FAC9-47AB-B1EF-C16756FBFD06}", - "{72EA49C6-2806-48BD-B81B-D4905102E19C}", - "{5728EB7E-8929-486C-8CD5-3238D060E768}" -); +sub generate_guid ($) { + my $hex = sha256_hex($_[0]); + $hex =~ s/^(.{8})(.{4})(.{4})(.{4})(.{12}).*/{$1-$2-$3-$4-$5}/; + $hex =~ tr/a-z/A-Z/; + return $hex; +} sub generate { my ($git_dir, $out_dir, $rel_dir, %build_structure) = @_; @@ -92,9 +46,8 @@ sub createLibProject { $target =~ s/\//_/g; $target =~ s/\.a//; - my $uuid = $GUIDS[$guid_index]; + my $uuid = generate_guid($libname); $$build_structure{"LIBS_${target}_GUID"} = $uuid; - $guid_index += 1; my @srcs = sort(map("$rel_dir\\$_", @{$$build_structure{"LIBS_${libname}_SOURCES"}})); my @sources; @@ -106,6 +59,8 @@ sub createLibProject { my $includes= join(";", sort(map(""$rel_dir\\$_"", @{$$build_structure{"LIBS_${libname}_INCLUDES"}}))); my $cflags = join(" ", sort(@{$$build_structure{"LIBS_${libname}_CFLAGS"}})); $cflags =~ s/\"/"/g; + $cflags =~ s/</</g; + $cflags =~ s/>/>/g; my $cflags_debug = $cflags; $cflags_debug =~ s/-MT/-MTd/; @@ -127,6 +82,8 @@ sub createLibProject { $defines =~ s/-D//g; $defines =~ s/\"/\\"/g; + $defines =~ s/</</g; + $defines =~ s/>/>/g; $defines =~ s/\'//g; $includes =~ s/-I//g; mkdir "$target" || die "Could not create the directory $target for lib project!\n"; @@ -163,9 +120,6 @@ sub createLibProject { Name="VCXMLDataGeneratorTool" /> <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool Name="VCMIDLTool" /> <Tool @@ -229,9 +183,6 @@ sub createLibProject { Name="VCXMLDataGeneratorTool" /> <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool Name="VCMIDLTool" /> <Tool @@ -311,9 +262,8 @@ sub createAppProject { $target =~ s/\//_/g; $target =~ s/\.exe//; - my $uuid = $GUIDS[$guid_index]; + my $uuid = generate_guid($appname); $$build_structure{"APPS_${target}_GUID"} = $uuid; - $guid_index += 1; my @srcs = sort(map("$rel_dir\\$_", @{$$build_structure{"APPS_${appname}_SOURCES"}})); my @sources; @@ -325,6 +275,8 @@ sub createAppProject { my $includes= join(";", sort(map(""$rel_dir\\$_"", @{$$build_structure{"APPS_${appname}_INCLUDES"}}))); my $cflags = join(" ", sort(@{$$build_structure{"APPS_${appname}_CFLAGS"}})); $cflags =~ s/\"/"/g; + $cflags =~ s/</</g; + $cflags =~ s/>/>/g; my $cflags_debug = $cflags; $cflags_debug =~ s/-MT/-MTd/; @@ -351,6 +303,8 @@ sub createAppProject { $defines =~ s/-D//g; $defines =~ s/\"/\\"/g; + $defines =~ s/</</g; + $defines =~ s/>/>/g; $defines =~ s/\'//g; $defines =~ s/\\\\/\\/g; $includes =~ s/-I//g; @@ -388,9 +342,6 @@ sub createAppProject { Name="VCXMLDataGeneratorTool" /> <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool Name="VCMIDLTool" /> <Tool @@ -459,9 +410,6 @@ sub createAppProject { Name="VCXMLDataGeneratorTool" /> <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool Name="VCMIDLTool" /> <Tool @@ -561,20 +509,18 @@ sub createGlueProject { foreach (@apps) { $_ =~ s/\//_/g; $_ =~ s/\.exe//; - push(@tmp, $_); + if ($_ eq "git" ) { + unshift(@tmp, $_); + } else { + push(@tmp, $_); + } } @apps = @tmp; open F, ">git.sln" || die "Could not open git.sln for writing!\n"; binmode F, ":crlf"; print F "$SLN_HEAD"; - foreach (@libs) { - my $libname = $_; - my $uuid = $build_structure{"LIBS_${libname}_GUID"}; - print F "$SLN_PRE"; - print F "\"${libname}\", \"${libname}\\${libname}.vcproj\", \"${uuid}\""; - print F "$SLN_POST"; - } + my $uuid_libgit = $build_structure{"LIBS_libgit_GUID"}; my $uuid_xdiff_lib = $build_structure{"LIBS_xdiff_lib_GUID"}; foreach (@apps) { @@ -588,6 +534,13 @@ sub createGlueProject { print F " EndProjectSection"; print F "$SLN_POST"; } + foreach (@libs) { + my $libname = $_; + my $uuid = $build_structure{"LIBS_${libname}_GUID"}; + print F "$SLN_PRE"; + print F "\"${libname}\", \"${libname}\\${libname}.vcproj\", \"${uuid}\""; + print F "$SLN_POST"; + } print F << "EOM"; Global @@ -599,17 +552,17 @@ EOM print F << "EOM"; GlobalSection(ProjectConfigurationPlatforms) = postSolution EOM - foreach (@libs) { - my $libname = $_; - my $uuid = $build_structure{"LIBS_${libname}_GUID"}; + foreach (@apps) { + my $appname = $_; + my $uuid = $build_structure{"APPS_${appname}_GUID"}; print F "\t\t${uuid}.Debug|Win32.ActiveCfg = Debug|Win32\n"; print F "\t\t${uuid}.Debug|Win32.Build.0 = Debug|Win32\n"; print F "\t\t${uuid}.Release|Win32.ActiveCfg = Release|Win32\n"; print F "\t\t${uuid}.Release|Win32.Build.0 = Release|Win32\n"; } - foreach (@apps) { - my $appname = $_; - my $uuid = $build_structure{"APPS_${appname}_GUID"}; + foreach (@libs) { + my $libname = $_; + my $uuid = $build_structure{"LIBS_${libname}_GUID"}; print F "\t\t${uuid}.Debug|Win32.ActiveCfg = Debug|Win32\n"; print F "\t\t${uuid}.Debug|Win32.Build.0 = Debug|Win32\n"; print F "\t\t${uuid}.Release|Win32.ActiveCfg = Release|Win32\n"; diff --git a/contrib/buildsystems/Generators/Vcxproj.pm b/contrib/buildsystems/Generators/Vcxproj.pm new file mode 100644 index 0000000000..576ccabe1d --- /dev/null +++ b/contrib/buildsystems/Generators/Vcxproj.pm @@ -0,0 +1,388 @@ +package Generators::Vcxproj; +require Exporter; + +use strict; +use vars qw($VERSION); +use Digest::SHA qw(sha256_hex); + +our $VERSION = '1.00'; +our(@ISA, @EXPORT, @EXPORT_OK, @AVAILABLE); +@ISA = qw(Exporter); + +BEGIN { + push @EXPORT_OK, qw(generate); +} + +sub generate_guid ($) { + my $hex = sha256_hex($_[0]); + $hex =~ s/^(.{8})(.{4})(.{4})(.{4})(.{12}).*/{$1-$2-$3-$4-$5}/; + $hex =~ tr/a-z/A-Z/; + return $hex; +} + +sub generate { + my ($git_dir, $out_dir, $rel_dir, %build_structure) = @_; + my @libs = @{$build_structure{"LIBS"}}; + foreach (@libs) { + createProject($_, $git_dir, $out_dir, $rel_dir, \%build_structure, 1); + } + + my @apps = @{$build_structure{"APPS"}}; + foreach (@apps) { + createProject($_, $git_dir, $out_dir, $rel_dir, \%build_structure, 0); + } + + createGlueProject($git_dir, $out_dir, $rel_dir, %build_structure); + return 0; +} + +sub createProject { + my ($name, $git_dir, $out_dir, $rel_dir, $build_structure, $static_library) = @_; + my $label = $static_library ? "lib" : "app"; + my $prefix = $static_library ? "LIBS_" : "APPS_"; + my $config_type = $static_library ? "StaticLibrary" : "Application"; + print "Generate $name vcxproj $label project\n"; + my $cdup = $name; + $cdup =~ s/[^\/]+/../g; + $cdup =~ s/\//\\/g; + $rel_dir = $rel_dir eq "." ? $cdup : "$cdup\\$rel_dir"; + $rel_dir =~ s/\//\\/g; + + my $target = $name; + if ($static_library) { + $target =~ s/\.a//; + } else { + $target =~ s/\.exe//; + } + + my $uuid = generate_guid($name); + $$build_structure{"$prefix${target}_GUID"} = $uuid; + my $vcxproj = $target; + $vcxproj =~ s/(.*\/)?(.*)/$&\/$2.vcxproj/; + $vcxproj =~ s/([^\/]*)(\/lib)\/(lib.vcxproj)/$1$2\/$1_$3/; + $$build_structure{"$prefix${target}_VCXPROJ"} = $vcxproj; + + my @srcs = sort(map("$rel_dir\\$_", @{$$build_structure{"$prefix${name}_SOURCES"}})); + my @sources; + foreach (@srcs) { + $_ =~ s/\//\\/g; + push(@sources, $_); + } + my $defines = join(";", sort(@{$$build_structure{"$prefix${name}_DEFINES"}})); + my $includes= join(";", sort(map { s/^-I//; s/\//\\/g; File::Spec->file_name_is_absolute($_) ? $_ : "$rel_dir\\$_" } @{$$build_structure{"$prefix${name}_INCLUDES"}})); + my $cflags = join(" ", sort(map { s/^-[GLMOWZ].*//; s/.* .*/"$&"/; $_; } @{$$build_structure{"$prefix${name}_CFLAGS"}})); + $cflags =~ s/</</g; + $cflags =~ s/>/>/g; + + my $libs_release = "\n "; + my $libs_debug = "\n "; + if (!$static_library) { + $libs_release = join(";", sort(grep /^(?!libgit\.lib|xdiff\/lib\.lib|vcs-svn\/lib\.lib)/, @{$$build_structure{"$prefix${name}_LIBS"}})); + $libs_debug = $libs_release; + $libs_debug =~ s/zlib\.lib/zlibd\.lib/; + } + + $defines =~ s/-D//g; + $defines =~ s/</</g; + $defines =~ s/>/>/g; + $defines =~ s/\'//g; + + die "Could not create the directory $target for $label project!\n" unless (-d "$target" || mkdir "$target"); + + open F, ">$vcxproj" or die "Could not open $vcxproj for writing!\n"; + binmode F, ":crlf :utf8"; + print F chr(0xFEFF); + print F << "EOM"; +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>$uuid</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <VCPKGArch Condition="'\$(Platform)'=='Win32'">x86-windows</VCPKGArch> + <VCPKGArch Condition="'\$(Platform)'!='Win32'">x64-windows</VCPKGArch> + <VCPKGArchDirectory>$cdup\\compat\\vcbuild\\vcpkg\\installed\\\$(VCPKGArch)</VCPKGArchDirectory> + <VCPKGBinDirectory Condition="'\(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\bin</VCPKGBinDirectory> + <VCPKGLibDirectory Condition="'\(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\lib</VCPKGLibDirectory> + <VCPKGBinDirectory Condition="'\(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\bin</VCPKGBinDirectory> + <VCPKGLibDirectory Condition="'\(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\lib</VCPKGLibDirectory> + <VCPKGIncludeDirectory>\$(VCPKGArchDirectory)\\include</VCPKGIncludeDirectory> + <VCPKGLibs Condition="'\(Configuration)'=='Debug'">$libs_debug</VCPKGLibs> + <VCPKGLibs Condition="'\(Configuration)'!='Debug'">$libs_release</VCPKGLibs> + </PropertyGroup> + <Import Project="\$(VCTargetsPath)\\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'\$(Configuration)'=='Debug'" Label="Configuration"> + <UseDebugLibraries>true</UseDebugLibraries> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'\$(Configuration)'=='Release'" Label="Configuration"> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup> + <ConfigurationType>$config_type</ConfigurationType> + <PlatformToolset>v140</PlatformToolset> + <!-- <CharacterSet>UTF-8</CharacterSet> --> + <OutDir>..\\</OutDir> + <!-- <IntDir>\$(ProjectDir)\$(Configuration)\\</IntDir> --> + </PropertyGroup> + <Import Project="\$(VCTargetsPath)\\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="Shared"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props" Condition="exists('\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <GenerateManifest>false</GenerateManifest> + <EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <AdditionalOptions>$cflags %(AdditionalOptions)</AdditionalOptions> + <AdditionalIncludeDirectories>$cdup;$cdup\\compat;$cdup\\compat\\regex;$cdup\\compat\\win32;$cdup\\compat\\poll;$cdup\\compat\\vcbuild\\include;\$(VCPKGIncludeDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <EnableParallelCodeGeneration /> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <PrecompiledHeader /> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Lib> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Link> + <AdditionalLibraryDirectories>\$(VCPKGLibDirectory);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>\$(VCPKGLibs);\$(AdditionalDependencies)</AdditionalDependencies> + <AdditionalOptions>invalidcontinue.obj %(AdditionalOptions)</AdditionalOptions> + <EntryPointSymbol>wmainCRTStartup</EntryPointSymbol> + <ManifestFile>$cdup\\compat\\win32\\git.manifest</ManifestFile> + <SubSystem>Console</SubSystem> + </Link> +EOM + if ($target eq 'libgit') { + print F << "EOM"; + <PreBuildEvent Condition="!Exists('$cdup\\compat\\vcbuild\\vcpkg\\installed\\\$(VCPKGArch)\\include\\openssl\\ssl.h')"> + <Message>Initialize VCPKG</Message> + <Command>del "$cdup\\compat\\vcbuild\\vcpkg"</Command> + <Command>call "$cdup\\compat\\vcbuild\\vcpkg_install.bat"</Command> + </PreBuildEvent> +EOM + } + print F << "EOM"; + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'\$(Platform)'=='Win32'"> + <Link> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'\$(Configuration)'=='Debug'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;$defines;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'\$(Configuration)'=='Release'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>WIN32;NDEBUG;$defines;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemGroup> +EOM + foreach(@sources) { + print F << "EOM"; + <ClCompile Include="$_" /> +EOM + } + print F << "EOM"; + </ItemGroup> +EOM + if (!$static_library || $target =~ 'vcs-svn' || $target =~ 'xdiff') { + my $uuid_libgit = $$build_structure{"LIBS_libgit_GUID"}; + my $uuid_xdiff_lib = $$build_structure{"LIBS_xdiff/lib_GUID"}; + + print F << "EOM"; + <ItemGroup> + <ProjectReference Include="$cdup\\libgit\\libgit.vcxproj"> + <Project>$uuid_libgit</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> +EOM + if (!($name =~ 'xdiff')) { + print F << "EOM"; + <ProjectReference Include="$cdup\\xdiff\\lib\\xdiff_lib.vcxproj"> + <Project>$uuid_xdiff_lib</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> +EOM + } + if ($name =~ /(test-(line-buffer|svn-fe)|^git-remote-testsvn)\.exe$/) { + my $uuid_vcs_svn_lib = $$build_structure{"LIBS_vcs-svn/lib_GUID"}; + print F << "EOM"; + <ProjectReference Include="$cdup\\vcs-svn\\lib\\vcs-svn_lib.vcxproj"> + <Project>$uuid_vcs_svn_lib</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> +EOM + } + print F << "EOM"; + </ItemGroup> +EOM + } + print F << "EOM"; + <Import Project="\$(VCTargetsPath)\\Microsoft.Cpp.targets" /> +EOM + if (!$static_library) { + print F << "EOM"; + <Target Name="${target}_AfterBuild" AfterTargets="AfterBuild"> + <ItemGroup> + <DLLsAndPDBs Include="\$(VCPKGBinDirectory)\\*.dll;\$(VCPKGBinDirectory)\\*.pdb" /> + </ItemGroup> + <Copy SourceFiles="@(DLLsAndPDBs)" DestinationFolder="\$(OutDir)" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" /> + <MakeDir Directories="..\\templates\\blt\\branches" /> + </Target> +EOM + } + if ($target eq 'git') { + print F " <Import Project=\"LinkOrCopyBuiltins.targets\" />\n"; + } + print F << "EOM"; +</Project> +EOM + close F; +} + +sub createGlueProject { + my ($git_dir, $out_dir, $rel_dir, %build_structure) = @_; + print "Generate solutions file\n"; + $rel_dir = "..\\$rel_dir"; + $rel_dir =~ s/\//\\/g; + my $SLN_HEAD = "Microsoft Visual Studio Solution File, Format Version 11.00\n# Visual Studio 2010\n"; + my $SLN_PRE = "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = "; + my $SLN_POST = "\nEndProject\n"; + + my @libs = @{$build_structure{"LIBS"}}; + my @tmp; + foreach (@libs) { + $_ =~ s/\.a//; + push(@tmp, $_); + } + @libs = @tmp; + + my @apps = @{$build_structure{"APPS"}}; + @tmp = (); + foreach (@apps) { + $_ =~ s/\.exe//; + if ($_ eq "git" ) { + unshift(@tmp, $_); + } else { + push(@tmp, $_); + } + } + @apps = @tmp; + + open F, ">git.sln" || die "Could not open git.sln for writing!\n"; + binmode F, ":crlf :utf8"; + print F chr(0xFEFF); + print F "$SLN_HEAD"; + + foreach (@apps) { + my $appname = $_; + my $uuid = $build_structure{"APPS_${appname}_GUID"}; + print F "$SLN_PRE"; + my $vcxproj = $build_structure{"APPS_${appname}_VCXPROJ"}; + $vcxproj =~ s/\//\\/g; + $appname =~ s/.*\///; + print F "\"${appname}\", \"${vcxproj}\", \"${uuid}\""; + print F "$SLN_POST"; + } + foreach (@libs) { + my $libname = $_; + my $uuid = $build_structure{"LIBS_${libname}_GUID"}; + print F "$SLN_PRE"; + my $vcxproj = $build_structure{"LIBS_${libname}_VCXPROJ"}; + $vcxproj =~ s/\//\\/g; + $libname =~ s/\//_/g; + print F "\"${libname}\", \"${vcxproj}\", \"${uuid}\""; + print F "$SLN_POST"; + } + + print F << "EOM"; +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection +EOM + print F << "EOM"; + GlobalSection(ProjectConfigurationPlatforms) = postSolution +EOM + foreach (@apps) { + my $appname = $_; + my $uuid = $build_structure{"APPS_${appname}_GUID"}; + print F "\t\t${uuid}.Debug|x64.ActiveCfg = Debug|x64\n"; + print F "\t\t${uuid}.Debug|x64.Build.0 = Debug|x64\n"; + print F "\t\t${uuid}.Debug|x86.ActiveCfg = Debug|Win32\n"; + print F "\t\t${uuid}.Debug|x86.Build.0 = Debug|Win32\n"; + print F "\t\t${uuid}.Release|x64.ActiveCfg = Release|x64\n"; + print F "\t\t${uuid}.Release|x64.Build.0 = Release|x64\n"; + print F "\t\t${uuid}.Release|x86.ActiveCfg = Release|Win32\n"; + print F "\t\t${uuid}.Release|x86.Build.0 = Release|Win32\n"; + } + foreach (@libs) { + my $libname = $_; + my $uuid = $build_structure{"LIBS_${libname}_GUID"}; + print F "\t\t${uuid}.Debug|x64.ActiveCfg = Debug|x64\n"; + print F "\t\t${uuid}.Debug|x64.Build.0 = Debug|x64\n"; + print F "\t\t${uuid}.Debug|x86.ActiveCfg = Debug|Win32\n"; + print F "\t\t${uuid}.Debug|x86.Build.0 = Debug|Win32\n"; + print F "\t\t${uuid}.Release|x64.ActiveCfg = Release|x64\n"; + print F "\t\t${uuid}.Release|x64.Build.0 = Release|x64\n"; + print F "\t\t${uuid}.Release|x86.ActiveCfg = Release|Win32\n"; + print F "\t\t${uuid}.Release|x86.Build.0 = Release|Win32\n"; + } + + print F << "EOM"; + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal +EOM + close F; +} + +1; diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl index 23da787dc5..fba8a3f056 100755 --- a/contrib/buildsystems/engine.pl +++ b/contrib/buildsystems/engine.pl @@ -12,6 +12,7 @@ use File::Basename; use File::Spec; use Cwd; use Generators; +use Text::ParseWords; my (%build_structure, %compile_options, @makedry); my $out_dir = getcwd(); @@ -31,6 +32,7 @@ generate usage: -g <GENERATOR> --gen <GENERATOR> Specify the buildsystem generator (default: $gen) Available: $genlist -o <PATH> --out <PATH> Specify output directory generation (default: .) + --make-out <PATH> Write the output of GNU Make into a file -i <FILE> --in <FILE> Specify input file, instead of running GNU Make -h,-? --help This help EOM @@ -38,6 +40,7 @@ EOM } # Parse command-line options +my $make_out; while (@ARGV) { my $arg = shift @ARGV; if ("$arg" eq "-h" || "$arg" eq "--help" || "$arg" eq "-?") { @@ -45,6 +48,8 @@ while (@ARGV) { exit(0); } elsif("$arg" eq "--out" || "$arg" eq "-o") { $out_dir = shift @ARGV; + } elsif("$arg" eq "--make-out") { + $make_out = shift @ARGV; } elsif("$arg" eq "--gen" || "$arg" eq "-g") { $gen = shift @ARGV; } elsif("$arg" eq "--in" || "$arg" eq "-i") { @@ -52,6 +57,8 @@ while (@ARGV) { open(F, "<$infile") || die "Couldn't open file $infile"; @makedry = <F>; close(F); + } else { + die "Unknown option: " . $arg; } } @@ -72,7 +79,19 @@ Running GNU Make to figure out build structure... EOM # Pipe a make --dry-run into a variable, if not already loaded from file -@makedry = `cd $git_dir && make -n MSVC=1 V=1 2>/dev/null` if !@makedry; +# Capture the make dry stderr to file for review (will be empty for a release build). + +my $ErrsFile = "msvc-build-makedryerrors.txt"; +@makedry = `make -C $git_dir -n MSVC=1 SKIP_VCPKG=1 V=1 2>$ErrsFile` +if !@makedry; +# test for an empty Errors file and remove it +unlink $ErrsFile if -f -z $ErrsFile; + +if (defined $make_out) { + open OUT, ">" . $make_out; + print OUT @makedry; + close OUT; +} # Parse the make output into usable info parseMakeOutput(); @@ -140,6 +159,12 @@ sub parseMakeOutput next; } + if ($text =~ /^(mkdir|msgfmt) /) { + # options to the Portable Object translations + # the line "mkdir ... && msgfmt ..." contains no linker options + next; + } + if($text =~ / -c /) { # compilation handleCompileLine($text, $line); @@ -231,7 +256,7 @@ sub removeDuplicates sub handleCompileLine { my ($line, $lineno) = @_; - my @parts = split(' ', $line); + my @parts = shellwords($line); my $sourcefile; shift(@parts); # ignore cmd while (my $part = shift @parts) { @@ -265,7 +290,7 @@ sub handleLibLine my (@objfiles, @lflags, $libout, $part); # kill cmd and rm 'prefix' $line =~ s/^rm -f .* && .* rcs //; - my @parts = split(' ', $line); + my @parts = shellwords($line); while ($part = shift @parts) { if ($part =~ /^-/) { push(@lflags, $part); @@ -282,7 +307,7 @@ sub handleLibLine # exit(1); foreach (@objfiles) { my $sourcefile = $_; - $sourcefile =~ s/\.o/.c/; + $sourcefile =~ s/\.o$/.c/; push(@sources, $sourcefile); push(@cflags, @{$compile_options{"${sourcefile}_CFLAGS"}}); push(@defines, @{$compile_options{"${sourcefile}_DEFINES"}}); @@ -306,7 +331,7 @@ sub handleLinkLine { my ($line, $lineno) = @_; my (@objfiles, @lflags, @libs, $appout, $part); - my @parts = split(' ', $line); + my @parts = shellwords($line); shift(@parts); # ignore cmd while ($part = shift @parts) { if ($part =~ /^-IGNORE/) { @@ -317,26 +342,36 @@ sub handleLinkLine $appout = shift @parts; } elsif ("$part" eq "-lz") { push(@libs, "zlib.lib"); - } elsif ("$part" eq "-lcrypto") { + } elsif ("$part" eq "-lcrypto") { push(@libs, "libeay32.lib"); } elsif ("$part" eq "-lssl") { push(@libs, "ssleay32.lib"); - } elsif ($part =~ /^-/) { + } elsif ("$part" eq "-lcurl") { + push(@libs, "libcurl.lib"); + } elsif ("$part" eq "-lexpat") { + push(@libs, "expat.lib"); + } elsif ("$part" eq "-liconv") { + push(@libs, "libiconv.lib"); + } elsif ($part =~ /^[-\/]/) { push(@lflags, $part); } elsif ($part =~ /\.(a|lib)$/) { $part =~ s/\.a$/.lib/; push(@libs, $part); - } elsif ($part =~ /\.(o|obj)$/) { + } elsif ($part eq 'invalidcontinue.obj') { + # ignore - known to MSVC + } elsif ($part =~ /\.o$/) { push(@objfiles, $part); + } elsif ($part =~ /\.obj$/) { + # do nothing, 'make' should not be producing .obj, only .o files } else { - die "Unhandled lib option @ line $lineno: $part"; + die "Unhandled link option @ line $lineno: $part"; } } # print "AppOut: '$appout'\nLFlags: @lflags\nLibs : @libs\nOfiles: @objfiles\n"; # exit(1); foreach (@objfiles) { my $sourcefile = $_; - $sourcefile =~ s/\.o/.c/; + $sourcefile =~ s/\.o$/.c/; push(@sources, $sourcefile); push(@cflags, @{$compile_options{"${sourcefile}_CFLAGS"}}); push(@defines, @{$compile_options{"${sourcefile}_DEFINES"}}); diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 8c6b610a24..ce7ff0a96d 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -37,7 +37,8 @@ # GIT_COMPLETION_CHECKOUT_NO_GUESS # # When set to "1", do not include "DWIM" suggestions in git-checkout -# completion (e.g., completing "foo" when "origin/foo" exists). +# and git-switch completion (e.g., completing "foo" when "origin/foo" +# exists). case "$COMP_WORDBREAKS" in *:*) : great ;; @@ -339,7 +340,7 @@ __gitcomp () c="$c${4-}" if [[ $c == "$cur_"* ]]; then case $c in - --*=*|*.) ;; + --*=|*.) ;; *) c="$c " ;; esac COMPREPLY[i++]="${2-}$c" @@ -359,7 +360,7 @@ __gitcomp () c="$c${4-}" if [[ $c == "$cur_"* ]]; then case $c in - --*=*|*.) ;; + *=|*.) ;; *) c="$c " ;; esac COMPREPLY[i++]="${2-}$c" @@ -523,7 +524,7 @@ __git_index_files () # Even when a directory name itself does not contain # any special characters, it will still be quoted if # any of its (stripped) trailing path components do. - # Because of this we may have seen the same direcory + # Because of this we may have seen the same directory # both quoted and unquoted. if (p in paths) # We have seen the same directory unquoted, @@ -1398,7 +1399,18 @@ _git_clean () _git_clone () { + case "$prev" in + -c|--config) + __git_complete_config_variable_name_and_value + return + ;; + esac case "$cur" in + --config=*) + __git_complete_config_variable_name_and_value \ + --cur="${cur##--config=}" + return + ;; --*) __gitcomp_builtin clone return @@ -2160,6 +2172,44 @@ _git_status () __git_complete_index_file "$complete_opt" } +_git_switch () +{ + case "$cur" in + --conflict=*) + __gitcomp "diff3 merge" "" "${cur##--conflict=}" + ;; + --*) + __gitcomp_builtin switch + ;; + *) + # check if --track, --no-track, or --no-guess was specified + # if so, disable DWIM mode + local track_opt="--track" only_local_ref=n + if [ "$GIT_COMPLETION_CHECKOUT_NO_GUESS" = "1" ] || + [ -n "$(__git_find_on_cmdline "--track --no-track --no-guess")" ]; then + track_opt='' + fi + # explicit --guess enables DWIM mode regardless of + # $GIT_COMPLETION_CHECKOUT_NO_GUESS + if [ -n "$(__git_find_on_cmdline "--guess")" ]; then + track_opt='--track' + fi + if [ -z "$(__git_find_on_cmdline "-d --detach")" ]; then + only_local_ref=y + else + # --guess --detach is invalid combination, no + # dwim will be done when --detach is specified + track_opt= + fi + if [ $only_local_ref = y -a -z "$track_opt" ]; then + __gitcomp_direct "$(__git_heads "" "$cur" " ")" + else + __git_complete_refs $track_opt + fi + ;; + esac +} + __git_config_get_set_variables () { local prevword word config_file= c=$cword @@ -2186,181 +2236,282 @@ __git_config_vars= __git_compute_config_vars () { test -n "$__git_config_vars" || - __git_config_vars="$(git help --config-for-completion | sort | uniq)" + __git_config_vars="$(git help --config-for-completion | sort -u)" } -_git_config () +# Completes possible values of various configuration variables. +# +# Usage: __git_complete_config_variable_value [<option>]... +# --varname=<word>: The name of the configuration variable whose value is +# to be completed. Defaults to the previous word on the +# command line. +# --cur=<word>: The current value to be completed. Defaults to the current +# word to be completed. +__git_complete_config_variable_value () { - local varname + local varname="$prev" cur_="$cur" + + while test $# != 0; do + case "$1" in + --varname=*) varname="${1##--varname=}" ;; + --cur=*) cur_="${1##--cur=}" ;; + *) return 1 ;; + esac + shift + done if [ "${BASH_VERSINFO[0]:-0}" -ge 4 ]; then - varname="${prev,,}" + varname="${varname,,}" else - varname="$(echo "$prev" |tr A-Z a-z)" + varname="$(echo "$varname" |tr A-Z a-z)" fi case "$varname" in branch.*.remote|branch.*.pushremote) - __gitcomp_nl "$(__git_remotes)" + __gitcomp_nl "$(__git_remotes)" "" "$cur_" return ;; branch.*.merge) - __git_complete_refs + __git_complete_refs --cur="$cur_" return ;; branch.*.rebase) - __gitcomp "false true merges preserve interactive" + __gitcomp "false true merges preserve interactive" "" "$cur_" return ;; remote.pushdefault) - __gitcomp_nl "$(__git_remotes)" + __gitcomp_nl "$(__git_remotes)" "" "$cur_" return ;; remote.*.fetch) - local remote="${prev#remote.}" + local remote="${varname#remote.}" remote="${remote%.fetch}" - if [ -z "$cur" ]; then + if [ -z "$cur_" ]; then __gitcomp_nl "refs/heads/" "" "" "" return fi - __gitcomp_nl "$(__git_refs_remotes "$remote")" + __gitcomp_nl "$(__git_refs_remotes "$remote")" "" "$cur_" return ;; remote.*.push) - local remote="${prev#remote.}" + local remote="${varname#remote.}" remote="${remote%.push}" __gitcomp_nl "$(__git for-each-ref \ - --format='%(refname):%(refname)' refs/heads)" + --format='%(refname):%(refname)' refs/heads)" "" "$cur_" return ;; pull.twohead|pull.octopus) __git_compute_merge_strategies - __gitcomp "$__git_merge_strategies" - return - ;; - color.branch|color.diff|color.interactive|\ - color.showbranch|color.status|color.ui) - __gitcomp "always never auto" + __gitcomp "$__git_merge_strategies" "" "$cur_" return ;; color.pager) - __gitcomp "false true" + __gitcomp "false true" "" "$cur_" return ;; color.*.*) __gitcomp " normal black red green yellow blue magenta cyan white bold dim ul blink reverse - " + " "" "$cur_" + return + ;; + color.*) + __gitcomp "false true always never auto" "" "$cur_" return ;; diff.submodule) - __gitcomp "$__git_diff_submodule_formats" + __gitcomp "$__git_diff_submodule_formats" "" "$cur_" return ;; help.format) - __gitcomp "man info web html" + __gitcomp "man info web html" "" "$cur_" return ;; log.date) - __gitcomp "$__git_log_date_formats" + __gitcomp "$__git_log_date_formats" "" "$cur_" return ;; sendemail.aliasfiletype) - __gitcomp "mutt mailrc pine elm gnus" + __gitcomp "mutt mailrc pine elm gnus" "" "$cur_" return ;; sendemail.confirm) - __gitcomp "$__git_send_email_confirm_options" + __gitcomp "$__git_send_email_confirm_options" "" "$cur_" return ;; sendemail.suppresscc) - __gitcomp "$__git_send_email_suppresscc_options" + __gitcomp "$__git_send_email_suppresscc_options" "" "$cur_" return ;; sendemail.transferencoding) - __gitcomp "7bit 8bit quoted-printable base64" - return - ;; - --get|--get-all|--unset|--unset-all) - __gitcomp_nl "$(__git_config_get_set_variables)" + __gitcomp "7bit 8bit quoted-printable base64" "" "$cur_" return ;; *.*) return ;; esac - case "$cur" in - --*) - __gitcomp_builtin config - return - ;; +} + +# Completes configuration sections, subsections, variable names. +# +# Usage: __git_complete_config_variable_name [<option>]... +# --cur=<word>: The current configuration section/variable name to be +# completed. Defaults to the current word to be completed. +# --sfx=<suffix>: A suffix to be appended to each fully completed +# configuration variable name (but not to sections or +# subsections) instead of the default space. +__git_complete_config_variable_name () +{ + local cur_="$cur" sfx + + while test $# != 0; do + case "$1" in + --cur=*) cur_="${1##--cur=}" ;; + --sfx=*) sfx="${1##--sfx=}" ;; + *) return 1 ;; + esac + shift + done + + case "$cur_" in branch.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" - __gitcomp "remote pushRemote merge mergeOptions rebase" "$pfx" "$cur_" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" + __gitcomp "remote pushRemote merge mergeOptions rebase" "$pfx" "$cur_" "$sfx" return ;; branch.*) - local pfx="${cur%.*}." cur_="${cur#*.}" + local pfx="${cur%.*}." + cur_="${cur#*.}" __gitcomp_direct "$(__git_heads "$pfx" "$cur_" ".")" - __gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_" + __gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_" "$sfx" return ;; guitool.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" __gitcomp " argPrompt cmd confirm needsFile noConsole noRescan prompt revPrompt revUnmerged title - " "$pfx" "$cur_" + " "$pfx" "$cur_" "$sfx" return ;; difftool.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" - __gitcomp "cmd path" "$pfx" "$cur_" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" + __gitcomp "cmd path" "$pfx" "$cur_" "$sfx" return ;; man.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" - __gitcomp "cmd path" "$pfx" "$cur_" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" + __gitcomp "cmd path" "$pfx" "$cur_" "$sfx" return ;; mergetool.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" - __gitcomp "cmd path trustExitCode" "$pfx" "$cur_" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" + __gitcomp "cmd path trustExitCode" "$pfx" "$cur_" "$sfx" return ;; pager.*) - local pfx="${cur%.*}." cur_="${cur#*.}" + local pfx="${cur_%.*}." + cur_="${cur_#*.}" __git_compute_all_commands - __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" + __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" "$sfx" return ;; remote.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" __gitcomp " url proxy fetch push mirror skipDefaultUpdate receivepack uploadpack tagOpt pushurl - " "$pfx" "$cur_" + " "$pfx" "$cur_" "$sfx" return ;; remote.*) - local pfx="${cur%.*}." cur_="${cur#*.}" + local pfx="${cur_%.*}." + cur_="${cur_#*.}" __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "." - __gitcomp_nl_append "pushDefault" "$pfx" "$cur_" + __gitcomp_nl_append "pushDefault" "$pfx" "$cur_" "$sfx" return ;; url.*.*) - local pfx="${cur%.*}." cur_="${cur##*.}" - __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_" + local pfx="${cur_%.*}." + cur_="${cur_##*.}" + __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_" "$sfx" return ;; *.*) __git_compute_config_vars - __gitcomp "$__git_config_vars" + __gitcomp "$__git_config_vars" "" "$cur_" "$sfx" ;; *) __git_compute_config_vars - __gitcomp "$(echo "$__git_config_vars" | sed 's/\.[^ ]*/./g')" + __gitcomp "$(echo "$__git_config_vars" | + awk -F . '{ + sections[$1] = 1 + } + END { + for (s in sections) + print s "." + } + ')" "" "$cur_" + ;; + esac +} + +# Completes '='-separated configuration sections/variable names and values +# for 'git -c section.name=value'. +# +# Usage: __git_complete_config_variable_name_and_value [<option>]... +# --cur=<word>: The current configuration section/variable name/value to be +# completed. Defaults to the current word to be completed. +__git_complete_config_variable_name_and_value () +{ + local cur_="$cur" + + while test $# != 0; do + case "$1" in + --cur=*) cur_="${1##--cur=}" ;; + *) return 1 ;; + esac + shift + done + + case "$cur_" in + *=*) + __git_complete_config_variable_value \ + --varname="${cur_%%=*}" --cur="${cur_#*=}" + ;; + *) + __git_complete_config_variable_name --cur="$cur_" --sfx='=' + ;; + esac +} + +_git_config () +{ + case "$prev" in + --get|--get-all|--unset|--unset-all) + __gitcomp_nl "$(__git_config_get_set_variables)" + return + ;; + *.*) + __git_complete_config_variable_value + return + ;; + esac + case "$cur" in + --*) + __gitcomp_builtin config + ;; + *) + __git_complete_config_variable_name + ;; esac } @@ -2458,6 +2609,21 @@ _git_reset () __git_complete_refs } +_git_restore () +{ + case "$cur" in + --conflict=*) + __gitcomp "diff3 merge" "" "${cur##--conflict=}" + ;; + --source=*) + __git_complete_refs --cur="${cur##--source=}" + ;; + --*) + __gitcomp_builtin restore + ;; + esac +} + __git_revert_inprogress_options="--continue --quit --abort" _git_revert () @@ -2902,7 +3068,11 @@ __git_main () # Bash filename completion return ;; - -c|--namespace) + -c) + __git_complete_config_variable_name_and_value + return + ;; + --namespace) # we don't support completing these options' arguments return ;; diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 983e419d2b..1d510cd47b 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -286,6 +286,37 @@ __git_eread () test -r "$1" && IFS=$'\r\n' read "$2" <"$1" } +# see if a cherry-pick or revert is in progress, if the user has committed a +# conflict resolution with 'git commit' in the middle of a sequence of picks or +# reverts then CHERRY_PICK_HEAD/REVERT_HEAD will not exist so we have to read +# the todo file. +__git_sequencer_status () +{ + local todo + if test -f "$g/CHERRY_PICK_HEAD" + then + r="|CHERRY-PICKING" + return 0; + elif test -f "$g/REVERT_HEAD" + then + r="|REVERTING" + return 0; + elif __git_eread "$g/sequencer/todo" todo + then + case "$todo" in + p[\ \ ]|pick[\ \ ]*) + r="|CHERRY-PICKING" + return 0 + ;; + revert[\ \ ]*) + r="|REVERTING" + return 0 + ;; + esac + fi + return 1 +} + # __git_ps1 accepts 0 or 1 arguments (i.e., format string) # when called from PS1 using command substitution # in this mode it prints text to add to bash PS1 prompt (includes branch name) @@ -417,10 +448,8 @@ __git_ps1 () fi elif [ -f "$g/MERGE_HEAD" ]; then r="|MERGING" - elif [ -f "$g/CHERRY_PICK_HEAD" ]; then - r="|CHERRY-PICKING" - elif [ -f "$g/REVERT_HEAD" ]; then - r="|REVERTING" + elif __git_sequencer_status; then + : elif [ -f "$g/BISECT_LOG" ]; then r="|BISECTING" fi @@ -8,6 +8,7 @@ #include "pkt-line.h" #include "sub-process.h" #include "utf8.h" +#include "ll-merge.h" /* * convert.c - convert a file when checking it out and checking it in. @@ -1293,10 +1294,11 @@ struct conv_attrs { const char *working_tree_encoding; /* Supported encoding or default encoding if NULL */ }; +static struct attr_check *check; + static void convert_attrs(const struct index_state *istate, struct conv_attrs *ca, const char *path) { - static struct attr_check *check; struct attr_check_item *ccheck = NULL; if (!check) { @@ -1339,6 +1341,23 @@ static void convert_attrs(const struct index_state *istate, ca->crlf_action = CRLF_AUTO_INPUT; } +void reset_parsed_attributes(void) +{ + struct convert_driver *drv, *next; + + attr_check_free(check); + check = NULL; + reset_merge_attributes(); + + for (drv = user_convert; drv; drv = next) { + next = drv->next; + free((void *)drv->name); + free(drv); + } + user_convert = NULL; + user_convert_tail = NULL; +} + int would_convert_to_git_filter_fd(const struct index_state *istate, const char *path) { struct conv_attrs ca; @@ -94,6 +94,12 @@ void convert_to_git_filter_fd(const struct index_state *istate, int would_convert_to_git_filter_fd(const struct index_state *istate, const char *path); +/* + * Reset the internal list of attributes used by convert_to_git and + * convert_to_working_tree. + */ +void reset_parsed_attributes(void); + /***************************************************************** * * Streaming conversion support diff --git a/credential-store.c b/credential-store.c index ac295420dd..c010497cb2 100644 --- a/credential-store.c +++ b/credential-store.c @@ -72,15 +72,16 @@ static void store_credential_file(const char *fn, struct credential *c) struct strbuf buf = STRBUF_INIT; strbuf_addf(&buf, "%s://", c->protocol); - strbuf_addstr_urlencode(&buf, c->username, 1); + strbuf_addstr_urlencode(&buf, c->username, is_rfc3986_unreserved); strbuf_addch(&buf, ':'); - strbuf_addstr_urlencode(&buf, c->password, 1); + strbuf_addstr_urlencode(&buf, c->password, is_rfc3986_unreserved); strbuf_addch(&buf, '@'); if (c->host) - strbuf_addstr_urlencode(&buf, c->host, 1); + strbuf_addstr_urlencode(&buf, c->host, is_rfc3986_unreserved); if (c->path) { strbuf_addch(&buf, '/'); - strbuf_addstr_urlencode(&buf, c->path, 0); + strbuf_addstr_urlencode(&buf, c->path, + is_rfc3986_reserved_or_unreserved); } rewrite_credential_file(fn, c, &buf); diff --git a/decorate.c b/decorate.c index de31331fa4..a605b1b5f4 100644 --- a/decorate.c +++ b/decorate.c @@ -8,7 +8,7 @@ static unsigned int hash_obj(const struct object *obj, unsigned int n) { - return sha1hash(obj->oid.hash) % n; + return oidhash(&obj->oid) % n; } static void *insert_decoration(struct decoration *n, const struct object *base, void *decoration) diff --git a/delta-islands.c b/delta-islands.c index b959f6c380..09dbd3cf72 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -22,7 +22,7 @@ KHASH_INIT(str, const char *, void *, 1, kh_str_hash_func, kh_str_hash_equal) -static khash_sha1 *island_marks; +static kh_oid_map_t *island_marks; static unsigned island_counter; static unsigned island_counter_core; @@ -105,7 +105,7 @@ int in_same_island(const struct object_id *trg_oid, const struct object_id *src_ * If we don't have a bitmap for the target, we can delta it * against anything -- it's not an important object */ - trg_pos = kh_get_sha1(island_marks, trg_oid->hash); + trg_pos = kh_get_oid_map(island_marks, *trg_oid); if (trg_pos >= kh_end(island_marks)) return 1; @@ -113,7 +113,7 @@ int in_same_island(const struct object_id *trg_oid, const struct object_id *src_ * if the source (our delta base) doesn't have a bitmap, * we don't want to base any deltas on it! */ - src_pos = kh_get_sha1(island_marks, src_oid->hash); + src_pos = kh_get_oid_map(island_marks, *src_oid); if (src_pos >= kh_end(island_marks)) return 0; @@ -129,11 +129,11 @@ int island_delta_cmp(const struct object_id *a, const struct object_id *b) if (!island_marks) return 0; - a_pos = kh_get_sha1(island_marks, a->hash); + a_pos = kh_get_oid_map(island_marks, *a); if (a_pos < kh_end(island_marks)) a_bitmap = kh_value(island_marks, a_pos); - b_pos = kh_get_sha1(island_marks, b->hash); + b_pos = kh_get_oid_map(island_marks, *b); if (b_pos < kh_end(island_marks)) b_bitmap = kh_value(island_marks, b_pos); @@ -154,7 +154,7 @@ static struct island_bitmap *create_or_get_island_marks(struct object *obj) khiter_t pos; int hash_ret; - pos = kh_put_sha1(island_marks, obj->oid.hash, &hash_ret); + pos = kh_put_oid_map(island_marks, obj->oid, &hash_ret); if (hash_ret) kh_value(island_marks, pos) = island_bitmap_new(NULL); @@ -167,7 +167,7 @@ static void set_island_marks(struct object *obj, struct island_bitmap *marks) khiter_t pos; int hash_ret; - pos = kh_put_sha1(island_marks, obj->oid.hash, &hash_ret); + pos = kh_put_oid_map(island_marks, obj->oid, &hash_ret); if (hash_ret) { /* * We don't have one yet; make a copy-on-write of the @@ -279,7 +279,7 @@ void resolve_tree_islands(struct repository *r, struct name_entry entry; khiter_t pos; - pos = kh_get_sha1(island_marks, ent->idx.oid.hash); + pos = kh_get_oid_map(island_marks, ent->idx.oid); if (pos >= kh_end(island_marks)) continue; @@ -296,7 +296,7 @@ void resolve_tree_islands(struct repository *r, if (S_ISGITLINK(entry.mode)) continue; - obj = lookup_object(r, entry.oid.hash); + obj = lookup_object(r, &entry.oid); if (!obj) continue; @@ -456,7 +456,7 @@ static void deduplicate_islands(struct repository *r) void load_delta_islands(struct repository *r, int progress) { - island_marks = kh_init_sha1(); + island_marks = kh_init_oid_map(); remote_islands = kh_init_str(); git_config(island_config_callback, NULL); @@ -469,7 +469,7 @@ void load_delta_islands(struct repository *r, int progress) void propagate_island_marks(struct commit *commit) { - khiter_t pos = kh_get_sha1(island_marks, commit->object.oid.hash); + khiter_t pos = kh_get_oid_map(island_marks, commit->object.oid); if (pos < kh_end(island_marks)) { struct commit_list *p; @@ -491,7 +491,7 @@ int compute_pack_layers(struct packing_data *to_pack) for (i = 0; i < to_pack->nr_objects; ++i) { struct object_entry *entry = &to_pack->objects[i]; - khiter_t pos = kh_get_sha1(island_marks, entry->idx.oid.hash); + khiter_t pos = kh_get_oid_map(island_marks, entry->idx.oid); oe_set_layer(to_pack, entry, 1); @@ -25,7 +25,7 @@ #include "packfile.h" #include "parse-options.h" #include "help.h" -#include "fetch-object.h" +#include "promisor-remote.h" #ifdef NO_FAST_WORKING_DIRECTORY #define FAST_WORKING_DIRECTORY 0 @@ -1673,7 +1673,10 @@ static void emit_hunk_header(struct emit_callback *ecbdata, if (ecbdata->opt->flags.dual_color_diffed_diffs) strbuf_addstr(&msgbuf, reverse); strbuf_addstr(&msgbuf, frag); - strbuf_add(&msgbuf, line, ep - line); + if (ecbdata->opt->flags.suppress_hunk_header_line_count) + strbuf_add(&msgbuf, atat, sizeof(atat)); + else + strbuf_add(&msgbuf, line, ep - line); strbuf_addstr(&msgbuf, reset); /* @@ -5992,6 +5995,22 @@ static int remove_space(char *line, int len) return dst - line; } +void flush_one_hunk(struct object_id *result, git_SHA_CTX *ctx) +{ + unsigned char hash[GIT_MAX_RAWSZ]; + unsigned short carry = 0; + int i; + + git_SHA1_Final(hash, ctx); + git_SHA1_Init(ctx); + /* 20-byte sum, with carry */ + for (i = 0; i < GIT_SHA1_RAWSZ; ++i) { + carry += result->hash[i] + hash[i]; + result->hash[i] = carry; + carry >>= 8; + } +} + static void patch_id_consume(void *priv, char *line, unsigned long len) { struct patch_id_t *data = priv; @@ -6016,8 +6035,8 @@ static void patch_id_add_mode(git_SHA_CTX *ctx, unsigned mode) git_SHA1_Update(ctx, buf, len); } -/* returns 0 upon success, and writes result into sha1 */ -static int diff_get_patch_id(struct diff_options *options, struct object_id *oid, int diff_header_only) +/* returns 0 upon success, and writes result into oid */ +static int diff_get_patch_id(struct diff_options *options, struct object_id *oid, int diff_header_only, int stable) { struct diff_queue_struct *q = &diff_queued_diff; int i; @@ -6027,6 +6046,7 @@ static int diff_get_patch_id(struct diff_options *options, struct object_id *oid git_SHA1_Init(&ctx); memset(&data, 0, sizeof(struct patch_id_t)); data.ctx = &ctx; + oidclr(oid); for (i = 0; i < q->nr; i++) { xpparam_t xpp; @@ -6102,17 +6122,22 @@ static int diff_get_patch_id(struct diff_options *options, struct object_id *oid patch_id_consume, &data, &xpp, &xecfg)) return error("unable to generate patch-id diff for %s", p->one->path); + + if (stable) + flush_one_hunk(oid, &ctx); } - git_SHA1_Final(oid->hash, &ctx); + if (!stable) + git_SHA1_Final(oid->hash, &ctx); + return 0; } -int diff_flush_patch_id(struct diff_options *options, struct object_id *oid, int diff_header_only) +int diff_flush_patch_id(struct diff_options *options, struct object_id *oid, int diff_header_only, int stable) { struct diff_queue_struct *q = &diff_queued_diff; int i; - int result = diff_get_patch_id(options, oid, diff_header_only); + int result = diff_get_patch_id(options, oid, diff_header_only, stable); for (i = 0; i < q->nr; i++) diff_free_filepair(q->queue[i]); @@ -6487,6 +6512,7 @@ static void add_if_missing(struct repository *r, const struct diff_filespec *filespec) { if (filespec && filespec->oid_valid && + !S_ISGITLINK(filespec->mode) && oid_object_info_extended(r, &filespec->oid, NULL, OBJECT_INFO_FOR_PREFETCH)) oid_array_append(to_fetch, &filespec->oid); @@ -6494,8 +6520,7 @@ static void add_if_missing(struct repository *r, void diffcore_std(struct diff_options *options) { - if (options->repo == the_repository && - repository_format_partial_clone) { + if (options->repo == the_repository && has_promisor_remote()) { /* * Prefetch the diff pairs that are about to be flushed. */ @@ -6512,8 +6537,8 @@ void diffcore_std(struct diff_options *options) /* * NEEDSWORK: Consider deduplicating the OIDs sent. */ - fetch_objects(repository_format_partial_clone, - to_fetch.oid, to_fetch.nr); + promisor_remote_get_direct(options->repo, + to_fetch.oid, to_fetch.nr); oid_array_clear(&to_fetch); } @@ -98,6 +98,7 @@ struct diff_flags { unsigned stat_with_summary; unsigned suppress_diff_headers; unsigned dual_color_diffed_diffs; + unsigned suppress_hunk_header_line_count; }; static inline void diff_flags_or(struct diff_flags *a, @@ -436,7 +437,8 @@ int run_diff_files(struct rev_info *revs, unsigned int option); int run_diff_index(struct rev_info *revs, int cached); int do_diff_cache(const struct object_id *, struct diff_options *); -int diff_flush_patch_id(struct diff_options *, struct object_id *, int); +int diff_flush_patch_id(struct diff_options *, struct object_id *, int, int); +void flush_one_hunk(struct object_id *, git_SHA_CTX *); int diff_result_code(struct diff_options *, int); diff --git a/diffcore-rename.c b/diffcore-rename.c index 6af92d5eba..9624864858 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -266,7 +266,7 @@ static unsigned int hash_filespec(struct repository *r, hash_object_file(filespec->data, filespec->size, "blob", &filespec->oid); } - return sha1hash(filespec->oid.hash); + return oidhash(&filespec->oid); } static int find_identical_files(struct hashmap *srcs, diff --git a/dir-iterator.c b/dir-iterator.c index f2dcd82fde..b17e9f970a 100644 --- a/dir-iterator.c +++ b/dir-iterator.c @@ -4,8 +4,6 @@ #include "dir-iterator.h" struct dir_iterator_level { - int initialized; - DIR *dir; /* @@ -13,16 +11,6 @@ struct dir_iterator_level { * (including a trailing '/'): */ size_t prefix_len; - - /* - * The last action that has been taken with the current entry - * (needed for directories, which have to be included in the - * iteration and also iterated into): - */ - enum { - DIR_STATE_ITER, - DIR_STATE_RECURSE - } dir_state; }; /* @@ -34,9 +22,11 @@ struct dir_iterator_int { struct dir_iterator base; /* - * The number of levels currently on the stack. This is always - * at least 1, because when it becomes zero the iteration is - * ended and this struct is freed. + * The number of levels currently on the stack. After the first + * call to dir_iterator_begin(), if it succeeds to open the + * first level's dir, this will always be at least 1. Then, + * when it comes to zero the iteration is ended and this + * struct is freed. */ size_t levels_nr; @@ -48,117 +38,142 @@ struct dir_iterator_int { * that will be included in this iteration. */ struct dir_iterator_level *levels; + + /* Combination of flags for this dir-iterator */ + unsigned int flags; }; +/* + * Push a level in the iter stack and initialize it with information from + * the directory pointed by iter->base->path. It is assumed that this + * strbuf points to a valid directory path. Return 0 on success and -1 + * otherwise, setting errno accordingly and leaving the stack unchanged. + */ +static int push_level(struct dir_iterator_int *iter) +{ + struct dir_iterator_level *level; + + ALLOC_GROW(iter->levels, iter->levels_nr + 1, iter->levels_alloc); + level = &iter->levels[iter->levels_nr++]; + + if (!is_dir_sep(iter->base.path.buf[iter->base.path.len - 1])) + strbuf_addch(&iter->base.path, '/'); + level->prefix_len = iter->base.path.len; + + level->dir = opendir(iter->base.path.buf); + if (!level->dir) { + int saved_errno = errno; + if (errno != ENOENT) { + warning_errno("error opening directory '%s'", + iter->base.path.buf); + } + iter->levels_nr--; + errno = saved_errno; + return -1; + } + + return 0; +} + +/* + * Pop the top level on the iter stack, releasing any resources associated + * with it. Return the new value of iter->levels_nr. + */ +static int pop_level(struct dir_iterator_int *iter) +{ + struct dir_iterator_level *level = + &iter->levels[iter->levels_nr - 1]; + + if (level->dir && closedir(level->dir)) + warning_errno("error closing directory '%s'", + iter->base.path.buf); + level->dir = NULL; + + return --iter->levels_nr; +} + +/* + * Populate iter->base with the necessary information on the next iteration + * entry, represented by the given dirent de. Return 0 on success and -1 + * otherwise, setting errno accordingly. + */ +static int prepare_next_entry_data(struct dir_iterator_int *iter, + struct dirent *de) +{ + int err, saved_errno; + + strbuf_addstr(&iter->base.path, de->d_name); + /* + * We have to reset these because the path strbuf might have + * been realloc()ed at the previous strbuf_addstr(). + */ + iter->base.relative_path = iter->base.path.buf + + iter->levels[0].prefix_len; + iter->base.basename = iter->base.path.buf + + iter->levels[iter->levels_nr - 1].prefix_len; + + if (iter->flags & DIR_ITERATOR_FOLLOW_SYMLINKS) + err = stat(iter->base.path.buf, &iter->base.st); + else + err = lstat(iter->base.path.buf, &iter->base.st); + + saved_errno = errno; + if (err && errno != ENOENT) + warning_errno("failed to stat '%s'", iter->base.path.buf); + + errno = saved_errno; + return err; +} + int dir_iterator_advance(struct dir_iterator *dir_iterator) { struct dir_iterator_int *iter = (struct dir_iterator_int *)dir_iterator; + if (S_ISDIR(iter->base.st.st_mode) && push_level(iter)) { + if (errno != ENOENT && iter->flags & DIR_ITERATOR_PEDANTIC) + goto error_out; + if (iter->levels_nr == 0) + goto error_out; + } + + /* Loop until we find an entry that we can give back to the caller. */ while (1) { + struct dirent *de; struct dir_iterator_level *level = &iter->levels[iter->levels_nr - 1]; - struct dirent *de; - if (!level->initialized) { - /* - * Note: dir_iterator_begin() ensures that - * path is not the empty string. - */ - if (!is_dir_sep(iter->base.path.buf[iter->base.path.len - 1])) - strbuf_addch(&iter->base.path, '/'); - level->prefix_len = iter->base.path.len; - - level->dir = opendir(iter->base.path.buf); - if (!level->dir && errno != ENOENT) { - warning("error opening directory %s: %s", - iter->base.path.buf, strerror(errno)); - /* Popping the level is handled below */ - } - - level->initialized = 1; - } else if (S_ISDIR(iter->base.st.st_mode)) { - if (level->dir_state == DIR_STATE_ITER) { - /* - * The directory was just iterated - * over; now prepare to iterate into - * it. - */ - level->dir_state = DIR_STATE_RECURSE; - ALLOC_GROW(iter->levels, iter->levels_nr + 1, - iter->levels_alloc); - level = &iter->levels[iter->levels_nr++]; - level->initialized = 0; - continue; - } else { - /* - * The directory has already been - * iterated over and iterated into; - * we're done with it. - */ + strbuf_setlen(&iter->base.path, level->prefix_len); + errno = 0; + de = readdir(level->dir); + + if (!de) { + if (errno) { + warning_errno("error reading directory '%s'", + iter->base.path.buf); + if (iter->flags & DIR_ITERATOR_PEDANTIC) + goto error_out; + } else if (pop_level(iter) == 0) { + return dir_iterator_abort(dir_iterator); } + continue; } - if (!level->dir) { - /* - * This level is exhausted (or wasn't opened - * successfully); pop up a level. - */ - if (--iter->levels_nr == 0) - return dir_iterator_abort(dir_iterator); + if (is_dot_or_dotdot(de->d_name)) + continue; + if (prepare_next_entry_data(iter, de)) { + if (errno != ENOENT && iter->flags & DIR_ITERATOR_PEDANTIC) + goto error_out; continue; } - /* - * Loop until we find an entry that we can give back - * to the caller: - */ - while (1) { - strbuf_setlen(&iter->base.path, level->prefix_len); - errno = 0; - de = readdir(level->dir); - - if (!de) { - /* This level is exhausted; pop up a level. */ - if (errno) { - warning("error reading directory %s: %s", - iter->base.path.buf, strerror(errno)); - } else if (closedir(level->dir)) - warning("error closing directory %s: %s", - iter->base.path.buf, strerror(errno)); - - level->dir = NULL; - if (--iter->levels_nr == 0) - return dir_iterator_abort(dir_iterator); - break; - } - - if (is_dot_or_dotdot(de->d_name)) - continue; - - strbuf_addstr(&iter->base.path, de->d_name); - if (lstat(iter->base.path.buf, &iter->base.st) < 0) { - if (errno != ENOENT) - warning("error reading path '%s': %s", - iter->base.path.buf, - strerror(errno)); - continue; - } - - /* - * We have to set these each time because - * the path strbuf might have been realloc()ed. - */ - iter->base.relative_path = - iter->base.path.buf + iter->levels[0].prefix_len; - iter->base.basename = - iter->base.path.buf + level->prefix_len; - level->dir_state = DIR_STATE_ITER; - - return ITER_OK; - } + return ITER_OK; } + +error_out: + dir_iterator_abort(dir_iterator); + return ITER_ERROR; } int dir_iterator_abort(struct dir_iterator *dir_iterator) @@ -170,9 +185,11 @@ int dir_iterator_abort(struct dir_iterator *dir_iterator) &iter->levels[iter->levels_nr - 1]; if (level->dir && closedir(level->dir)) { + int saved_errno = errno; strbuf_setlen(&iter->base.path, level->prefix_len); - warning("error closing directory %s: %s", - iter->base.path.buf, strerror(errno)); + errno = saved_errno; + warning_errno("error closing directory '%s'", + iter->base.path.buf); } } @@ -182,21 +199,37 @@ int dir_iterator_abort(struct dir_iterator *dir_iterator) return ITER_DONE; } -struct dir_iterator *dir_iterator_begin(const char *path) +struct dir_iterator *dir_iterator_begin(const char *path, unsigned int flags) { struct dir_iterator_int *iter = xcalloc(1, sizeof(*iter)); struct dir_iterator *dir_iterator = &iter->base; - - if (!path || !*path) - BUG("empty path passed to dir_iterator_begin()"); + int saved_errno; strbuf_init(&iter->base.path, PATH_MAX); strbuf_addstr(&iter->base.path, path); ALLOC_GROW(iter->levels, 10, iter->levels_alloc); + iter->levels_nr = 0; + iter->flags = flags; - iter->levels_nr = 1; - iter->levels[0].initialized = 0; + /* + * Note: stat already checks for NULL or empty strings and + * inexistent paths. + */ + if (stat(iter->base.path.buf, &iter->base.st) < 0) { + saved_errno = errno; + goto error_out; + } + + if (!S_ISDIR(iter->base.st.st_mode)) { + saved_errno = ENOTDIR; + goto error_out; + } return dir_iterator; + +error_out: + dir_iterator_abort(dir_iterator); + errno = saved_errno; + return NULL; } diff --git a/dir-iterator.h b/dir-iterator.h index 970793d07a..08229157c6 100644 --- a/dir-iterator.h +++ b/dir-iterator.h @@ -8,18 +8,23 @@ * * Iterate over a directory tree, recursively, including paths of all * types and hidden paths. Skip "." and ".." entries and don't follow - * symlinks except for the original path. + * symlinks except for the original path. Note that the original path + * is not included in the iteration. * * Every time dir_iterator_advance() is called, update the members of * the dir_iterator structure to reflect the next path in the * iteration. The order that paths are iterated over within a - * directory is undefined, but directory paths are always iterated - * over before the subdirectory contents. + * directory is undefined, directory paths are always given before + * their contents. * * A typical iteration looks like this: * * int ok; - * struct iterator *iter = dir_iterator_begin(path); + * unsigned int flags = DIR_ITERATOR_PEDANTIC; + * struct dir_iterator *iter = dir_iterator_begin(path, flags); + * + * if (!iter) + * goto error_handler; * * while ((ok = dir_iterator_advance(iter)) == ITER_OK) { * if (want_to_stop_iteration()) { @@ -40,6 +45,29 @@ * dir_iterator_advance() again. */ +/* + * Flags for dir_iterator_begin: + * + * - DIR_ITERATOR_PEDANTIC: override dir-iterator's default behavior + * in case of an error at dir_iterator_advance(), which is to keep + * looking for a next valid entry. With this flag, resources are freed + * and ITER_ERROR is returned immediately. In both cases, a meaningful + * warning is emitted. Note: ENOENT errors are always ignored so that + * the API users may remove files during iteration. + * + * - DIR_ITERATOR_FOLLOW_SYMLINKS: make dir-iterator follow symlinks. + * i.e., linked directories' contents will be iterated over and + * iter->base.st will contain information on the referred files, + * not the symlinks themselves, which is the default behavior. Broken + * symlinks are ignored. + * + * Warning: circular symlinks are also followed when + * DIR_ITERATOR_FOLLOW_SYMLINKS is set. The iteration may end up with + * an ELOOP if they happen and DIR_ITERATOR_PEDANTIC is set. + */ +#define DIR_ITERATOR_PEDANTIC (1 << 0) +#define DIR_ITERATOR_FOLLOW_SYMLINKS (1 << 1) + struct dir_iterator { /* The current path: */ struct strbuf path; @@ -54,28 +82,38 @@ struct dir_iterator { /* The current basename: */ const char *basename; - /* The result of calling lstat() on path: */ + /* + * The result of calling lstat() on path; or stat(), if the + * DIR_ITERATOR_FOLLOW_SYMLINKS flag was set at + * dir_iterator's initialization. + */ struct stat st; }; /* - * Start a directory iteration over path. Return a dir_iterator that - * holds the internal state of the iteration. + * Start a directory iteration over path with the combination of + * options specified by flags. On success, return a dir_iterator + * that holds the internal state of the iteration. In case of + * failure, return NULL and set errno accordingly. * * The iteration includes all paths under path, not including path * itself and not including "." or ".." entries. * - * path is the starting directory. An internal copy will be made. + * Parameters are: + * - path is the starting directory. An internal copy will be made. + * - flags is a combination of the possible flags to initialize a + * dir-iterator or 0 for default behavior. */ -struct dir_iterator *dir_iterator_begin(const char *path); +struct dir_iterator *dir_iterator_begin(const char *path, unsigned int flags); /* * Advance the iterator to the first or next item and return ITER_OK. * If the iteration is exhausted, free the dir_iterator and any - * resources associated with it and return ITER_DONE. On error, free - * dir_iterator and associated resources and return ITER_ERROR. It is - * a bug to use iterator or call this function again after it has - * returned ITER_DONE or ITER_ERROR. + * resources associated with it and return ITER_DONE. + * + * It is a bug to use iterator or call this function again after it + * has returned ITER_DONE or ITER_ERROR (which may be returned iff + * the DIR_ITERATOR_PEDANTIC flag was set). */ int dir_iterator_advance(struct dir_iterator *iterator); diff --git a/environment.c b/environment.c index 89af47cb85..efa072680a 100644 --- a/environment.c +++ b/environment.c @@ -31,8 +31,6 @@ int warn_ambiguous_refs = 1; int warn_on_object_refname_ambiguity = 1; int ref_paranoia = -1; int repository_format_precious_objects; -char *repository_format_partial_clone; -const char *core_partial_clone_filter_default; int repository_format_worktree_config; const char *git_commit_encoding; const char *git_log_output_encoding; diff --git a/fast-import.c b/fast-import.c index 606d44278d..b44d6a467e 100644 --- a/fast-import.c +++ b/fast-import.c @@ -2410,7 +2410,8 @@ static void note_change_n(const char *p, struct branch *b, unsigned char *old_fa oidcpy(&commit_oid, &commit_oe->idx.oid); } else if (!get_oid(p, &commit_oid)) { unsigned long size; - char *buf = read_object_with_reference(&commit_oid, + char *buf = read_object_with_reference(the_repository, + &commit_oid, commit_type, &size, &commit_oid); if (!buf || size < the_hash_algo->hexsz + 6) @@ -2482,7 +2483,8 @@ static void parse_from_existing(struct branch *b) unsigned long size; char *buf; - buf = read_object_with_reference(&b->oid, commit_type, &size, + buf = read_object_with_reference(the_repository, + &b->oid, commit_type, &size, &b->oid); parse_from_commit(b, buf, size); free(buf); @@ -2560,7 +2562,8 @@ static struct hash_list *parse_merge(unsigned int *count) oidcpy(&n->oid, &oe->idx.oid); } else if (!get_oid(from, &n->oid)) { unsigned long size; - char *buf = read_object_with_reference(&n->oid, + char *buf = read_object_with_reference(the_repository, + &n->oid, commit_type, &size, &n->oid); if (!buf || size < the_hash_algo->hexsz + 6) @@ -2585,6 +2588,7 @@ static void parse_new_commit(const char *arg) struct branch *b; char *author = NULL; char *committer = NULL; + const char *encoding = NULL; struct hash_list *merge_list = NULL; unsigned int merge_count; unsigned char prev_fanout, new_fanout; @@ -2607,6 +2611,8 @@ static void parse_new_commit(const char *arg) } if (!committer) die("Expected committer but didn't get one"); + if (skip_prefix(command_buf.buf, "encoding ", &encoding)) + read_next_command(); parse_data(&msg, 0, NULL); read_next_command(); parse_from(b); @@ -2670,9 +2676,13 @@ static void parse_new_commit(const char *arg) } strbuf_addf(&new_data, "author %s\n" - "committer %s\n" - "\n", + "committer %s\n", author ? author : committer, committer); + if (encoding) + strbuf_addf(&new_data, + "encoding %s\n", + encoding); + strbuf_addch(&new_data, '\n'); strbuf_addbuf(&new_data, &msg); free(author); free(committer); diff --git a/fetch-negotiator.c b/fetch-negotiator.c index d6d685cba0..0a1357dc9d 100644 --- a/fetch-negotiator.c +++ b/fetch-negotiator.c @@ -2,19 +2,20 @@ #include "fetch-negotiator.h" #include "negotiator/default.h" #include "negotiator/skipping.h" +#include "repository.h" -void fetch_negotiator_init(struct fetch_negotiator *negotiator, - const char *algorithm) +void fetch_negotiator_init(struct repository *r, + struct fetch_negotiator *negotiator) { - if (algorithm) { - if (!strcmp(algorithm, "skipping")) { - skipping_negotiator_init(negotiator); - return; - } else if (!strcmp(algorithm, "default")) { - /* Fall through to default initialization */ - } else { - die("unknown fetch negotiation algorithm '%s'", algorithm); - } + prepare_repo_settings(r); + switch(r->settings.fetch_negotiation_algorithm) { + case FETCH_NEGOTIATION_SKIPPING: + skipping_negotiator_init(negotiator); + return; + + case FETCH_NEGOTIATION_DEFAULT: + default: + default_negotiator_init(negotiator); + return; } - default_negotiator_init(negotiator); } diff --git a/fetch-negotiator.h b/fetch-negotiator.h index 9e3967ce66..ea78868504 100644 --- a/fetch-negotiator.h +++ b/fetch-negotiator.h @@ -2,6 +2,7 @@ #define FETCH_NEGOTIATOR_H struct commit; +struct repository; /* * An object that supplies the information needed to negotiate the contents of @@ -52,7 +53,7 @@ struct fetch_negotiator { void *data; }; -void fetch_negotiator_init(struct fetch_negotiator *negotiator, - const char *algorithm); +void fetch_negotiator_init(struct repository *r, + struct fetch_negotiator *negotiator); #endif diff --git a/fetch-object.c b/fetch-object.c deleted file mode 100644 index 4266548800..0000000000 --- a/fetch-object.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "cache.h" -#include "packfile.h" -#include "pkt-line.h" -#include "strbuf.h" -#include "transport.h" -#include "fetch-object.h" - -static void fetch_refs(const char *remote_name, struct ref *ref) -{ - struct remote *remote; - struct transport *transport; - int original_fetch_if_missing = fetch_if_missing; - - fetch_if_missing = 0; - remote = remote_get(remote_name); - if (!remote->url[0]) - die(_("Remote with no URL")); - transport = transport_get(remote, remote->url[0]); - - transport_set_option(transport, TRANS_OPT_FROM_PROMISOR, "1"); - transport_set_option(transport, TRANS_OPT_NO_DEPENDENTS, "1"); - transport_fetch_refs(transport, ref); - fetch_if_missing = original_fetch_if_missing; -} - -void fetch_objects(const char *remote_name, const struct object_id *oids, - int oid_nr) -{ - struct ref *ref = NULL; - int i; - - for (i = 0; i < oid_nr; i++) { - struct ref *new_ref = alloc_ref(oid_to_hex(&oids[i])); - oidcpy(&new_ref->old_oid, &oids[i]); - new_ref->exact_oid = 1; - new_ref->next = ref; - ref = new_ref; - } - fetch_refs(remote_name, ref); -} diff --git a/fetch-object.h b/fetch-object.h deleted file mode 100644 index d6444caa5a..0000000000 --- a/fetch-object.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef FETCH_OBJECT_H -#define FETCH_OBJECT_H - -struct object_id; - -void fetch_objects(const char *remote_name, const struct object_id *oids, - int oid_nr); - -#endif diff --git a/fetch-pack.c b/fetch-pack.c index 1c10f54e78..6ccc6294ea 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -36,7 +36,6 @@ static int agent_supported; static int server_supports_filtering; static struct lock_file shallow_lock; static const char *alternate_shallow_file; -static char *negotiation_algorithm; static struct strbuf fsck_msg_types = STRBUF_INIT; /* Remember to update object flag allocation in object.h */ @@ -286,7 +285,7 @@ static int find_common(struct fetch_negotiator *negotiator, * we cannot trust the object flags). */ if (!args->no_dependents && - ((o = lookup_object(the_repository, remote->hash)) != NULL) && + ((o = lookup_object(the_repository, remote)) != NULL) && (o->flags & COMPLETE)) { continue; } @@ -339,12 +338,9 @@ static int find_common(struct fetch_negotiator *negotiator, } } if (server_supports_filtering && args->filter_options.choice) { - struct strbuf expanded_filter_spec = STRBUF_INIT; - expand_list_objects_filter_spec(&args->filter_options, - &expanded_filter_spec); - packet_buf_write(&req_buf, "filter %s", - expanded_filter_spec.buf); - strbuf_release(&expanded_filter_spec); + const char *spec = + expand_list_objects_filter_spec(&args->filter_options); + packet_buf_write(&req_buf, "filter %s", spec); } packet_buf_flush(&req_buf); state_len = req_buf.len; @@ -364,7 +360,7 @@ static int find_common(struct fetch_negotiator *negotiator, if (skip_prefix(reader.line, "unshallow ", &arg)) { if (get_oid_hex(arg, &oid)) die(_("invalid unshallow line: %s"), reader.line); - if (!lookup_object(the_repository, oid.hash)) + if (!lookup_object(the_repository, &oid)) die(_("object not found: %s"), reader.line); /* make sure that it is parsed as shallow */ if (!parse_object(the_repository, &oid)) @@ -707,7 +703,7 @@ static void mark_complete_and_common_ref(struct fetch_negotiator *negotiator, for (ref = *refs; ref; ref = ref->next) { struct object *o = deref_tag(the_repository, lookup_object(the_repository, - ref->old_oid.hash), + &ref->old_oid), NULL, 0); if (!o || o->type != OBJ_COMMIT || !(o->flags & COMPLETE)) @@ -734,7 +730,7 @@ static int everything_local(struct fetch_pack_args *args, const struct object_id *remote = &ref->old_oid; struct object *o; - o = lookup_object(the_repository, remote->hash); + o = lookup_object(the_repository, remote); if (!o || !(o->flags & COMPLETE)) { retval = 0; print_verbose(args, "want %s (%s)", oid_to_hex(remote), @@ -892,82 +888,96 @@ static struct ref *do_fetch_pack(struct fetch_pack_args *args, struct shallow_info *si, char **pack_lockfile) { + struct repository *r = the_repository; struct ref *ref = copy_ref_list(orig_ref); struct object_id oid; const char *agent_feature; int agent_len; struct fetch_negotiator negotiator; - fetch_negotiator_init(&negotiator, negotiation_algorithm); + fetch_negotiator_init(r, &negotiator); sort_ref_list(&ref, ref_compare_name); QSORT(sought, nr_sought, cmp_ref_by_name); - if ((args->depth > 0 || is_repository_shallow(the_repository)) && !server_supports("shallow")) + if ((agent_feature = server_feature_value("agent", &agent_len))) { + agent_supported = 1; + if (agent_len) + print_verbose(args, _("Server version is %.*s"), + agent_len, agent_feature); + } + + if (server_supports("shallow")) + print_verbose(args, _("Server supports %s"), "shallow"); + else if (args->depth > 0 || is_repository_shallow(r)) die(_("Server does not support shallow clients")); if (args->depth > 0 || args->deepen_since || args->deepen_not) args->deepen = 1; if (server_supports("multi_ack_detailed")) { - print_verbose(args, _("Server supports multi_ack_detailed")); + print_verbose(args, _("Server supports %s"), "multi_ack_detailed"); multi_ack = 2; if (server_supports("no-done")) { - print_verbose(args, _("Server supports no-done")); + print_verbose(args, _("Server supports %s"), "no-done"); if (args->stateless_rpc) no_done = 1; } } else if (server_supports("multi_ack")) { - print_verbose(args, _("Server supports multi_ack")); + print_verbose(args, _("Server supports %s"), "multi_ack"); multi_ack = 1; } if (server_supports("side-band-64k")) { - print_verbose(args, _("Server supports side-band-64k")); + print_verbose(args, _("Server supports %s"), "side-band-64k"); use_sideband = 2; } else if (server_supports("side-band")) { - print_verbose(args, _("Server supports side-band")); + print_verbose(args, _("Server supports %s"), "side-band"); use_sideband = 1; } if (server_supports("allow-tip-sha1-in-want")) { - print_verbose(args, _("Server supports allow-tip-sha1-in-want")); + print_verbose(args, _("Server supports %s"), "allow-tip-sha1-in-want"); allow_unadvertised_object_request |= ALLOW_TIP_SHA1; } if (server_supports("allow-reachable-sha1-in-want")) { - print_verbose(args, _("Server supports allow-reachable-sha1-in-want")); + print_verbose(args, _("Server supports %s"), "allow-reachable-sha1-in-want"); allow_unadvertised_object_request |= ALLOW_REACHABLE_SHA1; } - if (!server_supports("thin-pack")) + if (server_supports("thin-pack")) + print_verbose(args, _("Server supports %s"), "thin-pack"); + else args->use_thin_pack = 0; - if (!server_supports("no-progress")) + if (server_supports("no-progress")) + print_verbose(args, _("Server supports %s"), "no-progress"); + else args->no_progress = 0; - if (!server_supports("include-tag")) + if (server_supports("include-tag")) + print_verbose(args, _("Server supports %s"), "include-tag"); + else args->include_tag = 0; if (server_supports("ofs-delta")) - print_verbose(args, _("Server supports ofs-delta")); + print_verbose(args, _("Server supports %s"), "ofs-delta"); else prefer_ofs_delta = 0; if (server_supports("filter")) { server_supports_filtering = 1; - print_verbose(args, _("Server supports filter")); + print_verbose(args, _("Server supports %s"), "filter"); } else if (args->filter_options.choice) { warning("filtering not recognized by server, ignoring"); } - if ((agent_feature = server_feature_value("agent", &agent_len))) { - agent_supported = 1; - if (agent_len) - print_verbose(args, _("Server version is %.*s"), - agent_len, agent_feature); - } - if (server_supports("deepen-since")) + if (server_supports("deepen-since")) { + print_verbose(args, _("Server supports %s"), "deepen-since"); deepen_since_ok = 1; - else if (args->deepen_since) + } else if (args->deepen_since) die(_("Server does not support --shallow-since")); - if (server_supports("deepen-not")) + if (server_supports("deepen-not")) { + print_verbose(args, _("Server supports %s"), "deepen-not"); deepen_not_ok = 1; - else if (args->deepen_not) + } else if (args->deepen_not) die(_("Server does not support --shallow-exclude")); - if (!server_supports("deepen-relative") && args->deepen_relative) + if (server_supports("deepen-relative")) + print_verbose(args, _("Server supports %s"), "deepen-relative"); + else if (args->deepen_relative) die(_("Server does not support --deepen")); if (!args->no_dependents) { @@ -1048,7 +1058,7 @@ static void add_wants(int no_dependents, const struct ref *wants, struct strbuf * we cannot trust the object flags). */ if (!no_dependents && - ((o = lookup_object(the_repository, remote->hash)) != NULL) && + ((o = lookup_object(the_repository, remote)) != NULL) && (o->flags & COMPLETE)) { continue; } @@ -1099,7 +1109,7 @@ static int add_haves(struct fetch_negotiator *negotiator, } static int send_fetch_request(struct fetch_negotiator *negotiator, int fd_out, - const struct fetch_pack_args *args, + struct fetch_pack_args *args, const struct ref *wants, struct oidset *common, int *haves_to_send, int *in_vain, int sideband_all) @@ -1140,13 +1150,10 @@ static int send_fetch_request(struct fetch_negotiator *negotiator, int fd_out, /* Add filter */ if (server_supports_feature("fetch", "filter", 0) && args->filter_options.choice) { - struct strbuf expanded_filter_spec = STRBUF_INIT; + const char *spec = + expand_list_objects_filter_spec(&args->filter_options); print_verbose(args, _("Server supports filter")); - expand_list_objects_filter_spec(&args->filter_options, - &expanded_filter_spec); - packet_buf_write(&req_buf, "filter %s", - expanded_filter_spec.buf); - strbuf_release(&expanded_filter_spec); + packet_buf_write(&req_buf, "filter %s", spec); } else if (args->filter_options.choice) { warning("filtering not recognized by server, ignoring"); } @@ -1275,7 +1282,7 @@ static void receive_shallow_info(struct fetch_pack_args *args, if (skip_prefix(reader->line, "unshallow ", &arg)) { if (get_oid_hex(arg, &oid)) die(_("invalid unshallow line: %s"), reader->line); - if (!lookup_object(the_repository, oid.hash)) + if (!lookup_object(the_repository, &oid)) die(_("object not found: %s"), reader->line); /* make sure that it is parsed as shallow */ if (!parse_object(the_repository, &oid)) @@ -1366,6 +1373,7 @@ static struct ref *do_fetch_pack_v2(struct fetch_pack_args *args, struct shallow_info *si, char **pack_lockfile) { + struct repository *r = the_repository; struct ref *ref = copy_ref_list(orig_ref); enum fetch_state state = FETCH_CHECK_LOCAL; struct oidset common = OIDSET_INIT; @@ -1373,7 +1381,7 @@ static struct ref *do_fetch_pack_v2(struct fetch_pack_args *args, int in_vain = 0; int haves_to_send = INITIAL_FLUSH; struct fetch_negotiator negotiator; - fetch_negotiator_init(&negotiator, negotiation_algorithm); + fetch_negotiator_init(r, &negotiator); packet_reader_init(&reader, fd[0], NULL, 0, PACKET_READ_CHOMP_NEWLINE | PACKET_READ_DIE_ON_ERR_PACKET); @@ -1492,8 +1500,6 @@ static void fetch_pack_config(void) git_config_get_bool("repack.usedeltabaseoffset", &prefer_ofs_delta); git_config_get_bool("fetch.fsckobjects", &fetch_fsck_objects); git_config_get_bool("transfer.fsckobjects", &transfer_fsck_objects); - git_config_get_string("fetch.negotiationalgorithm", - &negotiation_algorithm); git_config(fetch_pack_config_cb, NULL); } @@ -181,41 +181,6 @@ static int fsck_msg_type(enum fsck_msg_id msg_id, return msg_type; } -static void init_skiplist(struct fsck_options *options, const char *path) -{ - FILE *fp; - struct strbuf sb = STRBUF_INIT; - struct object_id oid; - - fp = fopen(path, "r"); - if (!fp) - die("Could not open skip list: %s", path); - while (!strbuf_getline(&sb, fp)) { - const char *p; - const char *hash; - - /* - * Allow trailing comments, leading whitespace - * (including before commits), and empty or whitespace - * only lines. - */ - hash = strchr(sb.buf, '#'); - if (hash) - strbuf_setlen(&sb, hash - sb.buf); - strbuf_trim(&sb); - if (!sb.len) - continue; - - if (parse_oid_hex(sb.buf, &oid, &p) || *p != '\0') - die("Invalid SHA-1: %s", sb.buf); - oidset_insert(&options->skiplist, &oid); - } - if (ferror(fp)) - die_errno("Could not read '%s'", path); - fclose(fp); - strbuf_release(&sb); -} - static int parse_msg_type(const char *str) { if (!strcmp(str, "error")) @@ -284,7 +249,7 @@ void fsck_set_msg_types(struct fsck_options *options, const char *values) if (!strcmp(buf, "skiplist")) { if (equal == len) die("skiplist requires a path"); - init_skiplist(options, buf + equal + 1); + oidset_parse_file(&options->skiplist, buf + equal + 1); buf += len + 1; continue; } @@ -1092,7 +1057,7 @@ int fsck_finish(struct fsck_options *options) blob = lookup_blob(the_repository, oid); if (!blob) { - struct object *obj = lookup_unknown_object(oid->hash); + struct object *obj = lookup_unknown_object(oid); ret |= report(options, obj, FSCK_MSG_GITMODULES_BLOB, "non-blob found at .gitmodules"); @@ -12,7 +12,25 @@ #ifndef NO_GETTEXT # include <locale.h> # include <libintl.h> -# ifdef HAVE_LIBCHARSET_H +# ifdef GIT_WINDOWS_NATIVE + +static const char *locale_charset(void) +{ + const char *env = getenv("LC_ALL"), *dot; + + if (!env || !*env) + env = getenv("LC_CTYPE"); + if (!env || !*env) + env = getenv("LANG"); + + if (!env) + return "UTF-8"; + + dot = strchr(env, '.'); + return !dot ? env : dot + 1; +} + +# elif defined HAVE_LIBCHARSET_H # include <libcharset.h> # else # include <langinfo.h> @@ -50,10 +68,8 @@ const char *get_preferred_languages(void) int use_gettext_poison(void) { static int poison_requested = -1; - if (poison_requested == -1) { - const char *v = getenv("GIT_TEST_GETTEXT_POISON"); - poison_requested = v && strlen(v) ? 1 : 0; - } + if (poison_requested == -1) + poison_requested = git_env_bool("GIT_TEST_GETTEXT_POISON", 0); return poison_requested; } diff --git a/git-add--interactive.perl b/git-add--interactive.perl index da5b4ec4bc..c20ae9e210 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -149,6 +149,20 @@ my %patch_modes = ( FILTER => undef, IS_REVERSE => 0, }, + 'worktree_head' => { + DIFF => 'diff-index -p', + APPLY => sub { apply_patch 'apply -R', @_ }, + APPLY_CHECK => 'apply -R', + FILTER => undef, + IS_REVERSE => 1, + }, + 'worktree_nothead' => { + DIFF => 'diff-index -R -p', + APPLY => sub { apply_patch 'apply', @_ }, + APPLY_CHECK => 'apply', + FILTER => undef, + IS_REVERSE => 0, + }, ); $patch_mode = 'stage'; @@ -1054,6 +1068,12 @@ marked for discarding."), checkout_nothead => N__( "If the patch applies cleanly, the edited hunk will immediately be marked for applying."), + worktree_head => N__( +"If the patch applies cleanly, the edited hunk will immediately be +marked for discarding."), + worktree_nothead => N__( +"If the patch applies cleanly, the edited hunk will immediately be +marked for applying."), ); sub recount_edited_hunk { @@ -1264,6 +1284,18 @@ n - do not apply this hunk to index and worktree q - quit; do not apply this hunk or any of the remaining ones a - apply this hunk and all later hunks in the file d - do not apply this hunk or any of the later hunks in the file"), + worktree_head => N__( +"y - discard this hunk from worktree +n - do not discard this hunk from worktree +q - quit; do not discard this hunk or any of the remaining ones +a - discard this hunk and all later hunks in the file +d - do not discard this hunk or any of the later hunks in the file"), + worktree_nothead => N__( +"y - apply this hunk to worktree +n - do not apply this hunk to worktree +q - quit; do not apply this hunk or any of the remaining ones +a - apply this hunk and all later hunks in the file +d - do not apply this hunk or any of the later hunks in the file"), ); sub help_patch_cmd { @@ -1425,6 +1457,16 @@ my %patch_update_prompt_modes = ( deletion => N__("Apply deletion to index and worktree [y,n,q,a,d%s,?]? "), hunk => N__("Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "), }, + worktree_head => { + mode => N__("Discard mode change from worktree [y,n,q,a,d%s,?]? "), + deletion => N__("Discard deletion from worktree [y,n,q,a,d%s,?]? "), + hunk => N__("Discard this hunk from worktree [y,n,q,a,d%s,?]? "), + }, + worktree_nothead => { + mode => N__("Apply mode change to worktree [y,n,q,a,d%s,?]? "), + deletion => N__("Apply deletion to worktree [y,n,q,a,d%s,?]? "), + hunk => N__("Apply this hunk to worktree [y,n,q,a,d%s,?]? "), + }, ); sub patch_update_file { @@ -1760,6 +1802,16 @@ sub process_args { 'checkout_head' : 'checkout_nothead'); $arg = shift @ARGV or die __("missing --"); } + } elsif ($1 eq 'worktree') { + $arg = shift @ARGV or die __("missing --"); + if ($arg eq '--') { + $patch_mode = 'checkout_index'; + } else { + $patch_mode_revision = $arg; + $patch_mode = ($arg eq 'HEAD' ? + 'worktree_head' : 'worktree_nothead'); + $arg = shift @ARGV or die __("missing --"); + } } elsif ($1 eq 'stage' or $1 eq 'stash') { $patch_mode = $1; $arg = shift @ARGV or die __("missing --"); diff --git a/git-compat-util.h b/git-compat-util.h index cc0e7e9733..f0d13e4e28 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1,6 +1,15 @@ #ifndef GIT_COMPAT_UTIL_H #define GIT_COMPAT_UTIL_H +#ifdef USE_MSVC_CRTDBG +/* + * For these to work they must appear very early in each + * file -- before most of the standard header files. + */ +#include <stdlib.h> +#include <crtdbg.h> +#endif + #define _FILE_OFFSET_BITS 64 @@ -809,9 +818,6 @@ const char *inet_ntop(int af, const void *src, char *dst, size_t size); int git_atexit(void (*handler)(void)); #endif -typedef void (*try_to_free_t)(size_t); -try_to_free_t set_try_to_free_routine(try_to_free_t); - static inline size_t st_add(size_t a, size_t b) { if (unsigned_add_overflows(a, b)) diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 6de74ce639..fd476b6999 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -1340,6 +1340,7 @@ set HEAD {} set PARENT {} set MERGE_HEAD [list] set commit_type {} +set commit_type_is_amend 0 set empty_tree {} set current_branch {} set is_detached 0 @@ -1347,8 +1348,9 @@ set current_diff_path {} set is_3way_diff 0 set is_submodule_diff 0 set is_conflict_diff 0 -set selected_commit_type new set diff_empty_count 0 +set last_revert {} +set last_revert_enc {} set nullid "0000000000000000000000000000000000000000" set nullid2 "0000000000000000000000000000000000000001" @@ -1434,7 +1436,7 @@ proc PARENT {} { } proc force_amend {} { - global selected_commit_type + global commit_type_is_amend global HEAD PARENT MERGE_HEAD commit_type repository_state newType newHEAD newMERGE_HEAD @@ -1443,7 +1445,7 @@ proc force_amend {} { set MERGE_HEAD $newMERGE_HEAD set commit_type $newType - set selected_commit_type amend + set commit_type_is_amend 1 do_select_commit_type } @@ -2494,7 +2496,7 @@ proc force_first_diff {after} { proc toggle_or_diff {mode w args} { global file_states file_lists current_diff_path ui_index ui_workdir - global last_clicked selected_paths + global last_clicked selected_paths file_lists_last_clicked if {$mode eq "click"} { foreach {x y} $args break @@ -2551,6 +2553,8 @@ proc toggle_or_diff {mode w args} { $ui_index tag remove in_sel 0.0 end $ui_workdir tag remove in_sel 0.0 end + set file_lists_last_clicked($w) $path + # Determine the state of the file if {[info exists file_states($path)]} { set state [lindex $file_states($path) 0] @@ -2664,6 +2668,32 @@ proc show_less_context {} { } } +proc focus_widget {widget} { + global file_lists last_clicked selected_paths + global file_lists_last_clicked + + if {[llength $file_lists($widget)] > 0} { + set path $file_lists_last_clicked($widget) + set index [lsearch -sorted -exact $file_lists($widget) $path] + if {$index < 0} { + set index 0 + set path [lindex $file_lists($widget) $index] + } + + focus $widget + set last_clicked [list $widget [expr $index + 1]] + array unset selected_paths + set selected_paths($path) 1 + show_diff $path $widget + } +} + +proc toggle_commit_type {} { + global commit_type_is_amend + set commit_type_is_amend [expr !$commit_type_is_amend] + do_select_commit_type +} + ###################################################################### ## ## ui construction @@ -2852,19 +2882,11 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { menu .mbar.commit if {![is_enabled nocommit]} { - .mbar.commit add radiobutton \ - -label [mc "New Commit"] \ - -command do_select_commit_type \ - -variable selected_commit_type \ - -value new - lappend disable_on_lock \ - [list .mbar.commit entryconf [.mbar.commit index last] -state] - - .mbar.commit add radiobutton \ + .mbar.commit add checkbutton \ -label [mc "Amend Last Commit"] \ - -command do_select_commit_type \ - -variable selected_commit_type \ - -value amend + -accelerator $M1T-E \ + -variable commit_type_is_amend \ + -command do_select_commit_type lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] @@ -3030,8 +3052,23 @@ unset doc_path doc_url wm protocol . WM_DELETE_WINDOW do_quit bind all <$M1B-Key-q> do_quit bind all <$M1B-Key-Q> do_quit -bind all <$M1B-Key-w> {destroy [winfo toplevel %W]} -bind all <$M1B-Key-W> {destroy [winfo toplevel %W]} + +set m1b_w_script { + set toplvl_win [winfo toplevel %W] + + # If we are destroying the main window, we should call do_quit to take + # care of cleanup before exiting the program. + if {$toplvl_win eq "."} { + do_quit + } else { + destroy $toplvl_win + } +} + +bind all <$M1B-Key-w> $m1b_w_script +bind all <$M1B-Key-W> $m1b_w_script + +unset m1b_w_script set subcommand_args {} proc usage {} { @@ -3337,18 +3374,10 @@ set ui_comm .vpane.lower.commarea.buffer.frame.t set ui_coml .vpane.lower.commarea.buffer.header.l if {![is_enabled nocommit]} { - ${NS}::radiobutton .vpane.lower.commarea.buffer.header.new \ - -text [mc "New Commit"] \ - -command do_select_commit_type \ - -variable selected_commit_type \ - -value new - lappend disable_on_lock \ - [list .vpane.lower.commarea.buffer.header.new conf -state] - ${NS}::radiobutton .vpane.lower.commarea.buffer.header.amend \ + ${NS}::checkbutton .vpane.lower.commarea.buffer.header.amend \ -text [mc "Amend Last Commit"] \ - -command do_select_commit_type \ - -variable selected_commit_type \ - -value amend + -variable commit_type_is_amend \ + -command do_select_commit_type lappend disable_on_lock \ [list .vpane.lower.commarea.buffer.header.amend conf -state] } @@ -3373,7 +3402,6 @@ pack $ui_coml -side left -fill x if {![is_enabled nocommit]} { pack .vpane.lower.commarea.buffer.header.amend -side right - pack .vpane.lower.commarea.buffer.header.new -side right } textframe .vpane.lower.commarea.buffer.frame @@ -3387,10 +3415,16 @@ ttext $ui_comm -background white -foreground black \ -relief sunken \ -width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \ -font font_diff \ + -xscrollcommand {.vpane.lower.commarea.buffer.frame.sbx set} \ -yscrollcommand {.vpane.lower.commarea.buffer.frame.sby set} +${NS}::scrollbar .vpane.lower.commarea.buffer.frame.sbx \ + -orient horizontal \ + -command [list $ui_comm xview] ${NS}::scrollbar .vpane.lower.commarea.buffer.frame.sby \ + -orient vertical \ -command [list $ui_comm yview] +pack .vpane.lower.commarea.buffer.frame.sbx -side bottom -fill x pack .vpane.lower.commarea.buffer.frame.sby -side right -fill y pack $ui_comm -side left -fill y pack .vpane.lower.commarea.buffer.header -side top -fill x @@ -3606,16 +3640,32 @@ set ctxm .vpane.lower.diff.body.ctxm menu $ctxm -tearoff 0 $ctxm add command \ -label [mc "Apply/Reverse Hunk"] \ - -command {apply_hunk $cursorX $cursorY} + -command {apply_or_revert_hunk $cursorX $cursorY 0} set ui_diff_applyhunk [$ctxm index last] lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state] $ctxm add command \ -label [mc "Apply/Reverse Line"] \ - -command {apply_range_or_line $cursorX $cursorY; do_rescan} + -command {apply_or_revert_range_or_line $cursorX $cursorY 0; do_rescan} set ui_diff_applyline [$ctxm index last] lappend diff_actions [list $ctxm entryconf $ui_diff_applyline -state] $ctxm add separator $ctxm add command \ + -label [mc "Revert Hunk"] \ + -command {apply_or_revert_hunk $cursorX $cursorY 1} +set ui_diff_reverthunk [$ctxm index last] +lappend diff_actions [list $ctxm entryconf $ui_diff_reverthunk -state] +$ctxm add command \ + -label [mc "Revert Line"] \ + -command {apply_or_revert_range_or_line $cursorX $cursorY 1; do_rescan} +set ui_diff_revertline [$ctxm index last] +lappend diff_actions [list $ctxm entryconf $ui_diff_revertline -state] +$ctxm add command \ + -label [mc "Undo Last Revert"] \ + -command {undo_last_revert; do_rescan} +set ui_diff_undorevert [$ctxm index last] +lappend diff_actions [list $ctxm entryconf $ui_diff_undorevert -state] +$ctxm add separator +$ctxm add command \ -label [mc "Show Less Context"] \ -command show_less_context lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] @@ -3693,7 +3743,7 @@ proc has_textconv {path} { } proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} { - global current_diff_path file_states + global current_diff_path file_states last_revert set ::cursorX $x set ::cursorY $y if {[info exists file_states($current_diff_path)]} { @@ -3707,19 +3757,28 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} { tk_popup $ctxmsm $X $Y } else { set has_range [expr {[$::ui_diff tag nextrange sel 0.0] != {}}] + set u [mc "Undo Last Revert"] if {$::ui_index eq $::current_diff_side} { set l [mc "Unstage Hunk From Commit"] + set h [mc "Revert Hunk"] + if {$has_range} { set t [mc "Unstage Lines From Commit"] + set r [mc "Revert Lines"] } else { set t [mc "Unstage Line From Commit"] + set r [mc "Revert Line"] } } else { set l [mc "Stage Hunk For Commit"] + set h [mc "Revert Hunk"] + if {$has_range} { set t [mc "Stage Lines For Commit"] + set r [mc "Revert Lines"] } else { set t [mc "Stage Line For Commit"] + set r [mc "Revert Line"] } } if {$::is_3way_diff @@ -3730,11 +3789,35 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} { || [string match {T?} $state] || [has_textconv $current_diff_path]} { set s disabled + set revert_state disabled } else { set s normal + + # Only allow reverting changes in the working tree. If + # the user wants to revert changes in the index, they + # need to unstage those first. + if {$::ui_workdir eq $::current_diff_side} { + set revert_state normal + } else { + set revert_state disabled + } + } + + if {$last_revert eq {}} { + set undo_state disabled + } else { + set undo_state normal } + $ctxm entryconf $::ui_diff_applyhunk -state $s -label $l $ctxm entryconf $::ui_diff_applyline -state $s -label $t + $ctxm entryconf $::ui_diff_revertline -state $revert_state \ + -label $r + $ctxm entryconf $::ui_diff_reverthunk -state $revert_state \ + -label $h + $ctxm entryconf $::ui_diff_undorevert -state $undo_state \ + -label $u + tk_popup $ctxm $X $Y } } @@ -3861,6 +3944,8 @@ bind . <$M1B-Key-j> do_revert_selection bind . <$M1B-Key-J> do_revert_selection bind . <$M1B-Key-i> do_add_all bind . <$M1B-Key-I> do_add_all +bind . <$M1B-Key-e> toggle_commit_type +bind . <$M1B-Key-E> toggle_commit_type bind . <$M1B-Key-minus> {show_less_context;break} bind . <$M1B-Key-KP_Subtract> {show_less_context;break} bind . <$M1B-Key-equal> {show_more_context;break} @@ -3877,6 +3962,14 @@ foreach i [list $ui_index $ui_workdir] { } unset i +bind . <Alt-Key-1> {focus_widget $::ui_workdir} +bind . <Alt-Key-2> {focus_widget $::ui_index} +bind . <Alt-Key-3> {focus $::ui_diff} +bind . <Alt-Key-4> {focus $::ui_comm} + +set file_lists_last_clicked($ui_index) {} +set file_lists_last_clicked($ui_workdir) {} + set file_lists($ui_index) [list] set file_lists($ui_workdir) [list] diff --git a/git-gui/lib/checkout_op.tcl b/git-gui/lib/checkout_op.tcl index 9e7412c446..a5228297db 100644 --- a/git-gui/lib/checkout_op.tcl +++ b/git-gui/lib/checkout_op.tcl @@ -389,7 +389,7 @@ $err } method _after_readtree {} { - global selected_commit_type commit_type HEAD MERGE_HEAD PARENT + global commit_type HEAD MERGE_HEAD PARENT global current_branch is_detached global ui_comm @@ -490,12 +490,12 @@ method _update_repo_state {} { # amend mode our file lists are accurate and we can avoid # the rescan. # - global selected_commit_type commit_type HEAD MERGE_HEAD PARENT + global commit_type_is_amend commit_type HEAD MERGE_HEAD PARENT global ui_comm unlock_index set name [_name $this] - set selected_commit_type new + set commit_type_is_amend 0 if {[string match amend* $commit_type]} { $ui_comm delete 0.0 end $ui_comm edit reset diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl index 75ea965dac..b516aa2990 100644 --- a/git-gui/lib/commit.tcl +++ b/git-gui/lib/commit.tcl @@ -333,7 +333,7 @@ proc commit_writetree {curHEAD msg_p} { proc commit_committree {fd_wt curHEAD msg_p} { global HEAD PARENT MERGE_HEAD commit_type commit_author global current_branch - global ui_comm selected_commit_type + global ui_comm commit_type_is_amend global file_states selected_paths rescan_active global repo_config global env @@ -467,8 +467,8 @@ A rescan will be automatically started now. # -- Update in memory status # - set selected_commit_type new set commit_type normal + set commit_type_is_amend 0 set HEAD $cmt_id set PARENT $cmt_id set MERGE_HEAD [list] diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl index 68c4a6c736..958a0fa219 100644 --- a/git-gui/lib/diff.tcl +++ b/git-gui/lib/diff.tcl @@ -55,7 +55,7 @@ proc reshow_diff {{after {}}} { proc force_diff_encoding {enc} { global current_diff_path - + if {$current_diff_path ne {}} { force_path_encoding $current_diff_path $enc reshow_diff @@ -567,24 +567,31 @@ proc read_diff {fd conflict_size cont_info} { } } -proc apply_hunk {x y} { +proc apply_or_revert_hunk {x y revert} { global current_diff_path current_diff_header current_diff_side - global ui_diff ui_index file_states + global ui_diff ui_index file_states last_revert last_revert_enc if {$current_diff_path eq {} || $current_diff_header eq {}} return if {![lock_index apply_hunk]} return - set apply_cmd {apply --cached --whitespace=nowarn} + set apply_cmd {apply --whitespace=nowarn} set mi [lindex $file_states($current_diff_path) 0] if {$current_diff_side eq $ui_index} { set failed_msg [mc "Failed to unstage selected hunk."] - lappend apply_cmd --reverse + lappend apply_cmd --reverse --cached if {[string index $mi 0] ne {M}} { unlock_index return } } else { - set failed_msg [mc "Failed to stage selected hunk."] + if {$revert} { + set failed_msg [mc "Failed to revert selected hunk."] + lappend apply_cmd --reverse + } else { + set failed_msg [mc "Failed to stage selected hunk."] + lappend apply_cmd --cached + } + if {[string index $mi 1] ne {M}} { unlock_index return @@ -603,29 +610,40 @@ proc apply_hunk {x y} { set e_lno end } + set wholepatch "$current_diff_header[$ui_diff get $s_lno $e_lno]" + if {[catch { set enc [get_path_encoding $current_diff_path] set p [eval git_write $apply_cmd] fconfigure $p -translation binary -encoding $enc - puts -nonewline $p $current_diff_header - puts -nonewline $p [$ui_diff get $s_lno $e_lno] + puts -nonewline $p $wholepatch close $p} err]} { error_popup "$failed_msg\n\n$err" unlock_index return } + if {$revert} { + # Save a copy of this patch for undoing reverts. + set last_revert $wholepatch + set last_revert_enc $enc + } + $ui_diff conf -state normal $ui_diff delete $s_lno $e_lno $ui_diff conf -state disabled + # Check if the hunk was the last one in the file. if {[$ui_diff get 1.0 end] eq "\n"} { set o _ } else { set o ? } - if {$current_diff_side eq $ui_index} { + # Update the status flags. + if {$revert} { + set mi [string index $mi 0]$o + } elseif {$current_diff_side eq $ui_index} { set mi ${o}M } elseif {[string index $mi 0] eq {_}} { set mi M$o @@ -640,9 +658,9 @@ proc apply_hunk {x y} { } } -proc apply_range_or_line {x y} { +proc apply_or_revert_range_or_line {x y revert} { global current_diff_path current_diff_header current_diff_side - global ui_diff ui_index file_states + global ui_diff ui_index file_states last_revert set selected [$ui_diff tag nextrange sel 0.0] @@ -660,19 +678,27 @@ proc apply_range_or_line {x y} { if {$current_diff_path eq {} || $current_diff_header eq {}} return if {![lock_index apply_hunk]} return - set apply_cmd {apply --cached --whitespace=nowarn} + set apply_cmd {apply --whitespace=nowarn} set mi [lindex $file_states($current_diff_path) 0] if {$current_diff_side eq $ui_index} { set failed_msg [mc "Failed to unstage selected line."] set to_context {+} - lappend apply_cmd --reverse + lappend apply_cmd --reverse --cached if {[string index $mi 0] ne {M}} { unlock_index return } } else { - set failed_msg [mc "Failed to stage selected line."] - set to_context {-} + if {$revert} { + set failed_msg [mc "Failed to revert selected line."] + set to_context {+} + lappend apply_cmd --reverse + } else { + set failed_msg [mc "Failed to stage selected line."] + set to_context {-} + lappend apply_cmd --cached + } + if {[string index $mi 1] ne {M}} { unlock_index return @@ -830,7 +856,47 @@ proc apply_range_or_line {x y} { puts -nonewline $p $wholepatch close $p} err]} { error_popup "$failed_msg\n\n$err" + unlock_index + return + } + + if {$revert} { + # Save a copy of this patch for undoing reverts. + set last_revert $current_diff_header$wholepatch + set last_revert_enc $enc } unlock_index } + +# Undo the last line/hunk reverted. When hunks and lines are reverted, a copy +# of the diff applied is saved. Re-apply that diff to undo the revert. +# +# Right now, we only use a single variable to hold the copy, and not a +# stack/deque for simplicity, so multiple undos are not possible. Maybe this +# can be added if the need for something like this is felt in the future. +proc undo_last_revert {} { + global last_revert current_diff_path current_diff_header + global last_revert_enc + + if {$last_revert eq {}} return + if {![lock_index apply_hunk]} return + + set apply_cmd {apply --whitespace=nowarn} + set failed_msg [mc "Failed to undo last revert."] + + if {[catch { + set enc $last_revert_enc + set p [eval git_write $apply_cmd] + fconfigure $p -translation binary -encoding $enc + puts -nonewline $p $last_revert + close $p} err]} { + error_popup "$failed_msg\n\n$err" + unlock_index + return + } + + set last_revert {} + + unlock_index +} diff --git a/git-gui/lib/index.tcl b/git-gui/lib/index.tcl index b588db11d9..e07b7a3762 100644 --- a/git-gui/lib/index.tcl +++ b/git-gui/lib/index.tcl @@ -466,19 +466,19 @@ proc do_revert_selection {} { } proc do_select_commit_type {} { - global commit_type selected_commit_type + global commit_type commit_type_is_amend - if {$selected_commit_type eq {new} + if {$commit_type_is_amend == 0 && [string match amend* $commit_type]} { create_new_commit - } elseif {$selected_commit_type eq {amend} + } elseif {$commit_type_is_amend == 1 && ![string match amend* $commit_type]} { load_last_commit # The amend request was rejected... # if {![string match amend* $commit_type]} { - set selected_commit_type new + set commit_type_is_amend 0 } } } diff --git a/git-mergetool.sh b/git-mergetool.sh index 88fa6a914a..e3f6d543fb 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -228,9 +228,8 @@ stage_submodule () { } checkout_staged_file () { - tmpfile=$(expr \ - "$(git checkout-index --temp --stage="$1" "$2" 2>/dev/null)" \ - : '\([^ ]*\) ') + tmpfile="$(git checkout-index --temp --stage="$1" "$2" 2>/dev/null)" && + tmpfile=${tmpfile%%' '*} if test $? -eq 0 && test -n "$tmpfile" then @@ -255,13 +254,16 @@ merge_file () { return 1 fi - if BASE=$(expr "$MERGED" : '\(.*\)\.[^/]*$') - then - ext=$(expr "$MERGED" : '.*\(\.[^/]*\)$') - else + # extract file extension from the last path component + case "${MERGED##*/}" in + *.*) + ext=.${MERGED##*.} + BASE=${MERGED%"$ext"} + ;; + *) BASE=$MERGED ext= - fi + esac mergetool_tmpdir_init @@ -277,15 +279,30 @@ merge_file () { REMOTE="$MERGETOOL_TMPDIR/${BASE}_REMOTE_$$$ext" BASE="$MERGETOOL_TMPDIR/${BASE}_BASE_$$$ext" - base_mode=$(git ls-files -u -- "$MERGED" | awk '{if ($3==1) print $1;}') - local_mode=$(git ls-files -u -- "$MERGED" | awk '{if ($3==2) print $1;}') - remote_mode=$(git ls-files -u -- "$MERGED" | awk '{if ($3==3) print $1;}') + base_mode= local_mode= remote_mode= + + # here, $IFS is just a LF + for line in $f + do + mode=${line%% *} # 1st word + sha1=${line#"$mode "} + sha1=${sha1%% *} # 2nd word + case "${line#$mode $sha1 }" in # remainder + '1 '*) + base_mode=$mode + ;; + '2 '*) + local_mode=$mode local_sha1=$sha1 + ;; + '3 '*) + remote_mode=$mode remote_sha1=$sha1 + ;; + esac + done if is_submodule "$local_mode" || is_submodule "$remote_mode" then echo "Submodule merge conflict for '$MERGED':" - local_sha1=$(git ls-files -u -- "$MERGED" | awk '{if ($3==2) print $2;}') - remote_sha1=$(git ls-files -u -- "$MERGED" | awk '{if ($3==3) print $2;}') describe_file "$local_mode" "local" "$local_sha1" describe_file "$remote_mode" "remote" "$remote_sha1" resolve_submodule_merge @@ -406,7 +423,7 @@ main () { -t|--tool*) case "$#,$1" in *,*=*) - merge_tool=$(expr "z$1" : 'z-[^=]*=\(.*\)') + merge_tool=${1#*=} ;; 1,*) usage ;; @@ -1316,7 +1316,7 @@ class Command: self.needsGit = True self.verbose = False - # This is required for the "append" cloneExclude action + # This is required for the "append" update_shelve action def ensure_value(self, attr, value): if not hasattr(self, attr) or getattr(self, attr) is None: setattr(self, attr, value) @@ -2530,6 +2530,11 @@ class View(object): die( "Error: %s is not found in client spec path" % depot_path ) return "" +def cloneExcludeCallback(option, opt_str, value, parser): + # prepend "/" because the first "/" was consumed as part of the option itself. + # ("-//depot/A/..." becomes "/depot/A/..." after option parsing) + parser.values.cloneExclude += ["/" + re.sub(r"\.\.\.$", "", value)] + class P4Sync(Command, P4UserMap): def __init__(self): @@ -2553,7 +2558,7 @@ class P4Sync(Command, P4UserMap): optparse.make_option("--use-client-spec", dest="useClientSpec", action='store_true', help="Only sync files that are included in the Perforce Client Spec"), optparse.make_option("-/", dest="cloneExclude", - action="append", type="string", + action="callback", callback=cloneExcludeCallback, type="string", help="exclude depot path"), ] self.description = """Imports from Perforce into a git repository.\n @@ -2618,20 +2623,25 @@ class P4Sync(Command, P4UserMap): if self.verbose: print("checkpoint finished: " + out) + def isPathWanted(self, path): + for p in self.cloneExclude: + if p.endswith("/"): + if p4PathStartsWith(path, p): + return False + # "-//depot/file1" without a trailing "/" should only exclude "file1", but not "file111" or "file1_dir/file2" + elif path.lower() == p.lower(): + return False + for p in self.depotPaths: + if p4PathStartsWith(path, p): + return True + return False + def extractFilesFromCommit(self, commit, shelved=False, shelved_cl = 0): - self.cloneExclude = [re.sub(r"\.\.\.$", "", path) - for path in self.cloneExclude] files = [] fnum = 0 while "depotFile%s" % fnum in commit: path = commit["depotFile%s" % fnum] - - if [p for p in self.cloneExclude - if p4PathStartsWith(path, p)]: - found = False - else: - found = [p for p in self.depotPaths - if p4PathStartsWith(path, p)] + found = self.isPathWanted(path) if not found: fnum = fnum + 1 continue @@ -2668,7 +2678,7 @@ class P4Sync(Command, P4UserMap): path = self.clientSpecDirs.map_in_client(path) if self.detectBranches: for b in self.knownBranches: - if path.startswith(b + "/"): + if p4PathStartsWith(path, b + "/"): path = path[len(b)+1:] elif self.keepRepoPath: @@ -2700,8 +2710,7 @@ class P4Sync(Command, P4UserMap): fnum = 0 while "depotFile%s" % fnum in commit: path = commit["depotFile%s" % fnum] - found = [p for p in self.depotPaths - if p4PathStartsWith(path, p)] + found = self.isPathWanted(path) if not found: fnum = fnum + 1 continue @@ -2723,7 +2732,7 @@ class P4Sync(Command, P4UserMap): for branch in self.knownBranches.keys(): # add a trailing slash so that a commit into qt/4.2foo # doesn't end up in qt/4.2, e.g. - if relPath.startswith(branch + "/"): + if p4PathStartsWith(relPath, branch + "/"): if branch not in branches: branches[branch] = [] branches[branch].append(file) @@ -3325,7 +3334,9 @@ class P4Sync(Command, P4UserMap): if currentChange < change: earliestCommit = "^%s" % next else: - latestCommit = "%s" % next + if next == latestCommit: + die("Infinite loop while looking in ref %s for change %s. Check your branch mappings" % (ref, change)) + latestCommit = "%s^@" % next return "" @@ -3888,7 +3899,6 @@ class P4Clone(P4Sync): self.cloneDestination = depotPaths[-1] depotPaths = depotPaths[:-1] - self.cloneExclude = ["/"+p for p in self.cloneExclude] for p in depotPaths: if not p.startswith("//"): sys.stderr.write('Depot paths must start with "//": %s\n' % p) diff --git a/git-rebase--am.sh b/git-rebase--am.sh deleted file mode 100644 index 6416716ee6..0000000000 --- a/git-rebase--am.sh +++ /dev/null @@ -1,85 +0,0 @@ -# This shell script fragment is sourced by git-rebase to implement -# its default, fast, patch-based, non-interactive mode. -# -# Copyright (c) 2010 Junio C Hamano. -# - -git_rebase__am () { - -case "$action" in -continue) - git am --resolved --resolvemsg="$resolvemsg" \ - ${gpg_sign_opt:+"$gpg_sign_opt"} && - move_to_original_branch - return - ;; -skip) - git am --skip --resolvemsg="$resolvemsg" && - move_to_original_branch - return - ;; -show-current-patch) - exec git am --show-current-patch - ;; -esac - -if test -z "$rebase_root" - # this is now equivalent to ! -z "$upstream" -then - revisions=$upstream...$orig_head -else - revisions=$onto...$orig_head -fi - -ret=0 -rm -f "$GIT_DIR/rebased-patches" - -git format-patch -k --stdout --full-index --cherry-pick --right-only \ - --src-prefix=a/ --dst-prefix=b/ --no-renames --no-cover-letter \ - --pretty=mboxrd --topo-order \ - $git_format_patch_opt \ - "$revisions" ${restrict_revision+^$restrict_revision} \ - >"$GIT_DIR/rebased-patches" -ret=$? - -if test 0 != $ret -then - rm -f "$GIT_DIR/rebased-patches" - case "$head_name" in - refs/heads/*) - git checkout -q "$head_name" - ;; - *) - git checkout -q "$orig_head" - ;; - esac - - cat >&2 <<-EOF - - git encountered an error while preparing the patches to replay - these revisions: - - $revisions - - As a result, git cannot rebase them. - EOF - return $ret -fi - -git am $git_am_opt --rebasing --resolvemsg="$resolvemsg" \ - --patch-format=mboxrd \ - $allow_rerere_autoupdate \ - ${gpg_sign_opt:+"$gpg_sign_opt"} <"$GIT_DIR/rebased-patches" -ret=$? - -rm -f "$GIT_DIR/rebased-patches" - -if test 0 != $ret -then - test -d "$state_dir" && write_basic_state - return $ret -fi - -move_to_original_branch - -} diff --git a/git-rebase--common.sh b/git-rebase--common.sh deleted file mode 100644 index f00e13e5d0..0000000000 --- a/git-rebase--common.sh +++ /dev/null @@ -1,69 +0,0 @@ - -resolvemsg=" -$(gettext 'Resolve all conflicts manually, mark them as resolved with -"git add/rm <conflicted_files>", then run "git rebase --continue". -You can instead skip this commit: run "git rebase --skip". -To abort and get back to the state before "git rebase", run "git rebase --abort".') -" - -write_basic_state () { - echo "$head_name" > "$state_dir"/head-name && - echo "$onto" > "$state_dir"/onto && - echo "$orig_head" > "$state_dir"/orig-head && - test t = "$GIT_QUIET" && : > "$state_dir"/quiet - test t = "$verbose" && : > "$state_dir"/verbose - test -n "$strategy" && echo "$strategy" > "$state_dir"/strategy - test -n "$strategy_opts" && echo "$strategy_opts" > \ - "$state_dir"/strategy_opts - test -n "$allow_rerere_autoupdate" && echo "$allow_rerere_autoupdate" > \ - "$state_dir"/allow_rerere_autoupdate - test -n "$gpg_sign_opt" && echo "$gpg_sign_opt" > "$state_dir"/gpg_sign_opt - test -n "$signoff" && echo "$signoff" >"$state_dir"/signoff - test -n "$reschedule_failed_exec" && : > "$state_dir"/reschedule-failed-exec -} - -apply_autostash () { - if test -f "$state_dir/autostash" - then - stash_sha1=$(cat "$state_dir/autostash") - if git stash apply $stash_sha1 >/dev/null 2>&1 - then - echo "$(gettext 'Applied autostash.')" >&2 - else - git stash store -m "autostash" -q $stash_sha1 || - die "$(eval_gettext "Cannot store \$stash_sha1")" - gettext 'Applying autostash resulted in conflicts. -Your changes are safe in the stash. -You can run "git stash pop" or "git stash drop" at any time. -' >&2 - fi - fi -} - -move_to_original_branch () { - case "$head_name" in - refs/*) - message="rebase finished: $head_name onto $onto" - git update-ref -m "$message" \ - $head_name $(git rev-parse HEAD) $orig_head && - git symbolic-ref \ - -m "rebase finished: returning to $head_name" \ - HEAD $head_name || - die "$(eval_gettext "Could not move back to \$head_name")" - ;; - esac -} - -output () { - case "$verbose" in - '') - output=$("$@" 2>&1 ) - status=$? - test $status != 0 && printf "%s\n" "$output" - return $status - ;; - *) - "$@" - ;; - esac -} diff --git a/git-rebase--preserve-merges.sh b/git-rebase--preserve-merges.sh index afbb65765d..dec90e9af6 100644 --- a/git-rebase--preserve-merges.sh +++ b/git-rebase--preserve-merges.sh @@ -77,6 +77,61 @@ rewritten_pending="$state_dir"/rewritten-pending # and leaves CR at the end instead. cr=$(printf "\015") +resolvemsg=" +$(gettext 'Resolve all conflicts manually, mark them as resolved with +"git add/rm <conflicted_files>", then run "git rebase --continue". +You can instead skip this commit: run "git rebase --skip". +To abort and get back to the state before "git rebase", run "git rebase --abort".') +" + +write_basic_state () { + echo "$head_name" > "$state_dir"/head-name && + echo "$onto" > "$state_dir"/onto && + echo "$orig_head" > "$state_dir"/orig-head && + test t = "$GIT_QUIET" && : > "$state_dir"/quiet + test t = "$verbose" && : > "$state_dir"/verbose + test -n "$strategy" && echo "$strategy" > "$state_dir"/strategy + test -n "$strategy_opts" && echo "$strategy_opts" > \ + "$state_dir"/strategy_opts + test -n "$allow_rerere_autoupdate" && echo "$allow_rerere_autoupdate" > \ + "$state_dir"/allow_rerere_autoupdate + test -n "$gpg_sign_opt" && echo "$gpg_sign_opt" > "$state_dir"/gpg_sign_opt + test -n "$signoff" && echo "$signoff" >"$state_dir"/signoff + test -n "$reschedule_failed_exec" && : > "$state_dir"/reschedule-failed-exec +} + +apply_autostash () { + if test -f "$state_dir/autostash" + then + stash_sha1=$(cat "$state_dir/autostash") + if git stash apply $stash_sha1 >/dev/null 2>&1 + then + echo "$(gettext 'Applied autostash.')" >&2 + else + git stash store -m "autostash" -q $stash_sha1 || + die "$(eval_gettext "Cannot store \$stash_sha1")" + gettext 'Applying autostash resulted in conflicts. +Your changes are safe in the stash. +You can run "git stash pop" or "git stash drop" at any time. +' >&2 + fi + fi +} + +output () { + case "$verbose" in + '') + output=$("$@" 2>&1 ) + status=$? + test $status != 0 && printf "%s\n" "$output" + return $status + ;; + *) + "$@" + ;; + esac +} + strategy_args=${strategy:+--strategy=$strategy} test -n "$strategy_opts" && eval ' diff --git a/git-send-email.perl b/git-send-email.perl index 24859a7bc3..5f92c89c1c 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -177,11 +177,15 @@ my $re_encoded_text = qr/[^? \000-\037\177-\377]+/; my $re_encoded_word = qr/=\?($re_token)\?($re_token)\?($re_encoded_text)\?=/; # Variables we fill in automatically, or via prompting: -my (@to,$no_to,@initial_to,@cc,$no_cc,@initial_cc,@bcclist,$no_bcc,@xh, +my (@to,@cc,@xh,$envelope_sender, $initial_in_reply_to,$reply_to,$initial_subject,@files, - $author,$sender,$smtp_authpass,$annotate,$use_xmailer,$compose,$time); - -my $envelope_sender; + $author,$sender,$smtp_authpass,$annotate,$compose,$time); +# Things we either get from config, *or* are overridden on the +# command-line. +my ($no_cc, $no_to, $no_bcc, $no_identity); +my (@config_to, @getopt_to); +my (@config_cc, @getopt_cc); +my (@config_bcc, @getopt_bcc); # Example reply to: #$initial_in_reply_to = ''; #<20050203173208.GA23964@foobar.com>'; @@ -228,33 +232,37 @@ sub do_edit { } # Variables with corresponding config settings -my ($thread, $chain_reply_to, $suppress_from, $signed_off_by_cc); +my ($suppress_from, $signed_off_by_cc); my ($cover_cc, $cover_to); my ($to_cmd, $cc_cmd); my ($smtp_server, $smtp_server_port, @smtp_server_options); my ($smtp_authuser, $smtp_encryption, $smtp_ssl_cert_path); my ($batch_size, $relogin_delay); my ($identity, $aliasfiletype, @alias_files, $smtp_domain, $smtp_auth); -my ($validate, $confirm); +my ($confirm); my (@suppress_cc); my ($auto_8bit_encoding); my ($compose_encoding); -my $target_xfer_encoding = 'auto'; - +# Variables with corresponding config settings & hardcoded defaults my ($debug_net_smtp) = 0; # Net::SMTP, see send_message() +my $thread = 1; +my $chain_reply_to = 0; +my $use_xmailer = 1; +my $validate = 1; +my $target_xfer_encoding = 'auto'; my %config_bool_settings = ( - "thread" => [\$thread, 1], - "chainreplyto" => [\$chain_reply_to, 0], - "suppressfrom" => [\$suppress_from, undef], - "signedoffbycc" => [\$signed_off_by_cc, undef], - "cccover" => [\$cover_cc, undef], - "tocover" => [\$cover_to, undef], - "signedoffcc" => [\$signed_off_by_cc, undef], # Deprecated - "validate" => [\$validate, 1], - "multiedit" => [\$multiedit, undef], - "annotate" => [\$annotate, undef], - "xmailer" => [\$use_xmailer, 1] + "thread" => \$thread, + "chainreplyto" => \$chain_reply_to, + "suppressfrom" => \$suppress_from, + "signedoffbycc" => \$signed_off_by_cc, + "cccover" => \$cover_cc, + "tocover" => \$cover_to, + "signedoffcc" => \$signed_off_by_cc, + "validate" => \$validate, + "multiedit" => \$multiedit, + "annotate" => \$annotate, + "xmailer" => \$use_xmailer, ); my %config_settings = ( @@ -267,12 +275,12 @@ my %config_settings = ( "smtpauth" => \$smtp_auth, "smtpbatchsize" => \$batch_size, "smtprelogindelay" => \$relogin_delay, - "to" => \@initial_to, + "to" => \@config_to, "tocmd" => \$to_cmd, - "cc" => \@initial_cc, + "cc" => \@config_cc, "cccmd" => \$cc_cmd, "aliasfiletype" => \$aliasfiletype, - "bcc" => \@bcclist, + "bcc" => \@config_bcc, "suppresscc" => \@suppress_cc, "envelopesender" => \$envelope_sender, "confirm" => \$confirm, @@ -315,13 +323,87 @@ sub signal_handler { $SIG{TERM} = \&signal_handler; $SIG{INT} = \&signal_handler; +# Read our sendemail.* config +sub read_config { + my ($configured, $prefix) = @_; + + foreach my $setting (keys %config_bool_settings) { + my $target = $config_bool_settings{$setting}; + my $v = Git::config_bool(@repo, "$prefix.$setting"); + next unless defined $v; + next if $configured->{$setting}++; + $$target = $v; + } + + foreach my $setting (keys %config_path_settings) { + my $target = $config_path_settings{$setting}; + if (ref($target) eq "ARRAY") { + my @values = Git::config_path(@repo, "$prefix.$setting"); + next unless @values; + next if $configured->{$setting}++; + @$target = @values; + } + else { + my $v = Git::config_path(@repo, "$prefix.$setting"); + next unless defined $v; + next if $configured->{$setting}++; + $$target = $v; + } + } + + foreach my $setting (keys %config_settings) { + my $target = $config_settings{$setting}; + if (ref($target) eq "ARRAY") { + my @values = Git::config(@repo, "$prefix.$setting"); + next unless @values; + next if $configured->{$setting}++; + @$target = @values; + } + else { + my $v = Git::config(@repo, "$prefix.$setting"); + next unless defined $v; + next if $configured->{$setting}++; + $$target = $v; + } + } + + if (!defined $smtp_encryption) { + my $setting = "$prefix.smtpencryption"; + my $enc = Git::config(@repo, $setting); + return unless defined $enc; + return if $configured->{$setting}++; + if (defined $enc) { + $smtp_encryption = $enc; + } elsif (Git::config_bool(@repo, "$prefix.smtpssl")) { + $smtp_encryption = 'ssl'; + } + } +} + +# sendemail.identity yields to --identity. We must parse this +# special-case first before the rest of the config is read. +$identity = Git::config(@repo, "sendemail.identity"); +my $rc = GetOptions( + "identity=s" => \$identity, + "no-identity" => \$no_identity, +); +usage() unless $rc; +undef $identity if $no_identity; + +# Now we know enough to read the config +{ + my %configured; + read_config(\%configured, "sendemail.$identity") if defined $identity; + read_config(\%configured, "sendemail"); +} + # Begin by accumulating all the variables (defined above), that we will end up # needing, first, from the command line: my $help; my $git_completion_helper; -my $rc = GetOptions("h" => \$help, - "dump-aliases" => \$dump_aliases); +$rc = GetOptions("h" => \$help, + "dump-aliases" => \$dump_aliases); usage() unless $rc; die __("--dump-aliases incompatible with other options\n") if !$help and $dump_aliases and @ARGV; @@ -330,12 +412,12 @@ $rc = GetOptions( "in-reply-to=s" => \$initial_in_reply_to, "reply-to=s" => \$reply_to, "subject=s" => \$initial_subject, - "to=s" => \@initial_to, + "to=s" => \@getopt_to, "to-cmd=s" => \$to_cmd, "no-to" => \$no_to, - "cc=s" => \@initial_cc, + "cc=s" => \@getopt_cc, "no-cc" => \$no_cc, - "bcc=s" => \@bcclist, + "bcc=s" => \@getopt_bcc, "no-bcc" => \$no_bcc, "chain-reply-to!" => \$chain_reply_to, "no-chain-reply-to" => sub {$chain_reply_to = 0}, @@ -351,7 +433,6 @@ $rc = GetOptions( "smtp-domain:s" => \$smtp_domain, "smtp-auth=s" => \$smtp_auth, "no-smtp-auth" => sub {$smtp_auth = 'none'}, - "identity=s" => \$identity, "annotate!" => \$annotate, "no-annotate" => sub {$annotate = 0}, "compose" => \$compose, @@ -386,6 +467,11 @@ $rc = GetOptions( "git-completion-helper" => \$git_completion_helper, ); +# Munge any "either config or getopt, not both" variables +my @initial_to = @getopt_to ? @getopt_to : ($no_to ? () : @config_to); +my @initial_cc = @getopt_cc ? @getopt_cc : ($no_cc ? () : @config_cc); +my @initial_bcc = @getopt_bcc ? @getopt_bcc : ($no_bcc ? () : @config_bcc); + usage() if $help; completion_helper() if $git_completion_helper; unless ($rc) { @@ -399,65 +485,6 @@ die __("`batch-size` and `relogin` must be specified together " . "(via command-line or configuration option)\n") if defined $relogin_delay and not defined $batch_size; -# Now, let's fill any that aren't set in with defaults: - -sub read_config { - my ($prefix) = @_; - - foreach my $setting (keys %config_bool_settings) { - my $target = $config_bool_settings{$setting}->[0]; - $$target = Git::config_bool(@repo, "$prefix.$setting") unless (defined $$target); - } - - foreach my $setting (keys %config_path_settings) { - my $target = $config_path_settings{$setting}; - if (ref($target) eq "ARRAY") { - unless (@$target) { - my @values = Git::config_path(@repo, "$prefix.$setting"); - @$target = @values if (@values && defined $values[0]); - } - } - else { - $$target = Git::config_path(@repo, "$prefix.$setting") unless (defined $$target); - } - } - - foreach my $setting (keys %config_settings) { - my $target = $config_settings{$setting}; - next if $setting eq "to" and defined $no_to; - next if $setting eq "cc" and defined $no_cc; - next if $setting eq "bcc" and defined $no_bcc; - if (ref($target) eq "ARRAY") { - unless (@$target) { - my @values = Git::config(@repo, "$prefix.$setting"); - @$target = @values if (@values && defined $values[0]); - } - } - else { - $$target = Git::config(@repo, "$prefix.$setting") unless (defined $$target); - } - } - - if (!defined $smtp_encryption) { - my $enc = Git::config(@repo, "$prefix.smtpencryption"); - if (defined $enc) { - $smtp_encryption = $enc; - } elsif (Git::config_bool(@repo, "$prefix.smtpssl")) { - $smtp_encryption = 'ssl'; - } - } -} - -# read configuration from [sendemail "$identity"], fall back on [sendemail] -$identity = Git::config(@repo, "sendemail.identity") unless (defined $identity); -read_config("sendemail.$identity") if (defined $identity); -read_config("sendemail"); - -# fall back on builtin bool defaults -foreach my $setting (values %config_bool_settings) { - ${$setting->[0]} = $setting->[1] unless (defined (${$setting->[0]})); -} - # 'default' encryption is none -- this only prevents a warning $smtp_encryption = '' unless (defined $smtp_encryption); @@ -941,7 +968,7 @@ sub expand_one_alias { @initial_to = process_address_list(@initial_to); @initial_cc = process_address_list(@initial_cc); -@bcclist = process_address_list(@bcclist); +@initial_bcc = process_address_list(@initial_bcc); if ($thread && !defined $initial_in_reply_to && $prompting) { $initial_in_reply_to = ask( @@ -1364,7 +1391,7 @@ sub send_message { } @cc); my $to = join (",\n\t", @recipients); - @recipients = unique_email_list(@recipients,@cc,@bcclist); + @recipients = unique_email_list(@recipients,@cc,@initial_bcc); @recipients = (map { extract_valid_address_or_die($_) } @recipients); my $date = format_2822_time($time++); my $gitversion = '@@GIT_VERSION@@'; diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh index e1d917fd27..8eef60b43f 100644 --- a/git-sh-i18n.sh +++ b/git-sh-i18n.sh @@ -17,7 +17,9 @@ export TEXTDOMAINDIR # First decide what scheme to use... GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough -if test -n "$GIT_TEST_GETTEXT_POISON" +if test -n "$GIT_TEST_GETTEXT_POISON" && + git env--helper --type=bool --default=0 --exit-code \ + GIT_TEST_GETTEXT_POISON then GIT_INTERNAL_GETTEXT_SH_SCHEME=poison elif test -n "@@USE_GETTEXT_SCHEME@@" @@ -33,7 +33,8 @@ const char git_usage_string[] = const char git_more_info_string[] = N_("'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" - "to read about a specific subcommand or concept."); + "to read about a specific subcommand or concept.\n" + "See 'git help git' for an overview of the system."); static int use_pager = -1; @@ -499,6 +500,7 @@ static struct cmd_struct commands[] = { { "diff-index", cmd_diff_index, RUN_SETUP | NO_PARSEOPT }, { "diff-tree", cmd_diff_tree, RUN_SETUP | NO_PARSEOPT }, { "difftool", cmd_difftool, RUN_SETUP_GENTLY }, + { "env--helper", cmd_env__helper }, { "fast-export", cmd_fast_export, RUN_SETUP }, { "fetch", cmd_fetch, RUN_SETUP }, { "fetch-pack", cmd_fetch_pack, RUN_SETUP | NO_PARSEOPT }, @@ -549,12 +551,7 @@ static struct cmd_struct commands[] = { { "push", cmd_push, RUN_SETUP }, { "range-diff", cmd_range_diff, RUN_SETUP | USE_PAGER }, { "read-tree", cmd_read_tree, RUN_SETUP | SUPPORT_SUPER_PREFIX}, - /* - * NEEDSWORK: Until the rebase is independent and needs no redirection - * to rebase shell script this is kept as is, then should be changed to - * RUN_SETUP | NEED_WORK_TREE - */ - { "rebase", cmd_rebase }, + { "rebase", cmd_rebase, RUN_SETUP | NEED_WORK_TREE }, { "rebase--interactive", cmd_rebase__interactive, RUN_SETUP | NEED_WORK_TREE }, { "receive-pack", cmd_receive_pack }, { "reflog", cmd_reflog, RUN_SETUP }, @@ -565,6 +562,7 @@ static struct cmd_struct commands[] = { { "replace", cmd_replace, RUN_SETUP }, { "rerere", cmd_rerere, RUN_SETUP }, { "reset", cmd_reset, RUN_SETUP }, + { "restore", cmd_restore, RUN_SETUP | NEED_WORK_TREE }, { "rev-list", cmd_rev_list, RUN_SETUP | NO_PARSEOPT }, { "rev-parse", cmd_rev_parse, NO_PARSEOPT }, { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE }, @@ -585,6 +583,7 @@ static struct cmd_struct commands[] = { { "status", cmd_status, RUN_SETUP | NEED_WORK_TREE }, { "stripspace", cmd_stripspace }, { "submodule--helper", cmd_submodule__helper, RUN_SETUP | SUPPORT_SUPER_PREFIX | NO_PARSEOPT }, + { "switch", cmd_switch, RUN_SETUP | NEED_WORK_TREE }, { "symbolic-ref", cmd_symbolic_ref, RUN_SETUP }, { "tag", cmd_tag, RUN_SETUP | DELAY_PAGER_CONFIG }, { "unpack-file", cmd_unpack_file, RUN_SETUP | NO_PARSEOPT }, @@ -740,8 +739,6 @@ static int run_argv(int *argcp, const char ***argv) */ if (!done_alias) handle_builtin(*argcp, *argv); - -#if 0 // TODO In GFW, need to amend a7924b655e940b06cb547c235d6bed9767929673 to include trace2_ and _tr2 lines. else if (get_builtin(**argv)) { struct argv_array args = ARGV_ARRAY_INIT; int i; @@ -776,7 +773,6 @@ static int run_argv(int *argcp, const char ***argv) exit(i); die("could not execute builtin %s", **argv); } -#endif // a7924b655e940b06cb547c235d6bed9767929673 /* .. then try the external ones */ execv_dashed_external(*argv); @@ -20,3 +20,5 @@ BEGIN VALUE "Translation", 0x409, 1200 END END + +1 RT_MANIFEST "compat/win32/git.manifest" diff --git a/gitk-git/gitk b/gitk-git/gitk index a14d7a16b2..abe4805ade 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -3404,6 +3404,8 @@ set rectmask { } image create bitmap reficon-H -background black -foreground "#00ff00" \ -data $rectdata -maskdata $rectmask +image create bitmap reficon-R -background black -foreground "#ffddaa" \ + -data $rectdata -maskdata $rectmask image create bitmap reficon-o -background black -foreground "#ddddff" \ -data $rectdata -maskdata $rectmask @@ -7016,6 +7018,7 @@ proc commit_descriptor {p} { # append some text to the ctext widget, and make any SHA1 ID # that we know about be a clickable link. +# Also look for URLs of the form "http[s]://..." and make them web links. proc appendwithlinks {text tags} { global ctext linknum curview @@ -7032,6 +7035,18 @@ proc appendwithlinks {text tags} { setlink $linkid link$linknum incr linknum } + set wlinks [regexp -indices -all -inline -line \ + {https?://[^[:space:]]+} $text] + foreach l $wlinks { + set s2 [lindex $l 0] + set e2 [lindex $l 1] + set url [string range $text $s2 $e2] + incr e2 + $ctext tag delete link$linknum + $ctext tag add link$linknum "$start + $s2 c" "$start + $e2 c" + setwlink $url link$linknum + incr linknum + } } proc setlink {id lk} { @@ -7064,6 +7079,18 @@ proc setlink {id lk} { } } +proc setwlink {url lk} { + global ctext + global linkfgcolor + global web_browser + + if {$web_browser eq {}} return + $ctext tag conf $lk -foreground $linkfgcolor -underline 1 + $ctext tag bind $lk <1> [list browseweb $url] + $ctext tag bind $lk <Enter> {linkcursor %W 1} + $ctext tag bind $lk <Leave> {linkcursor %W -1} +} + proc appendshortlink {id {pre {}} {post {}}} { global ctext linknum @@ -7098,6 +7125,16 @@ proc linkcursor {w inc} { } } +proc browseweb {url} { + global web_browser + + if {$web_browser eq {}} return + # Use eval here in case $web_browser is a command plus some arguments + if {[catch {eval exec $web_browser [list $url] &} err]} { + error_popup "[mc "Error starting web browser:"] $err" + } +} + proc viewnextline {dir} { global canv linespc @@ -8191,11 +8228,11 @@ proc parseblobdiffline {ids line} { } else { $ctext insert end "$line\n" filesep } - } elseif {![string compare -length 3 " >" $line]} { + } elseif {$currdiffsubmod != "" && ![string compare -length 3 " >" $line]} { set $currdiffsubmod "" set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" dresult - } elseif {![string compare -length 3 " <" $line]} { + } elseif {$currdiffsubmod != "" && ![string compare -length 3 " <" $line]} { set $currdiffsubmod "" set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" d0 @@ -10022,6 +10059,7 @@ proc sel_reflist {w x y} { set n [lindex $ref 0] switch -- [lindex $ref 1] { "H" {selbyid $headids($n)} + "R" {selbyid $headids($n)} "T" {selbyid $tagids($n)} "o" {selbyid $otherrefids($n)} } @@ -10051,7 +10089,11 @@ proc refill_reflist {} { foreach n [array names headids] { if {[string match $reflistfilter $n]} { if {[commitinview $headids($n) $curview]} { - lappend refs [list $n H] + if {[string match "remotes/*" $n]} { + lappend refs [list $n R] + } else { + lappend refs [list $n H] + } } else { interestedin $headids($n) {run refill_reflist} } @@ -11488,7 +11530,7 @@ proc create_prefs_page {w} { proc prefspage_general {notebook} { global NS maxwidth maxgraphpct showneartags showlocalchanges global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs - global hideremotes want_ttk have_ttk maxrefs + global hideremotes want_ttk have_ttk maxrefs web_browser set page [create_prefs_page $notebook.general] @@ -11539,6 +11581,13 @@ proc prefspage_general {notebook} { pack configure $page.extdifff.l -padx 10 grid x $page.extdifff $page.extdifft -sticky ew + ${NS}::entry $page.webbrowser -textvariable web_browser + ${NS}::frame $page.webbrowserf + ${NS}::label $page.webbrowserf.l -text [mc "Web browser" ] + pack $page.webbrowserf.l -side left + pack configure $page.webbrowserf.l -padx 10 + grid x $page.webbrowserf $page.webbrowser -sticky ew + ${NS}::label $page.lgen -text [mc "General options"] grid $page.lgen - -sticky w -pady 10 ${NS}::checkbutton $page.want_ttk -variable want_ttk \ @@ -12310,6 +12359,7 @@ if {[tk windowingsystem] eq "win32"} { set bgcolor SystemWindow set fgcolor SystemWindowText set selectbgcolor SystemHighlight + set web_browser "cmd /c start" } else { set uicolor grey85 set uifgcolor black @@ -12317,6 +12367,11 @@ if {[tk windowingsystem] eq "win32"} { set bgcolor white set fgcolor black set selectbgcolor gray85 + if {[tk windowingsystem] eq "aqua"} { + set web_browser "open" + } else { + set web_browser "xdg-open" + } } set diffcolors {red "#00a000" blue} set diffcontext 3 @@ -12390,6 +12445,7 @@ set config_variables { filesepbgcolor filesepfgcolor linehoverbgcolor linehoverfgcolor linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor indexcirclecolor circlecolors linkfgcolor circleoutlinecolor + web_browser } foreach var $config_variables { config_init_trace $var diff --git a/gitk-git/po/zh_cn.po b/gitk-git/po/zh_cn.po new file mode 100644 index 0000000000..17b7f899da --- /dev/null +++ b/gitk-git/po/zh_cn.po @@ -0,0 +1,1367 @@ +# Translation of gitk to Simplified Chinese. +# +# Translators: +# YanKe <imyanke@163.com>, 2017 + +msgid "" +msgstr "" +"Project-Id-Version: Git Chinese Localization Project\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-28 23:11+0800\n" +"PO-Revision-Date: 2017-03-11 02:27+0800\n" +"Last-Translator: YanKe <imyanke@163.com>\n" +"Language-Team: Chinese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" + +#: gitk:140 +msgid "Couldn't get list of unmerged files:" +msgstr "ä¸èƒ½èŽ·å–æœªåˆå¹¶æ–‡ä»¶åˆ—表:" + +#: gitk:212 gitk:2403 +msgid "Color words" +msgstr "ç€è‰²æ˜¾ç¤ºå·®å¼‚" + +#: gitk:217 gitk:2403 gitk:8249 gitk:8282 +msgid "Markup words" +msgstr "æ ‡è®°æ˜¾ç¤ºå·®å¼‚" + +#: gitk:324 +msgid "Error parsing revisions:" +msgstr "è§£æžç‰ˆæœ¬é”™è¯¯ï¼š" + +#: gitk:380 +msgid "Error executing --argscmd command:" +msgstr "è¿è¡Œ --argscmd命令出错" + +#: gitk:393 +msgid "No files selected: --merge specified but no files are unmerged." +msgstr "æ²¡æœ‰é€‰ä¸æ–‡ä»¶ï¼š--指定merge傿•°ä½†æ²¡æœ‰æœªåˆå¹¶çš„æ–‡ä»¶ã€‚" + +#: gitk:396 +msgid "" +"No files selected: --merge specified but no unmerged files are within file " +"limit." +msgstr "æ²¡æœ‰é€‰ä¸æ–‡ä»¶ï¼š--指定merge傿•°ä½†æ²¡æœ‰æœªåˆå¹¶çš„æ–‡ä»¶åœ¨æ–‡ä»¶ä¸" + +#: gitk:418 gitk:566 +msgid "Error executing git log:" +msgstr "执行git log命令出错:" + +#: gitk:436 gitk:582 +msgid "Reading" +msgstr "读å–ä¸" + +#: gitk:496 gitk:4549 +msgid "Reading commits..." +msgstr "æäº¤è®°å½•读å–ä¸..." + +#: gitk:499 gitk:1641 gitk:4552 +msgid "No commits selected" +msgstr "未选ä¸ä»»ä½•æäº¤" + +#: gitk:1449 gitk:4069 gitk:12583 +msgid "Command line" +msgstr "命令行" + +#: gitk:1515 +msgid "Can't parse git log output:" +msgstr "ä¸èƒ½è§£æžgit log输出:" + +#: gitk:1744 +msgid "No commit information available" +msgstr "æ— å¯ç”¨æäº¤ä¿¡æ¯" + +#: gitk:1907 gitk:1936 gitk:4339 gitk:9789 gitk:11388 gitk:11668 +msgid "OK" +msgstr "确定" + +#: gitk:1938 gitk:4341 gitk:9225 gitk:9304 gitk:9434 gitk:9520 gitk:9791 +#: gitk:11389 gitk:11669 +msgid "Cancel" +msgstr "å–æ¶ˆ" + +#: gitk:2087 +msgid "&Update" +msgstr "æ›´æ–°" + +#: gitk:2088 +msgid "&Reload" +msgstr "釿–°åŠ è½½" + +#: gitk:2089 +msgid "Reread re&ferences" +msgstr "釿–°è¯»å–引用" + +#: gitk:2090 +msgid "&List references" +msgstr "列出引用(分支以åŠtag)" + +#: gitk:2092 +msgid "Start git &gui" +msgstr "å¯åЍgit gui客户端" + +#: gitk:2094 +msgid "&Quit" +msgstr "退出" + +#: gitk:2086 +msgid "&File" +msgstr "文件" + +#: gitk:2098 +msgid "&Preferences" +msgstr "å好设置" + +#: gitk:2097 +msgid "&Edit" +msgstr "编辑" + +#: gitk:2102 +msgid "&New view..." +msgstr "新视图..." + +#: gitk:2103 +msgid "&Edit view..." +msgstr "编辑视图..." + +#: gitk:2104 +msgid "&Delete view" +msgstr "åˆ é™¤è§†å›¾" + +#: gitk:2106 +msgid "&All files" +msgstr "所有文件" + +#: gitk:2101 +msgid "&View" +msgstr "视图" + +#: gitk:2111 gitk:2121 +msgid "&About gitk" +msgstr "关于gitk" + +#: gitk:2112 gitk:2126 +msgid "&Key bindings" +msgstr "å¿«æ·é”®" + +#: gitk:2110 gitk:2125 +msgid "&Help" +msgstr "帮助" + +#: gitk:2203 gitk:8681 +msgid "SHA1 ID:" +msgstr "SHA1 ID:" + +#: gitk:2247 +msgid "Row" +msgstr "行" + +#: gitk:2285 +msgid "Find" +msgstr "查找" + +#: gitk:2313 +msgid "commit" +msgstr "æäº¤" + +#: gitk:2317 gitk:2319 gitk:4711 gitk:4734 gitk:4758 gitk:6779 gitk:6851 +#: gitk:6936 +msgid "containing:" +msgstr "包å«ï¼š" + +#: gitk:2320 gitk:3550 gitk:3555 gitk:4787 +msgid "touching paths:" +msgstr "å½±å“路径:" + +#: gitk:2321 gitk:4801 +msgid "adding/removing string:" +msgstr "å¢žåŠ /åˆ é™¤å—符串:" + +#: gitk:2322 gitk:4803 +msgid "changing lines matching:" +msgstr "改å˜è¡ŒåŒ¹é…:" + +#: gitk:2331 gitk:2333 gitk:4790 +msgid "Exact" +msgstr "精确匹é…" + +#: gitk:2333 gitk:4878 gitk:6747 +msgid "IgnCase" +msgstr "忽略大å°å†™" + +#: gitk:2333 gitk:4760 gitk:4876 gitk:6743 +msgid "Regexp" +msgstr "æ£åˆ™" + +#: gitk:2335 gitk:2336 gitk:4898 gitk:4928 gitk:4935 gitk:6872 gitk:6940 +msgid "All fields" +msgstr "æ‰€æœ‰å—æ®µ" + +#: gitk:2336 gitk:4895 gitk:4928 gitk:6810 +msgid "Headline" +msgstr "æ ‡é¢˜" + +#: gitk:2337 gitk:4895 gitk:6810 gitk:6940 gitk:7413 +msgid "Comments" +msgstr "æäº¤æ³¨é‡Š" + +#: gitk:2337 gitk:4895 gitk:4900 gitk:4935 gitk:6810 gitk:7348 gitk:8859 +#: gitk:8874 +msgid "Author" +msgstr "作者" + +#: gitk:2337 gitk:4895 gitk:6810 gitk:7350 +msgid "Committer" +msgstr "æäº¤è€…" + +#: gitk:2371 +msgid "Search" +msgstr "æœç´¢" + +#: gitk:2379 +msgid "Diff" +msgstr "差异" + +#: gitk:2381 +msgid "Old version" +msgstr "è€ç‰ˆæœ¬" + +#: gitk:2383 +msgid "New version" +msgstr "新版本" + +#: gitk:2386 +msgid "Lines of context" +msgstr "Diff上下文显示行数" + +#: gitk:2396 +msgid "Ignore space change" +msgstr "å¿½ç•¥ç©ºæ ¼ä¿®æ”¹" + +#: gitk:2400 gitk:2402 gitk:7983 gitk:8235 +msgid "Line diff" +msgstr "按行显示差异" + +#: gitk:2467 +msgid "Patch" +msgstr "è¡¥ä¸" + +#: gitk:2469 +msgid "Tree" +msgstr "æ ‘" + +#: gitk:2639 gitk:2660 +msgid "Diff this -> selected" +msgstr "æ¯”è¾ƒä»Žå½“å‰æäº¤åˆ°é€‰ä¸æäº¤çš„å·®å¼‚" + +#: gitk:2640 gitk:2661 +msgid "Diff selected -> this" +msgstr "æ¯”è¾ƒä»Žé€‰ä¸æäº¤åˆ°å½“å‰æäº¤çš„å·®å¼‚" + +#: gitk:2641 gitk:2662 +msgid "Make patch" +msgstr "制作补ä¸" + +#: gitk:2642 gitk:9283 +msgid "Create tag" +msgstr "创建tag" + +#: gitk:2643 +msgid "Copy commit summary" +msgstr "å¤åˆ¶æäº¤æ‘˜è¦" + +#: gitk:2644 gitk:9414 +msgid "Write commit to file" +msgstr "写入æäº¤åˆ°æ–‡ä»¶" + +#: gitk:2645 +msgid "Create new branch" +msgstr "创建新分支" + +#: gitk:2646 +msgid "Cherry-pick this commit" +msgstr "åœ¨æ¤æäº¤è¿ç”¨è¡¥ä¸(cherry-pick)命令" + +#: gitk:2647 +msgid "Reset HEAD branch to here" +msgstr "将分支头(HEAD)é‡ç½®åˆ°æ¤å¤„" + +#: gitk:2648 +msgid "Mark this commit" +msgstr "æ ‡è®°æ¤æäº¤" + +#: gitk:2649 +msgid "Return to mark" +msgstr "è¿”å›žåˆ°æ ‡è®°" + +#: gitk:2650 +msgid "Find descendant of this and mark" +msgstr "查找本次æäº¤çš„åæäº¤å¹¶æ ‡è®°" + +#: gitk:2651 +msgid "Compare with marked commit" +msgstr "å’Œå·²æ ‡è®°çš„æäº¤ä½œæ¯”较" + +#: gitk:2652 gitk:2663 +msgid "Diff this -> marked commit" +msgstr "æ¯”è¾ƒä»Žå½“å‰æäº¤åˆ°å·²æ ‡è®°æäº¤çš„差异" + +#: gitk:2653 gitk:2664 +msgid "Diff marked commit -> this" +msgstr "æ¯”è¾ƒä»Žå·²æ ‡è®°æäº¤åˆ°å½“å‰æäº¤çš„å·®å¼‚" + +#: gitk:2654 +msgid "Revert this commit" +msgstr "撤销(revert)æ¤æäº¤" + +#: gitk:2670 +msgid "Check out this branch" +msgstr "检出(checkout)æ¤åˆ†æ”¯" + +#: gitk:2671 +msgid "Rename this branch" +msgstr "é‡å‘½å(Rename)æ¤åˆ†æ”¯" + +#: gitk:2672 +msgid "Remove this branch" +msgstr "åˆ é™¤(Remove)æ¤åˆ†æ”¯" + +#: gitk:2673 +msgid "Copy branch name" +msgstr "å¤åˆ¶åˆ†æ”¯åç§°" + +#: gitk:2680 +msgid "Highlight this too" +msgstr "高亮æ¤å¤„" + +#: gitk:2681 +msgid "Highlight this only" +msgstr "åªé«˜äº®æ¤å¤„" + +#: gitk:2682 +msgid "External diff" +msgstr "外部diff" + +#: gitk:2683 +msgid "Blame parent commit" +msgstr "Blame父æäº¤" + +#: gitk:2684 +msgid "Copy path" +msgstr "å¤åˆ¶è·¯å¾„" + +#: gitk:2691 +msgid "Show origin of this line" +msgstr "显示æ¤è¡ŒåŽŸå§‹æäº¤" + +#: gitk:2692 +msgid "Run git gui blame on this line" +msgstr "在æ¤è¡Œè¿è¡Œgit gui客户端的blame" + +#: gitk:3036 +msgid "About gitk" +msgstr "关于gitk" + +#: gitk:3038 +msgid "" +"\n" +"Gitk - a commit viewer for git\n" +"\n" +"Copyright © 2005-2016 Paul Mackerras\n" +"\n" +"Use and redistribute under the terms of the GNU General Public License" +msgstr "\nGitk — 一个gitçš„æäº¤æŸ¥çœ‹å™¨\n\n© 2005-2016 Paul Mackerras\n\n在GNU许å¯è¯ä¸‹ä½¿ç”¨ä»¥åŠåˆ†å‘" + +#: gitk:3046 gitk:3113 gitk:10004 +msgid "Close" +msgstr "å…³é—" + +#: gitk:3067 +msgid "Gitk key bindings" +msgstr "Gitkå¿«æ·é”®" + +#: gitk:3070 +msgid "Gitk key bindings:" +msgstr "Gitkå¿«æ·é”®ï¼š" + +#: gitk:3072 +#, tcl-format +msgid "<%s-Q>\t\tQuit" +msgstr "<%s-Q>\t\t退出" + +#: gitk:3073 +#, tcl-format +msgid "<%s-W>\t\tClose window" +msgstr "<%s-W>\t\tå…³é—窗å£" + +#: gitk:3074 +msgid "<Home>\t\tMove to first commit" +msgstr "<Home>\t\t移动到第一次æäº¤" + +#: gitk:3075 +msgid "<End>\t\tMove to last commit" +msgstr "<End>\t\t移动到最åŽä¸€æ¬¡æäº¤" + +#: gitk:3076 +msgid "<Up>, p, k\tMove up one commit" +msgstr "<Up>, p, k\t移动到上一次æäº¤" + +#: gitk:3077 +msgid "<Down>, n, j\tMove down one commit" +msgstr "<Down>, n, j\t移动到下一次æäº¤" + +#: gitk:3078 +msgid "<Left>, z, h\tGo back in history list" +msgstr "<Left>, z, h\t历å²åˆ—表的上一项" + +#: gitk:3079 +msgid "<Right>, x, l\tGo forward in history list" +msgstr "<Right>, x, l\t历å²åˆ—表的下一项" + +#: gitk:3080 +#, tcl-format +msgid "<%s-n>\tGo to n-th parent of current commit in history list" +msgstr "<%s-n>\t在历å²åˆ—表ä¸å‰å¾€æœ¬æ¬¡æäº¤çš„第n个父æäº¤" + +#: gitk:3081 +msgid "<PageUp>\tMove up one page in commit list" +msgstr "<PageUp>\t上一页æäº¤åˆ—表" + +#: gitk:3082 +msgid "<PageDown>\tMove down one page in commit list" +msgstr "<PageDown>\t下一页æäº¤åˆ—表" + +#: gitk:3083 +#, tcl-format +msgid "<%s-Home>\tScroll to top of commit list" +msgstr "<%s-Home>\t滚动到æäº¤åˆ—表顶部" + +#: gitk:3084 +#, tcl-format +msgid "<%s-End>\tScroll to bottom of commit list" +msgstr "<%s-End>\t滚动到æäº¤åˆ—表底部" + +#: gitk:3085 +#, tcl-format +msgid "<%s-Up>\tScroll commit list up one line" +msgstr "<%s-Up>\tå‘上滚动一行æäº¤åˆ—表" + +#: gitk:3086 +#, tcl-format +msgid "<%s-Down>\tScroll commit list down one line" +msgstr "<%s-Down>\tå‘下滚动一行æäº¤åˆ—表" + +#: gitk:3087 +#, tcl-format +msgid "<%s-PageUp>\tScroll commit list up one page" +msgstr "<%s-PageUp>\tå‘上滚动一页æäº¤åˆ—表" + +#: gitk:3088 +#, tcl-format +msgid "<%s-PageDown>\tScroll commit list down one page" +msgstr "<%s-PageDown>\tå‘下滚动一页æäº¤åˆ—表" + +#: gitk:3089 +msgid "<Shift-Up>\tFind backwards (upwards, later commits)" +msgstr "<Shift-Up>\tå‘åŽæŸ¥æ‰¾(å‘上的,更晚的æäº¤)" + +#: gitk:3090 +msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" +msgstr "<Shift-Down>\tå‘剿Ÿ¥æ‰¾(å‘下的,更早的æäº¤)" + +#: gitk:3091 +msgid "<Delete>, b\tScroll diff view up one page" +msgstr "<Delete>, b\tå‘上滚动diff视图一页" + +#: gitk:3092 +msgid "<Backspace>\tScroll diff view up one page" +msgstr "<Backspace>\tå‘上滚动diff视图一页" + +#: gitk:3093 +msgid "<Space>\t\tScroll diff view down one page" +msgstr "<Space>\t\tå‘下滚动diff视图一页" + +#: gitk:3094 +msgid "u\t\tScroll diff view up 18 lines" +msgstr "u\t\tå‘上滚动diff视图18行" + +#: gitk:3095 +msgid "d\t\tScroll diff view down 18 lines" +msgstr "d\t\tå‘下滚动diff视图18行" + +#: gitk:3096 +#, tcl-format +msgid "<%s-F>\t\tFind" +msgstr "<%s-F>\t\t查找" + +#: gitk:3097 +#, tcl-format +msgid "<%s-G>\t\tMove to next find hit" +msgstr "<%s-G>\t\t移动到下一次查找命ä¸" + +#: gitk:3098 +msgid "<Return>\tMove to next find hit" +msgstr "<Return>\t\t移动到下一次查找命ä¸" + +#: gitk:3099 +msgid "g\t\tGo to commit" +msgstr "g\t\t转到æäº¤" + +#: gitk:3100 +msgid "/\t\tFocus the search box" +msgstr "/\t\t选䏿œç´¢æ¡†" + +#: gitk:3101 +msgid "?\t\tMove to previous find hit" +msgstr "?\t\t移动到上一次查找命ä¸" + +#: gitk:3102 +msgid "f\t\tScroll diff view to next file" +msgstr "f\t\t滚动diff视图到下一个文件" + +#: gitk:3103 +#, tcl-format +msgid "<%s-S>\t\tSearch for next hit in diff view" +msgstr "<%s-S>\t\t在diffè§†å›¾ä¸æŸ¥æ‰¾ä¸‹ä¸€æ¤å‘½ä¸" + +#: gitk:3104 +#, tcl-format +msgid "<%s-R>\t\tSearch for previous hit in diff view" +msgstr "<%s-R>\t\t在diffè§†å›¾ä¸æŸ¥æ‰¾ä¸Šä¸€æ¬¡å‘½ä¸" + +#: gitk:3105 +#, tcl-format +msgid "<%s-KP+>\tIncrease font size" +msgstr "<%s-KP+>\t增大å—体大å°" + +#: gitk:3106 +#, tcl-format +msgid "<%s-plus>\tIncrease font size" +msgstr "<%s-plus>\t增大å—体大å°" + +#: gitk:3107 +#, tcl-format +msgid "<%s-KP->\tDecrease font size" +msgstr "<%s-KP->\tå‡å°å—体大å°" + +#: gitk:3108 +#, tcl-format +msgid "<%s-minus>\tDecrease font size" +msgstr "<%s-minus>\tå‡å°å—体大å°" + +#: gitk:3109 +msgid "<F5>\t\tUpdate" +msgstr "<F5>\t\tæ›´æ–°" + +#: gitk:3574 gitk:3583 +#, tcl-format +msgid "Error creating temporary directory %s:" +msgstr "创建临时目录出错%s:" + +#: gitk:3596 +#, tcl-format +msgid "Error getting \"%s\" from %s:" +msgstr "从%s获å–\"%s\"出错:" + +#: gitk:3659 +msgid "command failed:" +msgstr "执行命令失败:" + +#: gitk:3808 +msgid "No such commit" +msgstr "æ— æ¤æäº¤" + +#: gitk:3822 +msgid "git gui blame: command failed:" +msgstr "git gui blame:执行命令失败:" + +#: gitk:3853 +#, tcl-format +msgid "Couldn't read merge head: %s" +msgstr "ä¸èƒ½è¯»å–åˆå¹¶å¤´(merge head):%s" + +#: gitk:3861 +#, tcl-format +msgid "Error reading index: %s" +msgstr "读å–索引出错:%s" + +#: gitk:3886 +#, tcl-format +msgid "Couldn't start git blame: %s" +msgstr "ä¸èƒ½æ‰§è¡Œgit blame:%s" + +#: gitk:3889 gitk:6778 +msgid "Searching" +msgstr "æœç´¢ä¸" + +#: gitk:3921 +#, tcl-format +msgid "Error running git blame: %s" +msgstr "è¿è¡Œgit blame出错:%s" + +#: gitk:3949 +#, tcl-format +msgid "That line comes from commit %s, which is not in this view" +msgstr "æ¤è¡Œæ¥è‡ªæäº¤%s,ä¸åœ¨æ¤è§†å›¾ä¸" + +#: gitk:3963 +msgid "External diff viewer failed:" +msgstr "外部diff查看器失败:" + +#: gitk:4067 +msgid "All files" +msgstr "所有文件" + +#: gitk:4091 +msgid "View" +msgstr "视图" + +#: gitk:4094 +msgid "Gitk view definition" +msgstr "Gitk视图定义" + +#: gitk:4098 +msgid "Remember this view" +msgstr "è®°ä½æ¤è§†å›¾" + +#: gitk:4099 +msgid "References (space separated list):" +msgstr "引用(ç©ºæ ¼åˆ‡åˆ†çš„åˆ—è¡¨):" + +#: gitk:4100 +msgid "Branches & tags:" +msgstr "分支和tags" + +#: gitk:4101 +msgid "All refs" +msgstr "所有引用" + +#: gitk:4102 +msgid "All (local) branches" +msgstr "所有(本地)分支" + +#: gitk:4103 +msgid "All tags" +msgstr "所有tag" + +#: gitk:4104 +msgid "All remote-tracking branches" +msgstr "所有远程跟踪分支" + +#: gitk:4105 +msgid "Commit Info (regular expressions):" +msgstr "æäº¤ä¿¡æ¯ (æ£åˆ™è¡¨è¾¾å¼):" + +#: gitk:4106 +msgid "Author:" +msgstr "作者:" + +#: gitk:4107 +msgid "Committer:" +msgstr "æäº¤è€…:" + +#: gitk:4108 +msgid "Commit Message:" +msgstr "æäº¤ä¿¡æ¯ï¼š" + +#: gitk:4109 +msgid "Matches all Commit Info criteria" +msgstr "åŒ¹é…æ‰€æœ‰æäº¤ä¿¡æ¯æ ‡å‡†" + +#: gitk:4110 +msgid "Matches no Commit Info criteria" +msgstr "åŒ¹é…æ— æäº¤ä¿¡æ¯æ ‡å‡†" + +#: gitk:4111 +msgid "Changes to Files:" +msgstr "文件修改列表:" + +#: gitk:4112 +msgid "Fixed String" +msgstr "固定å—符串" + +#: gitk:4113 +msgid "Regular Expression" +msgstr "æ£åˆ™è¡¨è¾¾å¼ï¼š" + +#: gitk:4114 +msgid "Search string:" +msgstr "æœç´¢å—符串:" + +#: gitk:4115 +msgid "" +"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 " +"15:27:38\"):" +msgstr "æäº¤æ—¥æœŸ (\"2星期之å‰\", \"2009-03-17 15:27:38\", \"5月 17, 2009 15:27:38\"):" + +#: gitk:4116 +msgid "Since:" +msgstr "自:" + +#: gitk:4117 +msgid "Until:" +msgstr "到:" + +#: gitk:4118 +msgid "Limit and/or skip a number of revisions (positive integer):" +msgstr "é™åˆ¶ 且/或 跳过一定数é‡çš„版本(æ£æ•´æ•°):" + +#: gitk:4119 +msgid "Number to show:" +msgstr "显示数é‡ï¼š" + +#: gitk:4120 +msgid "Number to skip:" +msgstr "跳过数é‡ï¼š" + +#: gitk:4121 +msgid "Miscellaneous options:" +msgstr "其他选项:" + +#: gitk:4122 +msgid "Strictly sort by date" +msgstr "ä¸¥æ ¼æŒ‰æ—¥æœŸæ•´ç†" + +#: gitk:4123 +msgid "Mark branch sides" +msgstr "æ ‡è®°åˆ†æ”¯è¾¹ç•Œ" + +#: gitk:4124 +msgid "Limit to first parent" +msgstr "é™åˆ¶åˆ°ç¬¬ä¸€ä¸ªçˆ¶æäº¤" + +#: gitk:4125 +msgid "Simple history" +msgstr "简易历å²" + +#: gitk:4126 +msgid "Additional arguments to git log:" +msgstr "git log命令的é¢å¤–傿•°ï¼š" + +#: gitk:4127 +msgid "Enter files and directories to include, one per line:" +msgstr "输入文件和文件夹æ¥å¼•用,æ¯è¡Œä¸€ä¸ªï¼š" + +#: gitk:4128 +msgid "Command to generate more commits to include:" +msgstr "命令产生更多的æäº¤æ¥å¼•用:" + +#: gitk:4252 +msgid "Gitk: edit view" +msgstr "Gitk: 编辑视图" + +#: gitk:4260 +msgid "-- criteria for selecting revisions" +msgstr "-- 用æ¥é€‰æ‹©ç‰ˆæœ¬çš„规则" + +#: gitk:4265 +msgid "View Name" +msgstr "视图åç§°" + +#: gitk:4340 +msgid "Apply (F5)" +msgstr "应用(F5)" + +#: gitk:4378 +msgid "Error in commit selection arguments:" +msgstr "æäº¤é€‰æ‹©å‚数错误:" + +#: gitk:4433 gitk:4486 gitk:4948 gitk:4962 gitk:6232 gitk:12524 gitk:12525 +msgid "None" +msgstr "æ— " + +#: gitk:5045 gitk:5050 +msgid "Descendant" +msgstr "åæäº¤" + +#: gitk:5046 +msgid "Not descendant" +msgstr "éžåæäº¤" + +#: gitk:5053 gitk:5058 +msgid "Ancestor" +msgstr "父æäº¤" + +#: gitk:5054 +msgid "Not ancestor" +msgstr "éžçˆ¶æäº¤" + +#: gitk:5348 +msgid "Local changes checked in to index but not committed" +msgstr "å·²æ·»åŠ åˆ°ç´¢å¼•ä½†æœªæäº¤çš„修改" + +#: gitk:5384 +msgid "Local uncommitted changes, not checked in to index" +msgstr "æœªæ·»åŠ åˆ°ç´¢å¼•ä¸”æœªæäº¤çš„修改" + +#: gitk:7158 +msgid "and many more" +msgstr "更多" + +#: gitk:7161 +msgid "many" +msgstr "很多" + +#: gitk:7352 +msgid "Tags:" +msgstr "Tags:" + +#: gitk:7369 gitk:7375 gitk:8854 +msgid "Parent" +msgstr "父节点" + +#: gitk:7380 +msgid "Child" +msgstr "å节点" + +#: gitk:7389 +msgid "Branch" +msgstr "分支" + +#: gitk:7392 +msgid "Follows" +msgstr "之åŽçš„tag" + +#: gitk:7395 +msgid "Precedes" +msgstr "之å‰çš„tag" + +#: gitk:7990 +#, tcl-format +msgid "Error getting diffs: %s" +msgstr "获å–差异错误:%s" + +#: gitk:8679 +msgid "Goto:" +msgstr "转到:" + +#: gitk:8700 +#, tcl-format +msgid "Short SHA1 id %s is ambiguous" +msgstr "çŸæ ¼å¼çš„SHA1æäº¤å·%s䏿˜Žç¡®ã€æœ‰æ§ä¹‰" + +#: gitk:8707 +#, tcl-format +msgid "Revision %s is not known" +msgstr "版本%s未知" + +#: gitk:8717 +#, tcl-format +msgid "SHA1 id %s is not known" +msgstr "æäº¤å·(SHA1 id)%s未知" + +#: gitk:8719 +#, tcl-format +msgid "Revision %s is not in the current view" +msgstr "版本%sä¸åœ¨å½“å‰è§†å›¾ä¸" + +#: gitk:8861 gitk:8876 +msgid "Date" +msgstr "日期" + +#: gitk:8864 +msgid "Children" +msgstr "å节点" + +#: gitk:8927 +#, tcl-format +msgid "Reset %s branch to here" +msgstr "é‡ç½®åˆ†æ”¯%s到æ¤å¤„" + +#: gitk:8929 +msgid "Detached head: can't reset" +msgstr "分离的头(head):ä¸èƒ½é‡ç½®(reset)" + +#: gitk:9034 gitk:9040 +msgid "Skipping merge commit " +msgstr "跳过åˆå¹¶æäº¤" + +#: gitk:9049 gitk:9054 +msgid "Error getting patch ID for " +msgstr "获å–è¡¥ä¸ID出错" + +#: gitk:9050 gitk:9055 +msgid " - stopping\n" +msgstr " — åœæ¢ä¸\n" + +#: gitk:9060 gitk:9063 gitk:9071 gitk:9085 gitk:9094 +msgid "Commit " +msgstr "æäº¤" + +#: gitk:9064 +msgid "" +" is the same patch as\n" +" " +msgstr " 是相åŒçš„è¡¥ä¸(patch)\n " + +#: gitk:9072 +msgid "" +" differs from\n" +" " +msgstr " 差异æ¥è‡ª\n " + +#: gitk:9074 +msgid "" +"Diff of commits:\n" +"\n" +msgstr "æäº¤çš„差异(Diff):\n\n" + +#: gitk:9086 gitk:9095 +#, tcl-format +msgid " has %s children - stopping\n" +msgstr "有%så节点 — åœæ¢ä¸\n" + +#: gitk:9114 +#, tcl-format +msgid "Error writing commit to file: %s" +msgstr "写入æäº¤åˆ°æ–‡ä»¶å‡ºé”™ï¼š%s" + +#: gitk:9120 +#, tcl-format +msgid "Error diffing commits: %s" +msgstr "比较æäº¤å·®å¼‚出错:%s" + +#: gitk:9166 +msgid "Top" +msgstr "顶部" + +#: gitk:9167 +msgid "From" +msgstr "从" + +#: gitk:9172 +msgid "To" +msgstr "到" + +#: gitk:9196 +msgid "Generate patch" +msgstr "生æˆè¡¥ä¸(patch)" + +#: gitk:9198 +msgid "From:" +msgstr "从:" + +#: gitk:9207 +msgid "To:" +msgstr "到:" + +#: gitk:9216 +msgid "Reverse" +msgstr "åå‘(Reverse)" + +#: gitk:9218 gitk:9428 +msgid "Output file:" +msgstr "输出文件:" + +#: gitk:9224 +msgid "Generate" +msgstr "生æˆ" + +#: gitk:9262 +msgid "Error creating patch:" +msgstr "创建补ä¸(patch)出错:" + +#: gitk:9285 gitk:9416 gitk:9504 +msgid "ID:" +msgstr "ID:" + +#: gitk:9294 +msgid "Tag name:" +msgstr "Tagå称:" + +#: gitk:9297 +msgid "Tag message is optional" +msgstr "Tagä¿¡æ¯æ˜¯å¯é€‰çš„" + +#: gitk:9299 +msgid "Tag message:" +msgstr "Tagä¿¡æ¯ï¼š" + +#: gitk:9303 gitk:9474 +msgid "Create" +msgstr "创建" + +#: gitk:9321 +msgid "No tag name specified" +msgstr "未指定tagåç§°" + +#: gitk:9325 +#, tcl-format +msgid "Tag \"%s\" already exists" +msgstr "Tag\"%s\"å·²ç»å˜åœ¨" + +#: gitk:9335 +msgid "Error creating tag:" +msgstr "创建tag出错:" + +#: gitk:9425 +msgid "Command:" +msgstr "命令:" + +#: gitk:9433 +msgid "Write" +msgstr "写入" + +#: gitk:9451 +msgid "Error writing commit:" +msgstr "写入æäº¤å‡ºé”™ï¼š" + +#: gitk:9473 +msgid "Create branch" +msgstr "创建分支" + +#: gitk:9489 +#, tcl-format +msgid "Rename branch %s" +msgstr "é‡å‘½å分支%s" + +#: gitk:9490 +msgid "Rename" +msgstr "é‡å‘½å" + +#: gitk:9514 +msgid "Name:" +msgstr "å称:" + +#: gitk:9538 +msgid "Please specify a name for the new branch" +msgstr "请指定新分支的åç§°" + +#: gitk:9543 +#, tcl-format +msgid "Branch '%s' already exists. Overwrite?" +msgstr "分支\"%s\"å·²ç»å˜åœ¨ã€‚覆盖它?" + +#: gitk:9587 +msgid "Please specify a new name for the branch" +msgstr "è¯·é‡æ–°æŒ‡å®šæ–°åˆ†æ”¯çš„åç§°" + +#: gitk:9650 +#, tcl-format +msgid "Commit %s is already included in branch %s -- really re-apply it?" +msgstr "æäº¤%så·²ç»å˜åœ¨äºŽåˆ†æ”¯%sã€‚ç¡®å®šé‡æ–°åº”用它?" + +#: gitk:9655 +msgid "Cherry-picking" +msgstr "打补ä¸ä¸(Cherry-picking)" + +#: gitk:9664 +#, tcl-format +msgid "" +"Cherry-pick failed because of local changes to file '%s'.\n" +"Please commit, reset or stash your changes and try again." +msgstr "打补ä¸(Cherry-pick)å¤±è´¥ï¼Œå› ä¸ºæœ¬åœ°ä¿®æ”¹äº†æ–‡ä»¶\"%s\"。\n请æäº¤(commit)ã€é‡ç½®(reset)或暂å˜(stash)修改åŽé‡è¯•。" + +#: gitk:9670 +msgid "" +"Cherry-pick failed because of merge conflict.\n" +"Do you wish to run git citool to resolve it?" +msgstr "打补ä¸(Cherry-pick)å¤±è´¥å› ä¸ºåˆå¹¶å†²çªã€‚\nä½ æ˜¯å¦å¸Œæœ›è¿è¡Œgit citool æ¥è§£å†³å†²çªï¼Ÿ" + +#: gitk:9686 gitk:9744 +msgid "No changes committed" +msgstr "æ— å·²ç»æäº¤çš„ä¿®æ”¹" + +#: gitk:9713 +#, tcl-format +msgid "Commit %s is not included in branch %s -- really revert it?" +msgstr "æäº¤%sä¸åŒ…å«åœ¨åˆ†æ”¯%sä¸ï¼Œç¡®è®¤å›žæ»š(revert)它?" + +#: gitk:9718 +msgid "Reverting" +msgstr "回滚ä¸(Reverting)" + +#: gitk:9726 +#, tcl-format +msgid "" +"Revert failed because of local changes to the following files:%s Please " +"commit, reset or stash your changes and try again." +msgstr "回滚(revert)å¤±è´¥ï¼Œå› ä¸ºå¦‚ä¸‹çš„æœ¬åœ°æ–‡ä»¶ä¿®æ”¹ï¼š%s\n请æäº¤(commit)ã€é‡ç½®(reset)或者暂å˜(stash)改å˜åŽé‡è¯•。" + +#: gitk:9730 +msgid "" +"Revert failed because of merge conflict.\n" +" Do you wish to run git citool to resolve it?" +msgstr "回滚(revert)å¤±è´¥ï¼Œå› ä¸ºåˆå¹¶å†²çªã€‚\nä½ æ˜¯å¦å¸Œæœ›è¿è¡Œgit citoolæ¥è§£å†³å†²çªï¼Ÿ" + +#: gitk:9773 +msgid "Confirm reset" +msgstr "确认é‡ç½®(reset)" + +#: gitk:9775 +#, tcl-format +msgid "Reset branch %s to %s?" +msgstr "é‡ç½®(reset)分支%s到%s?" + +#: gitk:9777 +msgid "Reset type:" +msgstr "é‡ç½®(reset)类型:" + +#: gitk:9780 +msgid "Soft: Leave working tree and index untouched" +msgstr "è½¯æ€§ï¼šç¦»å¼€å·¥ä½œæ ‘ï¼Œç´¢å¼•æœªæ”¹å˜" + +#: gitk:9783 +msgid "Mixed: Leave working tree untouched, reset index" +msgstr "æ··åˆï¼šç¦»å¼€å·¥ä½œæ ‘(未改å˜),索引é‡ç½®" + +#: gitk:9786 +msgid "" +"Hard: Reset working tree and index\n" +"(discard ALL local changes)" +msgstr "硬性:é‡ç½®å·¥ä½œæ ‘和索引\n(丢弃所有的本地修改)" + +#: gitk:9803 +msgid "Resetting" +msgstr "é‡ç½®ä¸(Resetting)" + +#: gitk:9876 +#, tcl-format +msgid "A local branch named %s exists already" +msgstr "本地分支%så·²ç»å˜åœ¨" + +#: gitk:9884 +msgid "Checking out" +msgstr "检出ä¸(Checking out)" + +#: gitk:9943 +msgid "Cannot delete the currently checked-out branch" +msgstr "ä¸èƒ½åˆ 除当剿£€å‡º(checkout)分支" + +#: gitk:9949 +#, tcl-format +msgid "" +"The commits on branch %s aren't on any other branch.\n" +"Really delete branch %s?" +msgstr "在分支%s上的æäº¤ä¸åœ¨å…¶ä»–任何分支上。\nç¡®è®¤åˆ é™¤åˆ†æ”¯%s?" + +#: gitk:9980 +#, tcl-format +msgid "Tags and heads: %s" +msgstr "Tags和头指针(heads):%s" + +#: gitk:9997 +msgid "Filter" +msgstr "过滤器" + +#: gitk:10293 +msgid "" +"Error reading commit topology information; branch and preceding/following " +"tag information will be incomplete." +msgstr "è¯»å–æäº¤æ‹“æ‰‘ä¿¡æ¯å‡ºé”™ï¼›åˆ†æ”¯å’Œä¹‹å‰/之åŽçš„tagä¿¡æ¯å°†ä¸èƒ½å®Œæˆã€‚" + +#: gitk:11270 +msgid "Tag" +msgstr "æ ‡ç¾(Tag)" + +#: gitk:11274 +msgid "Id" +msgstr "Id" + +#: gitk:11357 +msgid "Gitk font chooser" +msgstr "Gitkå—体选择" + +#: gitk:11374 +msgid "B" +msgstr "粗体" + +#: gitk:11377 +msgid "I" +msgstr "斜体" + +#: gitk:11495 +msgid "Commit list display options" +msgstr "æäº¤åˆ—表展示选项" + +#: gitk:11498 +msgid "Maximum graph width (lines)" +msgstr "最大图宽度(行数)" + +#: gitk:11502 +#, no-tcl-format +msgid "Maximum graph width (% of pane)" +msgstr "最大图宽度(%窗å£ç™¾åˆ†æ¯”)" + +#: gitk:11505 +msgid "Show local changes" +msgstr "显示本地修改" + +#: gitk:11508 +msgid "Auto-select SHA1 (length)" +msgstr "自动选择SHA1(长度)" + +#: gitk:11512 +msgid "Hide remote refs" +msgstr "éšè—远程引用" + +#: gitk:11516 +msgid "Diff display options" +msgstr "差异(Diff)展示选项" + +#: gitk:11518 +msgid "Tab spacing" +msgstr "制表符宽度" + +#: gitk:11521 +msgid "Display nearby tags/heads" +msgstr "显示临近的tags/heads" + +#: gitk:11524 +msgid "Maximum # tags/heads to show" +msgstr "最大tags/heads展示数é‡" + +#: gitk:11527 +msgid "Limit diffs to listed paths" +msgstr "diffä¸åˆ—出文件é™åˆ¶" + +#: gitk:11530 +msgid "Support per-file encodings" +msgstr "å•ç‹¬æ–‡ä»¶ç¼–ç æ”¯æŒ" + +#: gitk:11536 gitk:11683 +msgid "External diff tool" +msgstr "外部差异(diff)工具" + +#: gitk:11537 +msgid "Choose..." +msgstr "选择..." + +#: gitk:11542 +msgid "General options" +msgstr "常规选项" + +#: gitk:11545 +msgid "Use themed widgets" +msgstr "使用主题å°éƒ¨ä»¶" + +#: gitk:11547 +msgid "(change requires restart)" +msgstr "(需é‡å¯ç”Ÿæ•ˆ)" + +#: gitk:11549 +msgid "(currently unavailable)" +msgstr "(当å‰ä¸å¯ç”¨)" + +#: gitk:11560 +msgid "Colors: press to choose" +msgstr "颜色:点击æ¥é€‰æ‹©" + +#: gitk:11563 +msgid "Interface" +msgstr "界é¢" + +#: gitk:11564 +msgid "interface" +msgstr "界é¢" + +#: gitk:11567 +msgid "Background" +msgstr "背景" + +#: gitk:11568 gitk:11598 +msgid "background" +msgstr "背景" + +#: gitk:11571 +msgid "Foreground" +msgstr "剿™¯" + +#: gitk:11572 +msgid "foreground" +msgstr "剿™¯" + +#: gitk:11575 +msgid "Diff: old lines" +msgstr "差异(Diff):è€ä»£ç 行" + +#: gitk:11576 +msgid "diff old lines" +msgstr "差异(diff)è€ä»£ç 行" + +#: gitk:11580 +msgid "Diff: new lines" +msgstr "差异(Diff):新代ç 行" + +#: gitk:11581 +msgid "diff new lines" +msgstr "差异(diff)新代ç 行" + +#: gitk:11585 +msgid "Diff: hunk header" +msgstr "差异(Diff):补ä¸ç‰‡æ®µå¤´ä¿¡æ¯" + +#: gitk:11587 +msgid "diff hunk header" +msgstr "差异(diff)è¡¥ä¸ç‰‡æ®µå¤´ä¿¡æ¯" + +#: gitk:11591 +msgid "Marked line bg" +msgstr "å·²æ ‡è®°ä»£ç 行背景" + +#: gitk:11593 +msgid "marked line background" +msgstr "å·²æ ‡è®°ä»£ç 行背景" + +#: gitk:11597 +msgid "Select bg" +msgstr "选择背景" + +#: gitk:11606 +msgid "Fonts: press to choose" +msgstr "å—体:点击æ¥é€‰æ‹©" + +#: gitk:11608 +msgid "Main font" +msgstr "主å—体" + +#: gitk:11609 +msgid "Diff display font" +msgstr "差异(Diff)显示å—体" + +#: gitk:11610 +msgid "User interface font" +msgstr "用户界é¢å—体" + +#: gitk:11632 +msgid "Gitk preferences" +msgstr "Gitkå好设置" + +#: gitk:11641 +msgid "General" +msgstr "常规" + +#: gitk:11642 +msgid "Colors" +msgstr "颜色" + +#: gitk:11643 +msgid "Fonts" +msgstr "å—体" + +#: gitk:11693 +#, tcl-format +msgid "Gitk: choose color for %s" +msgstr "Gitk:选择颜色用于%s" + +#: gitk:12206 +msgid "" +"Sorry, gitk cannot run with this version of Tcl/Tk.\n" +" Gitk requires at least Tcl/Tk 8.4." +msgstr "对ä¸èµ·ï¼Œgitkä¸èƒ½è¿è¡Œåœ¨å½“å‰ç‰ˆæœ¬çš„Tcl/Tkä¸ã€‚\nGitkè¿è¡Œéœ€è¦æœ€ä½Žç‰ˆæœ¬ä¸ºTcl/Tk8.4。" + +#: gitk:12416 +msgid "Cannot find a git repository here." +msgstr "在æ¤ä½ç½®æœªå‘现git仓库。" + +#: gitk:12463 +#, tcl-format +msgid "Ambiguous argument '%s': both revision and filename" +msgstr "䏿˜Žç¡®æœ‰æ§ä¹‰çš„傿•°\"%s\":版本和文件åç§°" + +#: gitk:12475 +msgid "Bad arguments to gitk:" +msgstr "è¿è¡Œgitk傿•°é”™è¯¯ï¼š" @@ -559,7 +559,7 @@ static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt *opt pcre2_jit_stack_assign(p->pcre2_match_context, NULL, p->pcre2_jit_stack); } else if (p->pcre2_jit_on != 0) { BUG("The pcre2_jit_on variable should be 0 or 1, not %d", - p->pcre1_jit_on); + p->pcre2_jit_on); } } @@ -139,4 +139,28 @@ static inline int hash_algo_by_ptr(const struct git_hash_algo *p) return p - hash_algos; } +/* The length in bytes and in hex digits of an object name (SHA-1 value). */ +#define GIT_SHA1_RAWSZ 20 +#define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ) +/* The block size of SHA-1. */ +#define GIT_SHA1_BLKSZ 64 + +/* The length in bytes and in hex digits of an object name (SHA-256 value). */ +#define GIT_SHA256_RAWSZ 32 +#define GIT_SHA256_HEXSZ (2 * GIT_SHA256_RAWSZ) +/* The block size of SHA-256. */ +#define GIT_SHA256_BLKSZ 64 + +/* The length in byte and in hex digits of the largest possible hash value. */ +#define GIT_MAX_RAWSZ GIT_SHA256_RAWSZ +#define GIT_MAX_HEXSZ GIT_SHA256_HEXSZ +/* The largest possible block size for any supported hash. */ +#define GIT_MAX_BLKSZ GIT_SHA256_BLKSZ + +struct object_id { + unsigned char hash[GIT_MAX_RAWSZ]; +}; + +#define the_hash_algo the_repository->hash_algo + #endif @@ -1,6 +1,8 @@ #ifndef HASHMAP_H #define HASHMAP_H +#include "hash.h" + /* * Generic implementation of hash-based key-value mappings. * @@ -118,14 +120,14 @@ unsigned int memihash_cont(unsigned int hash_seed, const void *buf, size_t len); * the results will be different on big-endian and little-endian * platforms, so they should not be stored or transferred over the net. */ -static inline unsigned int sha1hash(const unsigned char *sha1) +static inline unsigned int oidhash(const struct object_id *oid) { /* - * Equivalent to 'return *(unsigned int *)sha1;', but safe on + * Equivalent to 'return *(unsigned int *)oid->hash;', but safe on * platforms that don't support unaligned reads. */ unsigned int hash; - memcpy(&hash, sha1, sizeof(hash)); + memcpy(&hash, oid->hash, sizeof(hash)); return hash; } @@ -754,19 +754,19 @@ static int append_similar_ref(const char *refname, const struct object_id *oid, { struct similar_ref_cb *cb = (struct similar_ref_cb *)(cb_data); char *branch = strrchr(refname, '/') + 1; - const char *remote; /* A remote branch of the same name is deemed similar */ - if (skip_prefix(refname, "refs/remotes/", &remote) && + if (starts_with(refname, "refs/remotes/") && !strcmp(branch, cb->base_ref)) - string_list_append(cb->similar_refs, remote); + string_list_append_nodup(cb->similar_refs, + shorten_unambiguous_ref(refname, 1)); return 0; } static struct string_list guess_refs(const char *ref) { struct similar_ref_cb ref_cb; - struct string_list similar_refs = STRING_LIST_INIT_NODUP; + struct string_list similar_refs = STRING_LIST_INIT_DUP; ref_cb.base_ref = ref; ref_cb.similar_refs = &similar_refs; diff --git a/http-push.c b/http-push.c index e36561a6db..0353f9f514 100644 --- a/http-push.c +++ b/http-push.c @@ -723,7 +723,7 @@ static void one_remote_object(const struct object_id *oid) { struct object *obj; - obj = lookup_object(the_repository, oid->hash); + obj = lookup_object(the_repository, oid); if (!obj) obj = parse_object(the_repository, oid); @@ -1432,7 +1432,7 @@ static void one_remote_ref(const char *refname) * may be required for updating server info later. */ if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) { - obj = lookup_unknown_object(ref->old_oid.hash); + obj = lookup_unknown_object(&ref->old_oid); fprintf(stderr, " fetch %s for %s\n", oid_to_hex(&ref->old_oid), refname); add_fetch_request(obj); @@ -513,9 +513,11 @@ static void set_proxyauth_name_password(CURL *result) #else struct strbuf s = STRBUF_INIT; - strbuf_addstr_urlencode(&s, proxy_auth.username, 1); + strbuf_addstr_urlencode(&s, proxy_auth.username, + is_rfc3986_unreserved); strbuf_addch(&s, ':'); - strbuf_addstr_urlencode(&s, proxy_auth.password, 1); + strbuf_addstr_urlencode(&s, proxy_auth.password, + is_rfc3986_unreserved); curl_proxyuserpwd = strbuf_detach(&s, NULL); curl_easy_setopt(result, CURLOPT_PROXYUSERPWD, curl_proxyuserpwd); #endif @@ -1073,6 +1075,7 @@ void http_init(struct remote *remote, const char *url, int proactive_auth) git_config(urlmatch_config_entry, &config); free(normalized_url); + string_list_clear(&config.vars, 1); #if LIBCURL_VERSION_NUM >= 0x073800 if (http_ssl_backend) { @@ -25,8 +25,12 @@ #if LIBCURL_VERSION_NUM < 0x070704 #define curl_global_cleanup() do { /* nothing */ } while (0) #endif + #if LIBCURL_VERSION_NUM < 0x070800 #define curl_global_init(a) do { /* nothing */ } while (0) +#elif LIBCURL_VERSION_NUM >= 0x070c00 +#define curl_global_init(a) curl_global_init_mem(a, xmalloc, free, \ + xrealloc, xstrdup, xcalloc) #endif #if (LIBCURL_VERSION_NUM < 0x070c04) || (LIBCURL_VERSION_NUM == 0x071000) @@ -324,30 +324,20 @@ static const double __ac_HASH_UPPER = 0.77; code; \ } } -#define __kh_oid_cmp(a, b) (hashcmp(a, b) == 0) - -KHASH_INIT(sha1, const unsigned char *, void *, 1, sha1hash, __kh_oid_cmp) -typedef kh_sha1_t khash_sha1; - -KHASH_INIT(sha1_pos, const unsigned char *, int, 1, sha1hash, __kh_oid_cmp) -typedef kh_sha1_pos_t khash_sha1_pos; - -static inline unsigned int oid_hash(struct object_id oid) +static inline unsigned int oidhash_by_value(struct object_id oid) { - return sha1hash(oid.hash); + return oidhash(&oid); } -static inline int oid_equal(struct object_id a, struct object_id b) +static inline int oideq_by_value(struct object_id a, struct object_id b) { return oideq(&a, &b); } -KHASH_INIT(oid, struct object_id, int, 0, oid_hash, oid_equal) +KHASH_INIT(oid_set, struct object_id, int, 0, oidhash_by_value, oideq_by_value) -KHASH_INIT(oid_map, struct object_id, void *, 1, oid_hash, oid_equal) -typedef kh_oid_t khash_oid_map; +KHASH_INIT(oid_map, struct object_id, void *, 1, oidhash_by_value, oideq_by_value) -KHASH_INIT(oid_pos, struct object_id, int, 1, oid_hash, oid_equal) -typedef kh_oid_pos_t khash_oid_pos; +KHASH_INIT(oid_pos, struct object_id, int, 1, oidhash_by_value, oideq_by_value) #endif /* __AC_KHASH_H */ diff --git a/line-log.c b/line-log.c index 0a17b21187..9010e00950 100644 --- a/line-log.c +++ b/line-log.c @@ -496,12 +496,13 @@ static struct commit *check_single_commit(struct rev_info *revs) return (struct commit *) commit; } -static void fill_blob_sha1(struct commit *commit, struct diff_filespec *spec) +static void fill_blob_sha1(struct repository *r, struct commit *commit, + struct diff_filespec *spec) { unsigned short mode; struct object_id oid; - if (get_tree_entry(&commit->object.oid, spec->path, &oid, &mode)) + if (get_tree_entry(r, &commit->object.oid, spec->path, &oid, &mode)) die("There is no path %s in the commit", spec->path); fill_filespec(spec, &oid, 1, mode); @@ -585,7 +586,7 @@ parse_lines(struct repository *r, struct commit *commit, name_part); spec = alloc_filespec(full_name); - fill_blob_sha1(commit, spec); + fill_blob_sha1(r, commit, spec); fill_line_ends(r, spec, &lines, &ends); cb_data.spec = spec; cb_data.lines = lines; @@ -736,6 +737,38 @@ static struct line_log_data *lookup_line_range(struct rev_info *revs, return ret; } +static int same_paths_in_pathspec_and_range(struct pathspec *pathspec, + struct line_log_data *range) +{ + int i; + struct line_log_data *r; + + for (i = 0, r = range; i < pathspec->nr && r; i++, r = r->next) + if (strcmp(pathspec->items[i].match, r->path)) + return 0; + if (i < pathspec->nr || r) + /* different number of pathspec items and ranges */ + return 0; + + return 1; +} + +static void parse_pathspec_from_ranges(struct pathspec *pathspec, + struct line_log_data *range) +{ + struct line_log_data *r; + struct argv_array array = ARGV_ARRAY_INIT; + const char **paths; + + for (r = range; r; r = r->next) + argv_array_push(&array, r->path); + paths = argv_array_detach(&array); + + parse_pathspec(pathspec, 0, PATHSPEC_PREFER_FULL, "", paths); + /* strings are now owned by pathspec */ + free(paths); +} + void line_log_init(struct rev_info *rev, const char *prefix, struct string_list *args) { struct commit *commit = NULL; @@ -745,20 +778,7 @@ void line_log_init(struct rev_info *rev, const char *prefix, struct string_list range = parse_lines(rev->diffopt.repo, commit, prefix, args); add_line_range(rev, commit, range); - if (!rev->diffopt.detect_rename) { - struct line_log_data *r; - struct argv_array array = ARGV_ARRAY_INIT; - const char **paths; - - for (r = range; r; r = r->next) - argv_array_push(&array, r->path); - paths = argv_array_detach(&array); - - parse_pathspec(&rev->diffopt.pathspec, 0, - PATHSPEC_PREFER_FULL, "", paths); - /* strings are now owned by pathspec */ - free(paths); - } + parse_pathspec_from_ranges(&rev->diffopt.pathspec, range); } static void move_diff_queue(struct diff_queue_struct *dst, @@ -816,15 +836,29 @@ static void queue_diffs(struct line_log_data *range, struct diff_queue_struct *queue, struct commit *commit, struct commit *parent) { + struct object_id *tree_oid, *parent_tree_oid; + assert(commit); + tree_oid = get_commit_tree_oid(commit); + parent_tree_oid = parent ? get_commit_tree_oid(parent) : NULL; + + if (opt->detect_rename && + !same_paths_in_pathspec_and_range(&opt->pathspec, range)) { + clear_pathspec(&opt->pathspec); + parse_pathspec_from_ranges(&opt->pathspec, range); + } DIFF_QUEUE_CLEAR(&diff_queued_diff); - diff_tree_oid(parent ? get_commit_tree_oid(parent) : NULL, - get_commit_tree_oid(commit), "", opt); - if (opt->detect_rename) { + diff_tree_oid(parent_tree_oid, tree_oid, "", opt); + if (opt->detect_rename && diff_might_be_rename()) { + /* must look at the full tree diff to detect renames */ + clear_pathspec(&opt->pathspec); + DIFF_QUEUE_CLEAR(&diff_queued_diff); + + diff_tree_oid(parent_tree_oid, tree_oid, "", opt); + filter_diffs_for_paths(range, 1); - if (diff_might_be_rename()) - diffcore_std(opt); + diffcore_std(opt); filter_diffs_for_paths(range, 0); } move_diff_queue(queue, &diff_queued_diff); diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c index a15d0f7829..4d88bfe64a 100644 --- a/list-objects-filter-options.c +++ b/list-objects-filter-options.c @@ -6,6 +6,14 @@ #include "list-objects.h" #include "list-objects-filter.h" #include "list-objects-filter-options.h" +#include "promisor-remote.h" +#include "trace.h" +#include "url.h" + +static int parse_combine_filter( + struct list_objects_filter_options *filter_options, + const char *arg, + struct strbuf *errbuf); /* * Parse value of the argument to the "filter" keyword. @@ -29,16 +37,11 @@ static int gently_parse_list_objects_filter( { const char *v0; - if (filter_options->choice) { - if (errbuf) { - strbuf_addstr( - errbuf, - _("multiple filter-specs cannot be combined")); - } - return 1; - } + if (!arg) + return 0; - filter_options->filter_spec = strdup(arg); + if (filter_options->choice) + BUG("filter_options already populated"); if (!strcmp(arg, "blob:none")) { filter_options->choice = LOFC_BLOB_NONE; @@ -52,11 +55,7 @@ static int gently_parse_list_objects_filter( } else if (skip_prefix(arg, "tree:", &v0)) { if (!git_parse_ulong(v0, &filter_options->tree_exclude_depth)) { - if (errbuf) { - strbuf_addstr( - errbuf, - _("expected 'tree:<depth>'")); - } + strbuf_addstr(errbuf, _("expected 'tree:<depth>'")); return 1; } filter_options->choice = LOFC_TREE_DEPTH; @@ -84,103 +83,298 @@ static int gently_parse_list_objects_filter( _("sparse:path filters support has been dropped")); } return 1; + + } else if (skip_prefix(arg, "combine:", &v0)) { + return parse_combine_filter(filter_options, v0, errbuf); + } /* * Please update _git_fetch() in git-completion.bash when you * add new filters */ - if (errbuf) - strbuf_addf(errbuf, "invalid filter-spec '%s'", arg); + strbuf_addf(errbuf, _("invalid filter-spec '%s'"), arg); memset(filter_options, 0, sizeof(*filter_options)); return 1; } -int parse_list_objects_filter(struct list_objects_filter_options *filter_options, - const char *arg) +static const char *RESERVED_NON_WS = "~`!@#$^&*()[]{}\\;'\",<>?"; + +static int has_reserved_character( + struct strbuf *sub_spec, struct strbuf *errbuf) { - struct strbuf buf = STRBUF_INIT; - if (gently_parse_list_objects_filter(filter_options, arg, &buf)) - die("%s", buf.buf); + const char *c = sub_spec->buf; + while (*c) { + if (*c <= ' ' || strchr(RESERVED_NON_WS, *c)) { + strbuf_addf( + errbuf, + _("must escape char in sub-filter-spec: '%c'"), + *c); + return 1; + } + c++; + } + return 0; } +static int parse_combine_subfilter( + struct list_objects_filter_options *filter_options, + struct strbuf *subspec, + struct strbuf *errbuf) +{ + size_t new_index = filter_options->sub_nr; + char *decoded; + int result; + + ALLOC_GROW_BY(filter_options->sub, filter_options->sub_nr, 1, + filter_options->sub_alloc); + + decoded = url_percent_decode(subspec->buf); + + result = has_reserved_character(subspec, errbuf) || + gently_parse_list_objects_filter( + &filter_options->sub[new_index], decoded, errbuf); + + free(decoded); + return result; +} + +static int parse_combine_filter( + struct list_objects_filter_options *filter_options, + const char *arg, + struct strbuf *errbuf) +{ + struct strbuf **subspecs = strbuf_split_str(arg, '+', 0); + size_t sub; + int result = 0; + + if (!subspecs[0]) { + strbuf_addstr(errbuf, _("expected something after combine:")); + result = 1; + goto cleanup; + } + + for (sub = 0; subspecs[sub] && !result; sub++) { + if (subspecs[sub + 1]) { + /* + * This is not the last subspec. Remove trailing "+" so + * we can parse it. + */ + size_t last = subspecs[sub]->len - 1; + assert(subspecs[sub]->buf[last] == '+'); + strbuf_remove(subspecs[sub], last, 1); + } + result = parse_combine_subfilter( + filter_options, subspecs[sub], errbuf); + } + + filter_options->choice = LOFC_COMBINE; + +cleanup: + strbuf_list_free(subspecs); + if (result) { + list_objects_filter_release(filter_options); + memset(filter_options, 0, sizeof(*filter_options)); + } + return result; +} + +static int allow_unencoded(char ch) +{ + if (ch <= ' ' || ch == '%' || ch == '+') + return 0; + return !strchr(RESERVED_NON_WS, ch); +} + +static void filter_spec_append_urlencode( + struct list_objects_filter_options *filter, const char *raw) +{ + struct strbuf buf = STRBUF_INIT; + strbuf_addstr_urlencode(&buf, raw, allow_unencoded); + trace_printf("Add to combine filter-spec: %s\n", buf.buf); + string_list_append(&filter->filter_spec, strbuf_detach(&buf, NULL)); +} + +/* + * Changes filter_options into an equivalent LOFC_COMBINE filter options + * instance. Does not do anything if filter_options is already LOFC_COMBINE. + */ +static void transform_to_combine_type( + struct list_objects_filter_options *filter_options) +{ + assert(filter_options->choice); + if (filter_options->choice == LOFC_COMBINE) + return; + { + const int initial_sub_alloc = 2; + struct list_objects_filter_options *sub_array = + xcalloc(initial_sub_alloc, sizeof(*sub_array)); + sub_array[0] = *filter_options; + memset(filter_options, 0, sizeof(*filter_options)); + filter_options->sub = sub_array; + filter_options->sub_alloc = initial_sub_alloc; + } + filter_options->sub_nr = 1; + filter_options->choice = LOFC_COMBINE; + string_list_append(&filter_options->filter_spec, xstrdup("combine:")); + filter_spec_append_urlencode( + filter_options, + list_objects_filter_spec(&filter_options->sub[0])); + /* + * We don't need the filter_spec strings for subfilter specs, only the + * top level. + */ + string_list_clear(&filter_options->sub[0].filter_spec, /*free_util=*/0); +} + +void list_objects_filter_die_if_populated( + struct list_objects_filter_options *filter_options) +{ + if (filter_options->choice) + die(_("multiple filter-specs cannot be combined")); +} + +void parse_list_objects_filter( + struct list_objects_filter_options *filter_options, + const char *arg) +{ + struct strbuf errbuf = STRBUF_INIT; + int parse_error; + + if (!filter_options->choice) { + string_list_append(&filter_options->filter_spec, xstrdup(arg)); + + parse_error = gently_parse_list_objects_filter( + filter_options, arg, &errbuf); + } else { + /* + * Make filter_options an LOFC_COMBINE spec so we can trivially + * add subspecs to it. + */ + transform_to_combine_type(filter_options); + + string_list_append(&filter_options->filter_spec, xstrdup("+")); + filter_spec_append_urlencode(filter_options, arg); + ALLOC_GROW_BY(filter_options->sub, filter_options->sub_nr, 1, + filter_options->sub_alloc); + + parse_error = gently_parse_list_objects_filter( + &filter_options->sub[filter_options->sub_nr - 1], arg, + &errbuf); + } + if (parse_error) + die("%s", errbuf.buf); +} + int opt_parse_list_objects_filter(const struct option *opt, const char *arg, int unset) { struct list_objects_filter_options *filter_options = opt->value; - if (unset || !arg) { + if (unset || !arg) list_objects_filter_set_no_filter(filter_options); - return 0; + else + parse_list_objects_filter(filter_options, arg); + return 0; +} + +const char *list_objects_filter_spec(struct list_objects_filter_options *filter) +{ + if (!filter->filter_spec.nr) + BUG("no filter_spec available for this filter"); + if (filter->filter_spec.nr != 1) { + struct strbuf concatted = STRBUF_INIT; + strbuf_add_separated_string_list( + &concatted, "", &filter->filter_spec); + string_list_clear(&filter->filter_spec, /*free_util=*/0); + string_list_append( + &filter->filter_spec, strbuf_detach(&concatted, NULL)); } - return parse_list_objects_filter(filter_options, arg); + return filter->filter_spec.items[0].string; } -void expand_list_objects_filter_spec( - const struct list_objects_filter_options *filter, - struct strbuf *expanded_spec) +const char *expand_list_objects_filter_spec( + struct list_objects_filter_options *filter) { - strbuf_init(expanded_spec, strlen(filter->filter_spec)); - if (filter->choice == LOFC_BLOB_LIMIT) - strbuf_addf(expanded_spec, "blob:limit=%lu", + if (filter->choice == LOFC_BLOB_LIMIT) { + struct strbuf expanded_spec = STRBUF_INIT; + strbuf_addf(&expanded_spec, "blob:limit=%lu", filter->blob_limit_value); - else if (filter->choice == LOFC_TREE_DEPTH) - strbuf_addf(expanded_spec, "tree:%lu", - filter->tree_exclude_depth); - else - strbuf_addstr(expanded_spec, filter->filter_spec); + string_list_clear(&filter->filter_spec, /*free_util=*/0); + string_list_append( + &filter->filter_spec, + strbuf_detach(&expanded_spec, NULL)); + } + + return list_objects_filter_spec(filter); } void list_objects_filter_release( struct list_objects_filter_options *filter_options) { - free(filter_options->filter_spec); + size_t sub; + + if (!filter_options) + return; + string_list_clear(&filter_options->filter_spec, /*free_util=*/0); free(filter_options->sparse_oid_value); + for (sub = 0; sub < filter_options->sub_nr; sub++) + list_objects_filter_release(&filter_options->sub[sub]); + free(filter_options->sub); memset(filter_options, 0, sizeof(*filter_options)); } void partial_clone_register( const char *remote, - const struct list_objects_filter_options *filter_options) + struct list_objects_filter_options *filter_options) { - /* - * Record the name of the partial clone remote in the - * config and in the global variable -- the latter is - * used throughout to indicate that partial clone is - * enabled and to expect missing objects. - */ - if (repository_format_partial_clone && - *repository_format_partial_clone && - strcmp(remote, repository_format_partial_clone)) - die(_("cannot change partial clone promisor remote")); + char *cfg_name; + char *filter_name; - git_config_set("core.repositoryformatversion", "1"); - git_config_set("extensions.partialclone", remote); + /* Check if it is already registered */ + if (!promisor_remote_find(remote)) { + git_config_set("core.repositoryformatversion", "1"); - repository_format_partial_clone = xstrdup(remote); + /* Add promisor config for the remote */ + cfg_name = xstrfmt("remote.%s.promisor", remote); + git_config_set(cfg_name, "true"); + free(cfg_name); + } /* * Record the initial filter-spec in the config as * the default for subsequent fetches from this remote. */ - core_partial_clone_filter_default = - xstrdup(filter_options->filter_spec); - git_config_set("core.partialclonefilter", - core_partial_clone_filter_default); + filter_name = xstrfmt("remote.%s.partialclonefilter", remote); + /* NEEDSWORK: 'expand' result leaking??? */ + git_config_set(filter_name, + expand_list_objects_filter_spec(filter_options)); + free(filter_name); + + /* Make sure the config info are reset */ + promisor_remote_reinit(); } void partial_clone_get_default_filter_spec( - struct list_objects_filter_options *filter_options) + struct list_objects_filter_options *filter_options, + const char *remote) { + struct promisor_remote *promisor = promisor_remote_find(remote); + struct strbuf errbuf = STRBUF_INIT; + /* * Parse default value, but silently ignore it if it is invalid. */ - if (!core_partial_clone_filter_default) + if (!promisor) return; + + string_list_append(&filter_options->filter_spec, + promisor->partial_clone_filter); gently_parse_list_objects_filter(filter_options, - core_partial_clone_filter_default, - NULL); + promisor->partial_clone_filter, + &errbuf); + strbuf_release(&errbuf); } diff --git a/list-objects-filter-options.h b/list-objects-filter-options.h index c54f0000fb..b63c5ee1a3 100644 --- a/list-objects-filter-options.h +++ b/list-objects-filter-options.h @@ -2,7 +2,7 @@ #define LIST_OBJECTS_FILTER_OPTIONS_H #include "parse-options.h" -#include "strbuf.h" +#include "string-list.h" /* * The list of defined filters for list-objects. @@ -13,6 +13,7 @@ enum list_objects_filter_choice { LOFC_BLOB_LIMIT, LOFC_TREE_DEPTH, LOFC_SPARSE_OID, + LOFC_COMBINE, LOFC__COUNT /* must be last */ }; @@ -23,8 +24,10 @@ struct list_objects_filter_options { * commands that launch filtering sub-processes, or for communication * over the network, don't use this value; use the result of * expand_list_objects_filter_spec() instead. + * To get the raw filter spec given by the user, use the result of + * list_objects_filter_spec(). */ - char *filter_spec; + struct string_list filter_spec; /* * 'choice' is determined by parsing the filter-spec. This indicates @@ -38,19 +41,40 @@ struct list_objects_filter_options { unsigned int no_filter : 1; /* - * Parsed values (fields) from within the filter-spec. These are - * choice-specific; not all values will be defined for any given - * choice. + * BEGIN choice-specific parsed values from within the filter-spec. Only + * some values will be defined for any given choice. */ + struct object_id *sparse_oid_value; unsigned long blob_limit_value; unsigned long tree_exclude_depth; + + /* LOFC_COMBINE values */ + + /* This array contains all the subfilters which this filter combines. */ + size_t sub_nr, sub_alloc; + struct list_objects_filter_options *sub; + + /* + * END choice-specific parsed values. + */ }; /* Normalized command line arguments */ #define CL_ARG__FILTER "filter" -int parse_list_objects_filter( +void list_objects_filter_die_if_populated( + struct list_objects_filter_options *filter_options); + +/* + * Parses the filter spec string given by arg and either (1) simply places the + * result in filter_options if it is not yet populated or (2) combines it with + * the filter already in filter_options if it is already populated. In the case + * of (2), the filter specs are combined as if specified with 'combine:'. + * + * Dies and prints a user-facing message if an error occurs. + */ +void parse_list_objects_filter( struct list_objects_filter_options *filter_options, const char *arg); @@ -65,13 +89,22 @@ int opt_parse_list_objects_filter(const struct option *opt, /* * Translates abbreviated numbers in the filter's filter_spec into their * fully-expanded forms (e.g., "limit:blob=1k" becomes "limit:blob=1024"). + * Returns a string owned by the list_objects_filter_options object. * - * This form should be used instead of the raw filter_spec field when - * communicating with a remote process or subprocess. + * This form should be used instead of the raw list_objects_filter_spec() + * value when communicating with a remote process or subprocess. + */ +const char *expand_list_objects_filter_spec( + struct list_objects_filter_options *filter); + +/* + * Returns the filter spec string more or less in the form as the user + * entered it. This form of the filter_spec can be used in user-facing + * messages. Returns a string owned by the list_objects_filter_options + * object. */ -void expand_list_objects_filter_spec( - const struct list_objects_filter_options *filter, - struct strbuf *expanded_spec); +const char *list_objects_filter_spec( + struct list_objects_filter_options *filter); void list_objects_filter_release( struct list_objects_filter_options *filter_options); @@ -85,8 +118,9 @@ static inline void list_objects_filter_set_no_filter( void partial_clone_register( const char *remote, - const struct list_objects_filter_options *filter_options); -void partial_clone_get_default_filter_spec( struct list_objects_filter_options *filter_options); +void partial_clone_get_default_filter_spec( + struct list_objects_filter_options *filter_options, + const char *remote); #endif /* LIST_OBJECTS_FILTER_OPTIONS_H */ diff --git a/list-objects-filter.c b/list-objects-filter.c index 36e1f774bc..d664264d65 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -26,11 +26,46 @@ */ #define FILTER_SHOWN_BUT_REVISIT (1<<21) -/* - * A filter for list-objects to omit ALL blobs from the traversal. - * And to OPTIONALLY collect a list of the omitted OIDs. - */ -struct filter_blobs_none_data { +struct subfilter { + struct filter *filter; + struct oidset seen; + struct oidset omits; + struct object_id skip_tree; + unsigned is_skipping_tree : 1; +}; + +struct filter { + enum list_objects_filter_result (*filter_object_fn)( + struct repository *r, + enum list_objects_filter_situation filter_situation, + struct object *obj, + const char *pathname, + const char *filename, + struct oidset *omits, + void *filter_data); + + /* + * Optional. If this function is supplied and the filter needs + * to collect omits, then this function is called once before + * free_fn is called. + * + * This is required because the following two conditions hold: + * + * a. A tree filter can add and remove objects as an object + * graph is traversed. + * b. A combine filter's omit set is the union of all its + * subfilters, which may include tree: filters. + * + * As such, the omits sets must be separate sets, and can only + * be unioned after the traversal is completed. + */ + void (*finalize_omits_fn)(struct oidset *omits, void *filter_data); + + void (*free_fn)(void *filter_data); + + void *filter_data; + + /* If non-NULL, the filter collects a list of the omitted OIDs here. */ struct oidset *omits; }; @@ -40,10 +75,9 @@ static enum list_objects_filter_result filter_blobs_none( struct object *obj, const char *pathname, const char *filename, + struct oidset *omits, void *filter_data_) { - struct filter_blobs_none_data *filter_data = filter_data_; - switch (filter_situation) { default: BUG("unknown filter_situation: %d", filter_situation); @@ -61,24 +95,18 @@ static enum list_objects_filter_result filter_blobs_none( assert(obj->type == OBJ_BLOB); assert((obj->flags & SEEN) == 0); - if (filter_data->omits) - oidset_insert(filter_data->omits, &obj->oid); + if (omits) + oidset_insert(omits, &obj->oid); return LOFR_MARK_SEEN; /* but not LOFR_DO_SHOW (hard omit) */ } } -static void *filter_blobs_none__init( - struct oidset *omitted, +static void filter_blobs_none__init( struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn) + struct filter *filter) { - struct filter_blobs_none_data *d = xcalloc(1, sizeof(*d)); - d->omits = omitted; - - *filter_fn = filter_blobs_none; - *filter_free_fn = free; - return d; + filter->filter_object_fn = filter_blobs_none; + filter->free_fn = free; } /* @@ -86,8 +114,6 @@ static void *filter_blobs_none__init( * Can OPTIONALLY collect a list of the omitted OIDs. */ struct filter_trees_depth_data { - struct oidset *omits; - /* * Maps trees to the minimum depth at which they were seen. It is not * necessary to re-traverse a tree at deeper or equal depths than it has @@ -110,16 +136,16 @@ struct seen_map_entry { /* Returns 1 if the oid was in the omits set before it was invoked. */ static int filter_trees_update_omits( struct object *obj, - struct filter_trees_depth_data *filter_data, + struct oidset *omits, int include_it) { - if (!filter_data->omits) + if (!omits) return 0; if (include_it) - return oidset_remove(filter_data->omits, &obj->oid); + return oidset_remove(omits, &obj->oid); else - return oidset_insert(filter_data->omits, &obj->oid); + return oidset_insert(omits, &obj->oid); } static enum list_objects_filter_result filter_trees_depth( @@ -128,6 +154,7 @@ static enum list_objects_filter_result filter_trees_depth( struct object *obj, const char *pathname, const char *filename, + struct oidset *omits, void *filter_data_) { struct filter_trees_depth_data *filter_data = filter_data_; @@ -152,7 +179,7 @@ static enum list_objects_filter_result filter_trees_depth( return LOFR_ZERO; case LOFS_BLOB: - filter_trees_update_omits(obj, filter_data, include_it); + filter_trees_update_omits(obj, omits, include_it); return include_it ? LOFR_MARK_SEEN | LOFR_DO_SHOW : LOFR_ZERO; case LOFS_BEGIN_TREE: @@ -173,12 +200,12 @@ static enum list_objects_filter_result filter_trees_depth( filter_res = LOFR_SKIP_TREE; } else { int been_omitted = filter_trees_update_omits( - obj, filter_data, include_it); + obj, omits, include_it); seen_info->depth = filter_data->current_depth; if (include_it) filter_res = LOFR_DO_SHOW; - else if (filter_data->omits && !been_omitted) + else if (omits && !been_omitted) /* * Must update omit information of children * recursively; they have not been omitted yet. @@ -201,21 +228,18 @@ static void filter_trees_free(void *filter_data) { free(d); } -static void *filter_trees_depth__init( - struct oidset *omitted, +static void filter_trees_depth__init( struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn) + struct filter *filter) { struct filter_trees_depth_data *d = xcalloc(1, sizeof(*d)); - d->omits = omitted; oidmap_init(&d->seen_at_depth, 0); d->exclude_depth = filter_options->tree_exclude_depth; d->current_depth = 0; - *filter_fn = filter_trees_depth; - *filter_free_fn = filter_trees_free; - return d; + filter->filter_data = d; + filter->filter_object_fn = filter_trees_depth; + filter->free_fn = filter_trees_free; } /* @@ -223,7 +247,6 @@ static void *filter_trees_depth__init( * And to OPTIONALLY collect a list of the omitted OIDs. */ struct filter_blobs_limit_data { - struct oidset *omits; unsigned long max_bytes; }; @@ -233,6 +256,7 @@ static enum list_objects_filter_result filter_blobs_limit( struct object *obj, const char *pathname, const char *filename, + struct oidset *omits, void *filter_data_) { struct filter_blobs_limit_data *filter_data = filter_data_; @@ -270,30 +294,27 @@ static enum list_objects_filter_result filter_blobs_limit( if (object_length < filter_data->max_bytes) goto include_it; - if (filter_data->omits) - oidset_insert(filter_data->omits, &obj->oid); + if (omits) + oidset_insert(omits, &obj->oid); return LOFR_MARK_SEEN; /* but not LOFR_DO_SHOW (hard omit) */ } include_it: - if (filter_data->omits) - oidset_remove(filter_data->omits, &obj->oid); + if (omits) + oidset_remove(omits, &obj->oid); return LOFR_MARK_SEEN | LOFR_DO_SHOW; } -static void *filter_blobs_limit__init( - struct oidset *omitted, +static void filter_blobs_limit__init( struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn) + struct filter *filter) { struct filter_blobs_limit_data *d = xcalloc(1, sizeof(*d)); - d->omits = omitted; d->max_bytes = filter_options->blob_limit_value; - *filter_fn = filter_blobs_limit; - *filter_free_fn = free; - return d; + filter->filter_data = d; + filter->filter_object_fn = filter_blobs_limit; + filter->free_fn = free; } /* @@ -326,7 +347,6 @@ struct frame { }; struct filter_sparse_data { - struct oidset *omits; struct exclude_list el; size_t nr, alloc; @@ -339,6 +359,7 @@ static enum list_objects_filter_result filter_sparse( struct object *obj, const char *pathname, const char *filename, + struct oidset *omits, void *filter_data_) { struct filter_sparse_data *filter_data = filter_data_; @@ -420,8 +441,8 @@ static enum list_objects_filter_result filter_sparse( if (val < 0) val = frame->defval; if (val > 0) { - if (filter_data->omits) - oidset_remove(filter_data->omits, &obj->oid); + if (omits) + oidset_remove(omits, &obj->oid); return LOFR_MARK_SEEN | LOFR_DO_SHOW; } @@ -435,8 +456,8 @@ static enum list_objects_filter_result filter_sparse( * Leave the LOFR_ bits unset so that if the blob appears * again in the traversal, we will be asked again. */ - if (filter_data->omits) - oidset_insert(filter_data->omits, &obj->oid); + if (omits) + oidset_insert(omits, &obj->oid); /* * Remember that at least 1 blob in this tree was @@ -456,14 +477,11 @@ static void filter_sparse_free(void *filter_data) free(d); } -static void *filter_sparse_oid__init( - struct oidset *omitted, +static void filter_sparse_oid__init( struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn) + struct filter *filter) { struct filter_sparse_data *d = xcalloc(1, sizeof(*d)); - d->omits = omitted; if (add_excludes_from_blob_to_list(filter_options->sparse_oid_value, NULL, 0, &d->el) < 0) die("could not load filter specification"); @@ -473,16 +491,147 @@ static void *filter_sparse_oid__init( d->array_frame[d->nr].child_prov_omit = 0; d->nr++; - *filter_fn = filter_sparse; - *filter_free_fn = filter_sparse_free; - return d; + filter->filter_data = d; + filter->filter_object_fn = filter_sparse; + filter->free_fn = filter_sparse_free; } -typedef void *(*filter_init_fn)( - struct oidset *omitted, +/* A filter which only shows objects shown by all sub-filters. */ +struct combine_filter_data { + struct subfilter *sub; + size_t nr; +}; + +static enum list_objects_filter_result process_subfilter( + struct repository *r, + enum list_objects_filter_situation filter_situation, + struct object *obj, + const char *pathname, + const char *filename, + struct subfilter *sub) +{ + enum list_objects_filter_result result; + + /* + * Check and update is_skipping_tree before oidset_contains so + * that is_skipping_tree gets unset even when the object is + * marked as seen. As of this writing, no filter uses + * LOFR_MARK_SEEN on trees that also uses LOFR_SKIP_TREE, so the + * ordering is only theoretically important. Be cautious if you + * change the order of the below checks and more filters have + * been added! + */ + if (sub->is_skipping_tree) { + if (filter_situation == LOFS_END_TREE && + oideq(&obj->oid, &sub->skip_tree)) + sub->is_skipping_tree = 0; + else + return LOFR_ZERO; + } + if (oidset_contains(&sub->seen, &obj->oid)) + return LOFR_ZERO; + + result = list_objects_filter__filter_object( + r, filter_situation, obj, pathname, filename, sub->filter); + + if (result & LOFR_MARK_SEEN) + oidset_insert(&sub->seen, &obj->oid); + + if (result & LOFR_SKIP_TREE) { + sub->is_skipping_tree = 1; + sub->skip_tree = obj->oid; + } + + return result; +} + +static enum list_objects_filter_result filter_combine( + struct repository *r, + enum list_objects_filter_situation filter_situation, + struct object *obj, + const char *pathname, + const char *filename, + struct oidset *omits, + void *filter_data) +{ + struct combine_filter_data *d = filter_data; + enum list_objects_filter_result combined_result = + LOFR_DO_SHOW | LOFR_MARK_SEEN | LOFR_SKIP_TREE; + size_t sub; + + for (sub = 0; sub < d->nr; sub++) { + enum list_objects_filter_result sub_result = process_subfilter( + r, filter_situation, obj, pathname, filename, + &d->sub[sub]); + if (!(sub_result & LOFR_DO_SHOW)) + combined_result &= ~LOFR_DO_SHOW; + if (!(sub_result & LOFR_MARK_SEEN)) + combined_result &= ~LOFR_MARK_SEEN; + if (!d->sub[sub].is_skipping_tree) + combined_result &= ~LOFR_SKIP_TREE; + } + + return combined_result; +} + +static void filter_combine__free(void *filter_data) +{ + struct combine_filter_data *d = filter_data; + size_t sub; + for (sub = 0; sub < d->nr; sub++) { + list_objects_filter__free(d->sub[sub].filter); + oidset_clear(&d->sub[sub].seen); + if (d->sub[sub].omits.set.size) + BUG("expected oidset to be cleared already"); + } + free(d->sub); +} + +static void add_all(struct oidset *dest, struct oidset *src) { + struct oidset_iter iter; + struct object_id *src_oid; + + oidset_iter_init(src, &iter); + while ((src_oid = oidset_iter_next(&iter)) != NULL) + oidset_insert(dest, src_oid); +} + +static void filter_combine__finalize_omits( + struct oidset *omits, + void *filter_data) +{ + struct combine_filter_data *d = filter_data; + size_t sub; + + for (sub = 0; sub < d->nr; sub++) { + add_all(omits, &d->sub[sub].omits); + oidset_clear(&d->sub[sub].omits); + } +} + +static void filter_combine__init( struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn); + struct filter* filter) +{ + struct combine_filter_data *d = xcalloc(1, sizeof(*d)); + size_t sub; + + d->nr = filter_options->sub_nr; + d->sub = xcalloc(d->nr, sizeof(*d->sub)); + for (sub = 0; sub < d->nr; sub++) + d->sub[sub].filter = list_objects_filter__init( + filter->omits ? &d->sub[sub].omits : NULL, + &filter_options->sub[sub]); + + filter->filter_data = d; + filter->filter_object_fn = filter_combine; + filter->free_fn = filter_combine__free; + filter->finalize_omits_fn = filter_combine__finalize_omits; +} + +typedef void (*filter_init_fn)( + struct list_objects_filter_options *filter_options, + struct filter *filter); /* * Must match "enum list_objects_filter_choice". @@ -493,14 +642,14 @@ static filter_init_fn s_filters[] = { filter_blobs_limit__init, filter_trees_depth__init, filter_sparse_oid__init, + filter_combine__init, }; -void *list_objects_filter__init( +struct filter *list_objects_filter__init( struct oidset *omitted, - struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn) + struct list_objects_filter_options *filter_options) { + struct filter *filter; filter_init_fn init_fn; assert((sizeof(s_filters) / sizeof(s_filters[0])) == LOFC__COUNT); @@ -510,10 +659,44 @@ void *list_objects_filter__init( filter_options->choice); init_fn = s_filters[filter_options->choice]; - if (init_fn) - return init_fn(omitted, filter_options, - filter_fn, filter_free_fn); - *filter_fn = NULL; - *filter_free_fn = NULL; - return NULL; + if (!init_fn) + return NULL; + + filter = xcalloc(1, sizeof(*filter)); + filter->omits = omitted; + init_fn(filter_options, filter); + return filter; +} + +enum list_objects_filter_result list_objects_filter__filter_object( + struct repository *r, + enum list_objects_filter_situation filter_situation, + struct object *obj, + const char *pathname, + const char *filename, + struct filter *filter) +{ + if (filter && (obj->flags & NOT_USER_GIVEN)) + return filter->filter_object_fn(r, filter_situation, obj, + pathname, filename, + filter->omits, + filter->filter_data); + /* + * No filter is active or user gave object explicitly. In this case, + * always show the object (except when LOFS_END_TREE, since this tree + * had already been shown when LOFS_BEGIN_TREE). + */ + if (filter_situation == LOFS_END_TREE) + return 0; + return LOFR_MARK_SEEN | LOFR_DO_SHOW; +} + +void list_objects_filter__free(struct filter *filter) +{ + if (!filter) + return; + if (filter->finalize_omits_fn && filter->omits) + filter->finalize_omits_fn(filter->omits, filter->filter_data); + filter->free_fn(filter->filter_data); + free(filter); } diff --git a/list-objects-filter.h b/list-objects-filter.h index 1d45a4ad57..cfd784e203 100644 --- a/list-objects-filter.h +++ b/list-objects-filter.h @@ -60,30 +60,36 @@ enum list_objects_filter_situation { LOFS_BLOB }; -typedef enum list_objects_filter_result (*filter_object_fn)( +struct filter; + +/* + * Constructor for the set of defined list-objects filters. + * The `omitted` set is optional. It is populated with objects that the + * filter excludes. This set should not be considered finalized until + * after list_objects_filter__free is called on the returned `struct + * filter *`. + */ +struct filter *list_objects_filter__init( + struct oidset *omitted, + struct list_objects_filter_options *filter_options); + +/* + * Lets `filter` decide how to handle the `obj`. If `filter` is NULL, this + * function behaves as expected if no filter is configured: all objects are + * included. + */ +enum list_objects_filter_result list_objects_filter__filter_object( struct repository *r, enum list_objects_filter_situation filter_situation, struct object *obj, const char *pathname, const char *filename, - void *filter_data); - -typedef void (*filter_free_fn)(void *filter_data); + struct filter *filter); /* - * Constructor for the set of defined list-objects filters. - * Returns a generic "void *filter_data". - * - * The returned "filter_fn" will be used by traverse_commit_list() - * to filter the results. - * - * The returned "filter_free_fn" is a destructor for the - * filter_data. + * Destroys `filter` and finalizes the `omitted` set, if present. Does + * nothing if `filter` is null. */ -void *list_objects_filter__init( - struct oidset *omitted, - struct list_objects_filter_options *filter_options, - filter_object_fn *filter_fn, - filter_free_fn *filter_free_fn); +void list_objects_filter__free(struct filter *filter); #endif /* LIST_OBJECTS_FILTER_H */ diff --git a/list-objects.c b/list-objects.c index b5651ddd5b..9307d91fb3 100644 --- a/list-objects.c +++ b/list-objects.c @@ -18,8 +18,7 @@ struct traversal_context { show_object_fn show_object; show_commit_fn show_commit; void *show_data; - filter_object_fn filter_fn; - void *filter_data; + struct filter *filter; }; static void process_blob(struct traversal_context *ctx, @@ -29,7 +28,7 @@ static void process_blob(struct traversal_context *ctx, { struct object *obj = &blob->object; size_t pathlen; - enum list_objects_filter_result r = LOFR_MARK_SEEN | LOFR_DO_SHOW; + enum list_objects_filter_result r; if (!ctx->revs->blob_objects) return; @@ -54,11 +53,10 @@ static void process_blob(struct traversal_context *ctx, pathlen = path->len; strbuf_addstr(path, name); - if ((obj->flags & NOT_USER_GIVEN) && ctx->filter_fn) - r = ctx->filter_fn(ctx->revs->repo, - LOFS_BLOB, obj, - path->buf, &path->buf[pathlen], - ctx->filter_data); + r = list_objects_filter__filter_object(ctx->revs->repo, + LOFS_BLOB, obj, + path->buf, &path->buf[pathlen], + ctx->filter); if (r & LOFR_MARK_SEEN) obj->flags |= SEEN; if (r & LOFR_DO_SHOW) @@ -157,7 +155,7 @@ static void process_tree(struct traversal_context *ctx, struct object *obj = &tree->object; struct rev_info *revs = ctx->revs; int baselen = base->len; - enum list_objects_filter_result r = LOFR_MARK_SEEN | LOFR_DO_SHOW; + enum list_objects_filter_result r; int failed_parse; if (!revs->tree_objects) @@ -186,11 +184,10 @@ static void process_tree(struct traversal_context *ctx, } strbuf_addstr(base, name); - if ((obj->flags & NOT_USER_GIVEN) && ctx->filter_fn) - r = ctx->filter_fn(ctx->revs->repo, - LOFS_BEGIN_TREE, obj, - base->buf, &base->buf[baselen], - ctx->filter_data); + r = list_objects_filter__filter_object(ctx->revs->repo, + LOFS_BEGIN_TREE, obj, + base->buf, &base->buf[baselen], + ctx->filter); if (r & LOFR_MARK_SEEN) obj->flags |= SEEN; if (r & LOFR_DO_SHOW) @@ -203,16 +200,14 @@ static void process_tree(struct traversal_context *ctx, else if (!failed_parse) process_tree_contents(ctx, tree, base); - if ((obj->flags & NOT_USER_GIVEN) && ctx->filter_fn) { - r = ctx->filter_fn(ctx->revs->repo, - LOFS_END_TREE, obj, - base->buf, &base->buf[baselen], - ctx->filter_data); - if (r & LOFR_MARK_SEEN) - obj->flags |= SEEN; - if (r & LOFR_DO_SHOW) - ctx->show_object(obj, base->buf, ctx->show_data); - } + r = list_objects_filter__filter_object(ctx->revs->repo, + LOFS_END_TREE, obj, + base->buf, &base->buf[baselen], + ctx->filter); + if (r & LOFR_MARK_SEEN) + obj->flags |= SEEN; + if (r & LOFR_DO_SHOW) + ctx->show_object(obj, base->buf, ctx->show_data); strbuf_setlen(base, baselen); free_tree_buffer(tree); @@ -402,8 +397,7 @@ void traverse_commit_list(struct rev_info *revs, ctx.show_commit = show_commit; ctx.show_object = show_object; ctx.show_data = show_data; - ctx.filter_fn = NULL; - ctx.filter_data = NULL; + ctx.filter = NULL; do_traverse(&ctx); } @@ -416,17 +410,12 @@ void traverse_commit_list_filtered( struct oidset *omitted) { struct traversal_context ctx; - filter_free_fn filter_free_fn = NULL; ctx.revs = revs; ctx.show_object = show_object; ctx.show_commit = show_commit; ctx.show_data = show_data; - ctx.filter_fn = NULL; - - ctx.filter_data = list_objects_filter__init(omitted, filter_options, - &ctx.filter_fn, &filter_free_fn); + ctx.filter = list_objects_filter__init(omitted, filter_options); do_traverse(&ctx); - if (ctx.filter_data && filter_free_fn) - filter_free_fn(ctx.filter_data); + list_objects_filter__free(ctx.filter); } diff --git a/ll-merge.c b/ll-merge.c index 5b8d46aede..d65a8971db 100644 --- a/ll-merge.c +++ b/ll-merge.c @@ -32,6 +32,20 @@ struct ll_merge_driver { char *cmdline; }; +static struct attr_check *merge_attributes; +static struct attr_check *load_merge_attributes(void) +{ + if (!merge_attributes) + merge_attributes = attr_check_initl("merge", "conflict-marker-size", NULL); + return merge_attributes; +} + +void reset_merge_attributes(void) +{ + attr_check_free(merge_attributes); + merge_attributes = NULL; +} + /* * Built-in low-levels */ @@ -354,7 +368,7 @@ int ll_merge(mmbuffer_t *result_buf, struct index_state *istate, const struct ll_merge_options *opts) { - static struct attr_check *check; + struct attr_check *check = load_merge_attributes(); static const struct ll_merge_options default_opts; const char *ll_driver_name = NULL; int marker_size = DEFAULT_CONFLICT_MARKER_SIZE; @@ -369,9 +383,6 @@ int ll_merge(mmbuffer_t *result_buf, normalize_file(theirs, path, istate); } - if (!check) - check = attr_check_initl("merge", "conflict-marker-size", NULL); - git_check_attr(istate, path, check); ll_driver_name = check->items[0].value; if (check->items[1].value) { diff --git a/ll-merge.h b/ll-merge.h index b9e2af1c88..e78973dd55 100644 --- a/ll-merge.h +++ b/ll-merge.h @@ -26,5 +26,6 @@ int ll_merge(mmbuffer_t *result_buf, const struct ll_merge_options *opts); int ll_merge_marker_size(struct index_state *istate, const char *path); +void reset_merge_attributes(void); #endif diff --git a/log-tree.c b/log-tree.c index 1e56df62a7..109c212224 100644 --- a/log-tree.c +++ b/log-tree.c @@ -677,9 +677,7 @@ void show_log(struct rev_info *opt) raw = (opt->commit_format == CMIT_FMT_USERFORMAT); format_display_notes(&commit->object.oid, ¬ebuf, get_log_output_encoding(), raw); - ctx.notes_message = notebuf.len - ? strbuf_detach(¬ebuf, NULL) - : xcalloc(1, 1); + ctx.notes_message = strbuf_detach(¬ebuf, NULL); } /* diff --git a/match-trees.c b/match-trees.c index 9d1ec8d6b0..f6c194c1cc 100644 --- a/match-trees.c +++ b/match-trees.c @@ -248,7 +248,8 @@ static int splice_tree(const struct object_id *oid1, const char *prefix, * other hand, it could cover tree one and we might need to pick a * subtree of it. */ -void shift_tree(const struct object_id *hash1, +void shift_tree(struct repository *r, + const struct object_id *hash1, const struct object_id *hash2, struct object_id *shifted, int depth_limit) @@ -290,7 +291,7 @@ void shift_tree(const struct object_id *hash1, if (!*del_prefix) return; - if (get_tree_entry(hash2, del_prefix, shifted, &mode)) + if (get_tree_entry(r, hash2, del_prefix, shifted, &mode)) die("cannot find path %s in tree %s", del_prefix, oid_to_hex(hash2)); return; @@ -307,7 +308,8 @@ void shift_tree(const struct object_id *hash1, * Unfortunately we cannot fundamentally tell which one to * be prefixed, as recursive merge can work in either direction. */ -void shift_tree_by(const struct object_id *hash1, +void shift_tree_by(struct repository *r, + const struct object_id *hash1, const struct object_id *hash2, struct object_id *shifted, const char *shift_prefix) @@ -317,12 +319,12 @@ void shift_tree_by(const struct object_id *hash1, unsigned candidate = 0; /* Can hash2 be a tree at shift_prefix in tree hash1? */ - if (!get_tree_entry(hash1, shift_prefix, &sub1, &mode1) && + if (!get_tree_entry(r, hash1, shift_prefix, &sub1, &mode1) && S_ISDIR(mode1)) candidate |= 1; /* Can hash1 be a tree at shift_prefix in tree hash2? */ - if (!get_tree_entry(hash2, shift_prefix, &sub2, &mode2) && + if (!get_tree_entry(r, hash2, shift_prefix, &sub2, &mode2) && S_ISDIR(mode2)) candidate |= 2; diff --git a/merge-recursive.c b/merge-recursive.c index d2e380b7ed..6b812d67e3 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -153,9 +153,9 @@ static struct tree *shift_tree_object(struct repository *repo, struct object_id shifted; if (!*subtree_shift) { - shift_tree(&one->object.oid, &two->object.oid, &shifted, 0); + shift_tree(repo, &one->object.oid, &two->object.oid, &shifted, 0); } else { - shift_tree_by(&one->object.oid, &two->object.oid, &shifted, + shift_tree_by(repo, &one->object.oid, &two->object.oid, &shifted, subtree_shift); } if (oideq(&two->object.oid, &shifted)) @@ -465,17 +465,18 @@ static void get_files_dirs(struct merge_options *opt, struct tree *tree) { struct pathspec match_all; memset(&match_all, 0, sizeof(match_all)); - read_tree_recursive(the_repository, tree, "", 0, 0, + read_tree_recursive(opt->repo, tree, "", 0, 0, &match_all, save_files_dirs, opt); } -static int get_tree_entry_if_blob(const struct object_id *tree, +static int get_tree_entry_if_blob(struct repository *r, + const struct object_id *tree, const char *path, struct diff_filespec *dfs) { int ret; - ret = get_tree_entry(tree, path, &dfs->oid, &dfs->mode); + ret = get_tree_entry(r, tree, path, &dfs->oid, &dfs->mode); if (S_ISDIR(dfs->mode)) { oidcpy(&dfs->oid, &null_oid); dfs->mode = 0; @@ -487,15 +488,16 @@ static int get_tree_entry_if_blob(const struct object_id *tree, * Returns an index_entry instance which doesn't have to correspond to * a real cache entry in Git's index. */ -static struct stage_data *insert_stage_data(const char *path, +static struct stage_data *insert_stage_data(struct repository *r, + const char *path, struct tree *o, struct tree *a, struct tree *b, struct string_list *entries) { struct string_list_item *item; struct stage_data *e = xcalloc(1, sizeof(struct stage_data)); - get_tree_entry_if_blob(&o->object.oid, path, &e->stages[1]); - get_tree_entry_if_blob(&a->object.oid, path, &e->stages[2]); - get_tree_entry_if_blob(&b->object.oid, path, &e->stages[3]); + get_tree_entry_if_blob(r, &o->object.oid, path, &e->stages[1]); + get_tree_entry_if_blob(r, &a->object.oid, path, &e->stages[2]); + get_tree_entry_if_blob(r, &b->object.oid, path, &e->stages[3]); item = string_list_insert(entries, path); item->util = e; return e; @@ -1900,12 +1902,14 @@ static struct diff_queue_struct *get_diffpairs(struct merge_options *opt, return ret; } -static int tree_has_path(struct tree *tree, const char *path) +static int tree_has_path(struct repository *r, struct tree *tree, + const char *path) { struct object_id hashy; unsigned short mode_o; - return !get_tree_entry(&tree->object.oid, path, + return !get_tree_entry(r, + &tree->object.oid, path, &hashy, &mode_o); } @@ -2056,7 +2060,7 @@ static char *handle_path_level_conflicts(struct merge_options *opt, */ if (collision_ent->reported_already) { clean = 0; - } else if (tree_has_path(tree, new_path)) { + } else if (tree_has_path(opt->repo, tree, new_path)) { collision_ent->reported_already = 1; strbuf_add_separated_string_list(&collision_paths, ", ", &collision_ent->source_files); @@ -2134,7 +2138,7 @@ static void handle_directory_level_conflicts(struct merge_options *opt, string_list_append(&remove_from_merge, merge_ent->dir)->util = merge_ent; strbuf_release(&merge_ent->new_dir); - } else if (tree_has_path(head, head_ent->dir)) { + } else if (tree_has_path(opt->repo, head, head_ent->dir)) { /* 2. This wasn't a directory rename after all */ string_list_append(&remove_from_head, head_ent->dir)->util = head_ent; @@ -2148,7 +2152,7 @@ static void handle_directory_level_conflicts(struct merge_options *opt, hashmap_iter_init(dir_re_merge, &iter); while ((merge_ent = hashmap_iter_next(&iter))) { head_ent = dir_rename_find_entry(dir_re_head, merge_ent->dir); - if (tree_has_path(merge, merge_ent->dir)) { + if (tree_has_path(opt->repo, merge, merge_ent->dir)) { /* 2. This wasn't a directory rename after all */ string_list_append(&remove_from_merge, merge_ent->dir)->util = merge_ent; @@ -2477,7 +2481,7 @@ static void apply_directory_rename_modifications(struct merge_options *opt, if (pair->status == 'R') re->dst_entry->processed = 1; - re->dst_entry = insert_stage_data(new_path, + re->dst_entry = insert_stage_data(opt->repo, new_path, o_tree, a_tree, b_tree, entries); item = string_list_insert(entries, new_path); @@ -2500,7 +2504,8 @@ static void apply_directory_rename_modifications(struct merge_options *opt, * the various handle_rename_*() functions update the index * explicitly rather than relying on unpack_trees() to have done it. */ - get_tree_entry(&tree->object.oid, + get_tree_entry(opt->repo, + &tree->object.oid, pair->two->path, &re->dst_entry->stages[stage].oid, &re->dst_entry->stages[stage].mode); @@ -2585,14 +2590,16 @@ static struct string_list *get_renames(struct merge_options *opt, re->dir_rename_original_dest = NULL; item = string_list_lookup(entries, re->pair->one->path); if (!item) - re->src_entry = insert_stage_data(re->pair->one->path, + re->src_entry = insert_stage_data(opt->repo, + re->pair->one->path, o_tree, a_tree, b_tree, entries); else re->src_entry = item->util; item = string_list_lookup(entries, re->pair->two->path); if (!item) - re->dst_entry = insert_stage_data(re->pair->two->path, + re->dst_entry = insert_stage_data(opt->repo, + re->pair->two->path, o_tree, a_tree, b_tree, entries); else re->dst_entry = item->util; @@ -2856,7 +2863,8 @@ static int detect_and_process_renames(struct merge_options *opt, head_pairs = get_diffpairs(opt, common, head); merge_pairs = get_diffpairs(opt, common, merge); - if (opt->detect_directory_renames) { + if ((opt->detect_directory_renames == 2) || + (opt->detect_directory_renames == 1 && !opt->call_depth)) { dir_re_head = get_directory_renames(head_pairs); dir_re_merge = get_directory_renames(merge_pairs); @@ -9,6 +9,7 @@ #include "midx.h" #include "progress.h" #include "trace2.h" +#include "run-command.h" #define MIDX_SIGNATURE 0x4d494458 /* "MIDX" */ #define MIDX_VERSION 1 @@ -34,6 +35,8 @@ #define MIDX_CHUNK_LARGE_OFFSET_WIDTH (sizeof(uint64_t)) #define MIDX_LARGE_OFFSET_NEEDED 0x80000000 +#define PACK_EXPIRED UINT_MAX + static char *get_midx_filename(const char *object_dir) { return xstrfmt("%s/pack/multi-pack-index", object_dir); @@ -427,13 +430,24 @@ static size_t write_midx_header(struct hashfile *f, return MIDX_HEADER_SIZE; } +struct pack_info { + uint32_t orig_pack_int_id; + char *pack_name; + struct packed_git *p; + unsigned expired : 1; +}; + +static int pack_info_compare(const void *_a, const void *_b) +{ + struct pack_info *a = (struct pack_info *)_a; + struct pack_info *b = (struct pack_info *)_b; + return strcmp(a->pack_name, b->pack_name); +} + struct pack_list { - struct packed_git **list; - char **names; + struct pack_info *info; uint32_t nr; - uint32_t alloc_list; - uint32_t alloc_names; - size_t pack_name_concat_len; + uint32_t alloc; struct multi_pack_index *m; }; @@ -446,67 +460,33 @@ static void add_pack_to_midx(const char *full_path, size_t full_path_len, if (packs->m && midx_contains_pack(packs->m, file_name)) return; - ALLOC_GROW(packs->list, packs->nr + 1, packs->alloc_list); - ALLOC_GROW(packs->names, packs->nr + 1, packs->alloc_names); + ALLOC_GROW(packs->info, packs->nr + 1, packs->alloc); - packs->list[packs->nr] = add_packed_git(full_path, - full_path_len, - 0); + packs->info[packs->nr].p = add_packed_git(full_path, + full_path_len, + 0); - if (!packs->list[packs->nr]) { + if (!packs->info[packs->nr].p) { warning(_("failed to add packfile '%s'"), full_path); return; } - if (open_pack_index(packs->list[packs->nr])) { + if (open_pack_index(packs->info[packs->nr].p)) { warning(_("failed to open pack-index '%s'"), full_path); - close_pack(packs->list[packs->nr]); - FREE_AND_NULL(packs->list[packs->nr]); + close_pack(packs->info[packs->nr].p); + FREE_AND_NULL(packs->info[packs->nr].p); return; } - packs->names[packs->nr] = xstrdup(file_name); - packs->pack_name_concat_len += strlen(file_name) + 1; + packs->info[packs->nr].pack_name = xstrdup(file_name); + packs->info[packs->nr].orig_pack_int_id = packs->nr; + packs->info[packs->nr].expired = 0; packs->nr++; } } -struct pack_pair { - uint32_t pack_int_id; - char *pack_name; -}; - -static int pack_pair_compare(const void *_a, const void *_b) -{ - struct pack_pair *a = (struct pack_pair *)_a; - struct pack_pair *b = (struct pack_pair *)_b; - return strcmp(a->pack_name, b->pack_name); -} - -static void sort_packs_by_name(char **pack_names, uint32_t nr_packs, uint32_t *perm) -{ - uint32_t i; - struct pack_pair *pairs; - - ALLOC_ARRAY(pairs, nr_packs); - - for (i = 0; i < nr_packs; i++) { - pairs[i].pack_int_id = i; - pairs[i].pack_name = pack_names[i]; - } - - QSORT(pairs, nr_packs, pack_pair_compare); - - for (i = 0; i < nr_packs; i++) { - pack_names[i] = pairs[i].pack_name; - perm[pairs[i].pack_int_id] = i; - } - - free(pairs); -} - struct pack_midx_entry { struct object_id oid; uint32_t pack_int_id; @@ -532,7 +512,6 @@ static int midx_oid_compare(const void *_a, const void *_b) } static int nth_midxed_pack_midx_entry(struct multi_pack_index *m, - uint32_t *pack_perm, struct pack_midx_entry *e, uint32_t pos) { @@ -540,7 +519,7 @@ static int nth_midxed_pack_midx_entry(struct multi_pack_index *m, return 1; nth_midxed_object_oid(&e->oid, m, pos); - e->pack_int_id = pack_perm[nth_midxed_pack_int_id(m, pos)]; + e->pack_int_id = nth_midxed_pack_int_id(m, pos); e->offset = nth_midxed_offset(m, pos); /* consider objects in midx to be from "old" packs */ @@ -574,8 +553,7 @@ static void fill_pack_entry(uint32_t pack_int_id, * of a packfile containing the object). */ static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m, - struct packed_git **p, - uint32_t *perm, + struct pack_info *info, uint32_t nr_packs, uint32_t *nr_objects) { @@ -586,7 +564,7 @@ static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m, uint32_t start_pack = m ? m->num_packs : 0; for (cur_pack = start_pack; cur_pack < nr_packs; cur_pack++) - total_objects += p[cur_pack]->num_objects; + total_objects += info[cur_pack].p->num_objects; /* * As we de-duplicate by fanout value, we expect the fanout @@ -611,7 +589,7 @@ static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m, for (cur_object = start; cur_object < end; cur_object++) { ALLOC_GROW(entries_by_fanout, nr_fanout + 1, alloc_fanout); - nth_midxed_pack_midx_entry(m, perm, + nth_midxed_pack_midx_entry(m, &entries_by_fanout[nr_fanout], cur_object); nr_fanout++; @@ -622,12 +600,12 @@ static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m, uint32_t start = 0, end; if (cur_fanout) - start = get_pack_fanout(p[cur_pack], cur_fanout - 1); - end = get_pack_fanout(p[cur_pack], cur_fanout); + start = get_pack_fanout(info[cur_pack].p, cur_fanout - 1); + end = get_pack_fanout(info[cur_pack].p, cur_fanout); for (cur_object = start; cur_object < end; cur_object++) { ALLOC_GROW(entries_by_fanout, nr_fanout + 1, alloc_fanout); - fill_pack_entry(perm[cur_pack], p[cur_pack], cur_object, &entries_by_fanout[nr_fanout]); + fill_pack_entry(cur_pack, info[cur_pack].p, cur_object, &entries_by_fanout[nr_fanout]); nr_fanout++; } } @@ -656,7 +634,7 @@ static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m, } static size_t write_midx_pack_names(struct hashfile *f, - char **pack_names, + struct pack_info *info, uint32_t num_packs) { uint32_t i; @@ -664,14 +642,18 @@ static size_t write_midx_pack_names(struct hashfile *f, size_t written = 0; for (i = 0; i < num_packs; i++) { - size_t writelen = strlen(pack_names[i]) + 1; + size_t writelen; + + if (info[i].expired) + continue; - if (i && strcmp(pack_names[i], pack_names[i - 1]) <= 0) + if (i && strcmp(info[i].pack_name, info[i - 1].pack_name) <= 0) BUG("incorrect pack-file order: %s before %s", - pack_names[i - 1], - pack_names[i]); + info[i - 1].pack_name, + info[i].pack_name); - hashwrite(f, pack_names[i], writelen); + writelen = strlen(info[i].pack_name) + 1; + hashwrite(f, info[i].pack_name, writelen); written += writelen; } @@ -742,6 +724,7 @@ static size_t write_midx_oid_lookup(struct hashfile *f, unsigned char hash_len, } static size_t write_midx_object_offsets(struct hashfile *f, int large_offset_needed, + uint32_t *perm, struct pack_midx_entry *objects, uint32_t nr_objects) { struct pack_midx_entry *list = objects; @@ -751,7 +734,12 @@ static size_t write_midx_object_offsets(struct hashfile *f, int large_offset_nee for (i = 0; i < nr_objects; i++) { struct pack_midx_entry *obj = list++; - hashwrite_be32(f, obj->pack_int_id); + if (perm[obj->pack_int_id] == PACK_EXPIRED) + BUG("object %s is in an expired pack with int-id %d", + oid_to_hex(&obj->oid), + obj->pack_int_id); + + hashwrite_be32(f, perm[obj->pack_int_id]); if (large_offset_needed && obj->offset >> 31) hashwrite_be32(f, MIDX_LARGE_OFFSET_NEEDED | nr_large_offset++); @@ -797,7 +785,8 @@ static size_t write_midx_large_offsets(struct hashfile *f, uint32_t nr_large_off return written; } -int write_midx_file(const char *object_dir) +static int write_midx_internal(const char *object_dir, struct multi_pack_index *m, + struct string_list *packs_to_drop) { unsigned char cur_chunk, num_chunks = 0; char *midx_name; @@ -812,6 +801,9 @@ int write_midx_file(const char *object_dir) uint32_t nr_entries, num_large_offsets = 0; struct pack_midx_entry *entries = NULL; int large_offsets_needed = 0; + int pack_name_concat_len = 0; + int dropped_packs = 0; + int result = 0; midx_name = get_midx_filename(object_dir); if (safe_create_leading_directories(midx_name)) { @@ -820,42 +812,34 @@ int write_midx_file(const char *object_dir) midx_name); } - packs.m = load_multi_pack_index(object_dir, 1); + if (m) + packs.m = m; + else + packs.m = load_multi_pack_index(object_dir, 1); packs.nr = 0; - packs.alloc_list = packs.m ? packs.m->num_packs : 16; - packs.alloc_names = packs.alloc_list; - packs.list = NULL; - packs.names = NULL; - packs.pack_name_concat_len = 0; - ALLOC_ARRAY(packs.list, packs.alloc_list); - ALLOC_ARRAY(packs.names, packs.alloc_names); + packs.alloc = packs.m ? packs.m->num_packs : 16; + packs.info = NULL; + ALLOC_ARRAY(packs.info, packs.alloc); if (packs.m) { for (i = 0; i < packs.m->num_packs; i++) { - ALLOC_GROW(packs.list, packs.nr + 1, packs.alloc_list); - ALLOC_GROW(packs.names, packs.nr + 1, packs.alloc_names); + ALLOC_GROW(packs.info, packs.nr + 1, packs.alloc); - packs.list[packs.nr] = NULL; - packs.names[packs.nr] = xstrdup(packs.m->pack_names[i]); - packs.pack_name_concat_len += strlen(packs.names[packs.nr]) + 1; + packs.info[packs.nr].orig_pack_int_id = i; + packs.info[packs.nr].pack_name = xstrdup(packs.m->pack_names[i]); + packs.info[packs.nr].p = NULL; + packs.info[packs.nr].expired = 0; packs.nr++; } } for_each_file_in_pack_dir(object_dir, add_pack_to_midx, &packs); - if (packs.m && packs.nr == packs.m->num_packs) + if (packs.m && packs.nr == packs.m->num_packs && !packs_to_drop) goto cleanup; - if (packs.pack_name_concat_len % MIDX_CHUNK_ALIGNMENT) - packs.pack_name_concat_len += MIDX_CHUNK_ALIGNMENT - - (packs.pack_name_concat_len % MIDX_CHUNK_ALIGNMENT); - - ALLOC_ARRAY(pack_perm, packs.nr); - sort_packs_by_name(packs.names, packs.nr, pack_perm); - - entries = get_sorted_entries(packs.m, packs.list, pack_perm, packs.nr, &nr_entries); + entries = get_sorted_entries(packs.m, packs.info, packs.nr, &nr_entries); for (i = 0; i < nr_entries; i++) { if (entries[i].offset > 0x7fffffff) @@ -864,6 +848,61 @@ int write_midx_file(const char *object_dir) large_offsets_needed = 1; } + QSORT(packs.info, packs.nr, pack_info_compare); + + if (packs_to_drop && packs_to_drop->nr) { + int drop_index = 0; + int missing_drops = 0; + + for (i = 0; i < packs.nr && drop_index < packs_to_drop->nr; i++) { + int cmp = strcmp(packs.info[i].pack_name, + packs_to_drop->items[drop_index].string); + + if (!cmp) { + drop_index++; + packs.info[i].expired = 1; + } else if (cmp > 0) { + error(_("did not see pack-file %s to drop"), + packs_to_drop->items[drop_index].string); + drop_index++; + missing_drops++; + i--; + } else { + packs.info[i].expired = 0; + } + } + + if (missing_drops) { + result = 1; + goto cleanup; + } + } + + /* + * pack_perm stores a permutation between pack-int-ids from the + * previous multi-pack-index to the new one we are writing: + * + * pack_perm[old_id] = new_id + */ + ALLOC_ARRAY(pack_perm, packs.nr); + for (i = 0; i < packs.nr; i++) { + if (packs.info[i].expired) { + dropped_packs++; + pack_perm[packs.info[i].orig_pack_int_id] = PACK_EXPIRED; + } else { + pack_perm[packs.info[i].orig_pack_int_id] = i - dropped_packs; + } + } + + for (i = 0; i < packs.nr; i++) { + if (!packs.info[i].expired) + pack_name_concat_len += strlen(packs.info[i].pack_name) + 1; + } + + if (pack_name_concat_len % MIDX_CHUNK_ALIGNMENT) + pack_name_concat_len += MIDX_CHUNK_ALIGNMENT - + (pack_name_concat_len % MIDX_CHUNK_ALIGNMENT); + hold_lock_file_for_update(&lk, midx_name, LOCK_DIE_ON_ERROR); f = hashfd(lk.tempfile->fd, lk.tempfile->filename.buf); FREE_AND_NULL(midx_name); @@ -874,14 +913,14 @@ int write_midx_file(const char *object_dir) cur_chunk = 0; num_chunks = large_offsets_needed ? 5 : 4; - written = write_midx_header(f, num_chunks, packs.nr); + written = write_midx_header(f, num_chunks, packs.nr - dropped_packs); chunk_ids[cur_chunk] = MIDX_CHUNKID_PACKNAMES; chunk_offsets[cur_chunk] = written + (num_chunks + 1) * MIDX_CHUNKLOOKUP_WIDTH; cur_chunk++; chunk_ids[cur_chunk] = MIDX_CHUNKID_OIDFANOUT; - chunk_offsets[cur_chunk] = chunk_offsets[cur_chunk - 1] + packs.pack_name_concat_len; + chunk_offsets[cur_chunk] = chunk_offsets[cur_chunk - 1] + pack_name_concat_len; cur_chunk++; chunk_ids[cur_chunk] = MIDX_CHUNKID_OIDLOOKUP; @@ -929,7 +968,7 @@ int write_midx_file(const char *object_dir) switch (chunk_ids[i]) { case MIDX_CHUNKID_PACKNAMES: - written += write_midx_pack_names(f, packs.names, packs.nr); + written += write_midx_pack_names(f, packs.info, packs.nr); break; case MIDX_CHUNKID_OIDFANOUT: @@ -941,7 +980,7 @@ int write_midx_file(const char *object_dir) break; case MIDX_CHUNKID_OBJECTOFFSETS: - written += write_midx_object_offsets(f, large_offsets_needed, entries, nr_entries); + written += write_midx_object_offsets(f, large_offsets_needed, pack_perm, entries, nr_entries); break; case MIDX_CHUNKID_LARGEOFFSETS: @@ -964,19 +1003,23 @@ int write_midx_file(const char *object_dir) cleanup: for (i = 0; i < packs.nr; i++) { - if (packs.list[i]) { - close_pack(packs.list[i]); - free(packs.list[i]); + if (packs.info[i].p) { + close_pack(packs.info[i].p); + free(packs.info[i].p); } - free(packs.names[i]); + free(packs.info[i].pack_name); } - free(packs.list); - free(packs.names); + free(packs.info); free(entries); free(pack_perm); free(midx_name); - return 0; + return result; +} + +int write_midx_file(const char *object_dir) +{ + return write_midx_internal(object_dir, NULL, NULL); } void clear_midx_file(struct repository *r) @@ -1140,3 +1183,200 @@ int verify_midx_file(struct repository *r, const char *object_dir) return verify_midx_error; } + +int expire_midx_packs(struct repository *r, const char *object_dir) +{ + uint32_t i, *count, result = 0; + struct string_list packs_to_drop = STRING_LIST_INIT_DUP; + struct multi_pack_index *m = load_multi_pack_index(object_dir, 1); + + if (!m) + return 0; + + count = xcalloc(m->num_packs, sizeof(uint32_t)); + for (i = 0; i < m->num_objects; i++) { + int pack_int_id = nth_midxed_pack_int_id(m, i); + count[pack_int_id]++; + } + + for (i = 0; i < m->num_packs; i++) { + char *pack_name; + + if (count[i]) + continue; + + if (prepare_midx_pack(r, m, i)) + continue; + + if (m->packs[i]->pack_keep) + continue; + + pack_name = xstrdup(m->packs[i]->pack_name); + close_pack(m->packs[i]); + + string_list_insert(&packs_to_drop, m->pack_names[i]); + unlink_pack_path(pack_name, 0); + free(pack_name); + } + + free(count); + + if (packs_to_drop.nr) + result = write_midx_internal(object_dir, m, &packs_to_drop); + + string_list_clear(&packs_to_drop, 0); + return result; +} + +struct repack_info { + timestamp_t mtime; + uint32_t referenced_objects; + uint32_t pack_int_id; +}; + +static int compare_by_mtime(const void *a_, const void *b_) +{ + const struct repack_info *a, *b; + + a = (const struct repack_info *)a_; + b = (const struct repack_info *)b_; + + if (a->mtime < b->mtime) + return -1; + if (a->mtime > b->mtime) + return 1; + return 0; +} + +static int fill_included_packs_all(struct multi_pack_index *m, + unsigned char *include_pack) +{ + uint32_t i; + + for (i = 0; i < m->num_packs; i++) + include_pack[i] = 1; + + return m->num_packs < 2; +} + +static int fill_included_packs_batch(struct repository *r, + struct multi_pack_index *m, + unsigned char *include_pack, + size_t batch_size) +{ + uint32_t i, packs_to_repack; + size_t total_size; + struct repack_info *pack_info = xcalloc(m->num_packs, sizeof(struct repack_info)); + + for (i = 0; i < m->num_packs; i++) { + pack_info[i].pack_int_id = i; + + if (prepare_midx_pack(r, m, i)) + continue; + + pack_info[i].mtime = m->packs[i]->mtime; + } + + for (i = 0; batch_size && i < m->num_objects; i++) { + uint32_t pack_int_id = nth_midxed_pack_int_id(m, i); + pack_info[pack_int_id].referenced_objects++; + } + + QSORT(pack_info, m->num_packs, compare_by_mtime); + + total_size = 0; + packs_to_repack = 0; + for (i = 0; total_size < batch_size && i < m->num_packs; i++) { + int pack_int_id = pack_info[i].pack_int_id; + struct packed_git *p = m->packs[pack_int_id]; + size_t expected_size; + + if (!p) + continue; + if (open_pack_index(p) || !p->num_objects) + continue; + + expected_size = (size_t)(p->pack_size + * pack_info[i].referenced_objects); + expected_size /= p->num_objects; + + if (expected_size >= batch_size) + continue; + + packs_to_repack++; + total_size += expected_size; + include_pack[pack_int_id] = 1; + } + + free(pack_info); + + if (total_size < batch_size || packs_to_repack < 2) + return 1; + + return 0; +} + +int midx_repack(struct repository *r, const char *object_dir, size_t batch_size) +{ + int result = 0; + uint32_t i; + unsigned char *include_pack; + struct child_process cmd = CHILD_PROCESS_INIT; + struct strbuf base_name = STRBUF_INIT; + struct multi_pack_index *m = load_multi_pack_index(object_dir, 1); + + if (!m) + return 0; + + include_pack = xcalloc(m->num_packs, sizeof(unsigned char)); + + if (batch_size) { + if (fill_included_packs_batch(r, m, include_pack, batch_size)) + goto cleanup; + } else if (fill_included_packs_all(m, include_pack)) + goto cleanup; + + argv_array_push(&cmd.args, "pack-objects"); + + strbuf_addstr(&base_name, object_dir); + strbuf_addstr(&base_name, "/pack/pack"); + argv_array_push(&cmd.args, base_name.buf); + strbuf_release(&base_name); + + cmd.git_cmd = 1; + cmd.in = cmd.out = -1; + + if (start_command(&cmd)) { + error(_("could not start pack-objects")); + result = 1; + goto cleanup; + } + + for (i = 0; i < m->num_objects; i++) { + struct object_id oid; + uint32_t pack_int_id = nth_midxed_pack_int_id(m, i); + + if (!include_pack[pack_int_id]) + continue; + + nth_midxed_object_oid(&oid, m, i); + xwrite(cmd.in, oid_to_hex(&oid), the_hash_algo->hexsz); + xwrite(cmd.in, "\n", 1); + } + close(cmd.in); + + if (finish_command(&cmd)) { + error(_("could not finish pack-objects")); + result = 1; + goto cleanup; + } + + result = write_midx_internal(object_dir, m, NULL); + m = NULL; + +cleanup: + if (m) + close_midx(m); + free(include_pack); + return result; +} @@ -50,6 +50,8 @@ int prepare_multi_pack_index_one(struct repository *r, const char *object_dir, i int write_midx_file(const char *object_dir); void clear_midx_file(struct repository *r); int verify_midx_file(struct repository *r, const char *object_dir); +int expire_midx_packs(struct repository *r, const char *object_dir); +int midx_repack(struct repository *r, const char *object_dir, size_t batch_size); void close_midx(struct multi_pack_index *m); @@ -397,7 +397,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree, struct name_entry entry; const unsigned hashsz = the_hash_algo->rawsz; - buf = fill_tree_descriptor(&desc, &subtree->val_oid); + buf = fill_tree_descriptor(the_repository, &desc, &subtree->val_oid); if (!buf) die("Could not read %s for notes-index", oid_to_hex(&subtree->val_oid)); @@ -1015,7 +1015,7 @@ void init_notes(struct notes_tree *t, const char *notes_ref, return; if (flags & NOTES_INIT_WRITABLE && read_ref(notes_ref, &object_oid)) die("Cannot use notes ref %s", notes_ref); - if (get_tree_entry(&object_oid, "", &oid, &mode)) + if (get_tree_entry(the_repository, &object_oid, "", &oid, &mode)) die("Failed to read notes tree referenced by %s (%s)", notes_ref, oid_to_hex(&object_oid)); diff --git a/object-store.h b/object-store.h index 49f56ab8d9..7f7b3cdd80 100644 --- a/object-store.h +++ b/object-store.h @@ -33,6 +33,8 @@ void prepare_alt_odb(struct repository *r); char *compute_alternate_path(const char *path, struct strbuf *err); typedef int alt_odb_fn(struct object_directory *, void *); int foreach_alt_odb(alt_odb_fn, void*); +typedef void alternate_ref_fn(const struct object_id *oid, void *); +void for_each_alternate_ref(alternate_ref_fn, void *); /* * Add the directory to the on-disk alternates file; the new entry will also @@ -59,9 +59,9 @@ int type_from_string_gently(const char *str, ssize_t len, int gentle) * the specified sha1. n must be a power of 2. Please note that the * return value is *not* consistent across computer architectures. */ -static unsigned int hash_obj(const unsigned char *sha1, unsigned int n) +static unsigned int hash_obj(const struct object_id *oid, unsigned int n) { - return sha1hash(sha1) & (n - 1); + return oidhash(oid) & (n - 1); } /* @@ -71,7 +71,7 @@ static unsigned int hash_obj(const unsigned char *sha1, unsigned int n) */ static void insert_obj_hash(struct object *obj, struct object **hash, unsigned int size) { - unsigned int j = hash_obj(obj->oid.hash, size); + unsigned int j = hash_obj(&obj->oid, size); while (hash[j]) { j++; @@ -85,7 +85,7 @@ static void insert_obj_hash(struct object *obj, struct object **hash, unsigned i * Look up the record for the given sha1 in the hash map stored in * obj_hash. Return NULL if it was not found. */ -struct object *lookup_object(struct repository *r, const unsigned char *sha1) +struct object *lookup_object(struct repository *r, const struct object_id *oid) { unsigned int i, first; struct object *obj; @@ -93,9 +93,9 @@ struct object *lookup_object(struct repository *r, const unsigned char *sha1) if (!r->parsed_objects->obj_hash) return NULL; - first = i = hash_obj(sha1, r->parsed_objects->obj_hash_size); + first = i = hash_obj(oid, r->parsed_objects->obj_hash_size); while ((obj = r->parsed_objects->obj_hash[i]) != NULL) { - if (hasheq(sha1, obj->oid.hash)) + if (oideq(oid, &obj->oid)) break; i++; if (i == r->parsed_objects->obj_hash_size) @@ -141,13 +141,13 @@ static void grow_object_hash(struct repository *r) r->parsed_objects->obj_hash_size = new_hash_size; } -void *create_object(struct repository *r, const unsigned char *sha1, void *o) +void *create_object(struct repository *r, const struct object_id *oid, void *o) { struct object *obj = o; obj->parsed = 0; obj->flags = 0; - hashcpy(obj->oid.hash, sha1); + oidcpy(&obj->oid, oid); if (r->parsed_objects->obj_hash_size - 1 <= r->parsed_objects->nr_objs * 2) grow_object_hash(r); @@ -178,11 +178,11 @@ void *object_as_type(struct repository *r, struct object *obj, enum object_type } } -struct object *lookup_unknown_object(const unsigned char *sha1) +struct object *lookup_unknown_object(const struct object_id *oid) { - struct object *obj = lookup_object(the_repository, sha1); + struct object *obj = lookup_object(the_repository, oid); if (!obj) - obj = create_object(the_repository, sha1, + obj = create_object(the_repository, oid, alloc_object_node(the_repository)); return obj; } @@ -256,7 +256,7 @@ struct object *parse_object(struct repository *r, const struct object_id *oid) void *buffer; struct object *obj; - obj = lookup_object(r, oid->hash); + obj = lookup_object(r, oid); if (obj && obj->parsed) return obj; @@ -268,7 +268,7 @@ struct object *parse_object(struct repository *r, const struct object_id *oid) return NULL; } parse_blob_buffer(lookup_blob(r, oid), NULL, 0); - return lookup_object(r, oid->hash); + return lookup_object(r, oid); } buffer = repo_read_object_file(r, oid, &type, &size); @@ -116,9 +116,9 @@ struct object *get_indexed_object(unsigned int); * half-initialised objects, the caller is expected to initialize them * by calling parse_object() on them. */ -struct object *lookup_object(struct repository *r, const unsigned char *sha1); +struct object *lookup_object(struct repository *r, const struct object_id *oid); -void *create_object(struct repository *r, const unsigned char *sha1, void *obj); +void *create_object(struct repository *r, const struct object_id *oid, void *obj); void *object_as_type(struct repository *r, struct object *obj, enum object_type type, int quiet); @@ -143,7 +143,7 @@ struct object *parse_object_or_die(const struct object_id *oid, const char *name struct object *parse_object_buffer(struct repository *r, const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p); /** Returns the object, with potentially excess memory allocated. **/ -struct object *lookup_unknown_object(const unsigned char *sha1); +struct object *lookup_unknown_object(const struct object_id *oid); struct object_list *object_list_insert(struct object *item, struct object_list **list_p); @@ -12,13 +12,6 @@ static int oidmap_neq(const void *hashmap_cmp_fn_data, &((const struct oidmap_entry *) entry_or_key)->oid); } -static int hash(const struct object_id *oid) -{ - int hash; - memcpy(&hash, oid->hash, sizeof(hash)); - return hash; -} - void oidmap_init(struct oidmap *map, size_t initial_size) { hashmap_init(&map->map, oidmap_neq, NULL, initial_size); @@ -36,7 +29,7 @@ void *oidmap_get(const struct oidmap *map, const struct object_id *key) if (!map->map.cmpfn) return NULL; - return hashmap_get_from_hash(&map->map, hash(key), key); + return hashmap_get_from_hash(&map->map, oidhash(key), key); } void *oidmap_remove(struct oidmap *map, const struct object_id *key) @@ -46,7 +39,7 @@ void *oidmap_remove(struct oidmap *map, const struct object_id *key) if (!map->map.cmpfn) oidmap_init(map, 0); - hashmap_entry_init(&entry, hash(key)); + hashmap_entry_init(&entry, oidhash(key)); return hashmap_remove(&map->map, &entry, key); } @@ -57,6 +50,6 @@ void *oidmap_put(struct oidmap *map, void *entry) if (!map->map.cmpfn) oidmap_init(map, 0); - hashmap_entry_init(&to_put->internal_entry, hash(&to_put->oid)); + hashmap_entry_init(&to_put->internal_entry, oidhash(&to_put->oid)); return hashmap_put(&map->map, to_put); } @@ -5,33 +5,68 @@ void oidset_init(struct oidset *set, size_t initial_size) { memset(&set->set, 0, sizeof(set->set)); if (initial_size) - kh_resize_oid(&set->set, initial_size); + kh_resize_oid_set(&set->set, initial_size); } int oidset_contains(const struct oidset *set, const struct object_id *oid) { - khiter_t pos = kh_get_oid(&set->set, *oid); + khiter_t pos = kh_get_oid_set(&set->set, *oid); return pos != kh_end(&set->set); } int oidset_insert(struct oidset *set, const struct object_id *oid) { int added; - kh_put_oid(&set->set, *oid, &added); + kh_put_oid_set(&set->set, *oid, &added); return !added; } int oidset_remove(struct oidset *set, const struct object_id *oid) { - khiter_t pos = kh_get_oid(&set->set, *oid); + khiter_t pos = kh_get_oid_set(&set->set, *oid); if (pos == kh_end(&set->set)) return 0; - kh_del_oid(&set->set, pos); + kh_del_oid_set(&set->set, pos); return 1; } void oidset_clear(struct oidset *set) { - kh_release_oid(&set->set); + kh_release_oid_set(&set->set); oidset_init(set, 0); } + +void oidset_parse_file(struct oidset *set, const char *path) +{ + FILE *fp; + struct strbuf sb = STRBUF_INIT; + struct object_id oid; + + fp = fopen(path, "r"); + if (!fp) + die("could not open object name list: %s", path); + while (!strbuf_getline(&sb, fp)) { + const char *p; + const char *name; + + /* + * Allow trailing comments, leading whitespace + * (including before commits), and empty or whitespace + * only lines. + */ + name = strchr(sb.buf, '#'); + if (name) + strbuf_setlen(&sb, name - sb.buf); + strbuf_trim(&sb); + if (!sb.len) + continue; + + if (parse_oid_hex(sb.buf, &oid, &p) || *p != '\0') + die("invalid object name: %s", sb.buf); + oidset_insert(set, &oid); + } + if (ferror(fp)) + die_errno("Could not read '%s'", path); + fclose(fp); + strbuf_release(&sb); +} @@ -20,7 +20,7 @@ * A single oidset; should be zero-initialized (or use OIDSET_INIT). */ struct oidset { - kh_oid_t set; + kh_oid_set_t set; }; #define OIDSET_INIT { { 0 } } @@ -61,8 +61,16 @@ int oidset_remove(struct oidset *set, const struct object_id *oid); */ void oidset_clear(struct oidset *set); +/** + * Add the contents of the file 'path' to an initialized oidset. Each line is + * an unabbreviated object name. Comments begin with '#', and trailing comments + * are allowed. Leading whitespace and empty or white-space only lines are + * ignored. + */ +void oidset_parse_file(struct oidset *set, const char *path); + struct oidset_iter { - kh_oid_t *set; + kh_oid_set_t *set; khiter_t iter; }; diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 802ed62677..fa78a460c9 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -28,8 +28,8 @@ struct bitmap_writer { struct ewah_bitmap *blobs; struct ewah_bitmap *tags; - khash_sha1 *bitmaps; - khash_sha1 *reused; + kh_oid_map_t *bitmaps; + kh_oid_map_t *reused; struct packing_data *to_pack; struct bitmapped_commit *selected; @@ -142,13 +142,13 @@ static inline void reset_all_seen(void) seen_objects_nr = 0; } -static uint32_t find_object_pos(const unsigned char *hash) +static uint32_t find_object_pos(const struct object_id *oid) { - struct object_entry *entry = packlist_find(writer.to_pack, hash, NULL); + struct object_entry *entry = packlist_find(writer.to_pack, oid, NULL); if (!entry) { die("Failed to write bitmap index. Packfile doesn't have full closure " - "(object %s is missing)", hash_to_hex(hash)); + "(object %s is missing)", oid_to_hex(oid)); } return oe_in_pack_pos(writer.to_pack, entry); @@ -157,7 +157,7 @@ static uint32_t find_object_pos(const unsigned char *hash) static void show_object(struct object *object, const char *name, void *data) { struct bitmap *base = data; - bitmap_set(base, find_object_pos(object->oid.hash)); + bitmap_set(base, find_object_pos(&object->oid)); mark_as_seen(object); } @@ -170,12 +170,12 @@ static int add_to_include_set(struct bitmap *base, struct commit *commit) { khiter_t hash_pos; - uint32_t bitmap_pos = find_object_pos(commit->object.oid.hash); + uint32_t bitmap_pos = find_object_pos(&commit->object.oid); if (bitmap_get(base, bitmap_pos)) return 0; - hash_pos = kh_get_sha1(writer.bitmaps, commit->object.oid.hash); + hash_pos = kh_get_oid_map(writer.bitmaps, commit->object.oid); if (hash_pos < kh_end(writer.bitmaps)) { struct bitmapped_commit *bc = kh_value(writer.bitmaps, hash_pos); bitmap_or_ewah(base, bc->bitmap); @@ -256,7 +256,7 @@ void bitmap_writer_build(struct packing_data *to_pack) struct bitmap *base = bitmap_new(); struct rev_info revs; - writer.bitmaps = kh_init_sha1(); + writer.bitmaps = kh_init_oid_map(); writer.to_pack = to_pack; if (writer.show_progress) @@ -311,7 +311,7 @@ void bitmap_writer_build(struct packing_data *to_pack) if (i >= reuse_after) stored->flags |= BITMAP_FLAG_REUSE; - hash_pos = kh_put_sha1(writer.bitmaps, object->oid.hash, &hash_ret); + hash_pos = kh_put_oid_map(writer.bitmaps, object->oid, &hash_ret); if (hash_ret == 0) die("Duplicate entry when writing index: %s", oid_to_hex(&object->oid)); @@ -366,7 +366,7 @@ void bitmap_writer_reuse_bitmaps(struct packing_data *to_pack) if (!(bitmap_git = prepare_bitmap_git(to_pack->repo))) return; - writer.reused = kh_init_sha1(); + writer.reused = kh_init_oid_map(); rebuild_existing_bitmaps(bitmap_git, to_pack, writer.reused, writer.show_progress); /* @@ -375,14 +375,14 @@ void bitmap_writer_reuse_bitmaps(struct packing_data *to_pack) */ } -static struct ewah_bitmap *find_reused_bitmap(const unsigned char *sha1) +static struct ewah_bitmap *find_reused_bitmap(const struct object_id *oid) { khiter_t hash_pos; if (!writer.reused) return NULL; - hash_pos = kh_get_sha1(writer.reused, sha1); + hash_pos = kh_get_oid_map(writer.reused, *oid); if (hash_pos >= kh_end(writer.reused)) return NULL; @@ -422,14 +422,14 @@ void bitmap_writer_select_commits(struct commit **indexed_commits, if (next == 0) { chosen = indexed_commits[i]; - reused_bitmap = find_reused_bitmap(chosen->object.oid.hash); + reused_bitmap = find_reused_bitmap(&chosen->object.oid); } else { chosen = indexed_commits[i + next]; for (j = 0; j <= next; ++j) { struct commit *cm = indexed_commits[i + j]; - reused_bitmap = find_reused_bitmap(cm->object.oid.hash); + reused_bitmap = find_reused_bitmap(&cm->object.oid); if (reused_bitmap || (cm->object.flags & NEEDS_BITMAP) != 0) { chosen = cm; break; diff --git a/pack-bitmap.c b/pack-bitmap.c index 6069b2fe55..ed2befaac6 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -365,7 +365,7 @@ struct include_data { static inline int bitmap_position_extended(struct bitmap_index *bitmap_git, const struct object_id *oid) { - khash_oid_pos *positions = bitmap_git->ext_index.positions; + kh_oid_pos_t *positions = bitmap_git->ext_index.positions; khiter_t pos = kh_get_oid_pos(positions, *oid); if (pos < kh_end(positions)) { @@ -1041,7 +1041,7 @@ static int rebuild_bitmap(uint32_t *reposition, int rebuild_existing_bitmaps(struct bitmap_index *bitmap_git, struct packing_data *mapping, - khash_sha1 *reused_bitmaps, + kh_oid_map_t *reused_bitmaps, int show_progress) { uint32_t i, num_objects; @@ -1057,13 +1057,13 @@ int rebuild_existing_bitmaps(struct bitmap_index *bitmap_git, reposition = xcalloc(num_objects, sizeof(uint32_t)); for (i = 0; i < num_objects; ++i) { - const unsigned char *sha1; + struct object_id oid; struct revindex_entry *entry; struct object_entry *oe; entry = &bitmap_git->pack->revindex[i]; - sha1 = nth_packed_object_sha1(bitmap_git->pack, entry->nr); - oe = packlist_find(mapping, sha1, NULL); + nth_packed_object_oid(&oid, bitmap_git->pack, entry->nr); + oe = packlist_find(mapping, &oid, NULL); if (oe) reposition[i] = oe_in_pack_pos(mapping, oe) + 1; @@ -1080,9 +1080,9 @@ int rebuild_existing_bitmaps(struct bitmap_index *bitmap_git, if (!rebuild_bitmap(reposition, lookup_stored_bitmap(stored), rebuild)) { - hash_pos = kh_put_sha1(reused_bitmaps, - stored->oid.hash, - &hash_ret); + hash_pos = kh_put_oid_map(reused_bitmaps, + stored->oid, + &hash_ret); kh_value(reused_bitmaps, hash_pos) = bitmap_to_ewah(rebuild); } diff --git a/pack-bitmap.h b/pack-bitmap.h index ee9792264c..00de3ec8e4 100644 --- a/pack-bitmap.h +++ b/pack-bitmap.h @@ -51,7 +51,7 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *, struct packed_git **packfile, uint32_t *entries, off_t *up_to); int rebuild_existing_bitmaps(struct bitmap_index *, struct packing_data *mapping, - khash_sha1 *reused_bitmaps, int show_progress); + kh_oid_map_t *reused_bitmaps, int show_progress); void free_bitmap_index(struct bitmap_index *); /* diff --git a/pack-objects.c b/pack-objects.c index ce33b8906e..52560293b6 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -6,17 +6,17 @@ #include "config.h" static uint32_t locate_object_entry_hash(struct packing_data *pdata, - const unsigned char *sha1, + const struct object_id *oid, int *found) { uint32_t i, mask = (pdata->index_size - 1); - i = sha1hash(sha1) & mask; + i = oidhash(oid) & mask; while (pdata->index[i] > 0) { uint32_t pos = pdata->index[i] - 1; - if (hasheq(sha1, pdata->objects[pos].idx.oid.hash)) { + if (oideq(oid, &pdata->objects[pos].idx.oid)) { *found = 1; return i; } @@ -56,7 +56,7 @@ static void rehash_objects(struct packing_data *pdata) for (i = 0; i < pdata->nr_objects; i++) { int found; uint32_t ix = locate_object_entry_hash(pdata, - entry->idx.oid.hash, + &entry->idx.oid, &found); if (found) @@ -68,7 +68,7 @@ static void rehash_objects(struct packing_data *pdata) } struct object_entry *packlist_find(struct packing_data *pdata, - const unsigned char *sha1, + const struct object_id *oid, uint32_t *index_pos) { uint32_t i; @@ -77,7 +77,7 @@ struct object_entry *packlist_find(struct packing_data *pdata, if (!pdata->index_size) return NULL; - i = locate_object_entry_hash(pdata, sha1, &found); + i = locate_object_entry_hash(pdata, oid, &found); if (index_pos) *index_pos = i; diff --git a/pack-objects.h b/pack-objects.h index 6fde7ce27c..857d43850b 100644 --- a/pack-objects.h +++ b/pack-objects.h @@ -187,7 +187,7 @@ struct object_entry *packlist_alloc(struct packing_data *pdata, uint32_t index_pos); struct object_entry *packlist_find(struct packing_data *pdata, - const unsigned char *sha1, + const struct object_id *oid, uint32_t *index_pos); static inline uint32_t pack_name_hash(const char *name) diff --git a/packfile.c b/packfile.c index c0d83fdfed..1a7d69fe32 100644 --- a/packfile.c +++ b/packfile.c @@ -17,6 +17,7 @@ #include "object-store.h" #include "midx.h" #include "commit-graph.h" +#include "promisor-remote.h" char *odb_pack_name(struct strbuf *buf, const unsigned char *sha1, @@ -287,13 +288,6 @@ static int unuse_one_window(struct packed_git *current) return 0; } -void release_pack_memory(size_t need) -{ - size_t cur = pack_mapped; - while (need >= (cur - pack_mapped) && unuse_one_window(NULL)) - ; /* nothing */ -} - void close_pack_windows(struct packed_git *p) { while (p->windows) { @@ -355,6 +349,34 @@ void close_object_store(struct raw_object_store *o) close_commit_graph(o); } +void unlink_pack_path(const char *pack_name, int force_delete) +{ + static const char *exts[] = {".pack", ".idx", ".keep", ".bitmap", ".promisor"}; + int i; + struct strbuf buf = STRBUF_INIT; + size_t plen; + + strbuf_addstr(&buf, pack_name); + strip_suffix_mem(buf.buf, &buf.len, ".pack"); + plen = buf.len; + + if (!force_delete) { + strbuf_addstr(&buf, ".keep"); + if (!access(buf.buf, F_OK)) { + strbuf_release(&buf); + return; + } + } + + for (i = 0; i < ARRAY_SIZE(exts); i++) { + strbuf_setlen(&buf, plen); + strbuf_addstr(&buf, exts[i]); + unlink(buf.buf); + } + + strbuf_release(&buf); +} + /* * The LRU pack is the one with the oldest MRU window, preferring packs * with no used windows, or the oldest mtime if it has no windows allocated. @@ -682,23 +704,12 @@ void unuse_pack(struct pack_window **w_cursor) } } -static void try_to_free_pack_memory(size_t size) -{ - release_pack_memory(size); -} - struct packed_git *add_packed_git(const char *path, size_t path_len, int local) { - static int have_set_try_to_free_routine; struct stat st; size_t alloc; struct packed_git *p; - if (!have_set_try_to_free_routine) { - have_set_try_to_free_routine = 1; - set_try_to_free_routine(try_to_free_pack_memory); - } - /* * Make sure a corresponding .pack file exists and that * the index looks sane. @@ -2122,7 +2133,7 @@ int is_promisor_object(const struct object_id *oid) static int promisor_objects_prepared; if (!promisor_objects_prepared) { - if (repository_format_partial_clone) { + if (has_promisor_remote()) { for_each_packed_object(add_promisor_object, &promisor_objects, FOR_EACH_OBJECT_PROMISOR_ONLY); diff --git a/packfile.h b/packfile.h index 81e868d55a..fc7904ec81 100644 --- a/packfile.h +++ b/packfile.h @@ -96,6 +96,13 @@ void clear_delta_base_cache(void); struct packed_git *add_packed_git(const char *path, size_t path_len, int local); /* + * Unlink the .pack and associated extension files. + * Does not unlink if 'force_delete' is false and the pack-file is + * marked as ".keep". + */ +void unlink_pack_path(const char *pack_name, int force_delete); + +/* * Make sure that a pointer access into an mmap'd index file is within bounds, * and can provide at least 8 bytes of data. * diff --git a/parse-options-cb.c b/parse-options-cb.c index a3de795c58..1240a8514e 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -159,6 +159,23 @@ int parse_opt_tertiary(const struct option *opt, const char *arg, int unset) return 0; } +struct option *parse_options_dup(const struct option *o) +{ + struct option *opts; + int nr = 0; + + while (o && o->type != OPTION_END) { + nr++; + o++; + } + + ALLOC_ARRAY(opts, nr + 1); + memcpy(opts, o - nr, sizeof(*o) * nr); + memset(opts + nr, 0, sizeof(*opts)); + opts[nr].type = OPTION_END; + return opts; +} + struct option *parse_options_concat(struct option *a, struct option *b) { struct option *ret; diff --git a/parse-options.c b/parse-options.c index 87b26a1d92..b42f54d48b 100644 --- a/parse-options.c +++ b/parse-options.c @@ -780,7 +780,8 @@ int parse_options_step(struct parse_opt_ctx_t *ctx, continue; } - if (!arg[2]) { /* "--" */ + if (!arg[2] /* "--" */ || + !strcmp(arg + 2, "end-of-options")) { if (!(ctx->flags & PARSE_OPT_KEEP_DASHDASH)) { ctx->argc--; ctx->argv++; diff --git a/parse-options.h b/parse-options.h index ac6ba8abf9..38a33a087e 100644 --- a/parse-options.h +++ b/parse-options.h @@ -46,6 +46,15 @@ enum parse_opt_option_flags { PARSE_OPT_COMP_ARG = 1024 }; +enum parse_opt_result { + PARSE_OPT_COMPLETE = -3, + PARSE_OPT_HELP = -2, + PARSE_OPT_ERROR = -1, /* must be the same as error() */ + PARSE_OPT_DONE = 0, /* fixed so that "return 0" works */ + PARSE_OPT_NON_OPTION, + PARSE_OPT_UNKNOWN +}; + struct option; typedef int parse_opt_cb(const struct option *, const char *arg, int unset); @@ -241,15 +250,6 @@ const char *optname(const struct option *opt, int flags); /*----- incremental advanced APIs -----*/ -enum parse_opt_result { - PARSE_OPT_COMPLETE = -3, - PARSE_OPT_HELP = -2, - PARSE_OPT_ERROR = -1, /* must be the same as error() */ - PARSE_OPT_DONE = 0, /* fixed so that "return 0" works */ - PARSE_OPT_NON_OPTION, - PARSE_OPT_UNKNOWN -}; - /* * It's okay for the caller to consume argv/argc in the usual way. * Other fields of that structure are private to parse-options and should not @@ -276,6 +276,7 @@ int parse_options_step(struct parse_opt_ctx_t *ctx, int parse_options_end(struct parse_opt_ctx_t *ctx); +struct option *parse_options_dup(const struct option *a); struct option *parse_options_concat(struct option *a, struct option *b); /*----- some often used options -----*/ diff --git a/patch-ids.c b/patch-ids.c index c262e1be9c..e8c150d0c9 100644 --- a/patch-ids.c +++ b/patch-ids.c @@ -11,7 +11,7 @@ static int patch_id_defined(struct commit *commit) } int commit_patch_id(struct commit *commit, struct diff_options *options, - struct object_id *oid, int diff_header_only) + struct object_id *oid, int diff_header_only, int stable) { if (!patch_id_defined(commit)) return -1; @@ -22,7 +22,7 @@ int commit_patch_id(struct commit *commit, struct diff_options *options, else diff_root_tree_oid(&commit->object.oid, "", options); diffcore_std(options); - return diff_flush_patch_id(options, oid, diff_header_only); + return diff_flush_patch_id(options, oid, diff_header_only, stable); } /* @@ -46,11 +46,11 @@ static int patch_id_neq(const void *cmpfn_data, struct patch_id *b = (void *)entry_or_key; if (is_null_oid(&a->patch_id) && - commit_patch_id(a->commit, opt, &a->patch_id, 0)) + commit_patch_id(a->commit, opt, &a->patch_id, 0, 0)) return error("Could not get patch ID for %s", oid_to_hex(&a->commit->object.oid)); if (is_null_oid(&b->patch_id) && - commit_patch_id(b->commit, opt, &b->patch_id, 0)) + commit_patch_id(b->commit, opt, &b->patch_id, 0, 0)) return error("Could not get patch ID for %s", oid_to_hex(&b->commit->object.oid)); return !oideq(&a->patch_id, &b->patch_id); @@ -80,10 +80,10 @@ static int init_patch_id_entry(struct patch_id *patch, struct object_id header_only_patch_id; patch->commit = commit; - if (commit_patch_id(commit, &ids->diffopts, &header_only_patch_id, 1)) + if (commit_patch_id(commit, &ids->diffopts, &header_only_patch_id, 1, 0)) return -1; - hashmap_entry_init(patch, sha1hash(header_only_patch_id.hash)); + hashmap_entry_init(patch, oidhash(&header_only_patch_id)); return 0; } diff --git a/patch-ids.h b/patch-ids.h index 82a12b66f8..03bb04e707 100644 --- a/patch-ids.h +++ b/patch-ids.h @@ -20,7 +20,7 @@ struct patch_ids { }; int commit_patch_id(struct commit *commit, struct diff_options *options, - struct object_id *oid, int); + struct object_id *oid, int, int); int init_patch_ids(struct repository *, struct patch_ids *); int free_patch_ids(struct patch_ids *); struct patch_id *add_commit_patch_id(struct commit *, struct patch_ids *); @@ -1221,31 +1221,52 @@ static inline int chomp_trailing_dir_sep(const char *path, int len) } /* - * If path ends with suffix (complete path components), returns the - * part before suffix (sans trailing directory separators). - * Otherwise returns NULL. + * If path ends with suffix (complete path components), returns the offset of + * the last character in the path before the suffix (sans trailing directory + * separators), and -1 otherwise. */ -char *strip_path_suffix(const char *path, const char *suffix) +static ssize_t stripped_path_suffix_offset(const char *path, const char *suffix) { int path_len = strlen(path), suffix_len = strlen(suffix); while (suffix_len) { if (!path_len) - return NULL; + return -1; if (is_dir_sep(path[path_len - 1])) { if (!is_dir_sep(suffix[suffix_len - 1])) - return NULL; + return -1; path_len = chomp_trailing_dir_sep(path, path_len); suffix_len = chomp_trailing_dir_sep(suffix, suffix_len); } else if (path[--path_len] != suffix[--suffix_len]) - return NULL; + return -1; } if (path_len && !is_dir_sep(path[path_len - 1])) - return NULL; - return xstrndup(path, chomp_trailing_dir_sep(path, path_len)); + return -1; + return chomp_trailing_dir_sep(path, path_len); +} + +/* + * Returns true if the path ends with components, considering only complete path + * components, and false otherwise. + */ +int ends_with_path_components(const char *path, const char *components) +{ + return stripped_path_suffix_offset(path, components) != -1; +} + +/* + * If path ends with suffix (complete path components), returns the + * part before suffix (sans trailing directory separators). + * Otherwise returns NULL. + */ +char *strip_path_suffix(const char *path, const char *suffix) +{ + ssize_t offset = stripped_path_suffix_offset(path, suffix); + + return offset == -1 ? NULL : xstrndup(path, offset); } int daemon_avoid_alias(const char *p) @@ -193,4 +193,7 @@ const char *git_path_merge_head(struct repository *r); const char *git_path_fetch_head(struct repository *r); const char *git_path_shallow(struct repository *r); + +int ends_with_path_components(const char *path, const char *components); + #endif /* PATH_H */ @@ -293,7 +293,7 @@ To smoke out issues like these, Git tested with a translation mode that emits gibberish on every call to gettext. To use it run the test suite with it, e.g.: - cd t && GIT_TEST_GETTEXT_POISON=YesPlease prove -j 9 ./t[0-9]*.sh + cd t && GIT_TEST_GETTEXT_POISON=true prove -j 9 ./t[0-9]*.sh If tests break with it you should inspect them manually and see if what you're translating is sane, i.e. that you're not translating @@ -135,6 +135,10 @@ # idx - index of pack file, 1 index per 1 packfile # midx - multi-pack index, for objects across multiple packfiles # overlay mode - припокриващ режим (при изтеглÑнe) +# incremental file нараÑтващ файл +# split (commit-graphr) раздробен (граф Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ) +# clobber (a tag) презапиÑвам (етикет) +# blame извеждане на авторÑтво # ------------------------ # „$var“ - може да не Ñработва за shell има gettext и eval_gettext - проверка - намират Ñе леÑно по „$ # ------------------------ @@ -153,8 +157,8 @@ msgid "" msgstr "" "Project-Id-Version: git 2.22\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" -"PO-Revision-Date: 2019-06-05 08:50+0200\n" +"POT-Creation-Date: 2019-08-10 12:25+0300\n" +"PO-Revision-Date: 2019-08-10 12:33+0300\n" "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" "Language: bg\n" @@ -163,37 +167,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sподÑказка: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "Отбирането на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ðµ блокирано от неÑлети файлове." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "Подаването е блокирано от неÑлети файлове." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "Сливането е блокирано от неÑлети файлове." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "Издърпването е блокирано от неÑлети файлове." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "ОтмÑната е блокирана от неÑлети файлове." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "ДейÑтвието „%s“ е блокирано от неÑлети файлове." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -201,38 +205,45 @@ msgstr "" "Редактирайте ги в работното дърво, и тогава ползвайте „git add/rm ФÐЙЛ“,\n" "за да отбележите коригирането им. След това извършете подаването." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Изход от програмата заради некоригиран конфликт." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Ðе Ñте завършили Ñливане. (УказателÑÑ‚ „MERGE_HEAD“ ÑъщеÑтвува)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Промените трÑбва да Ñе подадат преди Ñливане." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Изход от програмата заради незавършено Ñливане." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" "\n" -" git checkout -b <new-branch-name>\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"Бележка: изтеглÑне на „%s“.\n" +"Бележка: преминаване към „%s“.\n" "\n" "УказателÑÑ‚ „HEAD“ не е Ñвързан. Може да разглеждате, да правите произволни\n" "промени и да ги подавате. Ðко изтеглите нещо друго, вÑички промени ще " @@ -240,11 +251,18 @@ msgstr "" "забравени и никой клон нÑма да Ñе промени.\n" "\n" "Ðко иÑкате да Ñъздадете нов клон, за да запазите подаваниÑта Ñи, можете да\n" -"направите това като зададете име на клон към опциÑта „-b“ на командата\n" -"„commit“. Ðапример:\n" +"направите това като зададете име на клон към опциÑта „-c“ на командата\n" +"„switch“. Ðапример:\n" +"\n" +" git switch -c ИМЕ_ÐÐ_ÐОВ_КЛОÐ\n" +"\n" +"Може да отмените това дейÑтвие Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð°:\n" "\n" -" git checkout -b ИМЕ_ÐÐ_ÐОВ_КЛОÐ\n" +" git switch -\n" "\n" +"Може да Ñпрете това Ñъобщение ÑÑŠÑ Ð·Ð°Ð´Ð°Ð²Ð°Ð½Ðµ на наÑтройката „advice." +"detachedHead“\n" +"да е „false“.\n" #: alias.c:50 msgid "cmdline ends with \\" @@ -254,100 +272,100 @@ msgstr "командниÑÑ‚ ред завършва Ñ â€ž/“" msgid "unclosed quote" msgstr "кавичка без еш" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "непозната Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° знаците за интервали „%s“" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "непозната Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° игнориране на знаците за интервали „%s“" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "опциите „--reject“ и „--3way“ Ñа неÑъвмеÑтими" -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "опциите „--cached“ и „--3way“ Ñа неÑъвмеÑтими" -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "като „--3way“, но извън хранилище" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "като „--index“, но извън хранилище" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "като „--cached“, но извън хранилище" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "РегулÑрниÑÑ‚ израз за времето „%s“ не може за бъде компилиран" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "РегулÑрниÑÑ‚ израз върна %d при подадена поÑледователноÑÑ‚ „%s“ на входа" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "ЛипÑва име на файл на ред %d от кръпката" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %2$d Ñе очакваше „/dev/" "null“, а бе получен „%1$s“" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d бе получено " "неправилно име на нов файл" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d бе получено " "неправилно име на Ñтар файл" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d Ñе очакваше „/dev/" "null“" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "грешен режим на ред â„–%d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "неÑъвмеÑтими заглавни чаÑти на редове â„–%d и â„–%d" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "при повторното преброÑване бе получен неочакван ред: „%.*s“" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "чаÑÑ‚ от кръпка без заглавна чаÑÑ‚ на ред %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -362,71 +380,71 @@ msgstr[1] "" "След Ñъкращаването на първите %d чаÑти от компонентите на пътÑ, в заглавната " "чаÑÑ‚ на „git diff“ липÑва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° име на файл (ред: %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "" "в заглавната чаÑÑ‚ на „git diff“ липÑва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° име на файл (ред: %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "новиÑÑ‚ файл завиÑи от Ñтарото Ñъдържание на файла" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "изтритиÑÑ‚ файл не е празен" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "грешка в кръпката на ред %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "новиÑÑ‚ файл „%s“ завиÑи от Ñтарото Ñъдържание на файла" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "изтритиÑÑ‚ файл „%s“ не е празен" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "◠предупреждение: файлът „%s“ вече е празен, но не е изтрит" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "грешка в двоичната кръпка на ред %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "неразпозната двоичната кръпка на ред %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "кръпката е Ñ Ð¸Ð·Ñ†Ñло повредени данни на ред %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "Ñимволната връзка „%s“ не може да бъде прочетена" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "файлът „%s“ не може да бъде отворен или прочетен" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "неправилно начало на ред: „%c“" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." @@ -435,13 +453,13 @@ msgstr[0] "" msgstr[1] "" "%d-то парче код бе уÑпешно приложено на ред %d (отмеÑтване от %d реда)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "" "КонтекÑтът е намален на (%ld/%ld) за прилагането на парчето код на ред %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -450,317 +468,317 @@ msgstr "" "при търÑене за:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "липÑват данните за двоичната кръпка за „%s“" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "двоичната кръпка не може да Ñе приложи в обратна поÑока, когато обратното " "парче за „%s“ липÑва" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "към „%s“ не може да Ñе приложи двоична кръпка без пълен индекÑ" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "кръпката ÑъответÑтва на „%s“ (%s), който не Ñъвпада по Ñъдържание." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "кръпката ÑъответÑтва на „%s“, който трÑбва да е празен, но не е" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "" "необходимиÑÑ‚ резултат Ñлед операциÑта — „%s“ за „%s“ не може да бъде " "прочетен" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "двоичната кръпка не може да бъде приложена върху „%s“" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "двоичната кръпка за „%s“ води до неправилни резултати (очакваше Ñе: „%s“, а " "бе получено: „%s“)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "неуÑпешно прилагане на кръпка: „%s:%ld“" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "„%s“ не може да Ñе изтегли" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "файлът „%s“ не може да бъде прочетен" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "изчитане на „%s“ Ñлед проÑледÑване на Ñимволна връзка" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "обектът Ñ Ð¿ÑŠÑ‚ „%s“ е преименуван или изтрит" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "„%s“ не ÑъщеÑтвува в индекÑа" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "„%s“ не ÑъответÑтва на индекÑа" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "в хранилището липÑват необходимите обекти-BLOB, за да Ñе премине към тройно " "Ñливане." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Преминаване към тройно Ñливане…\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "текущото Ñъдържание на „%s“ не може да бъде прочетено" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "ÐеуÑпешно преминаване към тройно Ñливане…\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Конфликти при прилагането на кръпката към „%s“.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Кръпката бе приложена чиÑто към „%s“.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "изтриващата кръпка оÑÑ‚Ð°Ð²Ñ Ñ„Ð°Ð¹Ð»Ð° непразен" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "„%s“: неправилен вид" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "„%s“ е от вид „%o“, а Ñе очакваше „%o“" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "неправилен път: „%s“" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "„%s“: вече ÑъщеÑтвува в индекÑа" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "„%s“: вече ÑъщеÑтвува в работното дърво" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "новите права за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "" "новите права за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o) на „%s“" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "заÑегнатиÑÑ‚ файл „%s“ е Ñлед Ñимволна връзка" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "Кръпката „%s“ не може да бъде приложена" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "ПроверÑване на кръпката „%s“…" -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "" "информациÑта за Ñумата по SHA1 за подмодула липÑва или не е доÑтатъчна (%s)." -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "ÑмÑна на режима на доÑтъпа на „%s“, който не е в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð²Ñ€ÑŠÑ… „HEAD“" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "информациÑта за Ñумата по SHA1 липÑва или не е доÑтатъчна (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "неуÑпешно Ñъздаване на Ð·Ð°Ð¿Ð¸Ñ Ð² кеша чрез „make_cache_entry“ за „%s“" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "„%s“ не може да Ñе добави към Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "временниÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да Ñе запази в „%s“" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "„%s“ не може да Ñе извади от индекÑа" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "повредена кръпка за модула „%s“" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "" "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „stat“ за новоÑÑŠÐ·Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" "не може да Ñе за Ñъздаде мÑÑтото за Ñъхранение на новоÑÑŠÐ·Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "не може да Ñе добави Ð·Ð°Ð¿Ð¸Ñ Ð² кеша за „%s“" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "в „%s“ не може да Ñе пише" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "затварÑне на файла „%s“" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "файлът „%s“ не може да Ñе запише Ñ Ñ€ÐµÐ¶Ð¸Ð¼ на доÑтъп „%o“" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Кръпката „%s“ бе приложена чиÑто." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "вътрешна грешка" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Прилагане на кръпката „%%s“ Ñ %d отхвърлено парче…" msgstr[1] "Прилагане на кръпката „%%s“ Ñ %d отхвърлени парчета…" -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "Ñъкращаване на името на файла Ñ Ð¾Ñ‚Ñ…Ð²ÑŠÑ€Ð»ÐµÐ½Ð¸Ñ‚Ðµ парчета на „ %.*s.rej“" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "„%s“ не може да бъде отворен" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "%d-то парче бе уÑпешно приложено." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "%d-то парче бе отхвърлено." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "ПропуÑната кръпка: „%s“" -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "непознат вход" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "индекÑÑŠÑ‚ не може да бъде запиÑан" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "кръпката „%s“ не може да бъде отворена: %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "пренебрегната е %d грешка в знаците за интервали" msgstr[1] "пренебрегнати Ñа %d грешки в знаците за интервали" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d ред Ð´Ð¾Ð±Ð°Ð²Ñ Ð³Ñ€ÐµÑˆÐºÐ¸ в знаците за интервали." msgstr[1] "%d реда добавÑÑ‚ грешки в знаците за интервали." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." @@ -769,144 +787,144 @@ msgstr[0] "" msgstr[1] "" "Добавени Ñа %d реда Ñлед корекциÑта на грешките в знаците за интервали." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "ÐовиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запиÑан" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "път" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "без прилагане на промените напаÑващи на Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ð¿ÑŠÑ‚" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "прилагане на промените напаÑващи на Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ð¿ÑŠÑ‚" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "БРОЙ" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "премахване на този БРОЙ водещи елементи от пътищата в разликата" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "игнориране на редовете добавени от тази кръпка" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "извеждане на ÑтатиÑтика на промените без прилагане на кръпката" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "извеждане на Ð±Ñ€Ð¾Ñ Ð½Ð° добавените и изтритите редове" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "извеждане на ÑтатиÑтика на входните данни без прилагане на кръпката" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "проверка дали кръпката може да Ñе приложи, без дейÑтвително прилагане" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "проверка дали кръпката може да бъде приложена към Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "отбелÑзване на новите файлове Ñ â€žgit add --intent-to-add“" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "прилагане на кръпката без промÑна на работното дърво" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "прилагане на кръпка, коÑто Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¸ файлове извън работното дърво" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" "кръпката да бъде приложена. ОпциÑта Ñе комбинира Ñ â€ž--check“/„--stat“/„--" "summary“" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "пробване Ñ Ñ‚Ñ€Ð¾Ð¹Ð½Ð¾ Ñливане, ако кръпката не може да Ñе приложи директно" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" "Ñъздаване на временен Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° база на включената Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° индекÑа" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "разделÑне на пътищата Ñ Ð½ÑƒÐ»ÐµÐ²Ð¸Ñ Ð·Ð½Ð°Ðº „NUL“" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "да Ñе оÑигури контекÑÑ‚ от поне такъв БРОЙ Ñъвпадащи редове" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "дейÑтвие" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "заÑичане на нови или променени редове Ñ Ð³Ñ€ÐµÑˆÐºÐ¸ в знаците за интервали" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "" "игнориране на промените в знаците за интервали при откриване на контекÑта" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "прилагане на кръпката в обратна поÑока" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "без изиÑкване на дори и един ред контекÑÑ‚" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "оÑтавÑне на отхвърлените парчета във файлове Ñ Ñ€Ð°Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ðµ „.rej“" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "позволÑване на заÑтъпващи Ñе парчета" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "повече подробноÑти" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "пренебрегване на неправилно липÑващ знак за нов ред в ÐºÑ€Ð°Ñ Ð½Ð° файл" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "без доверÑване на номерата на редовете в заглавните чаÑти на парчетата" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "ÐÐЧÐЛÐÐ_ДИРЕКТОРИЯ" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "добавÑне на тази ÐÐЧÐЛÐÐ_ДИРЕКТОРИЯ към имената на вÑички файлове" @@ -949,98 +967,98 @@ msgstr "неправилно име на обект: „%s“" msgid "not a tree object: %s" msgstr "не е обект-дърво: %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "текущата работна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ðµ е Ñледена" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "ФОРМÐТ" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "ФОРМÐТ на архива" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "ПРЕФИКС" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "добавÑне на този ПРЕФИКС към вÑеки път в архива" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "ФÐЙЛ" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "запазване на архива в този ФÐЙЛ" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "изчитане на „.gitattributes“ в работната директориÑ" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "извеждане на архивираните файлове на Ñтандартната грешка" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "Ñамо Ñъхранение без компреÑиране" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "бързо компреÑиране" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "добро компреÑиране" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "извеждане на ÑпиÑъка Ñ Ð¿Ð¾Ð´Ð´ÑŠÑ€Ð¶Ð°Ð½Ð¸Ñ‚Ðµ формати" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "хранилище" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "изтеглÑне на архива от отдалеченото ХРÐÐИЛИЩЕ" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "команда" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "път към отдалечената команда „git-upload-archive“" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Ðеочаквана Ð¾Ð¿Ñ†Ð¸Ñ â€ž--remote“" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "ОпциÑта „--exec“ изиÑква „--remote“" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Ðеочаквана Ð¾Ð¿Ñ†Ð¸Ñ â€ž--output“" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Ðепознат формат на архив: „%s“" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Ðргументът не Ñе поддържа за форма̀та „%s“: -%d" @@ -1084,7 +1102,7 @@ msgstr "пътÑÑ‚ не е правилно кодиран в UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "твърде дълъг път (%d знака, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "грешка при декомпреÑиране Ñ â€ždeflate“ (%d)" @@ -1186,12 +1204,12 @@ msgstr "Двоично търÑене: трÑбва да Ñе провери бРmsgid "a %s revision is needed" msgstr "необходима е верÑÐ¸Ñ â€ž%s“" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "файлът „%s“ не може да бъде Ñъздаден" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "файлът „%s“ не може да бъде прочетен" @@ -1231,41 +1249,41 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "Двоично търÑене: оÑтава %d верÑÐ¸Ñ Ñлед тази %s\n" msgstr[1] "Двоично търÑене: оÑтават %d верÑии Ñлед тази %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "Опциите „--contents“ и „--reverse“ Ñа неÑъвмеÑтими" -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "ОпциÑта „--contents“ е неÑъвмеÑтима Ñ Ð¸Ð¼Ðµ на обект от крайно подаване" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "Едновременното задаване на опциите „--reverse“ и „--first-parent“ изиÑква " "указването на крайно подаване" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "неуÑпешно наÑтройване на обхождането на верÑиите" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "Едновременното задаване на опциите „--reverse“ и „--first-parent“ изиÑква " "указването на диапазон по веригата на първите наÑледници" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "нÑма път на име „%s“ в „%s“" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "обектът-BLOB „%s“ в Ð¿ÑŠÑ‚Ñ %s не може да бъде прочетен" @@ -1398,12 +1416,12 @@ msgstr "Името на обект не е еднозначно: „%s“" msgid "Not a valid branch point: '%s'." msgstr "Ðеправилно мÑÑто за начало на клон: „%s“" -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "„%s“ вече е изтеглен в „%s“" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "УказателÑÑ‚ „HEAD“ на работното дърво „%s“ не е обновен" @@ -1418,8 +1436,8 @@ msgstr "Файлът „%s“ не изглежда да е пратка на gi msgid "unrecognized header: %s%s (%d)" msgstr "непозната заглавна чаÑÑ‚: %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "„%s“ не може да Ñе отвори" @@ -1428,61 +1446,65 @@ msgstr "„%s“ не може да Ñе отвори" msgid "Repository lacks these prerequisite commits:" msgstr "Ð’ хранилището липÑват Ñледните необходими подаваниÑ:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "за проверката на пратка е необходимо хранилище" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "Пратката Ñъдържа ÑÐ»ÐµÐ´Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»:" msgstr[1] "Пратката Ñъдържа Ñледните %d указатели:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "Пратката Ñъдържа пълна иÑториÑ." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "Пратката изиÑква ÑÐ»ÐµÐ´Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»:" msgstr[1] "Пратката изиÑква Ñледните %d указатели:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "неуÑпешно дублиране на деÑкриптора на пратката Ñ â€ždup“" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Командата „git pack-objects“ не може да бъде Ñтартирана" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "Командата „git pack-objects“ не завърши уÑпешно" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "Командата „git rev-list“ не завърши уÑпешно" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "" "указателÑÑ‚ „%s“ не е бил включен поради опциите зададени на „git rev-list“" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "непознат аргумент: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Създаването на празна пратка е невъзможно." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "Файлът „%s“ не може да бъде Ñъздаден" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "Командата „git index-pack“ не завърши уÑпешно" @@ -1491,8 +1513,8 @@ msgstr "Командата „git index-pack“ не завърши уÑпешн msgid "invalid color value: %.*s" msgstr "неправилна ÑтойноÑÑ‚ за цвÑÑ‚: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "„%s“ не може да Ñе анализира" @@ -1502,7 +1524,7 @@ msgstr "„%s“ не може да Ñе анализира" msgid "%s %s is not a commit!" msgstr "%s %s не е подаване!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1525,29 +1547,29 @@ msgstr "" "\n" " git config advice.graftFileDeprecated false" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Подаването „%s“ е Ñ Ð½ÐµÐ´Ð¾Ð²ÐµÑ€ÐµÐ½ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¾Ñ‚ GPG, който твърди, че е на „%s“." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" "Подаването „%s“ е Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¾Ñ‚ GPG, който твърди, че е на „%s“." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Подаването „%s“ е без Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¾Ñ‚ GPG." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Подаването „%s“ е Ñ ÐºÐ¾Ñ€ÐµÐºÑ‚ÐµÐ½ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¾Ñ‚ GPG на „%s“.\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1557,180 +1579,237 @@ msgstr "" "Може да поправите подаването заедно ÑÑŠÑ Ñъобщението или може да\n" "зададете ползваното кодиране в наÑтройката „i18n.commitencoding“.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "файлът Ñ Ð³Ñ€Ð°Ì€Ñ„Ð° на подаваниÑта е твърде малък" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "отпечатъкът на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта %X не Ñъвпада Ñ %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "верÑиÑта на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта %X не Ñъвпада Ñ %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "верÑиÑта на контролната Ñума на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта %X не Ñъвпада Ñ %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "запиÑÑŠÑ‚ в таблицата за откъÑи липÑва, файлът за гра̀фа може да е непълен" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "неправилно отмеÑтване на откъÑ: %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "откъÑÑŠÑ‚ %08x Ñе ÑвÑва многократно" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "базовиÑÑ‚ Ð¾Ñ‚ÐºÑŠÑ Ð»Ð¸Ð¿Ñва в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "веригата на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не Ñъвпада" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "" +"грешка във веригата на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта: ред „%s“ не е контролна Ñума" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "нÑкои файлове на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не могат да бъдат открити" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "" +"неправилна Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð½Ð° подаването. ВероÑтно графът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е повреден" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "подаването „%s“ не може да бъде открито" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "видът на обекта „%s“ не може да бъде определен" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Зареждане на познатите Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "РазширÑване на доÑтижимите Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² гра̀фа" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "ИзчиÑтване на отбелÑзваниÑта на подаваниÑта в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "ИзчиÑлÑване на номерата на поколениÑта в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Откриване на подаваниÑта в гра̀фа в %d пакетен файл" msgstr[1] "Откриване на подаваниÑта в гра̀фа в %d пакетни файла" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "грешка при добавÑне на пакетен файл „%s“" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "грешка при отварÑне на индекÑа на „%s“" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "Откриване на подаваниÑта в гра̀фа измежду %d указател" msgstr[1] "Откриване на подаваниÑта в гра̀фа измежду %d указатели" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "Откриване на подаваниÑта в гра̀фа измежду пакетираните обекти" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "ПреброÑване на различните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² гра̀фа" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "форматът на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да запише %d подаваниÑ" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Откриване на още върхове в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "прекалено много Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð·Ð° запиÑване на гра̀фа" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "правилниÑÑ‚ брой на базовите идентификатори не може да Ñе запише" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "родителÑките директории на „%s“ не могат да бъдат Ñъздадени" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "пакетниÑÑ‚ файл „%s“ не може да бъде Ñъздаден" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Запазване на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта в %d паÑ" msgstr[1] "Запазване на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта в %d паÑа" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "файлът Ñ Ð²ÐµÑ€Ð¸Ð³Ð°Ñ‚Ð° на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да Ñе отвори" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "оÑновниÑÑ‚ файл на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да бъде преименуван" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "временниÑÑ‚ файл на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да бъде преименуван" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "ТърÑене на подаваниÑта ÑÑŠÑ ÑливаниÑ" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "неочакван, повтарÑщ Ñе идентификатор на подаване: %s" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "Сливане на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "форматът на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да запише %d подаваниÑ" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "прекалено много Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð·Ð° запиÑване на гра̀фа" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "графът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е Ñ Ð³Ñ€ÐµÑˆÐ½Ð° Ñума за проверка — вероÑтно е повреден" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "" "неправилна подредба на обектите по идентификатор в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта: „%s“ " "е преди „%s“, а не трÑбва" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" "неправилна ÑтойноÑÑ‚ за Ð¾Ñ‚ÐºÑŠÑ Ð² гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта: fanout[%d] = %u, а " "трÑбва да е %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "подаване „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да Ñе анализира" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Проверка на подаваниÑта в гра̀фа" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "подаване „%s“ в базата от данни към гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да Ñе " "анализира" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" "идентификаторът на обект за кореновото дърво за подаване „%s“ в гра̀фа Ñ " "подаваниÑта е „%s“, а трÑбва да е „%s“" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "ÑпиÑъкът Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ð¸ на „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е прекалено дълъг" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "родителÑÑ‚ на „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е „%s“, а трÑбва да е „%s“" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "ÑпиÑъкът Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ð¸ на „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е прекалено къÑ" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" @@ -1738,7 +1817,7 @@ msgstr "" "номерът на поколението на подаване „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е 0, а другаде " "не е" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" @@ -1746,14 +1825,14 @@ msgstr "" "номерът на поколението на подаване „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не е 0, а " "другаде е" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "" "номерът на поколението на подаване „%s“ в гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е %u, а " "другаде е %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1764,7 +1843,7 @@ msgstr "" msgid "memory exhausted" msgstr "паметта Ñвърши" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1779,162 +1858,162 @@ msgstr "" " %s\n" "Това може да Ñе дължи на зациклÑне при вмъкването." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "пътÑÑ‚ за вмъкване „%s“не може да бъде разширен" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "отноÑителните Ð²Ð¼ÑŠÐºÐ²Ð°Ð½Ð¸Ñ Ð½Ð° конфигурации трÑбва да идват от файлове" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "отноÑителните уÑловни изрази за вмъкване трÑбва да идват от файлове" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "ключът не Ñъдържа раздел: „%s“" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "ключът не Ñъдържа име на променлива: „%s“" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "неправилен ключ: „%s“" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "неправилен ключ (нов ред): „%s“" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "неправилен конфигурационен параметър: „%s“" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "неправилен формат в „%s“" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "неправилен ред за наÑтройки %d в BLOB „%s“" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "неправилен ред за наÑтройки %d във файла „%s“" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "неправилен ред за наÑтройки %d на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "неправилен ред за наÑтройки %d в BLOB за подмодул „%s“" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "неправилен ред за наÑтройки %d на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ „%s“" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "неправилен ред за наÑтройки %d в „%s“" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "извън диапазона" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "неправилна мерна единица" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“: %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ в BLOB „%s“: %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ във файла „%s“: %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´: %s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ в BLOB от подмодул „%s“: %s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ „%s“: %s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "неправилна чиÑлова ÑтойноÑÑ‚ „%s“ за „%s“ в %s: %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "домашната папка на Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð½Ðµ може да бъде открита: „%s“" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "„%s“ не е правилна ÑтойноÑÑ‚ за време за „%s“" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "дължината на Ñъкращаване е извън интервала ([4; 40]): %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "неправилно ниво на компреÑиране: %d" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "наÑтройката „core.commentChar“ трÑбва да е Ñамо един знак" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "неправилен режим за Ñъздаването на обекти: %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "неправилна ÑтойноÑÑ‚ за „%s“" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "неправилна ÑтойноÑÑ‚ за „%s“: „%s“" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "" "трÑбва да е една от Ñледните ÑтойноÑти: „nothing“ (без изтлаÑкване при липÑа " @@ -1942,139 +2021,139 @@ msgstr "" "„simple“ (клонът ÑÑŠÑ Ñъщото име, от който Ñе издърпва), „upstream“ (клонът, " "от който Ñе издърпва) или „current“ (клонът ÑÑŠÑ Ñъщото име)" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "неправилно ниво на компреÑиране при пакетиране: %d" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "обектът-BLOB „%s“ Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ не може да Ñе зареди" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "указателÑÑ‚ „%s“ не Ñочи към обект-BLOB" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "обектът-BLOB „%s“ Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ не може да бъде открит" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "„%s“ не може да бъде анализиран" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "неправилни наÑтройки от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "неочаквана грешка при изчитането на конфигурационните файлове" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "Ðеправилен %s: „%s“" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "непозната ÑтойноÑÑ‚ „%s“ за наÑтройката „core.untrackedCache“. Ще Ñе ползва " "Ñтандартната ÑтойноÑÑ‚ „keep“ (запазване)" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "" "ÑтойноÑтта на „splitIndex.maxPercentChange“ трÑбва да е между 1 и 100, а не " "%d" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "неразпозната ÑтойноÑÑ‚ „%s“ от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "неправилна наÑтройка „%s“ във файла „%s“ на ред â„–%d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "неправилно име на раздел: „%s“" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "зададени Ñа нÑколко ÑтойноÑти за „%s“" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "новиÑÑ‚ конфигурационен файл „%s“ не може да бъде запазен" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "конфигурационниÑÑ‚ файл „%s“ не може да бъде заключен" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "отварÑне на „%s“" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "неправилен шаблон: %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "неправилен конфигурационен файл: „%s“" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "неуÑпешно изпълнение на „fstat“ върху „%s“" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "неуÑпешно изпълнение на „mmap“ върху „%s“" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "неуÑпешна ÑмÑна на права Ñ â€žchmod“ върху „%s“" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "конфигурационниÑÑ‚ файл „%s“ не може да бъде запиÑан" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "„%s“ не може да Ñе зададе да е „%s“" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "„%s“ не може да Ñе премахне" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "неправилно име на раздел: %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "липÑва ÑтойноÑÑ‚ за „%s“" @@ -2243,19 +2322,19 @@ msgstr "необичайниÑÑ‚ път „%s“ е блокиран" msgid "unable to fork" msgstr "неуÑпешно Ñъздаване на процеÑ" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Проверка на ÑвързаноÑтта" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "Командата „git rev-list“ не може да бъде изпълнена." -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "неуÑпешен Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° ÑпиÑъка Ñ Ð²ÐµÑ€Ñиите" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "ÑтандартниÑÑ‚ вход на ÑпиÑъка Ñ Ð²ÐµÑ€Ñиите не може да бъде затворен" @@ -2484,7 +2563,7 @@ msgstr "" "регулÑрниÑÑ‚ израз на групата в ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñъдържа повече от " "макÑимално поддържаните (%d) прихващащи групи" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "ОтбелÑзани Ñа %d групи, работата приключи.\n" @@ -2566,38 +2645,38 @@ msgstr "" "Грешки в наÑтройката „diff.dirstat“:\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "" "външната програма за разлики завърши неуÑпешно. Спиране на работата при „%s“" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "" "Опциите „--name-only“, „--name-status“, „--check“ и „-s“ Ñа неÑъвмеÑтими " "една Ñ Ð´Ñ€ÑƒÐ³Ð°" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "Опциите „-G“, „-S“ и „--find-object“ Ñа неÑъвмеÑтими една Ñ Ð´Ñ€ÑƒÐ³Ð°" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "ОпциÑта „--follow“ изиÑква точно един път" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "неправилна ÑтойноÑÑ‚ за „--stat“: %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "опциÑта „%s“ очаква чиÑло за аргумент" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2606,44 +2685,44 @@ msgstr "" "Ðеразпознат параметър към опциÑта „--dirstat/-X“:\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "непознат вид промÑна: „%c“ в „--diff-filter=%s“" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "непозната ÑтойноÑÑ‚ Ñлед „ws-error-highlight=%.*s“" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "„%s“ не може да Ñе открие" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "" "опциÑта „%s“ изиÑква ÑтойноÑти за МИÐИМÐЛЕÐ_%%_ПРОМЯÐÐ_ЗÐ_ИЗТОЧÐИК_/" "МÐКСИМÐЛЕÐ_%%_ПРОМЯÐÐ_ЗÐ_ЗÐМЯÐРот" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "опциÑта „%s“ изиÑква знак, а не: „%s“" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "неправилен аргумент за „--color-moved“: „%s“" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "неправилен режим „%s“ за „ --color-moved-ws“" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2652,153 +2731,153 @@ msgstr "" "МайерÑ), „minimal“ (минимизиране на разликите), „patience“ (паÑианÑ) и " "„histogram“ (хиÑтограмен)" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "неправилен аргумент към „%s“" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "неразпознат параметър към опциÑта „--submodule“: „%s“" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "неправилен аргумент към „--word-diff“: „%s“" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Формат на изхода за разликите" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "Ñъздаване на кръпки" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "без извеждане на разликите" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "БРОЙ" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "файловете Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸ да Ñа Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑÑ‚ Ñ Ñ‚Ð°ÐºÑŠÐ² БРОЙ редове" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "файловете Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸ да Ñа в Ñуров формат" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "пÑевдоним на „-p --stat“" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "пÑевдоним на „-p --stat“" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "„--stat“ във формат за четене от програма" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "извеждане Ñамо на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ñ€ÐµÐ´ на „--stat“" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "ПÐÐ ÐМЕТЪР_1, ПÐÐ ÐМЕТЪР_2, …" -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "извеждане на разпределението на промените за вÑÑка поддиректориÑ" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "пÑевдоним на „--dirstat=cumulative“" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "пÑевдоним на „--dirstat=ФÐЙЛОВЕ,ПÐÐ ÐМЕТЪР_1,ПÐÐ ÐМЕТЪР_2,…“" -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "предупреждаване, ако промените водÑÑ‚ до маркери за конфликт или грешки в " "празните знаци" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" "Ñъкратено резюме на Ñъздадените, преименуваните и файловете Ñ Ð¿Ñ€Ð¾Ð¼Ñна на " "режима на доÑтъп" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "извеждане Ñамо на имената на променените файлове" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "извеждане Ñамо на имената и ÑтатиÑтиката за променените файлове" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "ШИРОЧИÐÐ[,ИМЕ-ШИРОЧИÐÐ[,БРОЙ]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "извеждане на ÑтатиÑтика за промените" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "ШИРОЧИÐÐ" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "ÑтатиÑтика Ñ Ñ‚Ð°ÐºÐ°Ð²Ð° ШИРОЧИÐРза промените" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "ÑтатиÑтика за промените Ñ Ñ‚Ð°ÐºÐ°Ð²Ð° ШИРОЧИÐРна имената" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "ÑтатиÑтика за промените Ñ Ñ‚Ð°ÐºÐ°Ð²Ð° ШИРОЧИÐРна гра̀фа" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "БРОЙ" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "ограничаване на Ð‘Ð ÐžÑ Ð½Ð° редовете в ÑтатиÑтиката за промените" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "кратко резюме в ÑтатиÑтиката за промените" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "извеждане на двоична разлика във вид за прилагане" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" "показване на пълните имена на обекти в редовете за индекÑа при вариантите " "преди и Ñлед промÑната" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "разлики в цвÑÑ‚" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "ВИД" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2806,7 +2885,7 @@ msgstr "" "грешките в празните знаци да Ñе указват в редовете за контекÑта, вариантите " "преди и Ñлед разликата," -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2814,257 +2893,257 @@ msgstr "" "без преименуване на пътищата. Да Ñе използват нулеви байтове за разделители " "на полета в изхода при ползване на опциÑта „--raw“ или „--numstat“" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "ПРЕФИКС" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð²Ð¼ÐµÑто „a/“ за източник" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð²Ð¼ÐµÑто „b/“ за цел" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "добавÑне на допълнителен Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° вÑеки ред на изхода" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "без Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° източника и целта" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "извеждане на контекÑÑ‚ между поÑледователните парчета Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸ от ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ " "БРОЙ редове" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "ЗÐÐК" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "знак вмеÑто „+“ за нов вариант на ред" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "знак вмеÑто „-“ за Ñтар вариант на ред" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "знак вмеÑто „ “ за контекÑÑ‚" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "ÐаÑтройки за разлики Ñ Ð¿Ñ€ÐµÐ¸Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ðµ" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "МИÐИМÐЛЕÐ_%_ПРОМЯÐÐ_ЗÐ_ИЗТОЧÐИК[/МÐКСИМÐЛEÐ_%_ПРОМЯÐÐ_ЗÐ_ЗÐМЯÐÐ]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "" "замеÑтване на пълните промени Ñ Ð¿Ð¾ÑледователноÑÑ‚ от изтриване и Ñъздаване" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "заÑичане на преименуваниÑта" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "без предварителен вариант при изтриване" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "заÑичане на копираниÑта" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "търÑене на копирано и от непроменените файлове" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "без търÑене на преименуваниÑ" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "празни обекти като източник при преименуваниÑ" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "" "продължаване на извеждането на иÑториÑта — без отрÑзването при Ð¿Ñ€ÐµÐ¸Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð¸Ñ " "на файл" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" msgstr "" "без заÑичане на преименуваниÑ/копираниÑ, ако броÑÑ‚ им надвишава тази ÑтойноÑÑ‚" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Опции към алгоритъма за разлики" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "търÑене на възможно най-малка разлика" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "без промени в празните знаци при ÑравнÑване на редове" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "без промени в празните знаци" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "без промени в празните знаци в ÐºÑ€Ð°Ñ Ð½Ð° редовете" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "без промени в знаците за край на ред" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "без промени в редовете, които Ñа изцÑло от празни знаци" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "" "евриÑтика за премеÑтване на границите на парчетата за улеÑнÑване на четенето" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "разлика чрез алгоритъм за подредба като паÑианÑ" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "разлика по хиÑÑ‚Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¸Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚ÑŠÐ¼" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "ÐЛГОРИТЪМ" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "избор на ÐЛГОРИТЪМа за разлики" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "ТЕКСТ" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "разлика чрез алгоритъма ÑÑŠÑ Ð·Ð°ÐºÐ¾Ñ‚Ð²Ñне" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "РЕЖИМ" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" "разлика по думи, като Ñе ползва този РЕЖИМ за отделÑнето на променените думи" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "РЕГУЛЯРЕÐ_ИЗРÐЗ" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "РЕГУЛЯРЕÐ_ИЗРÐЗ за разделÑне по думи" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "пÑевдоним на „--word-diff=color --word-diff-regex=РЕГУЛЯРЕÐ_ИЗРÐЗ“" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "различен цвÑÑ‚ за извеждане на премеÑтените редове" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "" "режим за преÑкачането на празните знаци при задаването на „--color-moved“" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Други опции за разлики" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "при изпълнение от Ð¿Ð¾Ð´Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð° Ñе пренебрегват разликите извън Ð½ÐµÑ Ð¸ да " "Ñе ползват отноÑителни пътища" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "обработка на вÑички файлове като текÑтови" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "размÑна на двата входа — обръщане на разликата" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "" "завършване Ñ ÐºÐ¾Ð´ за ÑÑŠÑтоÑние 1 при наличието на разлики, а в противен " "Ñлучай — Ñ 0" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "без вÑÑкакъв изход от програмата" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "позволÑване на изпълнение на външна помощна програма за разлики" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "изпълнение на външни програми-филтри при Ñравнението на двоични файлове" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "КОГÐ" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "игнориране на промените в подмодулите при извеждането на разликите" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "ФОРМÐТ" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "начин за извеждане на промените в подмодулите" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "без включване в индекÑа на запиÑите, добавени Ñ â€žgit add -N“" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "включване в индекÑа на запиÑите, добавени Ñ â€žgit add -N“" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "ÐИЗ" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" msgstr "търÑене на разлики, които променÑÑ‚ Ð±Ñ€Ð¾Ñ Ð½Ð° поÑва на указаните низове" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -3072,57 +3151,57 @@ msgstr "" "търÑене на разлики, които променÑÑ‚ Ð±Ñ€Ð¾Ñ Ð½Ð° поÑва на низовете, които напаÑват " "на регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "извеждане на вÑички промени Ñ â€ž-G“/„-S“" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "ÐИЗът към „-S“ да Ñе тълкува като разширен регулÑрен израз по POSIX" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "управление на подредбата на файловете в изхода" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "ИДЕÐТИФИКÐТОР_ÐÐ_ОБЕКТ" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" msgstr "търÑене на разлики, които променÑÑ‚ Ð±Ñ€Ð¾Ñ Ð½Ð° поÑва на ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð±ÐµÐºÑ‚" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "избор на файловете по вид разлика" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "ФÐЙЛ" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Изход към ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "търÑенето на Ð¿Ñ€ÐµÐ¸Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð¸Ñ Ð½Ð° обекти Ñъчетани Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸ Ñе преÑкача поради " "многото файлове." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" "уÑтановени Ñа Ñамо точните ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° променените пътища поради многото " "файлове." -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3226,32 +3305,32 @@ msgstr "невъзможно пиÑане към отдалечено храни msgid "--stateless-rpc requires multi_ack_detailed" msgstr "опциÑта „--stateless-rpc“ изиÑква „multi_ack_detailed“" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "неправилен плитък ред: „%s“" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "неправилен неплитък ред: „%s“" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "обектът „%s“ липÑва" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "грешка в обекта: „%s“" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "не е открит плитък обект: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "очаква Ñе плитък или не обект, а бе получено: „%s“" @@ -3270,7 +3349,7 @@ msgstr "неправилно подаване: „%s“" msgid "giving up" msgstr "преуÑтановÑване" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "дейÑтвието завърши" @@ -3311,157 +3390,133 @@ msgstr "неуÑпешно изпълнение на „%s“" msgid "error in sideband demultiplexer" msgstr "грешка в демултиплекÑора" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Сървърът не поддържа плитки клиенти" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Сървърът поддържа „multi_ack_detailed“" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Сървърът поддържа „no-done“" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Сървърът поддържа „multi_ack“" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Сървърът поддържа „side-band-64k“" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Сървърът поддържа „side-band“" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Сървърът поддържа „allow-tip-sha1-in-want“" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Сървърът поддържа „allow-reachable-sha1-in-want“" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Сървърът поддържа „ofs-delta“" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Сървърът поддържа филтри" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "ВерÑиÑта на Ñървъра е: %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Сървърът поддържа „%s“" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Сървърът не поддържа плитки клиенти" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Сървърът не поддържа опциÑта „--shallow-since“" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Сървърът не поддържа опциÑта „--shallow-exclude“" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Сървърът не поддържа опциÑта „--deepen“" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "нÑма общи подаваниÑ" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: неуÑпешно доÑтавÑне." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Сървърът не поддържа плитки заÑвки" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Сървърът поддържа филтри" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "невъзможно пиÑане към отдалечено хранилище" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "грешка при прочитане на заглавната чаÑÑ‚ на раздел „%s“" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "очаква Ñе „%s“, а бе получено „%s“" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "неочакван ред за потвърждение: „%s“" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "грешка при обработка на потвърждениÑта: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "" "очакваше Ñе пакетниÑÑ‚ файл да бъде изпратен Ñлед отговор за готовноÑÑ‚ (ready)" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "" "очакваше Ñе Ñлед липÑа на отговор за готовноÑÑ‚ (ready) да не Ñе Ñе пращат " "други раздели" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "грешка при обработка на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° дълбочината/плиткоÑтта: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "очаква Ñе иÑкан указател, а бе получено: „%s“" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "неочакван иÑкан указател: „%s“" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "грешка при обработката на иÑканите указатели: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "не може да бъде открит подходÑщ връх от отдалеченото хранилище" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "отдалеченото хранилище не изпрати вÑички необходими обекти." -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "такъв отдалечен указател нÑма: %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" -msgstr "Сървърът не позволÑва заÑвка за необÑвен „%s“" +msgstr "Сървърът не позволÑва заÑвка за необÑвен обект „%s“" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "Програмата „gpg“ не подпиÑа данните." -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "не може да Ñе Ñъздаде временен файл" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "Програмата не уÑÐ¿Ñ Ð´Ð° запише ÑамоÑтоÑÑ‚ÐµÐ»Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð² „%s“" @@ -3471,18 +3526,18 @@ msgstr "Програмата не уÑÐ¿Ñ Ð´Ð° запише ÑамоÑтоÑтРmsgid "ignore invalid color '%.*s' in log.graphColors" msgstr "преÑкачане на Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð¸Ñ Ñ†Ð²ÑÑ‚ „%.*s“ в „log.graphColors“" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "„%s“: файлът Ñочен от „%s“ не може да бъде прочетен" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "не може да бъде получена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „stat“ за „%s“" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "„%s“: изчитането върна по-малко байтове от очакваното" @@ -3552,7 +3607,7 @@ msgstr "команди на git от други директории от „$PA msgid "These are common Git commands used in various situations:" msgstr "Това Ñа най-чеÑто използваните команди на Git:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "неподдържан ÑпиÑък от команди „%s“" @@ -3667,8 +3722,8 @@ msgstr "" "\n" "Изпълнете:\n" "\n" -" git config --global user.email \"ИМЕ@example.com\"\n" -" git config --global user.name \"Ð’ÐШЕТО ИМЕ\"\n" +" git config --global user.email \"ИМЕ@example.com\"\n" +" git config --global user.name \"Ð’ÐШЕТО ИМЕ\"\n" "\n" "и въведете данни за Ñебе Ñи.\n" "Ðко пропуÑнете опциÑта „--global“, ÑамоличноÑтта е Ñамо за текущото " @@ -3705,7 +3760,7 @@ msgstr "не може да Ñе ползва празно име като иде msgid "name consists only of disallowed characters: %s" msgstr "името Ñъдържа Ñамо непозволени знаци: „%s“" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "неправилен формат на дата: %s" @@ -3737,6 +3792,11 @@ msgstr "очаква Ñе „tree:ДЪЛБОЧИÐГ" msgid "sparse:path filters support has been dropped" msgstr "поддръжката на филтри ÑÑŠÑ â€žsparse:path“ е премахната" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "неправилен филтър: „%s“" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "не може да промените хранилището-гарант на непълно хранилище" @@ -3769,8 +3829,8 @@ msgstr "Файлът-ключалка „%s.lock“ не може да бъде msgid "failed to read the cache" msgstr "кешът не може да бъде прочетен" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "неуÑпешно запиÑване на Ð½Ð¾Ð²Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ" @@ -3797,98 +3857,98 @@ msgstr "" msgid "error building trees" msgstr "грешка при изграждане на дърветата" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "грешка при Ñъздаването на Ð¿ÑŠÑ‚Ñ â€ž%s“%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Изтриване на „%s“, за да Ñе оÑвободи мÑÑто за поддиректориÑ\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": възможно е да има конфликт директориÑ/файл." -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "" "преуÑтановÑване на дейÑтвието, за да не Ñе изтрие неÑледениÑÑ‚ файл „%s“" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "обектът „%s“ (%s) не може да бъде прочетен" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "обектът „%s“ (%s) Ñе очакваше да е BLOB, а не е" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "„%s“ не може да Ñе отвори: %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "неуÑпешно Ñъздаване на Ñимволната връзка „%s“: %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "" "не е ÑÑно какво да Ñе прави Ñ Ð¾Ð±ÐµÐºÑ‚Ð° „%2$s“ (%3$s) Ñ Ð¿Ñ€Ð°Ð²Ð° за доÑтъп „%1$06o“" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "ÐеуÑпешно Ñливане на подмодула „%s“ (не е изтеглен)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "ÐеуÑпешно Ñливане на подмодула „%s“ (нÑма подаваниÑ)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" "Подмодулът „%s“ не може да бъде ÑлÑÑ‚ (базата за Ñливане не предшеÑтва " "подаваниÑта)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Превъртане на подмодула „%s“ до Ñледното подаване:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Превъртане на подмодула „%s“" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "ÐеуÑпешно Ñливане на подмодула „%s“ (липÑва Ñливането, което Ñе предшеÑтва " "от подаваниÑта)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "ÐеуÑпешно Ñливане на подмодула „%s“ (не е превъртане)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "" "Открито е Ñливане, което може да решава проблема ÑÑŠÑ Ñливането на " "подмодула:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3904,31 +3964,31 @@ msgstr "" "\n" "Това приема предложеното.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "ÐеуÑпешно Ñливане на подмодула „%s“ (открити Ñа множеÑтво ÑливаниÑ)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "ÐеуÑпешно вътрешно Ñливане" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "„%s“ не може да Ñе добави в базата Ñ Ð´Ð°Ð½Ð½Ð¸" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "Ðвтоматично Ñливане на „%s“" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "Грешка: за да не Ñе изтрие неÑледениÑÑ‚ файл „%s“, Ñе запиÑва в „%s“." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3937,7 +3997,7 @@ msgstr "" "КОÐФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. ВерÑÐ¸Ñ %s на „%s“ " "е оÑтавена в дървото." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3946,7 +4006,7 @@ msgstr "" "КОÐФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ е преименуван на „%s“ в " "%s. ВерÑÐ¸Ñ %s на „%s“ е оÑтавена в дървото." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3955,7 +4015,7 @@ msgstr "" "КОÐФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. ВерÑÐ¸Ñ %s на „%s“ " "е оÑтавена в дървото: %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3964,45 +4024,45 @@ msgstr "" "КОÐФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ е преименуван на „%s“ в " "%s. ВерÑÐ¸Ñ %s на „%s“ е оÑтавена в дървото: %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "преименуване" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "преименуван" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "ПреуÑтановÑване на дейÑтвието, за да не Ñе изгуби променениÑÑ‚ „%s“" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" "Отказ да Ñе загуби неÑледениÑÑ‚ файл „%s“, защото е на мÑÑто, където пречи." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "КОÐФЛИКТ (преименуване/добавÑне): „%s“ е преименуван на „%s“ в клон „%s“, а " "„%s“ е добавен в „%s“" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "„%s“ е Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð² „%s“, затова Ñе Ð´Ð¾Ð±Ð°Ð²Ñ ÐºÐ°Ñ‚Ð¾ „%s“" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "" "ПреуÑтановÑване на дейÑтвието, за да не Ñе изгуби неÑледениÑÑ‚ файл „%s“. " "ВмеÑто него Ñе Ð´Ð¾Ð±Ð°Ð²Ñ â€ž%s“" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -4011,18 +4071,18 @@ msgstr "" "КОÐФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон " "„%s“, а „%s“ е преименуван на „%s“ в „%s“/%s." -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (некоригиран конфликт)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "КОÐФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон " "„%s“, а „%s“ е преименуван на „%s“ в „%s“" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -4033,7 +4093,7 @@ msgstr "" "поÑтави „%s“, защото нÑколко нови директории поделÑÑ‚ Ñъдържанието на " "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ â€ž%s“, като Ð½Ð¸ÐºÐ¾Ñ Ð½Ðµ Ñъдържа мнозинÑтво от файловете Ñ." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -4042,7 +4102,7 @@ msgstr "" "КОÐФЛИКТ (коÑвено преименуване на директориÑ): ÑледниÑÑ‚ файл или Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ " "„%s“ не позволÑват коÑвеното преименуване на ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¿ÑŠÑ‚/ища: %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -4052,7 +4112,7 @@ msgstr "" "ÑъответÑтва на „%s“. КоÑвено преименуване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð²Ð¾Ð´Ð¸ до поÑтавÑнето " "на тези пътища там: %s." -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -4061,7 +4121,7 @@ msgstr "" "КОÐФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон " "„%s“, а „%s“ е преименуван на „%s“ в „%s“" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -4070,52 +4130,52 @@ msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: преÑкачане на преименуването на „%s“ на „%s“ в „%s“, защото " "„%s“ Ñъщо е Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½ÐµÐ½Ð¾ име." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "обектът „%s“ не може да Ñе прочете" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "обектът „%s“ не е BLOB" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "промÑна" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "променен" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "Ñъдържание" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "добавÑне/добавÑне" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "ПреÑкачане на „%s“ (ÑлетиÑÑ‚ резултат е идентичен ÑÑŠÑ ÑегашниÑ)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "ПОДМОДУЛ" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "КОÐФЛИКТ (%s): Конфликт при Ñливане на „%s“" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "ДобавÑне като „%s“" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -4124,7 +4184,7 @@ msgstr "" "Обновен път: „%s“ е добавен в „%s“ в директориÑ, коÑто е преименувана в " "„%s“. Обектът Ñе меÑти в „%s“." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -4133,7 +4193,7 @@ msgstr "" "КОÐФЛИКТ (меÑта на файлове): „%s“ е добавен в „%s“ в директориÑ, коÑто е " "преименувана в „%s“. Предложението е да премеÑтите обекта в „%s“." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -4142,7 +4202,7 @@ msgstr "" "Обновен път: „%s“ е преименуван на „%s“ в „%s“ в директориÑ, коÑто е " "преименувана в „%s“. Обектът Ñе меÑти в „%s“." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -4151,37 +4211,37 @@ msgstr "" "КОÐФЛИКТ (меÑта на файлове): „%s“ е преименуван на „%s“ в „%s“ в директориÑ, " "коÑто е преименувана в „%s“. Предложението е да премеÑтите обекта в „%s“." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Изтриване на „%s“" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "файл/директориÑ" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "директориÑ/файл" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "КОÐФЛИКТ (%s): СъщеÑтвува Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° име „%s“ в „%s“. ДобавÑне на „%s“ " "като „%s“" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "ДобавÑне на „%s“" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "КОÐФЛИКТ (добавÑне/добавÑне): Конфликт при Ñливане на „%s“" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -4190,135 +4250,140 @@ msgstr "" "Сливането ще презапише локалните промени на тези файлове:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "Вече е обновено!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "неуÑпешно Ñливане на дърветата „%s“ и „%s“" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Сливане:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "открит е %u общ предшеÑтвеник:" msgstr[1] "открити Ñа %u общи предшеÑтвеници:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "Ñливането не върна подаване" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "ÐеуÑпешен анализ на обекта „%s“" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "ИндекÑÑŠÑ‚ не може да бъде прочетен" -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "файлът Ñ Ð¸Ð½Ð´ÐµÐºÑа за множеÑтво пакети „%s“ е твърде малък" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "отпечатъкът на индекÑа за множеÑтво пакети 0x%08x не Ñъвпада Ñ 0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "непозната верÑÐ¸Ñ Ð½Ð° Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети — %d" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "верÑиÑта на отпечатъка %u не Ñъвпада" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "неправилно (прекалено голÑмо) отмеÑтване на откъÑ" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "" "идентификаторът за краен Ð¾Ñ‚ÐºÑŠÑ Ð½Ð° Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети Ñе ÑвÑва по-" "рано от очакваното" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "липÑва Ð¾Ñ‚ÐºÑŠÑ (pack-name) от Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "липÑва Ð¾Ñ‚ÐºÑŠÑ (OID fanout) от Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "липÑва Ð¾Ñ‚ÐºÑŠÑ (OID lookup) от Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "липÑва Ð¾Ñ‚ÐºÑŠÑ Ð·Ð° отмеÑтваниÑта на обекти от Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "" "неправилна подредба на имената в Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво пакети: „%s“ Ñе поÑви " "преди „%s“" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "" "неправилен идентификатор на пакет (pack-int-id): %u (от общо %u пакети)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" "индекÑÑŠÑ‚ за множеÑтво пакети Ñъдържа 64-битови отмеÑтваниÑ, но размерът на " "„off_t“ е недоÑтатъчен" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "" "грешка при Ñъздаването на пакетен файл на базата на Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° множеÑтво " "пакети" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "пакетниÑÑ‚ файл „%s“ не може да бъде добавен" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "индекÑÑŠÑ‚ за пакети „%s“ не може да бъде отворен" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "обект %d в Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» липÑва" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "пакетниÑÑ‚ файл за триене „%s“ не може да Ñе открие" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "индекÑÑŠÑ‚ за множеÑтво пакети не може да бъде изчиÑтен при „%s“" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "ТърÑене на указаните пакетни файлове" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" @@ -4326,52 +4391,60 @@ msgstr "" "неправилна подредба на откъÑи (OID fanout): fanout[%d] = %<PRIx32> > " "%<PRIx32> = fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "" "Проверка на подредбата на идентификатори на обекти в MIDX (файл Ñ Ð¸Ð½Ð´ÐµÐºÑ ÐºÑŠÐ¼ " "множеÑтво пакетни файлове)" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "" "неправилна подредба на откъÑи (OID lookup): oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Подредба на обектите по пакетни файлове" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Проверка на отмеÑтването на обекти" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "запиÑÑŠÑ‚ в пакета за обекта oid[%d] = %s не може да бъде зареден" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "индекÑÑŠÑ‚ на пакета „%s“ не може да бъде зареден" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "неправилно отмеÑтване на обект за oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "командата „pack-objects“ не може да бъде Ñтартирана" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "командата „pack-objects“ не може да бъде завършена" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "не може да Ñе Ñъздаде нишка за директории: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "не може да Ñе Ñъздаде нишка за имена: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "не може да Ñе изчака нишка за имена: %s" @@ -4449,19 +4522,19 @@ msgstr "обектът „%s“ не може да бъде анализиран msgid "hash mismatch %s" msgstr "разлика в контролната Ñума: „%s“" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "" "отмеÑтване преди ÐºÑ€Ð°Ñ Ð½Ð° Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» (възможно е индекÑÑŠÑ‚ да е повреден)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "" "отмеÑтване преди началото на индекÑа на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“ (възможно е " "индекÑÑŠÑ‚ да е повреден)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4722,25 +4795,30 @@ msgstr "не може да Ñе Ñъздаде нишка за изпълненРmsgid "unable to parse --pretty format" msgstr "аргументът към опциÑта „--pretty“ не може да Ñе анализира" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "командата за журнала Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ â€žlog“ не може да Ñе Ñтартира" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "" "изходът от командата за журнала Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ â€žlog“ не може да Ñе прочете" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "подаването „%s“ не може да бъде анализирано" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "заглавната чаÑÑ‚ на git „%.*s“ не може да Ñе анализира" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "неуÑпешно търÑене на разлика" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "журналът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта на „%s“ не може да бъде анализиран" @@ -4860,11 +4938,10 @@ msgid "unordered stage entries for '%s'" msgstr "неподредени запиÑи за „%s“" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "файлът Ñ Ð¸Ð½Ð´ÐµÐºÑа е повреден" @@ -4920,12 +4997,12 @@ msgstr "ÑподелениÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ â€ž%s“ не може да Ñе оРmsgid "broken index, expect %s in %s, got %s" msgstr "грешки в индекÑа — в „%2$s“ Ñе очаква „%1$s“, а бе получено „%3$s“" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "„%s“ не може да Ñе затвори" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "неуÑпешно изпълнение на „stat“ върху „%s“" @@ -5012,7 +5089,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Пребазиране на „%s“ върху „%s“ (%d команди)" msgstr[1] "Пребазиране на „%s“ върху „%s“ (%d команда)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -5021,7 +5098,7 @@ msgstr "" "Ðе изтривайте редове. ПодаваниÑта могат да Ñе преÑкачат Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° " "„drop“.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -5029,7 +5106,7 @@ msgstr "" "\n" "Ðко изтриете ред, ÑъответÑтващото му подаване ще бъде ИЗТРИТО.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -5044,7 +5121,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -5054,12 +5131,12 @@ msgstr "" "Ðко изтриете вÑичко, пребазирането ще бъде преуÑтановено.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Празните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ñа коментирани" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "„%s“ не може да Ñе запише" @@ -5095,97 +5172,98 @@ msgstr "" "предупреждение)\n" "или „error“ (Ñчитане за грешка).\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "„%s“ не Ñочи към позволен обект!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "игнориране на указател на обект извън клон „%s“" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "игнориране на Ð¿Ð¾Ð²Ñ€ÐµÐ´ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ» „%s“" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "„%s“ не може да бъде отворен за запиÑ: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "указателÑÑ‚ „%s“ не може да Ñе прочете" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "указателÑÑ‚ „%s“ вече ÑъщеÑтвува" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "неочакван идентификатор на обект при запиÑването на „%s“" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "в „%s“ не може да Ñе пише" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "„%s“ не може да бъде отворен за запиÑ" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "неочакван идентификатор на обект при изтриването на „%s“" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "има пропуÑки в журнала Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта за ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€ž%s“ Ñлед „%s“" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "журналът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта за ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€ž%s“ Ñвършва неочаквано Ñлед „%s“" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "журналът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта за ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€ž%s“ е празен" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "указател не може да Ñе обнови Ñ Ð³Ñ€ÐµÑˆÐ½Ð¾ име „%s“" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "неуÑпешно обновÑване на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€ž%s“: %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "не Ñа позволени повече от една промени на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€ž%s“" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "обновÑваниÑта на указатели Ñа забранени в Ñреди под карантина" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "„%s“ ÑъщеÑтвува, не може да Ñе Ñъздаде „%s“" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "невъзможно е едновременно да Ñе обработват „%s“ и „%s“" @@ -5211,267 +5289,251 @@ msgstr "Указателите не може да бъдат изтрити: %s" msgid "invalid refspec '%s'" msgstr "неправилен указател: „%s“" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "изтрит" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "напред Ñ %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "назад Ñ %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "напред Ñ %d, назад Ñ %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "очакван формат: %%(color:ЦВЯТ)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "непознат цвÑÑ‚: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "очаква Ñе цÑло чиÑло за „refname:lstrip=%s“" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "очаква Ñе цÑло чиÑло за „refname:rstrip=%s“" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "непознат аргумент за „%%(%s)“: %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) не приема аргументи" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "непознат аргумент за %%(objectsize): %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) не приема аргументи" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) не приема аргументи" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) не приема аргументи" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "непознат аргумент „%%(trailers)“: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "очаква Ñе положителна ÑтойноÑÑ‚ за „contents:lines=%s“" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "непознат аргумент за %%(contents): %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "очаква Ñе положителна ÑтойноÑÑ‚ за „objectname:short=%s“" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "непознат аргумент за %%(objectname): %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "очакван формат: %%(align:ШИРОЧИÐÐ,ПОЗИЦИЯ)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "непозната позициÑ: %s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "непозната широчина: %s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "непознат аргумент за %%(align): %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "очаква Ñе положителна широчина Ñ Ð»ÐµÐºÑемата „%%(align)“" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "непознат аргумент за „%%(if)“: %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "неправилно име на обект: „%.*s“" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "непознато име на обект: „%.*s“" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "не е хранилище на git, а полето „%.*s“ изиÑква доÑтъп данни на обектни" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "формат: лекÑемата %%(if) е използвана без Ñъответната Ñ %%(then)" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "формат: лекÑемата %%(then) е използвана без Ñъответната Ñ %%(if)" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "формат: лекÑемата %%(then) е използвана повече от един път" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "формат: лекÑемата %%(then) е използвана Ñлед %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "формат: лекÑемата %%(else) е използвана без Ñъответната Ñ %%(if)" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "формат: лекÑемата %%(else) е използвана без Ñъответната Ñ %%(then)" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "формат: лекÑемата %%(else) е използвана повече от един път" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "формат: лекÑемата %%(end) е използвана без Ñъответната Ñ" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "неправилен форматиращ низ „%s“" -#: ref-filter.c:1453 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing %s)" -msgstr "(извън клон, пребазиране на „%s“)" +msgid "no branch, rebasing %s" +msgstr "извън клон, пребазиране на „%s“" -#: ref-filter.c:1456 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(извън клон, пребазиране на неÑвързан указател „HEAD“ при „%s“)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "извън клон, пребазиране на неÑвързан указател „HEAD“ при „%s“" -#: ref-filter.c:1459 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(извън клон, двоично търÑене от „%s“)" +msgid "no branch, bisect started on %s" +msgstr "извън клон, двоично търÑене от „%s“" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(УказателÑÑ‚ „HEAD“ не е Ñвързан и е при „%s“)" - -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "УказателÑÑ‚ „HEAD“ не е Ñвързан и е отделѐн от „%s“" - -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(извън клон)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "извън клон" -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "обектът „%s“ липÑва за „%s“" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "неуÑпешно анализиране чрез „parse_object_buffer“ на „%s“ за „%s“" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "обект ÑÑŠÑ Ñгрешен формат при „%s“" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "игнориране на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ñ Ð³Ñ€ÐµÑˆÐ½Ð¾ име „%s“" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "грешка във форма̀та: липÑва лекÑемата %%(end)" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "опциите „%s“ и „--merged“ Ñа неÑъвмеÑтими" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "опциите „%s“ и „--no-merged“ Ñа неÑъвмеÑтими" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "неправилно име на обект „%s“" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "опциÑта „%s“ не Ñочи към подаване" @@ -5818,8 +5880,8 @@ msgstr "излишниÑÑ‚ обект „%s“ не може да Ñе изтрРmsgid "Recorded preimage for '%s'" msgstr "ПредварителниÑÑ‚ вариант на „%s“ е запазен" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "ДиректориÑта „%s“ не може да бъде Ñъздадена" @@ -5853,20 +5915,20 @@ msgstr "Запазената ÐºÐ¾Ñ€ÐµÐºÑ†Ð¸Ñ Ð½Ð° конфликт при „%s msgid "unable to open rr-cache directory" msgstr "директориÑта „rr-cache“ не може да Ñе отвори" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "ТекущиÑÑ‚ клон е повреден" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "ТекущиÑÑ‚ клон „%s“ е без Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ " -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "опциите „--first-parent“ и „--bisect“ Ñа неÑъвмеÑтими" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "" "опциÑта „-L“ поддържа единÑтвено форматирането на разликите Ñпоред опциите „-" @@ -5942,24 +6004,29 @@ msgstr "неÑъщеÑтвуващ режим на изчиÑтване „%s“ msgid "could not delete '%s'" msgstr "„%s“ не може да бъде изтрит" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "„%s“ не може да бъде изтрит" + +#: sequencer.c:321 msgid "revert" msgstr "отмÑна" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "отбиране" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "неизвеÑтно дейÑтвие: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5967,7 +6034,7 @@ msgstr "" "Ñлед коригирането на конфликтите, отбележете Ñъответните\n" "пътища Ñ â€žgit add ПЪТ…“ или „git rm ПЪТ…“." -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5977,44 +6044,44 @@ msgstr "" "пътища Ñ â€žgit add ПЪТ…“ или „git rm ПЪТ…“, Ñлед което\n" "подайте резултата Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „git commit'“." -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "„%s“ не може да Ñе заключи" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "краÑÑ‚ на ред не може да Ñе запише в „%s“" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "„%s“ не може да Ñе завърши" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "файлът „%s“ не може да бъде прочетен" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "локалните ви промени ще бъдат презапиÑани при %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "подайте или Ñкатайте промените, за да продължите" -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: превъртане" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "ÐеÑъщеÑтвуващ режим на изчиÑтване „%s“" @@ -6022,70 +6089,70 @@ msgstr "ÐеÑъщеÑтвуващ режим на изчиÑтване „%s“ #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: новиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запазен" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "дървото на кеша не може да бъде обновено" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "подаването, Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открито" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "в „%.*s“ нÑма ключове" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "цитирането на ÑтойноÑтта на „%s“ не може да бъде изчиÑтено" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "файлът не може да бъде прочетен: „%s“" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "наÑтройката за автор „GIT_AUTHOR_NAME“ вече е зададена" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "наÑтройката за е-поща „GIT_AUTHOR_EMAIL“ вече е зададена" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "наÑтройката за дата „GIT_AUTHOR_DATE“ вече е зададена" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "непозната променлива „%s“" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "наÑтройката за автор „GIT_AUTHOR_NAME“ липÑва" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "наÑтройката за е-поща „GIT_AUTHOR_EMAIL“ липÑва" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "наÑтройката за дата „GIT_AUTHOR_DATE“ липÑва" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "неправилен формат на дата „%s“ в „%s“" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -6114,17 +6181,17 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "запазване на начално подаване" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "" "неуÑпешно изпълнение на куката при промÑна на Ñъобщението при подаване " "(prepare-commit-msg)" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6153,7 +6220,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6179,317 +6246,362 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "току що Ñъздаденото подаване не може да бъде открито" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "току що Ñъздаденото подаване не може да бъде анализирано" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "" "ÑÑŠÑтоÑнието Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ не може да бъде открито Ñлед " "подаването" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "неÑвързан връх „HEAD“" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (начално подаване)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "указателÑÑ‚ „HEAD“ не може да бъде анализиран" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "указателÑÑ‚ „HEAD“ „%s“ Ñочи към нещо, което не е подаване!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "върховото подаване „HEAD“ не може да бъде прочетено" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "авторът на подаването не може да бъде анализиран" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "Командата „git write-tree“ не уÑÐ¿Ñ Ð´Ð° запише обект-дърво" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "Ñъобщението за подаване не може да бъде прочетено от „%s“" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "обектът за подаването не може да бъде запиÑан" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "подаването „%s“ не може да бъде анализирано" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "родителÑкото подаване „%s“ не може да бъде анализирано" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "непозната команда: %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Това е обединение от %d подаваниÑ" -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "За вкарване в предходното подаване ви трÑбва указател „HEAD“" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "указателÑÑ‚ „HEAD“ не може да Ñе прочете" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "" "Ñъобщението за подаване към ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ не може да бъде прочетено: %s" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "„%s“ не може да Ñе запази" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Това е 1-то Ñъобщение при подаване:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "Ñъобщението за подаване към „%s“ не може да бъде прочетено" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Това е Ñъобщение при подаване â„–%d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Съобщение при подаване â„–%d ще бъде преÑкочено:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "индекÑÑŠÑ‚ не е ÑлÑÑ‚." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "началното подаване не може да Ñе вкара в предходното му" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "подаването „%s“ е Ñливане, но не е дадена опциÑта „-m“" -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "подаването „%s“ нÑма родител %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "неуÑпешно извличане на Ñъобщението за подаване на „%s“" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: неразпозната ÑтойноÑÑ‚ за родителÑкото подаване „%s“" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "„%s“ не може да Ñе преименува на „%s“" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "подаването „%s“… не може да бъде отменено: „%s“" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "подаването „%s“… не може да бъде приложено: „%s“" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: неуÑпешно изчитане на индекÑа" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: неуÑпешно обновÑване на индекÑа" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "„%s“ не приема аргументи: „%s“" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "„%s“ изиÑква аргументи" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "„%.*s“ не може да Ñе анализира" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "неправилен ред %d: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "Без предишно подаване не може да Ñе изпълни „%s“" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "от „%s“ не може да Ñе чете." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "преуÑтановÑване на извършваното в момента отбиране на подаваниÑ" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "преуÑтановÑване на извършваното в момента отмÑна на подаване" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "коригирайте това чрез „git rebase --edit-todo“." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "неизползваем файл Ñ Ð¾Ð¿Ð¸Ñание на предÑтоÑщите дейÑтвиÑ: „%s“" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "никое от подаваниÑта не може да Ñе разпознае." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "" "по време на отмÑна на подаване не може да Ñе извърши отбиране на подаване." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "по време на отбиране не може да Ñе извърши отмÑна на подаване." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "неправилна ÑтойноÑÑ‚ за „%s“: „%s“" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "подаването, в което другите да Ñе вкарат, не може да Ñе използва" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "неправилен файл Ñ Ð¾Ð¿Ñ†Ð¸Ð¸: „%s“" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "зададено е празно множеÑтво от подаваниÑ" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "" -"в момента вече Ñе извършва отбиране на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ пребазиране на клона" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "в момента вече Ñе извършва отмÑна на подаваниÑ" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "използвайте „git cherry-pick (--continue | --quit | --abort)“" +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "използвайте „git cherry-pick (--continue | %s--abort | --quit)“" + +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "в момента вече Ñе извършва отбиране на подаваниÑ" + +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "използвайте „git cherry-pick (--continue | %s--abort | --quit)“" -#: sequencer.c:2660 +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" -msgstr "директориÑта за ÑеквенÑора „%s“ не може да бъде Ñъздадена" +msgstr "" +"директориÑта за определÑнето на поÑледователноÑтта „%s“ не може да бъде " +"Ñъздадена" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "указателÑÑ‚ „HEAD“ не може да Ñе заключи" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "" "в момента не Ñе извършва отбиране на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ пребазиране на клона" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "Подаването Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ не може да бъде открито" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "" "дейÑтвието не може да бъде преуÑтановено, когато Ñте на клон, който тепърва " "предÑтои да бъде Ñъздаден" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "„%s“ не може да бъде отворен" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "„%s“ не може да бъде прочетен: %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "неочакван край на файл" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" "запазениÑÑ‚ преди започването на отбирането файл за ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ — „%s“ е " "повреден" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Изглежда указателÑÑ‚ „HEAD“ е променен. Проверете към какво Ñочи.\n" "Ðе Ñе правÑÑ‚ промени." -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "в момента не тече пребазиране" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "в момента не Ñе извършва отбиране на подаваниÑ" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "неуÑпешно преÑкачане на подаването" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "нÑма какво да Ñе преÑкочи" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"подали ли Ñте вече? Пробвайте Ñ:\n" +"\n" +" git %s --continue" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "„%s“ не може да Ñе обнови" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "указателÑÑ‚ „HEAD“ не може да бъде прочетен" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "„%s“ не може да Ñе копира като „%s“" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6508,27 +6620,27 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "Подаването „%s“… не може да бъде приложено: „%.*s“" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Ðевъзможно Ñливане на „%.*s“" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "„%s“ не може да Ñе копира като „%s“" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "индекÑÑŠÑ‚ не може да бъде прочетен" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6543,11 +6655,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" -msgstr "и промени индекÑа и/или работното дърво\n" +msgstr "и Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¸Ð½Ð´ÐµÐºÑа и/или работното дърво\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6564,76 +6676,76 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "неправилно име на етикет: „%.*s“" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "запазване на фалшиво начално подаване" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "запазване на подаването, в което другите да Ñе вкарат" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "дървото, Ñочено от „%s“, не може да бъде открито" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "индекÑÑŠÑ‚ не може да бъде запиÑан" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "„%s“ не може да бъде открит" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "без текущо подаване не може да Ñе Ñлива" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "„%.*s“ не може да Ñе анализира" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "нÑма нищо за Ñливане: „%.*s“" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "върху начално подаване не може да Ñе извърши множеÑтвено Ñливане" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "Ñъобщението за подаване към „%s“ не може да бъде получено" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "Ñливането на „%.*s“ не може даже да започне" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "Ñливане: новиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запазен" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Ðвтоматично Ñкатаното е приложено.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "„%s“ не може да бъде запазен" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6644,31 +6756,31 @@ msgstr "" "надеждно Ñкатани. Можете да пробвате да ги приложите чрез „git stash pop“\n" "или да ги изхвърлите чрез „git stash drop“, когато поиÑкате.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "„%s“ не може да Ñе изтегли" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "„%s“ е неправилен идентификатор на обект" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "указателÑÑ‚ „HEAD“ не може да Ñе отдели" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Бе ÑпрÑно при „HEAD“\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Бе ÑпрÑно при „%s“\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6691,48 +6803,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Спиране при „%s“… %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "непозната команда %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "указателÑÑ‚ за „orig-head“ не може да Ñе прочете" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "указателÑÑ‚ за „onto“ не може да Ñе прочете" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "„HEAD“ не може да бъде обновен до „%s“" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "не може да пребазирате, защото има промени, които не Ñа в индекÑа." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "неÑъщеÑтвуващо подаване не може да Ñе поправи" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "неправилен файл: „%s“" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "неправилно Ñъдържание: „%s“" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6742,42 +6854,42 @@ msgstr "" "Ð’ работното дърво има неподадени промени. Първо ги подайте, а Ñлед това\n" "отново изпълнете „git rebase --continue“." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "файлът „%s“ не може да бъде запиÑан" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "указателÑÑ‚ „CHERRY_PICK_HEAD“ не може да бъде изтрит" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "промените в индекÑа не могат да бъдат подадени." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: не може да Ñе отбере „%s“" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: неправилна верÑиÑ" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "първоначалното подаване не може да бъде отменено" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: неподдържани опции" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: грешка при подготовката на верÑии" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6787,15 +6899,15 @@ msgstr "" "continue“ Ñлед това.\n" "Може и да преуÑтановите пребазирането Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „git rebase --abort“.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "нÑма какво да Ñе прави" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "излишните команди за отбиране не бÑха преÑкочени" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "Ñкриптът вече е преподреден." @@ -7027,199 +7139,204 @@ msgstr "еталонното хранилище „%s“ е плитко" msgid "reference repository '%s' is grafted" msgstr "еталонното хранилище „%s“ е Ñ Ð¿Ñ€Ð¸Ñаждане" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "неправилен ред при анализа на алтернативните указатели: „%s“" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "" "неуÑпешен опит за „mmap“ %<PRIuMAX>, което е над позволеното %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "неуÑпешно изпълнение на „mmap“" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "файлът Ñ Ð¾Ð±ÐµÐºÑ‚Ð¸Ñ‚Ðµ „%s“ е празен" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "непакетираниÑÑ‚ обект „%s“ е повреден" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "грешни данни в ÐºÑ€Ð°Ñ Ð½Ð° Ð½ÐµÐ¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð¾Ð±ÐµÐºÑ‚ „%s“" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "неправилен вид обект" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "" "заглавната чаÑÑ‚ „%s“ не може да Ñе разпакетира Ñ Ð¾Ð¿Ñ†Ð¸Ñта „--allow-unknown-" "type“" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "заглавната чаÑÑ‚ на „%s“ не може да бъде разпакетирана" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "" "заглавната чаÑÑ‚ „%s“ не може да Ñе анализира Ñ Ð¾Ð¿Ñ†Ð¸Ñта „--allow-unknown-type“" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "заглавната чаÑÑ‚ на „%s“ не може да бъде анализирана" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "обектът „%s“ не може да бъде прочетен" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "замеÑтителÑÑ‚ „%s“ на „%s“ не може да бъде открит" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "непакетираниÑÑ‚ обект „%s“ (в „%s“) е повреден" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "пакетираниÑÑ‚ обект „%s“ (в „%s“) е повреден" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "файлът „%s“ не може да бъде запиÑан" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "правата за доÑтъп до „%s“ не могат да бъдат зададени" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файл" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "грешка при затварÑнето на файла Ñ Ð½ÐµÐ¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½ обект" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "нÑма права за добавÑне на обект към базата от данни на хранилището „%s“" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "не може да бъде Ñъздаден временен файл" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "грешка при запиÑа на файла Ñ Ð½ÐµÐ¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½ обект" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "новиÑÑ‚ обект „%s“ не може да Ñе компреÑира Ñ â€ždeflate“: %d" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "неуÑпешно приключване на „deflate“ върху „%s“: %d" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "грешка поради неÑÑ‚Ð°Ð±Ð¸Ð»Ð½Ð¸Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ðº данни за обектите „%s“" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "неуÑпешно задаване на време на доÑтъп/Ñъздаване чрез „utime“ на „%s“" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "обектът за „%s“ не може да Ñе прочете" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "повредено подаване" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "повреден етикет" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "грешка при четене по време на индекÑиране на „%s“" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "непълно прочитане по време на индекÑиране на „%s“" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "„%s“ не може да Ñе вмъкне в базата от данни" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "неподдържан вид файл: „%s“" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "„%s“ е неправилен обект" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "„%s“ е неправилен обект от вид „%s“" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "обектът „%s“ не може да бъде отворен" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "неправилна контролна Ñума за „%s“ (трÑбва да е %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "неуÑпешно изпълнение на „mmap“ върху „%s“" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "заглавната чаÑÑ‚ на „%s“ не може да бъде разпакетирана" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "заглавната чаÑÑ‚ на „%s“ не може да бъде анализирана" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "Ñъдържанието на „%s“ не може да бъде разпакетирано" @@ -7239,7 +7356,7 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -7249,13 +7366,66 @@ msgstr "" "шеÑтнадеÑетични знака, защото Ñтандартно те ще бъдат преÑкачани.\n" "Възможно е такива указатели да Ñа Ñъздадени Ñлучайно. Ðапример:\n" "\n" -" git checkout -b $BRANCH $(git rev-parse…)\n" +" git switch -c $BRANCH $(git rev-parse …)\n" "\n" "където ÑтойноÑтта на променливата на Ñредата BRANCH е празна, при което Ñе\n" -"Ñъздава подобен указател. Прегледайте тези указатели и ги изтрийте. Можете " +"Ñъздава подобен указател. Прегледайте тези указатели и ги изтрийте. Може " "да\n" "Ñпрете това Ñъобщение като изпълните командата:\n" -"„git config advice.objectNameWarning false“" +"\n" +" git config advice.objectNameWarning false" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u байт" +msgstr[1] "%u байта" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u байт/Ñек." +msgstr[1] "%u байта/Ñек." #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" @@ -7292,7 +7462,7 @@ msgstr "ПътÑÑ‚ „%s“ е в подмодула „%.*s“" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "запиÑÑŠÑ‚ за подмодула „%s“ (%s) е %s, а не подаване!" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Ðе може да Ñе открие към какво Ñочи указателÑÑ‚ „HEAD“" @@ -7331,7 +7501,7 @@ msgstr "индекÑÑŠÑ‚ на подмодула „%s“ не е чиÑÑ‚" msgid "Submodule '%s' could not be updated." msgstr "Подмодулът „%s“ не може да Ñе обнови." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7339,12 +7509,12 @@ msgstr "" "не Ñе поддържа „relocate_gitdir“ за подмодула „%s“, който има повече от едно " "работно дърво" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "името на подмодула „%s“ не може да бъде намерено" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7355,16 +7525,16 @@ msgstr "" "„%s“ към\n" "„%s“\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "неуÑпешна обработка на поддиректориите в подмодула „%s“" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "„ls-stat“ не може да Ñе Ñтартира в „..“" -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "„ls-tree“ завърши Ñ Ð½ÐµÐ¾Ñ‡Ð°ÐºÐ²Ð°Ð½ изходен код: %d" @@ -7537,15 +7707,10 @@ msgstr "ПреуÑтановÑване на дейÑтвието." msgid "failed to push all needed submodules" msgstr "неуÑпешно изтлаÑкване на вÑички необходими подмодули" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "опциÑта не Ñе поддържа от протокола" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "неправилен ред при анализа на алтернативните указатели: „%s“" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "неуÑпешен пълен Ð·Ð°Ð¿Ð¸Ñ ÐºÑŠÐ¼ наÑрещната помощна програма" @@ -7594,7 +7759,7 @@ msgstr "неуÑпешно изпълнение на бързо внаÑÑне" msgid "error while running fast-import" msgstr "грешка при изпълнението на бързо внаÑÑне" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "указателÑÑ‚ „%s“ не може да Ñе прочете" @@ -7649,27 +7814,27 @@ msgstr "" msgid "helper %s does not support 'push-option'" msgstr "наÑрещната помощна програма „%s“ не поддържа опции за изтлаÑкване" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "" "наÑрещната помощна програма не поддържа изтлаÑкване. Ðеобходимо е " "изброÑване на указателите" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "" "наÑрещната помощна програма не поддържа „%s“ поддържа опциÑта „--force“" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "не може да Ñе извърши бързо изнаÑÑне" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "грешка при изпълнението на командата за бързо изнаÑÑне" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7678,47 +7843,47 @@ msgstr "" "ÐÑма общи указатели, не Ñа указани никакви указатели — нищо нÑма да бъде\n" "направено. Пробвайте да укажете клон, напр. “master“.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "неправилен отговор в ÑпиÑъка Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ð¸: „%s“" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "неуÑпешно четене на „%s“" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "неуÑпешен Ð·Ð°Ð¿Ð¸Ñ Ð² „%s“" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "неуÑпешно изпълнение на нишката „%s“" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "завършването на нишката „%s“ не може да Ñе изчака: „%s“" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "неуÑпешно Ñтартиране на нишка за копиране на данните: „%s“" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "процеÑÑŠÑ‚ на „%s“ не уÑÐ¿Ñ Ð´Ð° изчака чрез „waitpid“" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "неуÑпешно изпълнение на „%s“" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "неуÑпешно Ñтартиране на нишка за копиране на данните" @@ -7734,7 +7899,7 @@ msgstr "неправилни права за доÑтъп в Ð·Ð°Ð¿Ð¸Ñ Ð² Ð´ÑŠÑ msgid "empty filename in tree entry" msgstr "празно име на файл в Ð·Ð°Ð¿Ð¸Ñ Ð² дърво" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "прекалено кратък файл-дърво" @@ -7963,8 +8128,8 @@ msgid "Aborting\n" msgstr "ПреуÑтановÑване на дейÑтвието\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "ИзтеглÑне на файлове" +msgid "Updating files" +msgstr "ОбновÑване на файлове" #: unpack-trees.c:350 msgid "" @@ -8005,33 +8170,33 @@ msgstr "неправилен номер на порт" msgid "invalid '..' path segment" msgstr "неправилна чаÑÑ‚ от Ð¿ÑŠÑ‚Ñ â€ž..“" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "„%s“ не може да бъде прочетен" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "„%s“ в оÑновното работно дърво не е директориÑта на хранилището" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" "файлът „%s“ не Ñъдържа абÑÐ¾Ð»ÑŽÑ‚Ð½Ð¸Ñ Ð¿ÑŠÑ‚ към меÑтоположението на работното дърво" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "„%s“ не ÑъщеÑтвува." -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "„%s“ не е файл на .git, код за грешка: %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "„%s“ не Ñочи към обратно към „%s“" @@ -8050,161 +8215,168 @@ msgstr "нÑма доÑтъп до „%s“" msgid "unable to get current working directory" msgstr "текущата работна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ðµ недоÑтъпна" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "ÐеÑлети пътища:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr "" +" (използвайте „git restore --staged ФÐЙЛ…“, за да извадите ФÐЙЛа от индекÑа)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (използвайте „git reset %s ФÐЙЛ…“, за да извадите ФÐЙЛа от индекÑа)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr "" +" (използвайте „git restore --source=%s --staged ФÐЙЛ…“, за да извадите " +"ФÐЙЛа от индекÑа)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" " (използвайте „git rm --cached %s ФÐЙЛ…“, за да извадите ФÐЙЛа от индекÑа)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" " (използвайте „git add ФÐЙЛ…“, за да укажете разрешаването на конфликта)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (използвайте „git add/rm ФÐЙЛ…“, Ñпоред решението, което избирате за " "конфликта)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" " (използвайте „git rm ФÐЙЛ…“, за да укажете разрешаването на конфликта)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Промени, които ще бъдат подадени:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Промени, които не Ñа в индекÑа за подаване:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (използвайте „git add ФÐЙЛ…“, за да обновите Ñъдържанието за подаване)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (използвайте „git add/rm ФÐЙЛ…“, за да обновите Ñъдържанието за подаване)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (използвайте „git checkout -- ФÐЙЛ…“, за да отхвърлите промените в " -"работното дърво)" +" (използвайте „git restore ФÐЙЛ…“, за да отхвърлите промените в работната " +"директориÑ)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (подайте или отхвърлете неÑледеното или промененото Ñъдържание в " "подмодулите)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (използвайте „git %s ФÐЙЛ…“, за да определите какво включвате в подаването)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "изтрити в двата ÑлучаÑ:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "добавени от ваÑ:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "изтрити от Ñ‚ÑÑ…:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "добавени от Ñ‚ÑÑ…:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "изтрити от ваÑ:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "добавени и в двата ÑлучаÑ:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "променени и в двата ÑлучаÑ:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "нов файл:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "копиран:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "изтрит:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "променен:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "преименуван:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "ÑмÑна на вида:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "непозната промÑна:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "неÑлÑÑ‚:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "нови подаваниÑ, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "променено Ñъдържание, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "неÑледено Ñъдържание, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Има %d Ñкатаване." msgstr[1] "Има %d ÑкатаваниÑ." -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Подмодулите Ñа променени, но не Ñа обновени:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Промени в подмодулите за подаване:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -8212,257 +8384,260 @@ msgstr "" "Ðе променÑйте и не изтривайте Ð³Ð¾Ñ€Ð½Ð¸Ñ Ñ€ÐµÐ´.\n" "Ð’Ñичко отдолу ще бъде изтрито." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"ИзчиÑлÑването на Ð±Ñ€Ð¾Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°Ð²Ð°Ñ‰Ð¸ Ñе Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð½Ðµ %.2f Ñек.\n" +"За да избегнете това, ползвайте „--no-ahead-behind“.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "ÐÑкои пътища не Ñа Ñлети." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (коригирайте конфликтите и изпълнете „git commit“)" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (използвайте „git merge --abort“, за да преуÑтановите Ñливането)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Ð’Ñички конфликти Ñа решени, но продължавате Ñливането." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (използвайте „git commit“, за да завършите Ñливането)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Ð’ момента прилагате поредица от кръпки чрез „git am“." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "Текущата кръпка е празна." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git am --continue“)" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (използвайте „git am --skip“, за да пропуÑнете тази кръпка)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" " (използвайте „git am --abort“, за да възÑтановите Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "„git-rebase-todo“ липÑва." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "Ðе Ñа изпълнени команди." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" -msgstr[0] "ПоÑледна изпълнена команда (изпълнена е общо %d команда):" -msgstr[1] "ПоÑледна изпълнена команда (изпълнени Ñа общо %d команди):" +msgstr[0] "ПоÑледно изпълнена команда (изпълнена е общо %d команда):" +msgstr[1] "ПоÑледно изпълнени команди (изпълнени Ñа общо %d команди):" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" -msgstr " повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð¼Ð° във файла „%s“)" +msgstr " (повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð¼Ð° във файла „%s“)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Ðе оÑтават повече команди." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Следваща команда за изпълнение (оÑтава още %d команда):" -msgstr[1] "Следваща команда за изпълнение (оÑтават още %d команди):" +msgstr[1] "Следващи команди за изпълнение (оÑтават още %d команди):" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr "" " (използвайте „git rebase --edit-todo“, за да разгледате и редактирате)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Ð’ момента пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Ð’ момента пребазирате." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (коригирайте конфликтите и използвайте „git rebase --continue“)" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (използвайте „git rebase --skip“, за да пропуÑнете тази кръпка)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (използвайте „git rebase --abort“, за да възÑтановите Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (вÑички конфликти Ñа коригирани: изпълнете „git rebase --continue“)" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "Ð’ момента разделÑте подаване докато пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Ð’ момента разделÑте подаване докато пребазирате." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (След като работното ви дърво Ñтане чиÑто, използвайте „git rebase --" "continue“)" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Ð’ момента редактирате подаване докато пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Ð’ момента редактирате подаване докато пребазирате." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (използвайте „git commit --amend“, за да редактирате текущото подаване)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (използвайте „git rebase --continue“, Ñлед като завършите промените Ñи)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Ð’ момента Ñе извършва отбиране на подаваниÑ." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Ð’ момента отбирате подаването „%s“." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git cherry-pick --continue“)" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (за да продължите, изпълнете „git cherry-pick --continue“)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (вÑички конфликти Ñа коригирани, изпълнете „git cherry-pick --continue“)" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (използвайте „git cherry-pick --abort“, за да отмените вÑички дейÑÑ‚Ð²Ð¸Ñ Ñ " "отбиране)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Ð’ момента тече отмÑна на подаване." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Ð’ момента отменÑте подаване „%s“." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git revert --continue“)" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (за да продължите, изпълнете „git revert --continue“)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (вÑички конфликти Ñа коригирани, изпълнете „git revert --continue“)" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" " (използвайте „git revert --abort“, за да преуÑтановите отмÑната на " "подаване)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Ð’ момента търÑите двоично, като Ñте Ñтартирали от клон „%s“." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Ð’ момента търÑите двоично." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (използвайте „git bisect reset“, за да Ñе върнете към първоначалното " "ÑÑŠÑтоÑние и клон)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "Ðа клон " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "извършвате интерактивно пребазиране върху " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "извършвате пребазиране върху " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "УказателÑÑ‚ „HEAD“ не е Ñвързан и е при " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "УказателÑÑ‚ „HEAD“ не е Ñвързан и е отделѐн от " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Извън вÑички клони." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Първоначално подаване" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Ð’Ñе още липÑват подаваниÑ" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "ÐеÑледени файлове" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Игнорирани файлове" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8471,35 +8646,35 @@ msgid "" msgstr "" "БÑха необходими %.2f Ñекунди за изброÑването на неÑледените файлове.\n" "ДобавÑнето на опциÑта „-uno“ към командата „git status“, ще уÑкори\n" -"изпълнението, но не трÑбва да забравÑте ръчно да добавÑте новите файлове.\n" +"изпълнението, но ще трÑбва да добавÑте новите файлове ръчно.\n" "За повече подробноÑти погледнете „git status help“." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "ÐеÑледените файлове не Ñа изведени%s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (използвайте опциÑта „-u“, за да изведете неÑледените файлове)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "ÐÑма промени" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "към индекÑа за подаване не Ñа добавени промени (използвайте „git add“ и/или " "„git commit -a“)\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "към индекÑа за подаване не Ñа добавени промени\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8508,70 +8683,75 @@ msgstr "" "към индекÑа за подаване не Ñа добавени промени, но има нови файлове " "(използвайте „git add“, за да започне Ñ‚Ñхното Ñледене)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "към индекÑа за подаване не Ñа добавени промени, но има нови файлове\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "липÑват каквито и да е промени (Ñъздайте или копирайте файлове и използвайте " "„git add“, за да започне Ñ‚Ñхното Ñледене)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "липÑват каквито и да е промени\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "липÑват каквито и да е промени (използвайте опциÑта „-u“, за да Ñе изведат и " "неÑледените файлове)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "липÑват каквито и да е промени, работното дърво е чиÑто\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Ð’Ñе още липÑват Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (извън клон)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "различен" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "назад Ñ " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "напред Ñ " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "не може да извършите „%s“, защото има промени, които не Ñа в индекÑа." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "оÑвен това в индекÑа има неподадени промени." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "не може да извършите „%s“, защото в индекÑа има неподадени промени." +#: compat/precompose_utf8.c:58 builtin/clone.c:453 +#, c-format +msgid "failed to unlink '%s'" +msgstr "неуÑпешно изтриване на „%s“" + #: builtin/add.c:25 msgid "git add [<options>] [--] <pathspec>..." msgstr "git add [ОПЦИЯ…] [--] ПЪТ…" @@ -8581,7 +8761,7 @@ msgstr "git add [ОПЦИЯ…] [--] ПЪТ…" msgid "unexpected diff status %c" msgstr "неочакван изходен код при генериране на разлика: %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "неуÑпешно обновÑване на файловете" @@ -8630,8 +8810,8 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Следните пътища ще бъдат игнорирани Ñпоред нÑкой от файловете „.gitignore“:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "пробно изпълнение" @@ -8640,7 +8820,7 @@ msgstr "пробно изпълнение" msgid "interactive picking" msgstr "интерактивно отбиране на промени" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "интерактивен избор на парчета код" @@ -8814,7 +8994,7 @@ msgstr "неправилно отмеÑтване на чаÑÐ¾Ð²Ð¸Ñ Ð¿Ð¾ÑÑ" msgid "Patch format detection failed." msgstr "Форматът на кръпката не може да бъде определен." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "директориÑта „%s“ не може да бъде Ñъздадена" @@ -8823,7 +9003,7 @@ msgstr "директориÑта „%s“ не може да бъде Ñъзда msgid "Failed to split patches." msgstr "Кръпките не могат да бъдат разделени." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "индекÑÑŠÑ‚ не може да бъде запиÑан" @@ -8862,17 +9042,17 @@ msgstr "грешен ред Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ‡Ð½Ð¾ÑÑ‚: %.*s" msgid "unable to parse commit %s" msgstr "подаването не може да бъде анализирано: %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Ð’ хранилището липÑват необходимите обекти-BLOB, за да Ñе премине към тройно " "Ñливане." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "Базовото дърво Ñе реконÑтруира от информациÑта в индекÑа…" -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8880,30 +9060,24 @@ msgstr "" "Кръпката не може да Ñе приложи към обектите-BLOB в индекÑа.\n" "Да не би да Ñте Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ð»Ð¸ на ръка?" -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Преминаване към прилагане на кръпка към базата и тройно Ñливане…" -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "ÐеуÑпешно Ñливане на промените." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "прилагане върху празна иÑториÑ" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "не може да Ñе продължи — „%s“ не ÑъщеÑтвува." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"За интерактивно изпълнение е необходимо ÑтандартниÑÑ‚\n" -"вход да е Ñвързан Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð», а в момента не е." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "ТÑлото на кръпката за прилагане е:" @@ -8911,39 +9085,40 @@ msgstr "ТÑлото на кръпката за прилагане е:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" "Прилагане? „y“ — да/„n“ — не/„e“ — редактиране/„v“ — преглед/„a“ — приемане " "на вÑичко:" -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "" "ИндекÑÑŠÑ‚ не е чиÑÑ‚: кръпките не могат да бъдат приложени (замърÑени Ñа: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Прилагане: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Без промени — кръпката вече е приложена." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "ÐеуÑпешно прилагане на кръпка при %s %.*s“" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" "За да видите неуÑпешно приложени кръпки, използвайте опциÑта „git am --show-" "current-patch“ to see the failed patch" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8953,7 +9128,7 @@ msgstr "" "Ðко нÑма друга промÑна за включване в индекÑа, най-вероÑтно нÑÐºÐ¾Ñ Ð´Ñ€ÑƒÐ³Ð°\n" "кръпка е довела до Ñъщите промени и в такъв Ñлучай проÑто пропуÑнете тази." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8964,17 +9139,17 @@ msgstr "" "След ÐºÐ¾Ñ€ÐµÐºÑ†Ð¸Ñ Ð½Ð° конфликтите изпълнете „git add“ върху поправените файлове.\n" "За да приемете „изтрити от Ñ‚Ñх“, изпълнете „git rm“ върху изтритите файлове." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "„%s“ не е разпознат като обект." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "индекÑÑŠÑ‚ не може да бъде изчиÑтен" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8985,149 +9160,149 @@ msgstr "" "Ñочи към\n" "„ORIG_HEAD“" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Ðеправилна ÑтойноÑÑ‚ за „--patch-format“: „%s“" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [ОПЦИЯ…] [(ФÐЙЛ_С_ПОЩÐ|ДИРЕКТОРИЯ_С_ПОЩÐ)…]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [ОПЦИЯ…] (--continue | --quit | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "интерактивна работа" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "изоÑтавена опциÑ, ÑъщеÑтвува по иÑторичеÑки причини, нищо не прави" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "да Ñе преминава към тройно Ñливане при нужда." -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "без извеждане на информациÑ" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "добавÑне на ред за Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€žSigned-off-by“ в Ñъобщението за подаване" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "прекодиране в UTF-8 (Ñтандартно)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "подаване на опциÑта „-k“ на командата „git-mailinfo“" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "подаване на опциÑта „-b“ на командата „git-mailinfo“" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "подаване на опциÑта „-m“ на командата „git-mailinfo“" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "" "подаване на опциÑта „--keep-cr“ на командата „git-mailsplit“ за формат „mbox“" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "без подаване на опциÑта „--keep-cr“ на командата „git-mailsplit“ незавиÑимо " "от „am.keepcr“" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "пропуÑкане на вÑичко преди реда за отрÑзване" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "прекарване през „git-apply“" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "БРОЙ" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "ФОРМÐТ" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "формат на кръпките" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "избрано от Ð²Ð°Ñ Ñъобщение за грешка при прилагане на кръпки" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "продължаване на прилагането на кръпки Ñлед коригирането на конфликт" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "пÑевдоними на „--continue“" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "преÑкачане на текущата кръпка" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "" "възÑтановÑване на първоначалното ÑÑŠÑтоÑние на клона и преуÑтановÑване на " "прилагането на кръпката." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "" "преуÑтановÑване на прилагането на кръпката без промÑна към кое Ñочи „HEAD“." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "показване на прилаганата кръпка." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "дата за подаване различна от първоначалната" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "използване на текущото време като това за автор" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "подпиÑване на подаваниÑта Ñ GPG" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(ползва Ñе вътрешно за „git-rebase“)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -9135,18 +9310,18 @@ msgstr "" "Опциите „-b“/„--binary“ отдавна не правÑÑ‚ нищо и\n" "ще бъдат премахнати в бъдеще. Ðе ги ползвайте." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "неуÑпешно изчитане на индекÑа" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" "предишната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° пребазиране „%s“ вÑе още ÑъщеÑтвува, а е зададен " "файл „mbox“." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -9155,10 +9330,14 @@ msgstr "" "Открита е излишна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ â€ž%s“.\n" "Можете да Ñ Ð¸Ð·Ñ‚Ñ€Ð¸ÐµÑ‚Ðµ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „git am --abort“." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Ð’ момента не тече Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾ коригиране и нÑма как да Ñе продължи." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "интерактивниÑÑ‚ режим изиÑква кръпки на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [ОПЦИЯ…] [КРЪПКÐ…]" @@ -9390,81 +9569,86 @@ msgstr "" msgid "bad HEAD - strange symbolic ref" msgstr "Ðеправилен указател „HEAD“ — необичаен Ñимволен указател" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "неправилен указател: „%s“" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "извършване на „git bisect next“" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "запазване на управлÑващите думи в „“.git/BISECT_TERMS„“" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "изчиÑтване на ÑÑŠÑтоÑнието на двоичното търÑене" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "проверка за очакваните верÑии" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "изчиÑтване на ÑÑŠÑтоÑнието на двоичното търÑене" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° ÑÑŠÑтоÑнието на двоичното търÑене в „BISECT_LOG“" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "" "проверка и задаване на управлÑващи думи към ÑÑŠÑтоÑнието на двоичното търÑене" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "проверка дали ÑъщеÑтвуват одобрÑващи/отхвърлÑщи управлÑващи думи" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "извеждане на управлÑващите думи" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "начало на двоично търÑене" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" "обновÑване на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žBISECT_HEAD“ вмеÑто да Ñе използва текущото подаване" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "липÑва Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° „BISECT_WRITE“" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "опциÑта „--write-terms“ изиÑква точно 2 аргумента" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "опциÑта „--bisect-clean-state“ не приема аргументи" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "опциÑта „--bisect-reset“ изиÑква или 0 аргументи, или 1 — подаване" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "опциÑта „--bisect-write“ изиÑква 4 или 5 аргумента" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "опциÑта „--check-and-set-terms“ изиÑква 3 аргумента" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "опциÑта „--bisect-next-check“ изиÑква 2 или 3 аргумента" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "опциÑта „--bisect-terms“ изиÑква 0 или 1 аргумента" @@ -9476,152 +9660,169 @@ msgstr "git blame [ОПЦИЯ…] [ОПЦИЯ_ЗÐ_ВЕРСИЯТÐ…] [ВЕРРmsgid "<rev-opts> are documented in git-rev-list(1)" msgstr "ОПЦИИте_ЗÐ_ВЕРСИЯТРÑа документирани в ръководÑтвото git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "трÑбва да е цвÑÑ‚: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "трÑбва да завършва Ñ Ñ†Ð²ÑÑ‚" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "неправилен цвÑÑ‚ „%s“ в „color.blame.repeatedLines“" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "неправилна ÑтойноÑÑ‚ за „blame.coloring“" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "верÑиÑта за преÑкачане „%s“ не може да бъде открита" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" -msgstr "Извеждане на анотациите Ñ Ð½Ð°Ð¼Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ им, поÑледователно" +msgstr "Извеждане на авторÑтвото Ñ Ð½Ð°Ð¼Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ му, поÑледователно" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Извеждане на празни Ñуми по SHA1 за граничните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ (Ñтандартно опциÑта " "е изключена)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Ðачалните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð´Ð° не Ñе Ñчитат за гранични (Ñтандартно опциÑта е " "изключена)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Извеждане на ÑтатиÑтика за извършените дейÑтвиÑ" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Принудително извеждане на напредъка" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" -msgstr "Извеждане на допълнителна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° определÑнето на анотациите" +msgstr "Извеждане на допълнителна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° определÑнето на авторÑтвото" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "" "Извеждане на първоначалното име на файл (Ñтандартно това е автоматично)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "" "Извеждане на първоначалниÑÑ‚ номер на ред (Ñтандартно опциÑта е изключена)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Извеждане във формат за по-нататъшна обработка" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "" "Извеждане във формат за команди от потребителÑко ниво Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° вÑеки " "ред" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Използване на ÑÑŠÑ‰Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ като „git-annotate“ (Ñтандартно опциÑта е " "изключена)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Извеждане на неформатирани времена (Ñтандартно опциÑта е изключена)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Извеждане на пълните Ñуми по SHA1 (Ñтандартно опциÑта е изключена)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Без име на автор и време на промÑна (Ñтандартно опциÑта е изключена)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "" "Извеждане на е-пощата на автора, а не името му (Ñтандартно опциÑта е " "изключена)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Без разлики в знаците за интервали" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "ВЕРС" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "ПреÑкачане на ВЕРСиÑта при извеждане на авторÑтвото" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "ПреÑкачане на верÑиите указани във ФÐЙЛа при извеждане на авторÑтвото" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "" "оцветÑване на повтарÑщите Ñе метаданни от Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸Ñ Ñ€ÐµÐ´ в различен цвÑÑ‚" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "оцветÑване на редовете по възраÑÑ‚" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "ПодобрÑване на разликите чрез екÑпериментална евриÑтика" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Допълнителни изчиÑÐ»ÐµÐ½Ð¸Ñ Ð·Ð° по-добри резултати" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Изчитане на верÑиите от ФÐЙЛ, а не чрез изпълнение на „git-rev-list“" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Използване на Ñъдържанието на ФÐЙЛа като крайно положение" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "напаÑване на редовете" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "" "ТърÑене на копирани редове както в рамките на един файл, така и от един файл " "към друг" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "" "ТърÑене на премеÑтени редове както в рамките на един файл, така и от един " "файл към друг" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "" "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñамо за редовете в диапазона от n до m включително. Броенето " "започва от 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" "опциÑта „--progress“ е неÑъвмеÑтима Ñ â€ž--incremental“ и форма̀та на командите " @@ -9635,20 +9836,20 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "преди 4 години и 11 меÑеца" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "има Ñамо %2$lu ред във файла „%1$s“" msgstr[1] "има Ñамо %2$lu реда във файла „%1$s“" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" -msgstr "Ðнотирани редове" +msgstr "Редове Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ñтво" #: builtin/branch.c:29 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]" @@ -9678,7 +9879,7 @@ msgstr "git branch [ОПЦИЯ…] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [ОПЦИЯ…] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9687,7 +9888,7 @@ msgstr "" "изтриване на клона „%s“, който е ÑлÑÑ‚ към „%s“,\n" " но още не е ÑлÑÑ‚ към върха „HEAD“." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9696,12 +9897,12 @@ msgstr "" "отказване на изтриване на клона „%s“, който не е ÑлÑÑ‚ към\n" " „%s“, но е ÑлÑÑ‚ към върха „HEAD“." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Обектът-подаване за „%s“ не може да бъде открит" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9710,122 +9911,122 @@ msgstr "" "Клонът „%s“ не е ÑлÑÑ‚ напълно. Ðко Ñте Ñигурни, че иÑкате\n" "да го изтриете, изпълнете „git branch -D %s“." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "ÐеуÑпешно обновÑване на ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "ОпциÑта „-a“ е неÑъвмеÑтима Ñ Ð¾Ð¿Ñ†Ð¸Ñта „-d“" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Обектът-подаване, Ñочен от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открит" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "Ðе можете да изтриете клона „%s“, който е изтеглен в Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "ÑледÑщиÑÑ‚ клон „%s“ не може да бъде открит." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "клонът „%s“ не може да бъде открит." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Грешка при изтриването на ÑледÑÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½ „%s“" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Грешка при изтриването на клона „%s“" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Изтрит ÑледÑщ клон „%s“ (той Ñочеше към „%s“).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Изтрит клон „%s“ (той Ñочеше към „%s“).\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "форматиращиÑÑ‚ низ не може да бъде анализиран: %s" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "подаването, Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да Ñе уÑтанови" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "„HEAD“ (%s) Ñочи извън директориÑта „refs/heads“" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Клонът „%s“ Ñе пребазира върху „%s“" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "ТърÑи Ñе двоично в клона „%s“ при „%s“" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "не можете да копирате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон" -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "" "не можете да преименувате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон" -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Ðеправилно име на клон: „%s“" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "ÐеуÑпешно преименуване на клон" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "ÐеуÑпешно копиране на клон" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Клонът Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð¾ име „%s“ е копиран" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Клонът Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð¾ име „%s“ е преименуван" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Клонът е преименуван на „%s“, но указателÑÑ‚ „HEAD“ не е обновен" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "Клонът е преименуван, но конфигурационниÑÑ‚ файл не е обновен" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "Клонът е копиран, но конфигурационниÑÑ‚ файл не е обновен" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9836,183 +10037,183 @@ msgstr "" " %s\n" "Редовете, които започват Ñ â€ž%c“, ще бъдат пропуÑнати.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Общи наÑтройки" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "" "извеждане на контролната Ñума и темата. ПовтарÑнето на опциÑта Ð¿Ñ€Ð¸Ð±Ð°Ð²Ñ " "отдалечените клони" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "без информационни ÑъобщениÑ" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "задаване на режима на Ñледене (виж git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "да не Ñе ползва" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "клон-източник" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "ÑмÑна на клона-източник" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "без клон-източник" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "цветен изход" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "дейÑтвие върху ÑледÑщите клони" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "извеждане Ñамо на клоните, които Ñъдържат това ПОДÐÐ’ÐÐЕ" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "извеждане Ñамо на клоните, които не Ñъдържат това ПОДÐÐ’ÐÐЕ" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Специални дейÑÑ‚Ð²Ð¸Ñ Ð½Ð° „git-branch“:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "извеждане както на ÑледÑщите, така и на локалните клони" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "изтриване на клони, които Ñа напълно Ñлети" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "изтриване и на клони, които не Ñа напълно Ñлети" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "" "премеÑтване/преименуване на клон и принадлежащиÑÑ‚ му журнал на указателите" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "премеÑтване/преименуване на клон, дори ако има вече клон Ñ Ñ‚Ð°ÐºÐ¾Ð²Ð° име" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "копиране на клон и Ð¿Ñ€Ð¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ‰Ð¸Ñ Ð¼Ñƒ журнал на указателите" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "копиране на клон, дори ако има вече клон Ñ Ñ‚Ð°ÐºÐ¾Ð²Ð° име" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "извеждане на имената на клоните" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "извеждане на името на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "Ñъздаване на журнала на указателите на клона" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "редактиране на опиÑанието на клона" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "принудително Ñъздаване, премеÑтване, преименуване, изтриване" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "извеждане Ñамо на Ñлетите клони" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "извеждане Ñамо на неÑлетите клони" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "извеждане по колони" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "ОБЕКТ" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "извеждане Ñамо на клоните на ОБЕКТÐ" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "подредбата и филтрирането третират еднакво малките и главните букви" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "ФОРМÐТ за изхода" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "Ð’ директориÑта „refs/heads“ липÑва файл „HEAD“" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "Опциите „--column“ и „--verbose“ Ñа неÑъвмеÑтими" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "Ðеобходимо е име на клон" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "Ðе може да зададете опиÑание на неÑвързан „HEAD“" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "Ðе може да редактирате опиÑанието на повече от един клон едновременно" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Ð’ клона „%s“ вÑе още нÑма подаваниÑ." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "ЛипÑва клон на име „%s“." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "прекалено много клони за копиране" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "прекалено много аргументи към командата за преименуване" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "прекалено много аргументи към командата за Ñледене" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -10020,35 +10221,39 @@ msgstr "" "Следеното от „HEAD“ не може да Ñе зададе да е „%s“, защото то не Ñочи към " "никой клон." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "ÐÑма клон на име „%s“." -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "Ðе ÑъщеÑтвува клон на име „%s“." -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "прекалено много аргументи към командата за Ñпиране на Ñледене" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "Следеното от „HEAD“ не може да махне, защото то не Ñочи към никой клон." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "ÐÑма Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÐºÐ»Ð¾Ð½ÑŠÑ‚ „%s“ да Ñледи нÑкой друг" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" -msgstr "Опциите „-a“ и „-r“ на „git branch“ Ñа неÑъвмеÑтими Ñ Ð¸Ð¼Ðµ на клон" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" +msgstr "" +"Опциите „-a“ и „-r“ на „git branch“ Ñа неÑъвмеÑтими Ñ Ð¸Ð¼Ðµ на клон.\n" +"Пробвайте Ñ: „-a|-r --list ШÐБЛОГ" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -10069,7 +10274,7 @@ msgstr "За Ñъздаването на пратка е необходимо Ñ… msgid "Need a repository to unbundle." msgstr "За приемането на пратка е необходимо хранилище." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -10077,7 +10282,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | ВИД | --textconv --filters) [--path=ПЪТ] ОБЕКТ" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -10085,79 +10290,79 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "може да укажете Ñамо една пакетна опциÑ" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "" "ВИДът може да е: „blob“ (BLOB), „tree“ (дърво), „commit“ (подаване), " "„tag“ (етикет)" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "извеждане на вида на обект" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "извеждане на размера на обект" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "изход Ñ 0, когато нÑма грешка" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "форматирано извеждане на Ñъдържанието на обекта" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "" "да Ñе Ñтартира програмата зададена в наÑтройката „textconv“ за преобразуване " "на Ñъдържанието на обекта-BLOB" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "" "да Ñе Ñтартират програмите за преобразуване на Ñъдържанието на обектите-BLOB" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "обект-BLOB" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "опциите „--textconv“/„--filters“ изиÑкват път" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "позволÑване на опциите „-s“ и „-t“ да работÑÑ‚ Ñ Ð¿Ð¾Ð²Ñ€ÐµÐ´ÐµÐ½Ð¸ обекти" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "буфериране на изхода от „--batch“" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" "извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñъдържание на обектите подадени на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° обектите подадени на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "Ñледване на Ñимволните връзки Ñочещи в дървото (ползва Ñе Ñ â€ž--batch“ или „--" "batch-check“)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "извеждане на вÑички обекти Ñ â€ž--batch“ или „--batch-check“" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "без подреждане на изхода от „--batch-all-objects“" @@ -10185,8 +10390,8 @@ msgstr "изчитане на имената на файловете от Ñта msgid "terminate input and output records by a NUL character" msgstr "разделÑне на входните и изходните запиÑи Ñ Ð½ÑƒÐ»ÐµÐ²Ð¸Ñ Ð·Ð½Ð°Ðº „NUL“" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "без показване на напредъка" @@ -10276,9 +10481,9 @@ msgid "write the content to temporary files" msgstr "запиÑване на Ñъдържанието във временни файлове" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "ÐИЗ" @@ -10290,92 +10495,115 @@ msgstr "при Ñъздаването на нови файлове да Ñе дРmsgid "copy out the files from named stage" msgstr "копиране на файловете от това ÑÑŠÑтоÑние на Ñливане" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [ОПЦИЯ…] КЛОÐ" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [ОПЦИЯ…] [КЛОÐ] -- ФÐЙЛ…" -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [ОПЦИЯ…] КЛОÐ" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [ОПЦИЯ…] [--source=КЛОÐ] ФÐЙЛ…" + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "вашата верÑÐ¸Ñ Ð»Ð¸Ð¿Ñва в Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "чуждата верÑÐ¸Ñ Ð»Ð¸Ð¿Ñва в Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "нÑÐºÐ¾Ñ Ð¾Ñ‚ необходимите верÑии липÑва в Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "нÑÐºÐ¾Ñ Ð¾Ñ‚ необходимите верÑии липÑва в Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "пътÑÑ‚ „%s“ не може да бъде ÑлÑн" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Резултатът за „%s“ не може да бъде ÑлÑн" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "ПреÑъздаден е %d конфликт при Ñливане" +msgstr[1] "ПреÑъздадени Ñа %d конфликта при Ñливане" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "Обновен е %d път от „%s“" +msgstr[1] "Обновени Ñа %d Ð¿ÑŠÑ‚Ñ Ð¾Ñ‚ „%s“" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "Обновен е %d път от индекÑа" +msgstr[1] "Обновени Ñа %d Ð¿ÑŠÑ‚Ñ Ð¾Ñ‚ индекÑа" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" -msgstr "ОпциÑта „%s“ е неÑъвмеÑтима Ñ Ð¾Ð±Ð½Ð¾Ð²Ñването на пътища" +msgstr "опциÑта „%s“ е неÑъвмеÑтима Ñ Ð¾Ð±Ð½Ð¾Ð²Ñването на пътища" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" -msgstr "ОпциÑта „%s“ е неÑъвмеÑтима Ñ â€ž%s“" +msgstr "опциÑта „%s“ е неÑъвмеÑтима Ñ â€ž%s“" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Ðевъзможно е едновременно да обновÑвате пътища и да преминете към клона „%s“." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "пътÑÑ‚ „%s“ не е ÑлÑÑ‚" +msgid "neither '%s' or '%s' is specified" +msgstr "не е указано нито „%s“, нито „%s“" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "ПреÑъздаден е %d конфликт при Ñливане" -msgstr[1] "ПреÑъздадени Ñа %d конфликта при Ñливане" +msgid "'%s' must be used when '%s' is not specified" +msgstr "опциÑта „%s“ е задължителна, когато „%s“ не е зададена" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "Обновен е %d път от „%s“" -msgstr[1] "Обновени Ñа %d Ð¿ÑŠÑ‚Ñ Ð¾Ñ‚ „%s“" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "опциÑта „%3$s“ е неÑъвмеÑтима както Ñ â€ž%1$s“, така и Ñ â€ž%2$s“" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "Обновен е %d път от индекÑа" -msgstr[1] "Обновени Ñа %d Ð¿ÑŠÑ‚Ñ Ð¾Ñ‚ индекÑа" +msgid "path '%s' is unmerged" +msgstr "пътÑÑ‚ „%s“ не е ÑлÑÑ‚" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "първо трÑбва да коригирате индекÑа Ñи" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10385,55 +10613,55 @@ msgstr "" "индекÑа:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "локалните промени в тези файлове ще Ñе презапишат: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Журналът на указателите за „%s“ не може да Ñе проÑледи: %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "УказателÑÑ‚ „HEAD“ в момента Ñочи към" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "УказателÑÑ‚ „HEAD“ не може да бъде обновен" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "ЗанулÑване на клона „%s“\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Вече Ñте на „%s“\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Преминаване към клона „%s“ и занулÑване на промените\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Преминахте към Ð½Ð¾Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½ „%s“\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Преминахте към клона „%s“\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr "… и още %d.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10455,7 +10683,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10473,190 +10701,249 @@ msgstr[0] "" "Ðко вÑе пак иÑкате да запазите тази промÑна чрез Ñъздаване на клон,\n" "Ñега е най-подходÑщиÑÑ‚ за това чрез командата:\n" "\n" -" git branch ИМЕ_ÐÐ_ÐОВИЯ_КЛОР%s\n" +" git branch ИМЕ_ÐÐ_ÐОВИЯ_КЛОР%s\n" "\n" msgstr[1] "" "Ðко вÑе пак иÑкате да запазите тези промени чрез Ñъздаване на клон,\n" "Ñега е най-подходÑщиÑÑ‚ за това чрез командата:\n" "\n" -" git branch ИМЕ_ÐÐ_ÐОВИЯ_КЛОР%s\n" +" git branch ИМЕ_ÐÐ_ÐОВИЯ_КЛОР%s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "вътрешна грешка при обхождането на верÑиите" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "Преди това „HEAD“ Ñочеше към" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" -msgstr "Ð’ момента Ñте на клон, който предÑтои да бъде Ñъздаден" +msgstr "Ð’ момента Ñте на клон, който вÑе още не е Ñъздаден" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "очаква Ñе Ñамо един указател" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." -msgstr "очакваше Ñе един указател, а Ñте подали %d." +msgstr "очаква Ñе един указател, а Ñте подали %d." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" "Please use -- (and optionally --no-guess) to disambiguate" msgstr "" -"„%s“ може да е както локален файл, така и ÑледÑщ клон. За доуточвÑване\n" +"„%s“ може да е както локален файл, така и ÑледÑщ клон. За уточнÑване\n" "ползвайте Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ â€ž--“ (и евентуално опциÑта „--no-guess“)" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "неправилен указател: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "указателÑÑ‚ не Ñочи към обект-дърво: %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "очаква Ñе клон, а не етикет — „%s“" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "очаква Ñе локален, а не отдалечен клон — „%s“" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "очаква Ñе клон, а не „%s“" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "очаква Ñе клон, а не подаване — „%s“" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"по време на Ñливане не може да преминете към друг клон.\n" +"Пробвайте Ñ â€žgit merge --quit“ или „git worktree add“." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"по време на прилагане на поредица от кръпки не може да преминете към друг " +"клон.\n" +"Пробвайте Ñ â€žgit am --quit“ или „git worktree add“." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"по време на пребазиране не може да преминете към друг клон.\n" +"Пробвайте Ñ â€žgit rebase --quit“ или „git worktree add“." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"по време на отбиране на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ може да преминете към друг клон.\n" +"Пробвайте Ñ â€žgit cherry-pick --quit“ или „git worktree add“." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"по време на отмÑна на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ може да преминете към друг клон.\n" +"Пробвайте Ñ â€žgit revert --quit“ или „git worktree add“." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "преминаване към друг клон по време на двоично търÑене" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "задаването на път е неÑъвмеÑтимо Ñ Ð¿Ñ€ÐµÐ¼Ð¸Ð½Ð°Ð²Ð°Ð½ÐµÑ‚Ð¾ от един клон към друг" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "опциÑта „%s“ е неÑъвмеÑтима Ñ Ð¿Ñ€ÐµÐ¼Ð¸Ð½Ð°Ð²Ð°Ð½ÐµÑ‚Ð¾ от един клон към друг" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "опциÑта „%s“ е неÑъвмеÑтима Ñ â€ž%s“" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "опциÑта „%s“ е неÑъвмеÑтима ÑÑŠÑ Ð·Ð°Ð´Ð°Ð²Ð°Ð½ÐµÑ‚Ð¾ на ÐÐЧÐЛО" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "" "За да преминете към клон, подайте указател, който Ñочи към подаване. „%s“ " "не е такъв" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "клон" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "липÑва аргумент — клон или подаване" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "Ñъздаване и преминаване към нов клон" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "извеждане на напредъка" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "Ñъздаване/занулÑване на клон и преминаване към него" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "извършване на тройно Ñливане Ñ Ð½Ð¾Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "Ñъздаване на журнал на указателите за нов клон" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "СТИЛ" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "дейÑтвие при конфликт (Ñливане или тройна разлика)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "отделÑне на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ към указаното подаване" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "задаване на кой клон бива Ñледен при Ñъздаването на Ð½Ð¾Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "принудително изтеглÑне (вашите промени ще бъдат занулени)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "ÐОВ_КЛОÐ" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "нов клон без родител" -#: builtin/checkout.c:1366 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "обновÑване на игнорираните файлове (Ñтандартно)" + +#: builtin/checkout.c:1462 +msgid "do not check if another worktree is holding the given ref" +msgstr "без проверка дали друго работно дърво държи указателÑ" + +#: builtin/checkout.c:1475 msgid "checkout our version for unmerged files" msgstr "изтеглÑне на вашата верÑÐ¸Ñ Ð½Ð° неÑлетите файлове" -#: builtin/checkout.c:1369 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "изтеглÑне на чуждата верÑÐ¸Ñ Ð½Ð° неÑлетите файлове" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "принудително изтеглÑне (вашите промени ще бъдат занулени)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "извършване на тройно Ñливане Ñ Ð½Ð¾Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½" - -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" -msgstr "обновÑване на игнорираните файлове (Ñтандартно)" - -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "СТИЛ" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "дейÑтвие при конфликт (Ñливане или тройна разлика)" - -#: builtin/checkout.c:1381 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "без ограничаване на изброените пътища Ñамо до чаÑтично изтеглените" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "" -"без опит за отгатване на име на клон Ñлед неуÑпешен опит Ñ â€žgit checkout " -"ÐЕСЪЩЕСТВУВÐЩ_КЛОГ" - -#: builtin/checkout.c:1385 -msgid "do not check if another worktree is holding the given ref" -msgstr "без проверка дали друго работно дърво държи указателÑ" - -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "извеждане на напредъка" - -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "използване на припокриващ режим (Ñтандартно)" - -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Опциите „-b“, „-B“ и „--orphan“ Ñа неÑъвмеÑтими една Ñ Ð´Ñ€ÑƒÐ³Ð°" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "опциите „-p“ и „--overlay“ Ñа неÑъвмеÑтими" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "опциÑта „--track“ изиÑква име на клон" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "липÑва име на клон, използвайте опциÑта „-b“" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "„%s“ не може да бъде открит" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "трÑбва да укажете поне един път за възÑтановÑване" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "указан е неправилен път" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "„%s“ не е подаване, затова от него не може да Ñе Ñъздаде клон „%s“" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: опциÑта „--detach“ не приема аргумент-път „%s“" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10664,7 +10951,7 @@ msgstr "" "git checkout: опциите „--ours“/„--theirs“, „--force“ и „--merge“\n" "Ñа неÑъвмеÑтими Ñ Ð¸Ð·Ñ‚ÐµÐ³Ð»Ñне от индекÑа." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10694,6 +10981,72 @@ msgstr "" "\n" " checkout.defaultRemote=origin" +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "клон" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "Ñъздаване и преминаване към нов клон" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "Ñъздаване/занулÑване на клон и преминаване към него" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "Ñъздаване на журнал на указателите за нов клон" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "" +"опит за отгатване на име на клон Ñлед неуÑпешен опит Ñ â€žgit checkout " +"ÐЕСЪЩЕСТВУВÐЩ_КЛОГ (Ñтандартно)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "използване на припокриващ режим (Ñтандартно)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "Ñъздаване и преминаване към нов клон" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "Ñъздаване/занулÑване на клон и преминаване към него" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "" +"опит за отгатване на име на клон Ñлед неуÑпешен опит Ñ â€žgit switch " +"ÐЕСЪЩЕСТВУВÐЩ_КЛОГ" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "занулÑване на локалните промени" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "към кой указател към дърво да Ñе премине" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "възÑтановÑване на индекÑа" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "възÑтановÑване на работното дърво (Ñтандартно)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "пренебрегване на неÑлетите елементи" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "използване на припокриващ режим" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10724,7 +11077,12 @@ msgstr "Хранилището „%s“ ще бъде преÑкочено\n" msgid "failed to remove %s" msgstr "файлът „%s“ не може да бъде изтрит" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „lstat“ за „%s“\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10737,7 +11095,7 @@ msgstr "" "ПРЕФИКС — избор на единÑтвен обект по този уникален префикÑ\n" " — (празно) нищо да не Ñе избира\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10758,39 +11116,39 @@ msgstr "" "* — избиране на вÑички обекти\n" " — (празно) завършване на избирането\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Ðеправилен избор (%s).\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Шаблони за игнорирани елементи≫ " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ПРЕДУПРЕЖДЕÐИЕ: Ðикой обект не напаÑва на „%s“" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Избиране на обекти за изтриване" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Да Ñе изтрие ли „%s“? „y“ — да, „N“ — ÐЕ" # -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Изход.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10808,64 +11166,64 @@ msgstr "" "help — този край\n" "? — подÑказка за шаблоните" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "â—â—◠Команди â—â—â—" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Избор на Ñледващо дейÑтвие" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "СледниÑÑ‚ обект ще бъде изтрит:" msgstr[1] "Следните обекти ще бъдат изтрити:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Файловете за изчиÑтване Ñвършиха. Изход от програмата." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "без извеждане на имената на файловете, които ще бъдат изтрити" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "принудително изтриване" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "интерактивно изтриване" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "изтриване на цели директории" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "ШÐБЛОÐ" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "добавÑне на ШÐБЛОРот файлове, които да не Ñе триÑÑ‚" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "изтриване и на игнорираните файлове" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "изтриване Ñамо на игнорирани файлове" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "опциите „-x“ и „-X“ Ñа неÑъвмеÑтими" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10873,7 +11231,7 @@ msgstr "" "ÐаÑтройката „clean.requireForce“ е зададена като иÑтина, което изиÑква нÑÐºÐ¾Ñ " "от опциите „-i“, „-n“ или „-f“. ÐÑма да Ñе извърши изчиÑтване" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10882,160 +11240,164 @@ msgstr "" "което изиÑква нÑÐºÐ¾Ñ Ð¾Ñ‚ опциите „-i“, „-n“ или „-f“. ÐÑма да Ñе извърши " "изчиÑтване" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [ОПЦИЯ…] [--] ХРÐÐИЛИЩЕ [ДИРЕКТОРИЯ]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "без Ñъздаване на работно дърво" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "Ñъздаване на голо хранилище" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "" "Ñъздаване на хранилище-огледало (включва опциÑта „--bare“ за голо хранилище)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "клониране от локално хранилище" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "без твърди връзки, файловете винаги да Ñе копират" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "наÑтройване за Ñподелено хранилище" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "път" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "инициализиране на подмодулите при това клониране" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "брой подмодули, клонирани паралелно" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "директориÑ, коÑто Ñъдържа шаблоните, които да Ñе ползват" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "еталонно хранилище" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "опциÑта „--reference“ може да Ñе използва Ñамо при клониране" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "ИМЕ" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "използване на това ИМЕ вмеÑто „origin“ при проÑледÑване на клони" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "изтеглÑне на този КЛОÐ, а не ÑочениÑÑ‚ от Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ» „HEAD“" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "път към командата „git-upload-pack“ на отдалеченото хранилище" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "ДЪЛБОЧИÐÐ" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "плитко клониране до тази ДЪЛБОЧИÐÐ" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "ВРЕМЕ" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "плитко клониране до момент във времето" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" -msgstr "верÑиÑ" +msgstr "ВЕРСИЯ" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "задълбочаване на иÑториÑта на плитко хранилище до изключващ указател" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "" "клониране Ñамо на един клон — или ÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ â€žHEAD“, или изрично " "Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ â€ž--branch“" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "" "без клониране на етикети, като поÑледващите доÑтавÑÐ½Ð¸Ñ Ð½Ñма да ги ÑледÑÑ‚" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "вÑички клонирани подмодули ще Ñа плитки" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "СЛУЖЕБÐÐ_ДИРЕКТОРИЯ" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "отделна СЛУЖЕБÐÐ_ДИРЕКТОРИЯ за git извън работното дърво" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "КЛЮЧ=СТОЙÐОСТ" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "задаване на наÑтройките на новото хранилище" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "Ñпецифични за Ñървъра" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° преноÑ" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "Ñамо адреÑи IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "Ñамо адреÑи IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "вÑички клонирани подмодули ще ползват ÑледÑщите Ñи клони" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -11043,151 +11405,148 @@ msgstr "" "Името на директориÑта не може да бъде отгатнато.\n" "Задайте директориÑта изрично на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: не може да Ñе добави алтернативен източник на „%s“: %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "директориÑта „%s“ не може да бъде отворена" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "„%s“ ÑъщеÑтвува и не е директориÑ" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "не може да бъде получена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „stat“ за „%s“\n" +msgid "failed to start iterator over '%s'" +msgstr "неуÑпешно итериране по „%s“" -#: builtin/clone.c:444 -#, c-format -msgid "failed to unlink '%s'" -msgstr "неуÑпешно изтриване на „%s“" - -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "връзката „%s“ не може да бъде Ñъздадена" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "файлът не може да бъде копиран като „%s“" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "неуÑпешно итериране по „%s“" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "дейÑтвието завърши.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Клонирането бе уÑпешно за разлика от подготовката на работното дърво\n" "за определен клон. Ð’Ñе пак можете да проверите кои файлове и от кой\n" "клон в момента Ñа изтеглени Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „git status“. Можете да\n" -"завършите изтеглÑнето на клона Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „git checkout -f HEAD“.\n" +"завършите изтеглÑнето на клона Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð°:\n" +"\n" +" git restore --source=HEAD :/\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "" "Клонът „%s“ от отдалеченото хранилище, което клонирате,\n" "и който Ñледва да бъде изтеглен, не ÑъщеÑтвува." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "обектът „%s“ не може да бъде обновен" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "указателÑÑ‚ „HEAD“ от отдалеченото хранилище Ñочи към нещо,\n" "което не ÑъщеÑтвува. Ðе може да Ñе изтегли определен клон.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "работното дърво не може да бъде подготвено" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "наÑтройките не могат да бъдат запиÑани в ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "не може да Ñе извърши пакетиране за изчиÑтване на файловете" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "временниÑÑ‚ файл за алтернативни обекти не може да бъде изтрит" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Прекалено много аргументи." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "ТрÑбва да укажете кое хранилище иÑкате да клонирате." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "опциите „--bare“ и „--origin %s“ Ñа неÑъвмеÑтими." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "опциите „--bare“ и „--separate-git-dir“ Ñа неÑъвмеÑтими." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "не ÑъщеÑтвува хранилище „%s“" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "дълбочината трÑбва да е положително цÑло чиÑло, а не „%s“" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "целевиÑÑ‚ път „%s“ ÑъщеÑтвува и не е празна директориÑ." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "в „%s“ вече ÑъщеÑтвува работно дърво." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "родителÑките директории на „%s“ не могат да бъдат Ñъздадени" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "работното дърво в „%s“ не може да бъде Ñъздадено." -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Клониране и Ñъздаване на голо хранилище в „%s“…\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Клониране и Ñъздаване на хранилище в „%s“…\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -11195,44 +11554,44 @@ msgstr "" "ОпциÑта „--recursive“ е неÑъвмеÑтима Ñ Ð¾Ð¿Ñ†Ð¸Ð¸Ñ‚Ðµ „--reference“ и „--reference-" "if-able“" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "При локално клониране опциÑта „--depth“ Ñе преÑкача. Ползвайте Ñхемата " "„file://“." -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "" "При локално клониране опциÑта „--shallow-since“ Ñе преÑкача. Ползвайте " "Ñхемата „file://“." -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" "При локално клониране опциÑта „--shallow-exclude“ Ñе преÑкача. Ползвайте " "Ñхемата „file://“." -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "" "При локално клониране опциÑта „--filter“ Ñе преÑкача. Ползвайте Ñхемата " "„file://“." -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "клонираното хранилище е плитко, затова опциÑта „--local“ Ñе преÑкача" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "опциÑта „--local“ Ñе преÑкача" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "ОтдалечениÑÑ‚ клон „%s“ липÑва в клонираното хранилище „%s“" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Изглежда клонирахте празно хранилище." @@ -11281,7 +11640,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "преÑкачане на повтарÑщ Ñе родител: „%s“" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "неправилно име на обект: „%s“" @@ -11309,13 +11668,13 @@ msgstr "родител" msgid "id of a parent commit object" msgstr "ИДЕÐТИФИКÐТОРна обекта за подаването-родител" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "СЪОБЩЕÐИЕ" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "СЪОБЩЕÐИЕ при подаване" @@ -11323,8 +11682,8 @@ msgstr "СЪОБЩЕÐИЕ при подаване" msgid "read commit log message from file" msgstr "изчитане на Ñъобщението за подаване от ФÐЙЛ" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "подпиÑване на подаването Ñ GPG" @@ -11372,80 +11731,89 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Ð’ противен Ñлучай използвайте командата „git reset“\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "" +"Ð’ противен Ñлучай използвайте командата:\n" +"\n" +" git cherry-pick --skip\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Ðко иÑкате да преÑкочите това подаване, използвайте командата:\n" +"Ñлед това изпълнете:\n" "\n" -" git reset\n" +" git cherry-pick --continue\n" +"\n" +"и ще продължите да отбирате оÑтаналите подаваниÑ.\n" +"За да преÑкочите това подаване, изпълнете:\n" +"\n" +" git cherry-pick --skip\n" "\n" -"Чрез командата „git cherry-pick --continue“ ще продължите отбирането на\n" -"оÑтаналите подаваниÑ.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "върховото дърво (HEAD tree object) не може да бъде извадено от пакет" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "временниÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде Ñъздаден" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "неуÑпешно интерактивно добавÑне" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "временниÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде обновен" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Дървото на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ ÐºÐµÑˆ не може да бъде обновено" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "новиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запиÑан" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "по време на Ñливане не може да Ñе извърши чаÑтично подаване." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "по време на отбиране не може да Ñе извърши чаÑтично подаване." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "индекÑÑŠÑ‚ не може да бъде прочетен" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "временниÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запиÑан" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "заглавната чаÑÑ‚ за автор в подаването „%s“ липÑва" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "заглавната чаÑÑ‚ за автор в подаването „%s“ е неправилна" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "неправилен параметър към опциÑта „--author“" -#: 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" @@ -11453,38 +11821,38 @@ msgstr "" "не може да Ñе избере знак за коментар — в текущото Ñъобщение за подаване Ñа " "използвани вÑички подобни знаци" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "Ñледното подаване не може да бъде открито: %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(изчитане на Ñъобщението за подаване от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "Ñъобщението за подаване не бе прочетено ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "файлът ÑÑŠÑ Ñъобщението за подаване „%s“ не може да бъде прочетен" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "Ñъобщението за вкарване SQUASH_MSG не може да бъде прочетено" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "Ñъобщението за Ñливане MERGE_MSG не може да бъде прочетено" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "шаблонът за подаване не може да бъде запазен" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11496,10 +11864,10 @@ msgstr "" "\n" "Изглежда, че подавате Ñливане. Ðко това не е така, изтрийте файла:\n" "\n" -" %s\n" +" %s\n" "и опитайте отново.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11512,10 +11880,10 @@ msgstr "" "Изглежда, че извършвате отбрано подаване. Ðко това не е така, изтрийте " "файла:\n" "\n" -" %s\n" +" %s\n" "и опитайте отново.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11524,7 +11892,7 @@ msgstr "" "Въведете Ñъобщението за подаване на промените. Редовете, които започват\n" "Ñ â€ž%c“, ще бъдат пропуÑнати, а празно Ñъобщение преуÑтановÑва подаването.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11535,151 +11903,151 @@ msgstr "" "Ñ â€ž%c“, Ñъщо ще бъдат включени — може да ги изтриете вие. Празно \n" "Ñъобщение преуÑтановÑва подаването.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sÐвтор: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sДата: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sПодаващ: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "ИндекÑÑŠÑ‚ не може да бъде прочетен" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Грешка при изграждане на дърветата" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Подайте Ñъобщението Ñ Ð½ÑÐºÐ¾Ñ Ð¾Ñ‚ опциите „-m“ или „-F“.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "ОпциÑта „--author '%s'“ не Ð¾Ñ‚Ð³Ð¾Ð²Ð°Ñ€Ñ Ð½Ð° форма̀та „Име <е-поща>“ и не Ñъвпада Ñ " "никой автор" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Ðеправилен режим за игнорираните файлове: „%s“" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ðеправилен режим за неÑледените файлове: „%s“" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "Опциите „--long“ и „-z“ Ñа неÑъвмеÑтими." -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "Опциите „--reset-author“ и „--author“ Ñа неÑъвмеÑтими." -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "ÐÑма какво да бъде поправено." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Ð’ момента Ñе извършва Ñливане, не можете да поправÑте." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Ð’ момента Ñе извършва отбиране на подаване, не можете да поправÑте." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Опциите „--squash“ и „--fixup“ Ñа неÑъвмеÑтими." -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Опциите „-c“, „-C“, „-F“ и „--fixup““ Ñа неÑъвмеÑтими." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "ОпциÑта „-m“ е неÑъвмеÑтима Ñ â€ž-c“, „-C“ и „-F“." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "ОпциÑта „--reset-author“ може да Ñе използва Ñамо заедно Ñ â€ž-C“, „-c“ или\n" "„--amend“." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Опциите „--include“, „--only“, „--all“, „--interactive“ и „--patch“ Ñа\n" "неÑъвмеÑтими." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "Опциите „--include“ и „--only“ изиÑкват аргументи." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "опциÑта „-a“ е неÑъвмеÑтима ÑÑŠÑ Ð·Ð°Ð´Ð°Ð²Ð°Ð½ÐµÑ‚Ð¾ на пътища: „%s…“" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "кратка Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑÑŠÑтоÑнието" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° клоните" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñкатаното" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "изчиÑлÑване на точните ÑтойноÑти напред/назад" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "верÑиÑ" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "формат на изхода за четене от програма" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "подробна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑÑŠÑтоÑнието (Ñтандартно)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "разделÑне на елементите Ñ Ð½ÑƒÐ»ÐµÐ²Ð¸Ñ Ð·Ð½Ð°Ðº „NUL“" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "РЕЖИМ" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "извеждане на неÑледените файлове. Възможните РЕЖИМи Ñа „all“ (подробна " "информациÑ), „normal“ (кратка информациÑ), „no“ (без неÑледените файлове). " "СтандартниÑÑ‚ РЕЖИМ е: „all“." -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11688,11 +12056,11 @@ msgstr "" "„traditional“ (традиционен), „matching“ (напаÑващи), „no“ (без игнорираните " "файлове). СтандартниÑÑ‚ РЕЖИМ е: „traditional“." -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "КОГÐ" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11701,240 +12069,261 @@ msgstr "" "една от „all“ (вÑички), „dirty“ (тези Ñ Ð½ÐµÐ¿Ð¾Ð´Ð°Ð´ÐµÐ½Ð¸ промени), " "„untracked“ (неÑледени)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "извеждане на неÑледените файлове в колони" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "без заÑичане на преименуваниÑта" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "заÑичане на преименуваниÑта, може да Ñе зададе коефициент на прилика" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "Ðеподдържана ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ аргументи за игнорирани и неÑледени файлове" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "без Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñлед уÑпешно подаване" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "добавÑне на разликата към шаблона за Ñъобщението при подаване" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Опции за Ñъобщението при подаване" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "взимане на Ñъобщението от ФÐЙЛ" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "ÐВТОР" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "задаване на ÐВТОРза подаването" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "ДÐТÐ" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "задаване на ДÐТРза подаването" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "ПОДÐÐ’ÐÐЕ" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "преизползване и редактиране на Ñъобщението от указаното ПОДÐÐ’ÐÐЕ" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "преизползване на Ñъобщението от указаното ПОДÐÐ’ÐÐЕ" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "използване на автоматичното Ñъобщение за вкарване на указаното ПОДÐÐ’ÐÐЕ в " "предходното без Ñледа" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "използване на автоматичното Ñъобщение за вкарване на указаното ПОДÐÐ’ÐÐЕ в " "предното" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "ÑмÑна на автора да Ñъвпада Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ñ‰Ð¸Ñ (използва Ñе Ñ â€ž-C“/„-c“/„--amend“)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "добавÑне на поле за Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€” „Signed-off-by:“" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "използване на ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½ÐµÐ½ ФÐЙЛ" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "редактиране на подаване" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "вмъкване на ÑÑŠÑтоÑнието в шаблона за Ñъобщението при подаване" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Опции за избор на файлове при подаване" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "подаване на вÑички променени файлове" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "добавÑне на указаните файлове към индекÑа за подаване" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "интерактивно добавÑне на файлове" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "интерактивно добавÑне на промени" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "подаване Ñамо на указаните файлове" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "" "без изпълнение на куките преди подаване и при промÑна на Ñъобщението за " "подаване (pre-commit и commit-msg)" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "отпечатване на това, което би било подадено" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "поправÑне на предишното подаване" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "без изпълнение на куката Ñлед презапиÑване (post-rewrite)" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "позволÑване на празни подаваниÑ" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "позволÑване на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ñ€Ð°Ð·Ð½Ð¸ ÑъобщениÑ" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Повреден файл за върха за Ñливането „MERGE_HEAD“ (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "режимът на Ñливане „MERGE_MODE“ не може да бъде прочетен" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "Ñъобщението за подаване не може да бъде прочетено: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Ðеизвършване на подаване поради празно Ñъобщение.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Ðеизвършване на подаване поради нередактирано Ñъобщение.\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "хранилището е обновено, но новиÑÑ‚ файл за Ð¸Ð½Ð´ÐµÐºÑ â€žnew_index“\n" "не е запиÑан. Проверете дали диÑкът не е препълнен или не Ñте\n" -"превишили диÑковата Ñи квота. След това изпълнете „git reset HEAD“." +"превишили диÑковата Ñи квота. За възÑтановÑване изпълнете:\n" +"\n" +" git restore --staged :/" -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir ДИР_ОБЕКТИ]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir ДИР_ОБЕКТИ]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir ДИР_ОБЕКТИ]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir ДИР_ОБЕКТИ] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir ДИР_ОБЕКТИ] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir ДИР_ОБЕКТИ] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] ОПЦИИ_ЗÐ_Ð ÐЗДЕЛЯÐЕ" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "директориÑ" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "ДИРекториÑта_Ñ_ОБЕКТИ за запазване на гра̀фа" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" +"ако гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта е раздробен, да Ñе проверÑва Ñамо файлът на върха" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "Графът Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта не може да Ñе отвори: „%s“" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "обхождането да започне от вÑички указатели" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "" "проверка на подаваниÑта за индекÑите на пакетите изброени на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "започване на обхождането при подаваниÑта подадени на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" "включване на вÑички подаваниÑ, които вече Ñа във файла Ñ Ð³Ñ€Ð°Ì€Ñ„Ð° на подаваниÑта" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "позволÑване на Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° нараÑтващ файл Ñ Ð³Ñ€Ð°Ì€Ñ„Ð° на подаваниÑта" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "макÑимален брой Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² небазово ниво на раздробен граф" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "" +"макÑимално отношение на Ð±Ñ€Ð¾Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð² две поÑледователни нива в раздробен " +"граф" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "" "опциите „--reachable“, „--stdin-commits“ и „--stdin-packs“ Ñа неÑъвмеÑтими" @@ -11943,7 +12332,7 @@ msgstr "" msgid "git config [<options>]" msgstr "git config [ОПЦИЯ…]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "непознат аргумент „--type“: %s" @@ -12053,7 +12442,7 @@ msgstr "извеждане на Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ†Ð²ÑÑ‚: номер (ÑтаРmsgid "Type" msgstr "Вид" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "ÑтойноÑтта е от този вид" @@ -12099,7 +12488,7 @@ msgstr "" "извеждане на мÑÑтото на задаване на наÑтройката (файл, Ñтандартен вход, " "обект-BLOB, команден ред)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "СТОЙÐОСТ" @@ -12399,7 +12788,7 @@ msgstr "да Ñе търÑи Ñамо измежду етикетите напа msgid "do not consider tags matching <pattern>" msgstr "да не Ñе търÑи измежду етикетите напаÑващи този ШÐБЛОÐ" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "извеждане на Ñъкратено име на обект като резервен вариант" @@ -12577,159 +12966,196 @@ msgstr "не е зададена програма за „--tool=ПРОГРÐМРmsgid "no <cmd> given for --extcmd=<cmd>" msgstr "не е зададена команда за „--extcmd=КОМÐÐДГ" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] ОПЦИИ ПРОМЕÐЛИВИ" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "ВИД" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "Ñтандартна, резервна ÑтойноÑÑ‚ за „git_env_*(…)“" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "" +"без извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ â€” ÑтойноÑтта на „git_env_*()“ да е изходен код" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"опциÑта „--default“ изиÑква булева ÑтойноÑÑ‚ при „--type=bool“, а не „%s“" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"опциÑта „--default“ изиÑква целочиÑлена ÑтойноÑÑ‚ без знак при „--" +"type=ulong“, а не „%s“" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [ОПЦИИ_ЗÐ_СПИСЪКÐ_С_ВЕРСИИ]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "Съобщение за напредъка на вÑеки такъв БРОЙ обекта" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "Как да Ñе обработват подпиÑаните етикети" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "Как да Ñе обработват етикетите на филтрираните обекти" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" +"как да Ñе обработват ÑъобщениÑта за подаване, които Ñа в друго кодиране" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Запазване на маркерите в този ФÐЙЛ" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "ВнаÑÑне на маркерите от този ФÐЙЛ" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Да Ñе използва изкуÑтвено име на човек при липÑа на задаващ етикета" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Извеждане на цÑлото дърво за вÑÑко подаване" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Използване на маркер за завършване на потока" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Без извеждане на Ñъдържанието на обектите-BLOB" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "УКÐЗÐТЕЛ_ÐÐ_ВЕРСИЯ" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Прилагане на УКÐЗÐТЕЛÑ_ÐÐ_ВЕРСИЯ към изнеÑените указатели" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "анонимизиране на извежданата информациÑ" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "Указване на родителите, които не Ñа в потока на бързо изнаÑÑне, Ñ " "идентификатор на обект" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Извеждане на първоначалните идентификатори на обектите BLOB/подавÑниÑ" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [ОПЦИЯ…] [ХРÐÐИЛИЩЕ [УКÐЗÐТЕЛ…]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [ОПЦИЯ…] ГРУПÐ" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [ОПЦИЯ…] [(ХРÐÐИЛИЩЕ | ГРУПÐ)…]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [ОПЦИЯ…]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "доÑтавÑне от вÑички отдалечени хранилища" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "добавÑне към „.git/FETCH_HEAD“ вмеÑто замÑна" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "отдалечен път, където да Ñе качи пакетът" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "принудително презапиÑване на локален указател" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "доÑтавÑне от множеÑтво отдалечени хранилища" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "доÑтавÑне на вÑички етикети и принадлежащи обекти" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "без доÑтавÑнето на вÑички етикети „--no-tags“" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "брой подмодули доÑтавени паралелно" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "окаÑтрÑне на клоните ÑледÑщи вече неÑъщеÑтвуващи отдалечени клони" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "окаÑтрÑне на локалните етикети, които вече не ÑъщеÑтвуват в отдалеченото " -"хранилище и махане на променените" +"хранилище и презапиÑване на променените" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "ПРИ ÐУЖДÐ" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "управление на рекурÑивното доÑтавÑне на подмодулите" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "запазване на изтеглените пакети Ñ Ð¾Ð±ÐµÐºÑ‚Ð¸" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "позволÑване на обновÑването на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "задълбочаване на иÑториÑта на плитко хранилище" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "задълбочаване на иÑториÑта на плитко хранилище до определено време" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "превръщане в пълно хранилище" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "добавÑне на това пред Ð¿ÑŠÑ‚Ñ Ð½Ð° подмодула" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12737,99 +13163,132 @@ msgstr "" "Ñтандартно рекурÑивно изтеглÑне на подмодулите (файловете Ñ Ð½Ð°Ñтройки Ñа Ñ " "приоритет)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "приемане на указатели, които обновÑват „.git/shallow“" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "КÐРТÐ_С_УКÐЗÐТЕЛИ" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "указване на КÐРТÐта_С_УКÐЗÐТЕЛИ за доÑтавÑне" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "докладване, че вÑички обекти могат Ñа доÑтижими при започване от този" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "изпълнÑване на „gc --auto“ Ñлед доÑтавÑне" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "проверка за принудителни обновÑÐ²Ð°Ð½Ð¸Ñ Ð½Ð° вÑички клони" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "УказателÑÑ‚ „HEAD“ в отдалеченото хранилище не може да бъде открит" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "наÑтройката „fetch.output“ е Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð° ÑтойноÑÑ‚ „%s“" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "обектът „%s“ липÑва" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[актуализиран]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[отхвърлен]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½ не може да Ñе доÑтавÑ" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[обновÑване на етикетите]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "локален указател не може да бъде обновен" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "ÑъщеÑтвуващ етикет ще бъде презапиÑан" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[нов етикет]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[нов клон]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[нов указател]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "принудително обновÑване" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "ÑъщинÑко Ñливане" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"За да Ñ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ еднократно ползвайте опциÑта „--show-forced-updates“, а за " +"да Ñ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ за поÑтоÑнно, изпълнете:\n" +"\n" +" git config fetch.showForcedUpdates true" + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"Проверката за принудителни изтлаÑÐºÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð½Ðµ %.2f Ñек. Може да Ñ Ð¿Ñ€ÐµÑкочите " +"еднократно Ñ Ð¾Ð¿Ñ†Ð¸Ñта „--no-show-forced-updates“, а за да Ñ Ð¸Ð·Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ за " +"поÑтоÑнно, изпълнете:\n" +"\n" +" git config fetch.showForcedUpdates false\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "хранилището „%s“ не изпрати вÑички необходими обекти\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "отхвърлÑне на върха „%s“, защото плитките хранилища не могат да бъдат " "обновÑвани" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "От %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12839,50 +13298,50 @@ msgstr "" "„git remote prune %s“, за да премахнете оÑтарелите клони, които\n" "предизвикват конфликта" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (обектът „%s“ ще Ñе окаже извън клон)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (обектът „%s“ вече е извън клон)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[изтрит]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(нищо)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Ðе може да доÑтавите в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½ „%s“ на хранилище, което не е голо" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "СтойноÑтта „%2$s“ за опциÑта „%1$s“ не е ÑъвмеÑтима Ñ â€ž%3$s“" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "ОпциÑта „%s“ Ñе преÑкача при „%s“\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "ДоÑтавÑне на „%s“\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "„%s“ не може да Ñе доÑтави" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12890,7 +13349,7 @@ msgstr "" "опциÑта „--filter“ може да Ñе ползва Ñамо Ñ Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¾Ñ‚Ð¾ хранилище указано в " "наÑтройката „extensions.partialClone“" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12898,45 +13357,45 @@ msgstr "" "Ðе Ñте указали отдалечено хранилище. Задайте или адреÑ, или име\n" "на отдалечено хранилище, откъдето да Ñе доÑтавÑÑ‚ новите верÑии." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "ТрÑбва да укажете име на етикет." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Отрицателна дълбочина като аргумент на „--deepen“ не Ñе поддържа" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "Опциите „--deepen“ и „--depth“ Ñа неÑъвмеÑтими една Ñ Ð´Ñ€ÑƒÐ³Ð°" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "опциите „--depth“ и „--unshallow“ Ñа неÑъвмеÑтими" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "не можете да използвате опциÑта „--unshallow“ върху пълно хранилище" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "към „git fetch --all“ не можете да добавите аргумент — хранилище" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "" "към „git fetch --all“ не можете да добавите аргумент — указател на верÑиÑ" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "ÐÑма нито отдалечено хранилище, нито група от хранилища на име „%s“" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Указването на група и указването на верÑÐ¸Ñ Ñа неÑъвмеÑтими" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -13008,7 +13467,7 @@ msgstr "цитиране подходÑщо за tcl" msgid "show only <n> matched refs" msgstr "извеждане Ñамо на този БРОЙ напаÑнати указатели" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "Ñпазване на цветовете на форма̀та" @@ -13177,7 +13636,7 @@ msgid "Checking %s link" msgstr "Проверка на връзките на „%s“" # -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "неправилен указател „%s“" @@ -13262,7 +13721,7 @@ msgstr "показване на напредъка" msgid "show verbose names for reachable objects" msgstr "показване на подробни имена на доÑтижимите обекти" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Проверка на обектите" @@ -13295,7 +13754,7 @@ msgstr "ÑтойноÑтта на „%s“ — „%s“ не може да Ñе msgid "cannot stat '%s'" msgstr "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „stat“ за директориÑта „%s“" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "файлът „%s“ не може да бъде прочетен" @@ -13377,7 +13836,7 @@ msgstr "" "процеÑа: %<PRIuMAX> (ако Ñте Ñигурни, че това не е вÑрно, това използвайте\n" "опциÑта „--force“)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13402,272 +13861,272 @@ msgstr "зададен е неправилен брой нишки (%d) за %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "липÑва поддръжка за нишки. „%s“ ще Ñе пренебрегне" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "дървото не може да бъде прочетено (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "не може да Ñе изпълни „grep“ от обект от вида %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "опциÑта „%c“ очаква чиÑло за аргумент" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "търÑене в индекÑа, а не в работното дърво" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "търÑене и във файловете, които не Ñа под управлението на git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "търÑене и в Ñледените, и в неÑледените файлове" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "игнориране на файловете указани в „.gitignore“" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "рекурÑивно търÑене във вÑички подмодули" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "извеждане на редовете, които не Ñъвпадат" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "без значение на региÑтъра на буквите (главни/малки)" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "напаÑване на шаблоните Ñамо по границите на думите" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "обработване на двоичните файлове като текÑтови" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "преÑкачане на двоичните файлове" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "" "обработване на двоичните файлове чрез филтри за преобразуване към текÑÑ‚" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "търÑене в поддиректориите (Ñтандартно)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "навлизане макÑимално на тази ДЪЛБОЧИÐРв дървото" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "разширени регулÑрни изрази по POSIX" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "оÑновни регулÑрни изрази по POSIX (Ñтандартно)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "шаблоните Ñа доÑловни низове" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "регулÑрни изрази на Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "извеждане на номерата на редовете" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "извеждане на номера на колоната на първото напаÑване" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "без извеждане на имената на файловете" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "извеждане на имената на файловете" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "" "извеждане на отноÑителните имена на файловете ÑпрÑмо оÑновната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° " "хранилището" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "извеждане Ñамо на имената на файловете без напаÑващите редове" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "пÑевдоним на „--files-with-matches“" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "" "извеждане Ñамо на имената на файловете, които не Ñъдържат ред, напаÑващ на " "шаблона" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "извеждане на Ð½ÑƒÐ»ÐµÐ²Ð¸Ñ Ð·Ð½Ð°Ðº „NUL“ Ñлед вÑÑко име на файл" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "извеждане Ñамо на чаÑтите на редовете, които Ñъвпадат" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "извеждане на Ð±Ñ€Ð¾Ñ Ð½Ð° ÑъвпадениÑта вмеÑто напаÑващите редове" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "оцветÑване на напаÑваниÑта" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "извеждане на празен ред между напаÑваниÑта от различни файлове" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "извеждане на името на файла Ñамо веднъж за вÑички напаÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ този файл" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "извеждане на такъв БРОЙ редове преди и Ñлед напаÑваниÑта" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "извеждане на такъв БРОЙ редове преди напаÑваниÑта" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "извеждане на такъв БРОЙ редове Ñлед напаÑваниÑта" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "използване на такъв БРОЙ работещи нишки" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "пÑевдоним на „-C БРОЙ“" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "извеждане на ред Ñ Ð¸Ð¼ÐµÑ‚Ð¾ на функциÑта, в коÑто е напаÑнат шаблона" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "извеждане на обхващащата функциÑ" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "изчитане на шаблоните от ФÐЙЛ" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "напаÑване на ШÐБЛОÐ" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "комбиниране на шаблоните указани Ñ Ð¾Ð¿Ñ†Ð¸Ñта „-e“" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "" "без извеждане на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. ИзходниÑÑ‚ код указва наличието на " "напаÑване" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" "извеждане на редове Ñамо от файловете, които напаÑват на вÑички шаблони" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "извеждане на дървото за анализ на регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "програма за преглед по Ñтраници" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "извеждане на Ñъвпадащите файлове в програма за преглед по Ñтраници" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "" "позволÑване на Ñтартирането на grep(1) (текущиÑÑ‚ компилат пренебрегва тази " "опциÑ)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "не Ñте задали шаблон" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "опциите „--cached“ и „--untracked“ Ñа неÑъвмеÑтими Ñ Ð²ÐµÑ€Ñии." -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "верÑиÑта „%s“ не може бъде открита" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "неправилна ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ опции, „--threads“ ще Ñе пренебрегне" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "липÑва поддръжка за нишки. „--threads“ ще Ñе пренебрегне" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "зададен е неправилен брой нишки: %d" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "" "опциÑта „--open-files-in-pager“ е ÑъвмеÑтима Ñамо Ñ Ñ‚ÑŠÑ€Ñене в работното дърво" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "опциÑта е неÑъвмеÑтима Ñ â€ž--recurse-submodules“" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "опциите „--cached“ и „--untracked“ Ñа неÑъвмеÑтими Ñ â€ž--no-index“" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "" "опциите „--(no-)exclude-standard“ Ñа неÑъвмеÑтими Ñ Ñ‚ÑŠÑ€Ñене по Ñледени " "файлове" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "опциÑта „--cached“ е неÑъвмеÑтима ÑÑŠÑ Ð·Ð°Ð´Ð°Ð²Ð°Ð½Ðµ на дърво" @@ -13684,10 +14143,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "ВИД" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "ВИД на обекта" @@ -13806,12 +14261,12 @@ msgstr "" "Ð½Ð¸ÐºÐ¾Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° за преглед на информационните Ñтраници не уÑÐ¿Ñ Ð´Ð° обработи " "заÑвката" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "„%s“ е пÑевдоним на „%s“" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "неправилен низ за наÑтройката „alias.%s“: „%s“" @@ -13825,299 +14280,294 @@ msgstr "употреба: %s%s" msgid "'git help config' for more information" msgstr "За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¿ÑŠÐ»Ð½ÐµÑ‚Ðµ „git help config“" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "неправилен вид на обекта „%s“" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "очакваниÑÑ‚ обект „%s“ не бе получен" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "неправилен вид на обекта „%s“: очакваше Ñе „%s“, а бе получен „%s“" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "не може да Ñе запълни %d байт" msgstr[1] "не може да Ñе запълнÑÑ‚ %d байта" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "неочакван край на файл" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "грешка при четене на входните данни" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "използвани Ñа повече от наличните байтове" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "пакетниÑÑ‚ файл е прекалено голÑм за текущата ÑтойноÑÑ‚ на типа „off_t“" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "пакетниÑÑ‚ файл надвишава макÑÐ¸Ð¼Ð°Ð»Ð½Ð¸Ñ Ð²ÑŠÐ·Ð¼Ð¾Ð¶ÐµÐ½ размер" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "пакетниÑÑ‚ файл „%s“ не може да бъде Ñъздаден" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "пакетниÑÑ‚ файл „%s“ не може да бъде отворен" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "неÑъответÑтвие в подпиÑа към Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "не Ñе поддържа пакетиране вeÑ€ÑÐ¸Ñ â€ž%<PRIu32>“" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "повреден обект в Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» при отмеÑтване %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "декомпреÑирането Ñ â€žinflate“ върна %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "ÑтойноÑтта на отмеÑтването за обекта-разлика води до препълване" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "ÑтойноÑтта на отмеÑтването за обекта-разлика е извън диапазона" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "непознат вид обект %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "пакетниÑÑ‚ файл не може да бъде прочетен" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "неочакван край на файл, липÑва %<PRIuMAX> байт" msgstr[1] "неочакван край на файл, липÑват %<PRIuMAX> байта" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "Ñериозна грешка при декомпреÑиране Ñ â€žinflate“" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "" "СЪВПÐДЕÐИЕ ÐРСТОЙÐОСТИТЕ ЗРСУМИТЕ ЗРSHA1: „%s“ ÐРДВРРÐЗЛИЧÐИ ОБЕКТÐ!" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "обектът „%s“ не може да бъде прочетен" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "ÑъщеÑтвуващиÑÑ‚ обект в „%s“ не може да бъде прочетен" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "ÑъщеÑтвуващиÑÑ‚ обект „%s“ не може да бъде прочетен" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "неправилен обект-BLOB „%s“" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "грешка при проверката на пакетирани обекти" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "ÐÑкои обекти, наÑледници на „%s“, не могат да бъдат доÑтигнати" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "разликата не може да бъде приложена" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Получаване на обекти" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "ИндекÑиране на обекти" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "пакетниÑÑ‚ файл е повреден (нееднакви Ñуми по SHA1)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñ â€žfstat“" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "в ÐºÑ€Ð°Ñ Ð½Ð° Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» има повредени данни" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "" "фатална грешка във функциÑта „parse_pack_objects“. Това е грешка в Git, " "докладвайте Ñ Ð½Ð° разработчиците, като пратите е-пиÑмо на адреÑ: „git@vger." "kernel.org“." -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Откриване на Ñъответните разлики" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "не може да Ñе Ñъздаде нишка: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "" "фатална грешка във функциÑта „conclude_pack“. Това е грешка в Git, " "докладвайте Ñ Ð½Ð° разработчиците, като пратите е-пиÑмо на адреÑ: „git@vger." "kernel.org“." -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "дейÑтвието завърши Ñ %d локален обект" msgstr[1] "дейÑтвието завърши Ñ %d локални обекта" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "" "Ðеочаквана поÑледваща Ñума за грешки за „%s“ (причината може да е грешка в " "диÑка)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "в пакета има %d ненапаÑваща разлика" msgstr[1] "в пакета има %d ненапаÑващи разлики" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "добавениÑÑ‚ обект не може да Ñе компреÑира Ñ â€ždeflate“: %d" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "локалниÑÑ‚ обект „%s“ е повреден" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "името на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“ не завършва на „.pack“" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файла „%s“ „%s“" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "грешка при затварÑнето на запиÑÐ°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“ „%s“" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "грешка при затварÑнето на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "пакетниÑÑ‚ файл не може да бъде запазен" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "файлът за индекÑа не може да бъде Ñъхранен" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "зададена е неправилна верÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ðµ: „pack.indexversion=%<PRIu32>“" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "СъщеÑтвуващиÑÑ‚ пакетен файл „%s“ не може да бъде отворен" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "СъщеÑтвуващиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“ не може да бъде отворен" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "%d обект не е разлика" msgstr[1] "%d обекта не Ñа разлика" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "дължината на веригата е %d: %lu обект" msgstr[1] "дължината на веригата е %d: %lu обекта" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "ПроцеÑÑŠÑ‚ не може да Ñе върне към предишната работна директориÑ" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "неправилна ÑтойноÑÑ‚ „%s“" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "опциÑта „--fix-thin“ изиÑква „--stdin“" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "„--stdin“ изиÑква хранилище на git" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "опциÑта „--verify“ изиÑква име на пакетен файл" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "грешка при проверка Ñ â€žfsck“ на пакетните обекти" @@ -14215,17 +14665,17 @@ msgstr "" "указване, че хранилището на Git ще бъде Ñподелено от повече от един " "потребител" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "директориÑта „%s“ не може да бъде Ñъздадена" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "не може да Ñе влезе в директориÑта „%s“" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -14234,12 +14684,12 @@ msgstr "" "%s (или --work-tree=ДИРЕКТОРИЯ) изиÑква указването на %s (или --git-" "dir=ДИРЕКТОРИЯ)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Работното дърво в „%s“ е недоÑтъпно" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -14247,59 +14697,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "ЛЕКСЕМÐ[(=|:)СТОЙÐОСТ])…] [ФÐЙЛ…]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "директно редактиране на файловете" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "изчиÑтване на празните епилози" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "къде да Ñе поÑтави новиÑÑ‚ епилог" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "дейÑтвие, ако епилог вече ÑъщеÑтвува" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "дейÑтвие при липÑващ епилог" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "извеждане Ñамо на епилозите" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "без прилагане на правилата за наÑтройките" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "Ñливане на ÑтойноÑтите поÑледване от знаци за интервали" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "опции при анализ" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "„---“ нÑма Ñпециално значение" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "епилог" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "епилози за добавÑне" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "опциÑта „--trailer“ е неÑъвмеÑтима Ñ â€ž--name-only“" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "не е зададен входен файл за редактиране на мÑÑто" @@ -14311,117 +14761,117 @@ msgstr "git log [ОПЦИЯ…] [ДИÐПÐЗОÐ_ÐÐ_ВЕРСИИТЕ] [[--] Ð msgid "git show [<options>] <object>..." msgstr "git show [ОПЦИЯ…] ОБЕКТ…" -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "неправилна Ð¾Ð¿Ñ†Ð¸Ñ â€ž--decorate“: %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "извеждане на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ ÐºÐ¾Ð´" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "" "Използване на файл за ÑъответÑтвиÑта на имената и адреÑите на е-поща („." "mailmap“)" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "Ñпециален формат Ñамо на указателите напаÑващи на ШÐБЛОÐа" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "без Ñпециален формат на указателите напаÑващи на ШÐБЛОÐа" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "наÑтройки на форма̀та на извежданата информациÑ" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "" "Обработване Ñамо на редовете във файла в диапазона от n до m включително. " "Броенето започва от 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "Резултат: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: повреден файл" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "обектът не може да бъде прочетен: %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "неизвеÑтен вид: %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "не е зададена ÑтойноÑÑ‚ на „format.headers“" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "прекалено дълго име на директориÑта за изходната информациÑ" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "файлът-кръпка „%s“ не може да бъде отворен" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "трÑбва да зададете точно един диапазон" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "не е диапазон" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "придружаващото пиÑмо трÑбва да е форматирано като е-пиÑмо" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "неуÑпешно Ñъздаване на придружаващо пиÑмо" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "неправилен формат на заглавната чаÑÑ‚ за отговор „in-reply-to“: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [ОПЦИЯ…] [ОТ | ДИÐПÐЗОÐ_ÐÐ_ВЕРСИИТЕ]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "може да укажете макÑимум една Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° изход" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "непознато подаване: „%s“" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "„%s“ не е указател или не Ñочи към нищо" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "точната база за Ñливане не може да бъде открита" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -14431,285 +14881,281 @@ msgstr "" "зададете, използвайте „git branch --set-upstream-to“.\n" "Можете ръчно да зададете базово подаване чрез „--base=<base-commit-id>“." -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "точната база при Ñливане не може да бъде открита" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "базовото подаване трÑбва да е предшеÑтвеникът на ÑпиÑъка Ñ Ð²ÐµÑ€Ñиите" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "базовото подаване не може да е в ÑпиÑъка Ñ Ð²ÐµÑ€Ñиите" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "идентификаторът на кръпката не може да бъде получен" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "неуÑпешно определÑне на диапазоните за разлика" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "Ð½Ð¾Ð¼ÐµÑ€Ð°Ñ†Ð¸Ñ â€ž[PATCH n/m]“ дори и при единÑтвена кръпка" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "Ð½Ð¾Ð¼ÐµÑ€Ð°Ñ†Ð¸Ñ â€ž[PATCH]“ дори и при множеÑтво кръпки" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "извеждане на кръпките на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "Ñъздаване на придружаващо пиÑмо" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "проÑта чиÑлова поÑледователноÑÑ‚ за имената на файловете-кръпки" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "ЗÐÐЦИ" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "използване на тези ЗÐÐЦИ за ÑÑƒÑ„Ð¸ÐºÑ Ð²Ð¼ÐµÑто „.patch“" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "номерирането на кръпките да започва от този БРОЙ, а не Ñ 1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "отбелÑзване, че това е N-тата поредна Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ð½Ð° поредицата от кръпки" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Използване на „[RFC PATCH]“ вмеÑто „[PATCH]“" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Използване на този „[ПРЕФИКС]“ вмеÑто „[PATCH]“" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "запазване на изходните файлове в тази ДИРЕКТОРИЯ" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "без добавÑне/махане на префикÑа „[PATCH]“" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "без извеждане на разлики между двоични файлове" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "в заглавната чаÑÑ‚ „From:“ (от) контролната Ñума да е Ñамо от нули" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "без кръпки, които приÑÑŠÑтват в ÑÐ»ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "" "извеждане във формат за кръпки, а на в ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ (кръпка и ÑтатиÑтика)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "Опции при изпращане" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "ЗÐГЛÐÐ’ÐÐ_ЧÐСТ" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "добавÑне на тази ЗÐГЛÐÐ’ÐÐ_ЧÐСТ" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "Е-ПОЩÐ" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "добавÑне на заглавна чаÑÑ‚ „To:“ (до)" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "добавÑне на заглавна чаÑÑ‚ „Cc:“ (и до)" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "ИДЕÐТИЧÐОСТ" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "задаване на адреÑа в заглавната чаÑÑ‚ „From“ (от) да е тази ИДЕÐТИЧÐОСТ. Ðко " "не е зададена такава, Ñе взима адреÑа на подаващиÑ" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "ИДЕÐТИФИКÐТОР_ÐÐ_СЪОБЩЕÐИЕ" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "" "първото Ñъобщение да е в отговор на е-пиÑмото Ñ Ñ‚Ð¾Ð·Ð¸ " "ИДЕÐТИФИКÐТОР_ÐÐ_СЪОБЩЕÐИЕ" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "граница" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "прикрепÑне на кръпката" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "включване на кръпката в текÑта на пиÑмата" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "" "използване на нишки за ÑъобщениÑта. СТИЛът е „shallow“ (плитък) или " "„deep“ (дълбок)" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "подпиÑ" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "добавÑне на поле за подпиÑ" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "БÐЗОВО_ПОДÐÐ’ÐÐЕ" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "добавÑне на необходимото БÐЗово дърво към поредицата от кръпки" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "добавÑне на Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¾Ñ‚ файл" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "без извеждане на имената на кръпките" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "извеждане на напредъка във фазата на Ñъздаване на кръпките" -#: builtin/log.c:1606 -msgid "rev" -msgstr "ВЕРС" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" "показване на промените ÑпрÑмо ВЕРСиÑта в придружаващото пиÑмо или единÑтвена " "кръпка" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" "показване на промените ÑпрÑмо ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° ВЕРСиÑта в придружаващото пиÑмо " "или единÑтвена кръпка" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "процент за претеглÑне при оценка на Ñъздаването" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "грешна идентичноÑÑ‚: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "опциите „-n“ и „-k“ Ñа неÑъвмеÑтими" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "опциите „--subject-prefix“/„-rfc“ и „-k“ Ñа неÑъвмеÑтими" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "опциÑта „--name-only“ е неÑъвмеÑтима Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ на кръпки" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "опциÑта „--name-status“ е неÑъвмеÑтима Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ на кръпки" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "опциÑта „--check“ е неÑъвмеÑтима Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ на кръпки" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "" "изходът може да или ÑтандартниÑÑ‚, или да е в директориÑ, но не и двете." -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "" "опциÑта „--interdiff“ изиÑква Ð¾Ð¿Ñ†Ð¸Ñ â€ž--cover-letter“ или единÑтвена кръпка" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Разлика в разликите:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Разлика в разликите ÑпрÑмо v%d:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "опциÑта „--creation-factor“ изиÑква Ð¾Ð¿Ñ†Ð¸Ñ â€ž--range-diff“" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "" "опциÑта „--range-diff“ изиÑква Ð¾Ð¿Ñ†Ð¸Ñ â€ž--cover-letter“ или единÑтвена кръпка" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Диапазонна разлика:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Диапазонна разлика ÑпрÑмо v%d:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "файлът „%s“ Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð½Ðµ може да бъде прочетен" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Създаване на кръпки" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "неуÑпешно Ñъздаване на изходни файлове" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [ОТДÐЛЕЧЕÐ_КЛОР[ВРЪХ [ПРЕДЕЛ]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14837,7 +15283,7 @@ msgstr "" msgid "do not print remote URL" msgstr "без извеждане на адреÑите на отдалечените хранилища" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "КОМÐÐДÐ" @@ -14912,191 +15358,195 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "празна пощенÑка ÐºÑƒÑ‚Ð¸Ñ mbox: „%s“" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [ОПЦИЯ…] [ПОДÐÐ’ÐÐЕ…]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "опциÑта „-m“ изиÑква ÑтойноÑÑ‚" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "опциÑта „%s“ изиÑква ÑтойноÑÑ‚" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "ÐÑма такава ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð·Ð° Ñливане: „%s“.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Ðаличните Ñтратегии Ñа:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Допълнителните Ñтратегии Ñа:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "без извеждане на ÑтатиÑтиката Ñлед завършване на Ñливане" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "извеждане на ÑтатиÑтиката Ñлед завършване на Ñливане" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(пÑевдоним на „--stat“)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "добавÑне (на макÑимум такъв БРОЙ) запиÑи от ÑÑŠÐºÑ€Ð°Ñ‚ÐµÐ½Ð¸Ñ Ð¶ÑƒÑ€Ð½Ð°Ð» в Ñъобщението " "за подаване" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "Ñъздаване на едно подаване вмеÑто извършване на Ñливане" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "извършване на подаване при уÑпешно Ñливане (Ñтандартно дейÑтвие)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "редактиране на Ñъобщението преди подаване" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "позволÑване на превъртане (Ñтандартно дейÑтвие)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "преуÑтановÑване, ако превъртането е невъзможно" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "проверка, че указаното подаване е Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð½Ð° GPG" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "СТРÐТЕГИЯ" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "СТРÐТЕГИЯ за Ñливане, коÑто да Ñе ползва" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "ОПЦИЯ=СТОЙÐОСТ" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "ОПЦИЯ за избраната ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð·Ð° Ñливане" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "СЪОБЩЕÐИЕ при подаването ÑÑŠÑ Ñливане (при ÑъщинÑки ÑливаниÑ)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "преуÑтановÑване на текущото Ñливане" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "преуÑтановÑване без промÑна на индекÑа и работното дърво" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "продължаване на текущото Ñливане" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "позволÑване на Ñливане на незавиÑими иÑтории" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "" "проверка на куката при промÑна на Ñъобщението при подаване (commit-msg)" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "не може да Ñе извърши Ñкатаване" -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "неуÑпешно Ñкатаване" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "неправилен обект: „%s“" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "неуÑпешно прочитане на обект-дърво" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (нÑма какво да Ñе вкара)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Вкарано подаване — указателÑÑ‚ „HEAD“ нÑма да бъде обновен\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "" "ЛипÑва Ñъобщение при подаване — указателÑÑ‚ „HEAD“ нÑма да бъде обновен\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "„%s“ не Ñочи към подаване" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Ðеправилен низ за наÑтройката „branch.%s.mergeoptions“: „%s“" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Поддържа Ñе Ñамо Ñливане на точно две иÑтории." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Ðепозната Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° рекурÑивното Ñливане „merge-recursive“: „-X%s“" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "„%s“ не може да бъде запиÑан" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "От „%s“ не може да Ñе чете" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Сливането нÑма да бъде подадено. За завършването му и подаването му " "използвайте командата „git commit“.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -15105,11 +15555,11 @@ msgstr "" "Ð’ Ñъобщението при подаване добавете Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° причината за\n" "Ñливането, оÑобено ако Ñливате обновен отдалечен клон в тематичен клон.\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Празно Ñъобщение предотвратÑва подаването.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -15118,72 +15568,76 @@ msgstr "" "Редовете, които започват Ñ â€ž%c“, ще бъдат пропуÑнати, а празно\n" "Ñъобщение преуÑтановÑва подаването.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Празно Ñъобщение при подаване." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "ПървиÑÑ‚ етап на Ñливането завърши.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "ÐеуÑпешно автоматично Ñливане — коригирайте конфликтите и подайте " "резултата.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "ÐÑма текущ клон." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "ТекущиÑÑ‚ клон не Ñледи никой." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "ТекущиÑÑ‚ клон не Ñледи никой клон." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Ðикой клон не Ñледи клона „%s“ от хранилището „%s“" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Ðеправилна ÑтойноÑÑ‚ „%s“ в Ñредата „%s“" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "не може да Ñе Ñлее в „%s“: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "не може да Ñе Ñлее" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "опциÑта „--abort“ не приема аргументи" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" "Ðе може да преуÑтановите Ñливане, защото в момента не Ñе извършва такова " "(липÑва указател „MERGE_HEAD“)." -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "опциÑта „--quit“ не приема аргументи" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "опциÑта „--continue“ не приема аргументи" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Ð’ момента не Ñе извършва Ñливане (липÑва указател „MERGE_HEAD“)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15191,7 +15645,7 @@ msgstr "" "Ðе Ñте завършили Ñливане. (УказателÑÑ‚ „MERGE_HEAD“ ÑъщеÑтвува).\n" "Подайте промените Ñи, преди да започнете ново Ñливане." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15199,99 +15653,103 @@ msgstr "" "Ðе Ñте завършили отбиране на подаване (указателÑÑ‚ „CHERRY_PICK_HEAD“\n" "ÑъщеÑтвува). Подайте промените Ñи, преди да започнете ново Ñливане." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" "Ðе Ñте завършили отбиране на подаване (указателÑÑ‚ „CHERRY_PICK_HEAD“\n" "ÑъщеÑтвува)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "ОпциÑта „--squash“ е неÑъвмеÑтима Ñ â€ž--no-ff“." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "ОпциÑта „--squash“ е неÑъвмеÑтима Ñ â€ž--commit“." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "Ðе е указано подаване и наÑтройката „merge.defaultToUpstream“ не е зададена." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Вкарване на подаване във връх без иÑÑ‚Ð¾Ñ€Ð¸Ñ Ð²Ñе още не Ñе поддържа" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Понеже върхът е без иÑториÑ, вÑички ÑÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ñа превъртаниÑ, не може да Ñе " "извърши ÑъщинÑко Ñливане изиÑквано от опциÑта „--no-ff“" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "„%s“ — не е нещо, което може да Ñе Ñлее" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Можете да Ñлеете точно едно подаване във връх без иÑториÑ" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "незавиÑими иÑтории не може да Ñе ÑлеÑÑ‚" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Вече е обновено." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "ОбновÑване „%s..%s“\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Проба ÑÑŠÑ Ñливане в рамките на индекÑа…\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "ÐеуÑпешно Ñливане.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Вече е обновено!" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "Ðе може да Ñе извърши превъртане, преуÑтановÑване на дейÑтвието." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Привеждане на дървото към първоначалното…\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Пробване ÑÑŠÑ ÑтратегиÑта за Ñливане „%s“…\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "ÐÐ¸ÐºÐ¾Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð·Ð° Ñливане не може да извърши Ñливането.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "ÐеуÑпешно Ñливане ÑÑŠÑ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ â€ž%s“.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "" "Ползва Ñе ÑтратегиÑта „%s“, коÑто ще подготви дървото за коригиране на " "ръка.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -15427,23 +15885,39 @@ msgid "allow creation of more than one tree" msgstr "разрешаване на Ñъздаването на повече от едно дърво" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=ДИР_ОБЕКТ] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=ДИР_ОБЕКТ] (write|verify|expire|repack --" +"batch-size=Ð ÐЗМЕР)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" "ДИРекториÑта_Ñ_ОБЕКТи Ñъдържа множеÑтво двойки пакетни файлове ÑÑŠÑ " "ÑÑŠÐ¾Ñ‚Ð²ÐµÑ‚Ð½Ð¸Ñ Ð¸Ð¼ индекÑ" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"при препакетиране пакетните файлове, които Ñа Ñ Ð¿Ð¾-малък от този размер, да " +"Ñе обединÑват в пакети Ñ Ð¿Ð¾-голÑм от този размер" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "прекалено много аргументи" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "опциÑта „--batch-size“ изиÑква подкомандата „repack“" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "непознат глагол: %s" +msgid "unrecognized subcommand: %s" +msgstr "непозната подкоманда: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15534,54 +16008,54 @@ msgstr "%s, обект: „%s“, цел: „%s“" msgid "Renaming %s to %s\n" msgstr "Преименуване на „%s“ на „%s“\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "неуÑпешно преименуване на „%s“" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [ОПЦИЯ…] ПОДÐÐ’ÐÐЕ…" -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [ОПЦИЯ…] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [ОПЦИЯ…] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "извеждане Ñамо на имената (без Ñумите по SHA1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "използване Ñамо на етикетите за именуване на подаваниÑта" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "използване Ñамо на указателите напаÑващи на ШÐБЛОÐа" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "игнориране на указателите напаÑващи на ШÐБЛОÐа" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "" "извеждане на вÑички подаваниÑ, които могат да бъдат доÑтигнати от вÑички " "указатели" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "четене от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "да Ñе извеждат и недефинираните имена (Ñтандартна ÑтойноÑÑ‚ на опциÑта)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "извеждане на идентификаторите на обекти-етикети (за вътрешни нужди)" @@ -15728,7 +16202,7 @@ msgstr "обектът-бележка не може да бъде запиÑан msgid "the note contents have been left in %s" msgstr "Ñъдържанието на бележката е във файла „%s“" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "файлът „%s“ не може да бъде отворен или прочетен" @@ -15969,7 +16443,7 @@ msgstr "" "резултата Ñ â€žgit notes merge --commit“ или преуÑтановете Ñливането Ñ " "командата „git notes merge --abort“.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Ðе може да Ñе открие към какво Ñочи „%s“." @@ -16003,7 +16477,7 @@ msgstr "УКÐЗÐТЕЛ_ЗÐ_БЕЛЕЖКÐ" msgid "use notes from <notes-ref>" msgstr "да Ñе използва бележката Ñочена от този УКÐЗÐТЕЛ_ЗÐ_БЕЛЕЖКÐ" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "непозната подкоманда: %s" @@ -16021,130 +16495,130 @@ msgstr "" "git pack-objects [ОПЦИЯ…] ПРЕФИКС_ÐÐ_ИМЕТО [< СПИСЪК_С_УКÐЗÐТЕЛИ | < " "СПИСЪК_С_ОБЕКТИ]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "лоша контролна Ñума за Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð¾Ð±ÐµÐºÑ‚ „%s“" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "пакетиран обект Ñ Ð³Ñ€ÐµÑˆÐºÐ¸ за „%s“" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "рекурÑивна разлика за обект „%s“" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "подредени бÑха %u обекта, а Ñе очакваха %<PRIu32>" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "неправилен пакетен файл: „%s“" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "пакетниÑÑ‚ файл „%s“ не може да бъде повторно отворен" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "неуÑпешно търÑене в преизползван пакетен файл" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "неуÑпешно четене от преизползван пакетен файл" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" "изключване на запиÑването на битовата маÑка, пакетите Ñа разделени поради " "ÑтойноÑтта на „pack.packSizeLimit“" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "ЗапиÑване на обектите" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "не може да бъде получена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „stat“ за „%s“" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "бÑха запиÑани %<PRIu32> обекти, а Ñе очакваха %<PRIu32>" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "изключване на запиÑването на битовата маÑка, защото нÑкои обекти нÑма да Ñе " "пакетират" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "прекалено далечно начало на отмеÑтването за обектите-разлика за „%s“" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "недоÑтижимо начало на отмеÑтването за обектите-разлика за „%s“" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "ПреброÑване на обектите" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "размерът на „%s“ не може да бъде получен" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "заглавната чаÑÑ‚ на „%s“ не може да бъде анализирана" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "обектът „%s“ не може да Ñе прочете" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "обектът „%s“ е Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð° дължина (%<PRIuMAX>, а не %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "неоптимизиран пакет — паметта Ñвърши" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Делта компреÑиÑта ще използва до %d нишки" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "" "обектите, които могат да бъдат доÑтигнати от етикета „%s“, не може да бъдат " "пакетирани" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "КомпреÑиране на обектите" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "неправилен брой разлики" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -16153,7 +16627,7 @@ msgstr "" "очаква Ñе идентификатор на краен обект, а не:\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -16162,258 +16636,262 @@ msgstr "" "очаква Ñе идентификатор на обект, а не:\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "неправилна ÑтойноÑÑ‚ за „--missing“" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "индекÑÑŠÑ‚ на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» не може да бъде отворен" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "непакетираниÑÑ‚ обект в „%s“ не може да бъде анализиран" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "оÑтаването на обекта непакетиран не може да бъде наложено" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "„%s“ не е верÑиÑ" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "неправилна верÑÐ¸Ñ â€ž%s“" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "Ñкорошните обекти не могат да бъдат добавени" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "неподдържана верÑÐ¸Ñ Ð½Ð° индекÑа „%s“" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "неправилна верÑÐ¸Ñ Ð½Ð° индекÑа „%s“" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "без извеждане на напредъка" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "извеждане на напредъка" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "извеждане на напредъка във фазата на запазване на обектите" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "" "Ñъщото дейÑтвие като опциÑта „--all-progress“ при извеждането на напредъка" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "ВЕРСИЯ[,ОТМЕСТВÐÐЕ]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "" "запазване на индекÑа на пакетните файлове във форма̀та Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð°Ñ‚Ð° верÑиÑ" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "макÑимален размер на вÑеки пакетен файл" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "игнориране на обектите заети от други хранилища на обекти" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "игнориране на пакетираните обекти" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "ограничаване на прозореца за пакетиране по брой обекти" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "" "ограничаване на прозореца за пакетиране и по памет оÑвен по брой обекти" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "макÑимална дължина на веригата от разлики, коÑто е позволена в Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "преизползване на ÑъщеÑтвуващите разлики" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "преизползване на ÑъщеÑтвуващите обекти" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "използване на обекти „OFS_DELTA“" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "" "Ñтартиране на нишки за претърÑване на най-добрите ÑÑŠÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° разликите" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "без Ñъздаване на празен пакетен файл" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "изчитане на верÑиите от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "ограничаване до вÑе още непакетираните обекти" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "" "включване на вÑички обекти, които могат да Ñе доÑтигнат от произволен " "указател" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "включване и на обектите Ñочени от запиÑите в журнала на указателите" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "включване и на обектите Ñочени от индекÑа" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "извеждане на пакета на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "" "включване и на обектите-етикети, които Ñочат към обектите, които ще бъдат " "пакетирани" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "запазване на недоÑтижимите обекти" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "пакетиране и на недоÑтижимите обекти" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "разпакетиране на недоÑтижимите обекти, които Ñа по-нови от това ВРЕМЕ" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "използване на алгоритъм за чаÑтична доÑтижимоÑÑ‚" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "Ñъздаване на Ñъкратени пакети" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "пакетиране подходÑщо за плитко доÑтавÑне" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "игнориране на пакетите, които Ñа придружени от файл „.keep“" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "пропуÑкане на този пакет" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "ниво на компреÑиране при пакетиране" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "" "извеждане на вÑички родители — дори и тези, които нормално Ñа Ñкрити при " "приÑажданиÑта" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "използване на ÑъщеÑтвуващи индекÑи на база битови маÑки за уÑкорÑване на " "преброÑването на обектите" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "" "запазване и на Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° база побитова маÑка, заедно Ñ Ð¸Ð½Ð´ÐµÐºÑа за пакета" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "запиÑване на индекÑи на база битови маÑки при възможноÑÑ‚" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "как да Ñе обработват липÑващите обекти" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "без пакетиране на обекти в гарантиращи пакети" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "без промÑна на групите при делта компреÑиÑ" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "веригата Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸ е прекалено дълбока — %d, ще Ñе ползва %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "" "СтойноÑтта на наÑтройката „pack.deltaCacheLimit“ е прекалено голÑма. Ще Ñе " "ползва %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "опциÑта „--max-pack-size“ не може да Ñе използва за Ñъздаване на пакетни " "файлове за преноÑ" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "минималниÑÑ‚ размер на пакетите е 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "" "опциÑта „--thin“не може да Ñе използва за Ñъздаване на пакетни файлове Ñ " "индекÑ" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "опциите „--keep-unreachable“ и „--unpack-unreachable“ Ñа неÑъвмеÑтими" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "опциÑта „-filter“ изиÑква „-stdout“" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "ИзброÑване на обектите" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" @@ -16469,44 +16947,44 @@ msgstr "Ðеправилна ÑтойноÑÑ‚ за „%s“: „%s“" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git push [ОПЦИЯ…] [ХРÐÐИЛИЩЕ [УКÐЗÐТЕЛ_ÐÐ_ВЕРСИЯ…]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "управление на рекурÑивното доÑтавÑне на подмодулите" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Опции при Ñливане" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "внаÑÑне на промените чрез пребазиране, а не чрез Ñливане" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "позволÑване на превъртаниÑ" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "автоматично Ñкатаване/прилагане на Ñкатаното преди и Ñлед пребазиране" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Опции при доÑтавÑне" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "принудително презапиÑване на Ð»Ð¾ÐºÐ°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "брой подмодули издърпани паралелно" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Ðеправилна ÑтойноÑÑ‚ за „pull.ff“: „%s“" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -16514,14 +16992,14 @@ msgstr "" "Между указателите, които току що доÑтавихте, нÑма подходÑщ кандидат, върху " "който да пребазирате." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Между указателите, които току що доÑтавихте, нÑма подходÑщ кандидат, който " "да Ñлеете." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16529,7 +17007,7 @@ msgstr "" "Ðай вероÑтно Ñте подали шаблон за указатели, който не е напаÑнал Ñ Ð½Ð¸Ñ‰Ð¾ в " "отдалеченото хранилище." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16540,44 +17018,44 @@ msgstr "" "Понеже това не е хранилището по подразбиране на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, трÑбва\n" "да укажете Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½ на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Извън вÑички клони." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Укажете върху кой клон иÑкате да пребазирате." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Укажете кой клон иÑкате да Ñлеете." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð³Ð»ÐµÐ´Ð½ÐµÑ‚Ðµ ръководÑтвото „git-pull(1)“" -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "ОТДÐЛЕЧЕÐО_ХРÐÐИЛИЩЕ" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "КЛОÐ" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "ТекущиÑÑ‚ клон не Ñледи никой." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" "Ðко иÑкате да зададете Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñледен клон, можете да направите това Ñ " "командата:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16586,32 +17064,32 @@ msgstr "" "За Ñливане е указан отдалечениÑÑ‚ указател „%s“,\n" "но такъв не е доÑтавен." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "недоÑтъпно подаване: %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "без „--verify-signatures“ при пребазиране" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "опциÑта „--[no-]autostash“ изиÑква „--rebase“" -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "ОбновÑване на вÑе още неÑъздаден клон Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñ‚Ðµ от индекÑа" -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "издърпване Ñ Ð¿Ñ€ÐµÐ±Ð°Ð·Ð¸Ñ€Ð°Ð½Ðµ" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "трÑбва да подадете или Ñкатаете промените." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16621,7 +17099,7 @@ msgstr "" "доÑтавÑнето обнови върха на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½. Работното\n" "ви копие бе превъртÑно от подаване „%s“." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16633,20 +17111,20 @@ msgid "" msgstr "" "Работното ви копие не може да бъде превъртÑно.\n" "След като запазите вÑичко необходимо поÑочено от командата:\n" -" $ git diff %s\n" +" git diff %s\n" "изпълнете:\n" -" $ git reset --hard\n" +" git reset --hard\n" "за връщане към нормално ÑÑŠÑтоÑние." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Ðе може да Ñливате множеÑтво клони в празен върхов указател." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Ðе може да пребазирате върху повече от един клон." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "пребазирането е невъзможно заради локално запиÑаните промени по подмодулите" @@ -17125,7 +17603,7 @@ msgstr "git rebase--interactive [ОПЦИЯ…]" msgid "keep empty commits" msgstr "запазване на празните подаваниÑ" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "позволÑване на празни ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ подаване" @@ -17146,7 +17624,7 @@ msgstr "премеÑтване на подаваниÑта, които Ð·Ð°Ð¿Ð¾Ñ msgid "sign commits" msgstr "подпиÑване на подаваниÑта" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "извеждане на ÑтатиÑтика Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñ‚Ðµ в ÑÐ»ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½" @@ -17256,7 +17734,7 @@ msgstr "команда" msgid "the command to run" msgstr "команда за изпълнение" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "" "автоматично подаване за повторно изпълнение на командите завършили Ñ Ð½ÐµÑƒÑпех" @@ -17265,7 +17743,7 @@ msgstr "" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "опциите „--[no-]rebase-cousins“ изиÑкват опциÑта „--rebase-merges“" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "„%s“ изиÑква интерактивно пребазиране" @@ -17295,11 +17773,11 @@ msgstr "ПътÑÑ‚ „%s“ не може да бъде прочетен" msgid "Cannot store %s" msgstr "„%s“ не може да бъде запазен" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "не може да Ñе определи към какво да Ñочи указателÑÑ‚ „HEAD“" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -17313,7 +17791,7 @@ msgstr "" "За да откажете пребазирането и да Ñе върнете към първоначалното ÑÑŠÑтоÑние,\n" "изпълнете „git rebase --abort“." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -17331,7 +17809,7 @@ msgstr "" "\n" "Ð’ резултат те не могат да Ñе пребазират." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -17348,7 +17826,7 @@ msgstr "" " git rebase КЛОÐ\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -17361,135 +17839,135 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/КЛОР%s\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "командите за изпълнение не може да Ñъдържат нови редове" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "празна команда за изпълнение" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "пребазиране върху зададениÑ, а не ÑÐ»ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "позволÑване на куката преди пребазиране да Ñе изпълни" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "без извеждане на информациÑ. Включва опциÑта „--no-stat“" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "без извеждане на ÑтатиÑтика Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñ‚Ðµ в ÑÐ»ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "" "добавÑне на ред за Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€žSigned-off-by“ в Ñъобщението на вÑÑко подаване" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "подава Ñе на командата „git am“" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "подава Ñе на командата „git apply“" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "отбиране на вÑички Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ñ€Ð¸ да нÑма промени" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "продължаване" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "преÑкачане на текущата кръпка и продължаване" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "преуÑтановÑване и възÑтановÑване на Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "преуÑтановÑване без промÑна към какво Ñочи „HEAD“" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "редактиране на файла Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ при интерактивно пребазиране" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "показване на кръпката, коÑто Ñе прилага или Ñлива" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "при пребазиране да Ñе ползва ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð·Ð° Ñливане" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "" "позволÑване на Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð´Ð° редактира ÑпиÑъка Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð·Ð° пребазиране" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(оÑтарÑло) преÑъздаване на ÑливаниÑта вмеÑто да Ñе преÑкачат" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "запазване на празните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ пребазиране" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "" "премеÑтване на подаваниÑта, които започват ÑÑŠÑ â€žsquash!“/“fixup!“ при „-i“" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "автоматично Ñкатаване/прилагане на Ñкатаното преди и Ñлед пребазиране" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "" "добавÑне на редове Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ за изпълнение Ñлед вÑÑко подаване в " "Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ ÑпиÑък" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "позволÑване на пребазиране на Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ñ€Ð°Ð·Ð½Ð¸ ÑъобщениÑ" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "опит за пребазиране на ÑливаниÑта вмеÑто те да Ñе преÑкачат" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "" "за доуточнÑването на ÑÐ»ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ»Ð¾Ð½, използвайте:\n" "\n" " git merge-base --fork-point" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "използване на зададената ÑтратегиÑта на Ñливане" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "опциÑ" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "аргументът да Ñе подаде на ÑтратегиÑта за Ñливане" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "пребазиране на вÑички доÑтижими Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ началното им подаване" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17497,33 +17975,33 @@ msgstr "" "поддръжката на „rebase.useBuiltin“ е премахната.\n" "За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð¶Ñ‚Ðµ „git help config“." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "" "Изглежда, че Ñега Ñе прилагат кръпки чрез командата „git-am“. Ðе може да " "пребазирате в момента." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "ОпциÑта „--preserve-merges“ е оÑтарÑла. Ползвайте „--rebase-merges“ вмеÑто " "неÑ." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Изглежда в момента не тече пребазиране" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "ОпциÑта „--edit-todo“ е доÑтъпна Ñамо по време на интерактивно пребазиране." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "УказателÑÑ‚ „HEAD“ не може да бъде прочетен" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17531,21 +18009,16 @@ msgstr "" "ТрÑбва да редактирате вÑички конфликти при Ñливането. След това\n" "отбележете коригирането им чрез командата „git add“" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "промените в работното дърво не могат да бъдат занулени" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "връщането към „%s“ е невъзможно" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "„%s“ не може да бъде изтрит" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17566,174 +18039,180 @@ msgstr "" "за\n" "да не загубите Ñлучайно промени.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "опциÑта „C“ очаква чиÑло за аргумент" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "ÐеизвеÑтна ÑтратегиÑ: „%s“" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "" "опциÑта „--strategy“ изиÑква нÑÐºÐ¾Ñ Ð¾Ñ‚ опциите „--merge“ или „--interactive“" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "" +"опциÑта „--reschedule-failed-exec“ изиÑква нÑÐºÐ¾Ñ Ð¾Ñ‚ опциите „--exec“ или „--" +"interactive“" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "опциите за „am“ Ñа неÑъвмеÑтими Ñ Ð¾Ð¿Ñ†Ð¸Ð¸Ñ‚Ðµ за Ñливане или за интерактивна " "работа" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "опциите „--preserve-merges“ и „--rebase-merges“ Ñа неÑъвмеÑтими" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "ГРЕШКÐ: опциите „--preserve-merges“ и „--reschedule-failed-exec“ Ñа " "неÑъвмеÑтими" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "опциите „--rebase-merges“ и „--strategy-option“ Ñа неÑъвмеÑтими" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "опциите „--rebase-merges“ и „--strategy“ Ñа неÑъвмеÑтими" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "неправилен Ñледен клон: „%s“" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "Ðе може да Ñе Ñъздаде ново начално подаване" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "„%s“: изиÑква Ñе точно една база за пребазиране" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "УказателÑÑ‚ „%s“ не Ñочи към подаване" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "ФÐТÐЛÐРГРЕШКÐ: не ÑъщеÑтвува клон „%s“" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Такъв указател нÑма: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Подаването, Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открито" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Ðе може да Ñе Ñкатае автоматично" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Ðеочакван резултат при Ñкатаване: „%s“" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "ДиректориÑта за „%s“ не може да бъде Ñъздадена" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Ðвтоматично Ñкатано: „%s“\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "неуÑпешно изпълнение на „git reset --hard“" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "УказателÑÑ‚ „HEAD“ Ñочи към „%s“" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Промените трÑбва или да Ñе подадат, или да Ñе ÑкатаÑÑ‚." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "„%s“ не може да Ñе анализира" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "не може да Ñе премине към „%s“" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "УказателÑÑ‚ „HEAD“ е напълно актуален." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "ТекущиÑÑ‚ клон „%s“ е напълно актуален.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "УказателÑÑ‚ „HEAD“ е напълно актуален — принудително пребазиране" -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "ТекущиÑÑ‚ клон „%s“ е напълно актуален — принудително пребазиране\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "Куката за изпълнение преди пребазиране отхвърли пребазирането." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Промените в „%s“:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Промените от „%s“ към „%s“:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Първо, указателÑÑ‚ „HEAD“ започва да Ñочи към базата, върху коÑто " "пребазирате…\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "УказателÑÑ‚ „HEAD“ не може да Ñе отделÑ" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Превъртане на „%s“ към „%s“.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack ДИРЕКТОРИЯ_ÐÐ_GIT" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17766,7 +18245,7 @@ msgstr "" "За да заглушите това Ñъобщение, като запазите Ñтандартното поведение,\n" "задайте наÑтройката „receive.denyCurrentBranch“ да е „refuse“ (отказ)." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17787,11 +18266,11 @@ msgstr "" "За да заглушите това Ñъобщение, задайте наÑтройката\n" "„receive.denyDeleteCurrent“ да е „refuse“ (отказ)." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "без извеждане на информациÑ" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "ТрÑбва да укажете директориÑ." @@ -18385,126 +18864,126 @@ msgstr "" "Ползвайте опциÑта --no-write-bitmap-index или изключете наÑтройката\n" "„pack.writebitmaps“." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" "командата „pack-objects“ не може да Ñе Ñтартира за препакетирането на " "гарантиращите обекти" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: от „pack-objects“ Ñе очакват редове Ñамо Ñ Ð¿ÑŠÐ»Ð½Ð¸ шеÑтнайÑетични " "указатели." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" "командата „pack-objects“ не може да завърши за препакетирането на " "гарантиращите обекти" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "пакетиране на вÑичко в пакет" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "" "Ñъщото като опциÑта „-a“. Допълнително — недоÑтижимите обекти да Ñтанат " "непакетирани" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "" "премахване на ненужните пакетирани файлове и изпълнение на командата „git-" "prune-packed“" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "подаване на опциÑта „--no-reuse-delta“ на командата „git-pack-objects“" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "" "подаване на опциÑта „--no-reuse-object“ на командата „git-pack-objects“" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "без изпълнение на командата „git-update-server-info“" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "подаване на опциÑта „--local“ на командата „git-pack-objects“" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "Ñъздаване и запиÑване на индекÑи на база битови маÑки" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "подаване на опциÑта „--delta-islands“ на командата „git-pack-objects“" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "евриÑтична дата" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "" "при комбинирането Ñ Ð¾Ð¿Ñ†Ð¸Ñта „-A“ — без разпакетиране на обектите по Ñтари от " "това" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "Ñ â€ž-a“ — препакетиране на недоÑтижимите обекти" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "размер на прозореца за делта компреÑиÑта" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "байтове" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" "Ñъщото като горната опциÑ, но ограничението да е по размер на паметта, а не " "по Ð±Ñ€Ð¾Ñ Ð½Ð° обектите" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "ограничаване на макÑималната дълбочина на делтата" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "ограничаване на макÑÐ¸Ð¼Ð°Ð»Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ нишки" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "макÑимален размер на вÑеки пакет" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "препакетиране на обектите в пакети белÑзани Ñ â€ž.keep“" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "без препакетиране на този пакет" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "пакетите в хранилище Ñ Ð²Ð°Ð¶Ð½Ð¸ обекти не може да Ñе триÑÑ‚" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "Опциите „--keep-unreachable“ и „-A“ Ñа неÑъвмеÑтими" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Ðищо ново за пакетиране" -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18522,7 +19001,7 @@ msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: ѝ — за връщането на първоначалните имена.\n" "ПРЕДУПРЕЖДЕÐИЕ: Преименувайте файловете в „%s“ ръчно:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "директориÑта „%s“ не може да бъде изтрита" @@ -18931,24 +19410,24 @@ msgstr "ИндекÑÑŠÑ‚ не може да бъде занулен към Ð²ÐµÑ msgid "Could not write new index file." msgstr "ÐовиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запиÑан." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "опциите „--exclude-promisor-objects“ и „--missing“ и Ñа неÑъвмеÑтими" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "филтрирането на обекти изиÑква опциÑта „--objects“" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "неправилна чаÑтична ÑтойноÑÑ‚: %s" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "командата „rev-list“ не поддържа извеждането на бележки" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "опциÑта „--use-bitmap-index“ е неÑъвмеÑтима Ñ Ñ„Ð¸Ð»Ñ‚Ñ€Ð¸Ñ€Ð°Ð½Ðµ на обектите" @@ -19021,47 +19500,51 @@ msgstr "продължаване на поредица от Ð¾Ñ‚Ð±Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð msgid "cancel revert or cherry-pick sequence" msgstr "отмÑна на поредица от Ð¾Ñ‚Ð±Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ отмени на подаваниÑ" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "преÑкачане на текущото подаване и продължаване" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "без автоматично подаване" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "редактиране на Ñъобщението при подаване" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "номер на родителÑ" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "избор на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð½Ð° Ñливане" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° ÑтратегиÑта на Ñливане" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "добавÑне на името на подаването" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "запазване на първоначално празните подаваниÑ" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "запазване на излишните, празни подаваниÑ" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "неуÑпешна отмÑна" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "неуÑпешно отбиране" @@ -19240,117 +19723,117 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "„%s“ Ñе преÑкача — не може да Ñе обработÑÑ‚ повече от %d указател" msgstr[1] "„%s“ Ñе преÑкача — не може да Ñе обработÑÑ‚ повече от %d указатели" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "никой указател не Ñъвпада Ñ â€ž%s“" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "извеждане на ÑледÑщите и локалните клони" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "извеждане на ÑледÑщите клони" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "оцветÑване на „*!+-“ Ñпоред клоните" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "извеждане на такъв БРОЙ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑˆÐµÑтвеник" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "пÑевдоним на „more=-1“" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "без низове за имената на клоните" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "включване и на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "именуване на подаваниÑта Ñ Ð¸Ð¼ÐµÐ½Ð°Ñ‚Ð° им на обекти" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "извеждане на възможните бази за ÑливаниÑ" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "извеждане на недоÑтижимите указатели" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "извеждане на подаваниÑта в топологичеÑка подредба" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "извеждане Ñамо на подаваниÑта, които не Ñа от Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "извеждане на ÑливаниÑта, които могат да Ñе доÑтигнат Ñамо от един връх" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "" "топологичеÑка подредба, при запазване на подредбата по дата, доколкото е\n" "възможно" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "БРОЙ[,БÐЗÐ]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "показване на най-много БРОЙ журнални запиÑа Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾ Ñъответната БÐЗÐ" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "опциÑта „--reflog“ е неÑъвмеÑтима Ñ Ð¾Ð¿Ñ†Ð¸Ð¸Ñ‚Ðµ „--all“, „--remotes“, „--" "independent“ и „--merge-base“" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "не е зададен клон, а указателÑÑ‚ „HEAD“ е неправилен" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "опциÑта „--track“ изиÑква точно едно име на клон" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "Ñамо %d Ð·Ð°Ð¿Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да бъде показан наведнъж." msgstr[1] "Ñамо %d запиÑа може да бъде показани наведнъж." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "такъв указател нÑма: %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "не може да Ñе обработи повече от %d указател." msgstr[1] "не може да Ñе обработÑÑ‚ повече от %d указатели." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "„%s“ е неправилен указател." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "подаването „%s“ (%s) липÑва" @@ -19539,94 +20022,94 @@ msgstr "Скатаното е запазено в Ñлучай, че ви пот msgid "No branch name specified" msgstr "Ðе е указано име на клон" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "УказателÑÑ‚ „%s“ не може да бъде обновен да Ñочи към „%s“" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "Ñъобщение при Ñкатаване" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "командата „git stash store“ изиÑква точно един аргумент-ПОДÐÐ’ÐÐЕ" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Ðе Ñа избрани никакви промени" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Ð’Ñе още липÑва първоначално подаване" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "СъÑтоÑнието на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запазено" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "ÐеÑледените файлове не могат да Ñе запазÑÑ‚" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "СъÑтоÑнието на работното дърво не може да бъде запазено" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "СъÑтоÑнието на работното дърво не може да бъде запазено" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "ОпциÑта „--patch“ е неÑъвмеÑтима Ñ â€ž--include-untracked“ и „--all“" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Пробвайте да използвате „git add“" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "ÐÑма никакви локални промени за Ñкатаване" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Скатаването не може да Ñтартира" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Текущото ÑÑŠÑтоÑние не може да бъде запазено" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "СъÑтоÑнието на работната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸ индекÑа e запазено: „%s“" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Промените в работното дърво не могат да бъдат занулени" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "запазване на индекÑа" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "Ñкатаване в режим за кръпки" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "без извеждане на информациÑ" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "Ñкатаване и на неÑледените файлове" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "Ñкатаване и на игнорираните файлове" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "„%s“ не може да Ñе изпълни" @@ -19647,7 +20130,7 @@ msgstr "пропуÑкане на вÑички редове, които запо msgid "prepend comment character and space to each line" msgstr "добавÑне на „# “ в началото на вÑеки ред" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Очаква Ñе пълно име на указател, а не „%s“" @@ -19662,7 +20145,7 @@ msgstr "" msgid "cannot strip one component off url '%s'" msgstr "не може да Ñе махне компонент от адреÑа „%s“" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° определÑнето на отноÑителните пътища" @@ -19670,8 +20153,8 @@ msgstr "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° определÑнето на отноÑите msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=ПЪТ] [ПЪТ…]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "Във файла „.gitmodules“ не е открит Ð°Ð´Ñ€ÐµÑ Ð·Ð° Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" @@ -19690,7 +20173,7 @@ msgstr "" "изпълнената команда завърши Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ² изход за „%s“\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19701,19 +20184,19 @@ msgstr "" "вложени в „%s“\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Без извеждане на изход при въвеждането на вÑÑка команда за подмодули" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "РекурÑивно обхождане на подмодулите" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] КОМÐÐДÐ" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19722,55 +20205,55 @@ msgstr "" "наÑтройката „%s“ липÑва. Приема Ñе, че това хранилище е правилниÑÑ‚ източник " "за Ñебе Ñи." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "ÐеуÑпешно региÑтриране на Ð°Ð´Ñ€ÐµÑ Ð·Ð° Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "РегиÑтриран е подмодул „%s“ (%s) за Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "ПРЕДУПРЕЖДЕÐИЕ: препоръчва Ñе режим на обновÑване за подмодула „%s“\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" "ÐеуÑпешно региÑтриране на режима на обновÑване за Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Без извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ инициализирането на подмодул" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [ОПЦИЯ…] [ПЪТ]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "Във файла „.gitmodules“ липÑва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ð¿ÑŠÑ‚Ñ â€ž%s“" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "указателÑÑ‚ Ñочен от „HEAD“ в подмодула „%s“ не може да бъде открит" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "неуÑпешно рекурÑивно обхождане на подмодула „%s“" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Заглушаване на изхода за ÑÑŠÑтоÑнието на подмодула" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" @@ -19778,47 +20261,47 @@ msgstr "" "Използване на подаването указано в индекÑа, а не това от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ на " "подмодула" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "рекурÑивно обхождане на подмодулите" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [ПЪТ…]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name ПЪТ" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Синхронизиране на адреÑа на подмодул за „%s“\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "неуÑпешно региÑтриране на Ð°Ð´Ñ€ÐµÑ Ð·Ð° Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "отдалечениÑÑ‚ Ð°Ð´Ñ€ÐµÑ Ð½Ð° подмодула „%s“ не може да бъде получен" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "отдалечениÑÑ‚ Ð°Ð´Ñ€ÐµÑ Ð½Ð° подмодула „%s“ не може да бъде променен" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Без извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ Ñинхронизирането на подмодул" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [ПЪТ]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19827,7 +20310,7 @@ msgstr "" "Работното дърво на подмодул „%s“ Ñъдържа Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ â€ž.git“.\n" "(ако иÑкате да ги изтриете заедно Ñ Ñ†Ñлата им иÑториÑ, използвайте „rm -rf“)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19836,83 +20319,83 @@ msgstr "" "Работното дърво на подмодул „%s“ Ñъдържа локални промени. Можете да ги " "отхвърлите Ñ Ð¾Ð¿Ñ†Ð¸Ñта „-f“" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "ДиректориÑта „%s“ е изчиÑтена\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "" "ДиректориÑта към работното дърво на подмодула „%s“ не може да бъде изтрита\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "празната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° подмодула „%s“ не може да бъде Ñъздадена" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "РегиÑтрациÑта на подмодула „%s“ (%s) за Ð¿ÑŠÑ‚Ñ â€ž%s“ е премахната\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" "Изтриване на работните дървета на подмодулите, дори когато те Ñъдържат " "локални промени" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "Премахване на региÑтрациите на вÑички подмодули" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "git submodule deinit [--quiet] [-f | --force] [--all | [--] [ПЪТ…]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "Използвайте „--all“, за да премахнете вÑички подмодули" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "към подмодула „%s“ не може да Ñе добави алтернативен източник: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "" "Ðепозната ÑтойноÑÑ‚ „%s“ за наÑтройката „submodule.alternateErrorStrategy“" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Ðепозната ÑтойноÑÑ‚ „%s“ за наÑтройката „submodule.alternateLocation“" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "къде да Ñе клонира новиÑÑ‚ подмодул" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "име на Ð½Ð¾Ð²Ð¸Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "адреÑ, от който да Ñе клонира новиÑÑ‚ подмодул" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "дълбочина на плитките хранилища" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "извеждане на напредъка на клонирането" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19920,96 +20403,96 @@ msgstr "" "git submodule--helper clone [--prefix=ПЪТ] [--quiet] [--reference ХРÐÐИЛИЩЕ] " "[--name ИМЕ] [--depth ДЪЛБОЧИÐÐ] --url ÐДРЕС --path ПЪТ…" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "ÐеуÑпешно клониране на адреÑа „%s“ в Ð¿ÑŠÑ‚Ñ â€ž%s“ като подмодул" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "директориÑта на подмодула „%s“ не може да бъде получена" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "Ðеправилен режим на обновÑване „%s“ за Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" "ÐаÑтроен е неправилен режим на обновÑване „%s“ за Ð¿ÑŠÑ‚Ñ ÐºÑŠÐ¼ подмодул „%s“" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "ПътÑÑ‚ на подмодула „%s“ не е инициализиран" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "ВероÑтно иÑкахте да използвате „update --init“?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "ПреÑкачане на неÑÐ»ÐµÑ‚Ð¸Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ» „%s“" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "ПреÑкачане на подмодула „%s“" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "ÐеуÑпешен опит за клониране на „%s“. ÐаÑрочен е втори опит" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "" "Втори неуÑпешен опит за клониране на „%s“. ДейÑтвието Ñе преуÑтановÑва" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "път към работното дърво" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "път към работното дърво, през границите на вложените подмодули" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "" "„rebase“ (пребазиране), „merge“ (Ñливане), „checkout“ (изтеглÑне) или " "„none“ (нищо да не Ñе прави)" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "Плитко клониране, отрÑзано до ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ верÑии" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "брой паралелни процеÑи" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "дали първоначалното клониране да е плитко, както Ñе препоръчва" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "без извеждане на напредъка на клонирането" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=ПЪТ] [ПЪТ…]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "неправилен параметър към опциÑта „--update“" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " @@ -20018,16 +20501,16 @@ msgstr "" "Клонът на подмодула „%s“ е наÑтроен да наÑледÑва клона от Ð¾Ð±Ñ…Ð²Ð°Ñ‰Ð°Ñ‰Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚, " "но той не е на никой клон" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "не може да Ñе получи връзка към хранилище за подмодула „%s“" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "рекурÑивно обхождане подмодулите" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [ОПЦИЯ…] [ПЪТ…]" @@ -20056,7 +20539,7 @@ msgstr "git submodule--helper config --check-writeable" msgid "please make sure that the .gitmodules file is in the working tree" msgstr "файлът „.gitmodules“ трÑбва да е в работното дърво" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "„%s“ не поддържа опциÑта „--super-prefix“" @@ -20119,17 +20602,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=ФОРМÐТ] ЕТИКЕТ…" -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "етикетът „%s“ не е открит." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Изтрит е етикетът „%s“ (бе „%s“)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -20139,10 +20622,10 @@ msgid "" msgstr "" "\n" "Въведете Ñъобщение за етикета.\n" -" %s\n" +" %s\n" "Редовете, които започват Ñ â€ž%c“, ще бъдат пропуÑнати.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -20153,19 +20636,19 @@ msgid "" msgstr "" "\n" "Въведете Ñъобщение за етикет.\n" -" %s\n" +" %s\n" "Редовете, които започват Ñ â€ž%c“, Ñъщо ще бъдат включени — може да ги " "изтриете вие.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "етикетът не може да бъде подпиÑан" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "файлът за етикета не може да бъде запазен" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -20179,138 +20662,138 @@ msgstr "" "\n" " git tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "неправилен вид обект." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "липÑва Ñъобщение за етикета" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Съобщението за етикета е запазено във файла „%s“\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "извеждане на имената на етикетите" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "извеждане на този БРОЙ редове от вÑÑко Ñъобщение за етикет" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "изтриване на етикети" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "проверка на етикети" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Опции при Ñъздаването на етикети" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "анотирането на етикети изиÑква Ñъобщение" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "СЪОБЩЕÐИЕ за етикет" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "принудително редактиране на Ñъобщение за етикет" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "анотиран етикет Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñ Ð¿Ð¾ GPG" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "използване на друг ключ за подпиÑването на етикет" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "замÑна на етикета, ако ÑъщеÑтвува" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "Ñъздаване на журнал на указателите" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Опции за извеждането на етикети" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "извеждане на ÑпиÑъка на етикетите по колони" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "извеждане Ñамо на етикетите, които Ñъдържат подаването" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "извеждане Ñамо на етикетите, които не Ñъдържат подаването" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "извеждане Ñамо на Ñлетите етикети" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "извеждане Ñамо на неÑлетите етикети" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "извеждане Ñамо на етикетите на ОБЕКТÐ" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "Опциите „--column“ и „-n“ Ñа неÑъвмеÑтими" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "ОпциÑта „-n“ изиÑква режим на ÑпиÑък." -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "ОпциÑта „-contains“ изиÑква режим на ÑпиÑък." -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "ОпциÑта „-contains“ изиÑква режим на ÑпиÑък." -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "ОпциÑта „-points-at“ изиÑква режим на ÑпиÑък." -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "Опциите „--merged“ и „--no-merged“ изиÑкват режим на ÑпиÑък." -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "Опциите „-F“ и „-m“ Ñа неÑъвмеÑтими." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "Прекалено много аргументи" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "„%s“ е неправилно име за етикет." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "етикетът „%s“ вече ÑъщеÑтвува" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Обновен етикет „%s“ (бе „%s“)\n" @@ -20651,15 +21134,15 @@ msgstr "" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "транÑферът да Ñе преуÑтанови Ñлед този БРОЙ Ñекунди" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-tag [-v | --verbose] ПОДÐÐ’ÐÐЕ…" -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "извеждане на Ñъдържанието на подаването" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "извеждане на Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ от ÑÑŠÑтоÑнието на „gpg“" @@ -20675,11 +21158,11 @@ msgstr "извеждане на подробна информациÑ" msgid "show statistics only" msgstr "извеждане Ñамо на ÑтатиÑтиката" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=ФОРМÐТ] ЕТИКЕТ…" -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "извеждане на Ñъдържанието на ЕТИКЕТи" @@ -20711,7 +21194,7 @@ msgstr "git worktree remove [ОПЦИЯ…] [ДЪРВО]" msgid "git worktree unlock <path>" msgstr "git worktree unlock [ПЪТ]" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "неуÑпешно изтриване на „%s“" @@ -20791,125 +21274,125 @@ msgstr "" "За изрично задаване ползвайте „add -f“, а за изчиÑтване — „prune“ или " "„remove“" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "директориÑта „%s“ не може да бъде Ñъздадена" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "ПриготвÑне на работното дърво (нов клон „%s“)" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" "ПриготвÑне на работното дърво (занулÑване на клона „%s“, който Ñочеше към " "„%s“)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "ПриготвÑне на работното дърво (изтеглÑне на „%s“)" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "ПодготвÑне на работно дърво (указателÑÑ‚ „HEAD“ не Ñвързан: %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "ИзтеглÑне КЛОÐа, дори и да е изтеглен в друго работно дърво" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "Ñъздаване на нов клон" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "Ñъздаване или занулÑване на клони" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "подготвÑне на новото работно дърво" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "новото работно дърво да оÑтане заключено" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "задаване на режима на Ñледене (виж git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "опит за напаÑване на името на Ð½Ð¾Ð²Ð¸Ñ ÐºÐ»Ð¾Ð½ Ñ Ñ‚Ð¾Ð²Ð° на ÑледÑщ клон" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "Опциите „-b“, „-B“ и „--detach“ Ñа неÑъвмеÑтими една Ñ Ð´Ñ€ÑƒÐ³Ð°" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "„--[no-]track“ може да Ñе използва Ñамо при Ñъздаването на нов клон" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "причина за заключване" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "„%s“ не е работно дърво" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "ОÑновното дърво не може да Ñе отключи или заключи" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "„%s“ вече е заключено, защото „%s“" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "„%s“ вече е заключено" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "„%s“ не е заключено" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" "не може да меÑтите или изтривате работни дървета, в които има подмодули" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "" "принудително премеÑтване, дори работното дърво да не е чиÑто или да е " "заключено" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "„%s“ е оÑновно работно дърво" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "името на целта не може да Ñе определи от „%s“" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "целта „%s“ вече ÑъщеÑтвува" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20918,7 +21401,7 @@ msgstr "" "не може да премеÑтите заключено работно дърво, причина за заключването: %s\n" "или го отключете, или го премеÑтете принудително Ñ â€žmove -f -f“" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20926,41 +21409,41 @@ msgstr "" "не може да премеÑтите заключено работно дърво:\n" "или го отключете, или го премеÑтете принудително Ñ â€žmove -f -f“" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "" "проверките Ñа неуÑпешни, работното дърво не може да бъде премеÑтено: %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "„%s“ не може да Ñе премеÑти в „%s“" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "не може да изпълни „git status“ върху „%s“" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "" "работното дърво „%s“ не е чиÑто, за принудително изтриване е необходима " "опциÑта „--force“ " -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "" "командата „git status“ не може да Ñе изпълни за „%s“, код за грешка: %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "" "принудително изтриване, дори работното дърво да не е чиÑто или да е заключено" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20969,7 +21452,7 @@ msgstr "" "не може да изтриете заключено работно дърво, причина за заключването: %s\n" "или го отключете, или го изтрийте принудително Ñ â€žremove -f -f“" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20977,7 +21460,7 @@ msgstr "" "не може да изтриете заключено работно дърво:\n" "или го отключете, или го изтрийте принудително Ñ â€žremove -f -f“" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "проверките Ñа неуÑпешни, работното дърво не може да бъде изтрито: %s" @@ -21053,58 +21536,60 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "„git help -a“ извежда наличните подкоманди, а „git help -g“ извежда " "наличните\n" "въведениÑ. За помощ за Ñпецифична КОМÐÐДРползвайте „git help КОМÐÐДГ, а " "за\n" -"нÑкое определено ПОÐЯТИЕ използвайте „git help ПОÐЯТИЕ“.\n" +"нÑкое определено ПОÐЯТИЕ използвайте „git help ПОÐЯТИЕ“. За преглед на\n" +"ÑиÑтемата за помощ използвайте „git help git“.\n" "\n" "БългарÑки превод на книгата „Pro Git“ от Чакън и Страуб:\n" "http://i-can.eu/progit2-bg/progit.html" -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "опциÑта „--git-dir“ изиÑква директориÑ\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "опциÑта „--namespace“ изиÑква име\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "опциÑта „--work-tree“ изиÑква директориÑ\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "опциÑта „--super-prefix“ изиÑква префикÑ\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "опциÑта „-c“ изиÑква низ за наÑтройка\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "опциÑта „-C“ изиÑква директориÑ\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "непозната опциÑ: „%s“\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "при замеÑтването на пÑевдоним „%s“: „%s“" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -21113,39 +21598,39 @@ msgstr "" "пÑевдонимът „%s“ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð¸ на Ñредата.\n" "За това може да ползвате „!git“ в пÑевдонима" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "празен пÑевдоним за „%s“" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "зациклен пÑевдоним: „%s“" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "неизвеÑтна грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "грешка при затварÑне на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "зациклÑне в пÑевдонимите: замеÑтваниÑта на „%s“ не приключват:%s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "„%s“ не може да Ñе обработи като вградена команда" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -21154,14 +21639,14 @@ msgstr "" "употреба: %s\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" "неуÑпешно замеÑтване на пÑевдонима „%s“ — резултатът „%s“ не е команда на " "git\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "командата „%s“ не може да Ñе изпълни: %s\n" @@ -21352,19 +21837,19 @@ msgstr "период на валидноÑÑ‚/запазване" msgid "no-op (backward compatibility)" msgstr "нулева Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ (за ÑъвмеÑтимоÑÑ‚ Ñ Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸ верÑии)" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "повече подробноÑти" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "по-малко подробноÑти" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "да Ñе показват такъв БРОЙ цифри от Ñумите по SHA1" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "кои празни знаци и #коментари да Ñе махат от ÑъобщениÑта" @@ -21382,6 +21867,14 @@ msgstr "" "при възможноÑÑ‚ преизползване на решението на конфликта за обновÑване на " "индекÑа" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "УказателÑÑ‚ „HEAD“ не е Ñвързан и е при " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "УказателÑÑ‚ „HEAD“ не е Ñвързан и е отделѐн от " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "ДобавÑне на Ñъдържанието на файла към индекÑа" @@ -21392,7 +21885,7 @@ msgstr "Прилагане на поредица от кръпки от поще #: command-list.h:52 msgid "Annotate file lines with commit information" -msgstr "Ðнотиране на редовете на файловете Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° подаваниÑта" +msgstr "ДобавÑне на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° подаваниÑта към редовете на файловете" #: command-list.h:53 msgid "Apply a patch to files and/or to the index" @@ -21824,215 +22317,223 @@ msgid "Reset current HEAD to the specified state" msgstr "Привеждане на ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“ към зададеното ÑÑŠÑтоÑние" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "ВъзÑтановÑване на файловете в работното дърво" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "ОтменÑне на ÑъщеÑтвуващи подаваниÑ" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Извеждане на подаваниÑта в обратна хронологичеÑка подредба" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Избор и промÑна на параметри" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Изтриване на файлове от работното дърво и индекÑа" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "Изпращане на поредица от кръпки по е-поща" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "ИзтлаÑкване на обекти по протокола на Git към друго хранилище" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "Ограничена входна обвивка за доÑтъп през SSH Ñамо до Git" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Обобщен изход от „git log“" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Извеждане на различните видове обекти в Git" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Извеждане на клоните и подаваниÑта в Ñ‚ÑÑ…" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "Извеждане на индекÑа на Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Извеждане на указателите в локално хранилище" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "ÐаÑтройки на Git за Ð¸Ð½Ñ‚ÐµÑ€Ð½Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñкриптовете на обвивката" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "ÐаÑтройки на Git за Ñкриптовете на обвивката" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "Скатаване на неподадените промени в работното дърво" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "ДобавÑне на Ñъдържанието на файла към индекÑа" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Извеждане на ÑÑŠÑтоÑнието на работното дърво" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Премахване на излишните знаци за интервали" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Инициализиране, обновÑване или разглеждане на подмодули" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "ДвупоÑочна работа между хранилища под Subversion и Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Преминаване към друг клон" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Извеждане, промÑна и изтриване на Ñимволни указатели" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "Извеждане, Ñъздаване, изтриване, проверка на етикети подпиÑани Ñ GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "Създаване на временен файл ÑÑŠÑ Ñъщото Ñъдържание като обектът-BLOB" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Разпакетиране на обекти от пакетиран архив" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "РегиÑтриране на Ñъдържанието на файловете от работното дърво в индекÑа" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "БезопаÑно обновÑване на името на обект в указател" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "" "ОбновÑване на файла Ñ Ð´Ð¾Ð¿ÑŠÐ»Ð½Ð¸Ñ‚ÐµÐ»Ð½Ð° Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² помощ на опроÑтените Ñървъри" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Изпращане на архива обратно към „git-archive“" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Изпращане на пакетираните обекти обратно към „git-fetch-pack“" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Извеждане на логичеÑка променлива на Git" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Проверка на подпиÑите GPG върху подаваниÑта" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Проверка на пакетираните архивни файлове на Git" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Проверка на подпиÑите GPG върху етикетите" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Уеб Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° Git" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Извеждане на журнал Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸Ñ‚Ðµ, въведени Ñ Ð²ÑÑко подаване" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Управление на множеÑтво работни дървета" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Създаване на обект-дърво от Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Указване на атрибути към път" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Команден ред и конвенции на Git" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Въвеждащ урок в Git за разработчици" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git за потребители на CVS" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "ÐаÑтройване на изгледа на разликите" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Полезен минимален набор от команди за ежедневната работа Ñ Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Речник Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð¸Ñ‚Ðµ на Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Куки на Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Указване на неÑледени файлове, които да бъдат нарочно пренебрегвани" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Дефиниране на ÑвойÑтвата на подмодулите" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "ПроÑтранÑтва от имена на Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "УÑтройÑтво на хранилището на Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Указване на верÑии и диапазони в Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Въвеждащ урок за Git: втора чаÑÑ‚" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Въвеждащ урок за Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Общ преглед на препоръчваните начини за работа Ñ Git" @@ -22462,12 +22963,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð³Ð»ÐµÐ´Ð½ÐµÑ‚Ðµ ръководÑтвото на „git-${cmd}(1)“" -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Ðвтоматично Ñкатаното е приложено." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "„$stash_sha1“ не може да бъде запазен" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Пребазиране ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -22511,7 +23021,7 @@ msgstr "" "Може да променÑте поÑледователноÑтта на редовете — те Ñе изпълнÑват\n" "поÑледователно отгоре-надолу.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -22530,84 +23040,84 @@ msgstr "" "\n" " git rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: това не е подаване, което може да бъде отбрано" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Ðеправилно име на подаване: „$sha1“" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "" "ЗамеÑтващата Ñума по SHA1 за текущото подаване не може да бъде запазена" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Превъртане до „$sha1“" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "Ðе може да Ñе превърти до „$sha1“" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "УказателÑÑ‚ „HEAD“ не може да Ñе наÑочи към „$first_parent“" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "Подаването не може да Ñе Ñмачка: „$sha1“" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Грешка при повтарÑнето на Ñливането на „$sha1“" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "„$sha1“ не може да Ñе отбере." -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Това е Ñъобщение при подаване â„–${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "Съобщение при подаване â„–${n} ще бъде преÑкочено." -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Това е обединение от $count подаване." msgstr[1] "Това е обединение от $count подаваниÑ." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "Ðовото Ñъобщение при подаване „$fixup_msg“ не може да бъде запазено" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Това е обединение от 2 подаваниÑ" -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "Ðе може да Ñе подаде $sha1… $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22623,31 +23133,31 @@ msgstr "" "коригирате,\n" "преди да можете да промените подаването." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Спиране при „$sha1_abbrev…“ $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "Без предходно подаване не може да Ñе изпълни „$squash_style“" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Ð’ момента Ñе изпълнÑва: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "ÐеуÑпешно изпълнение: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "и промени индекÑа и/или работното дърво" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -22658,7 +23168,7 @@ msgstr "" " git rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22673,25 +23183,25 @@ msgstr "" "\n" " git rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Ðепозната команда: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Коригирайте това чрез „git rebase --edit-todo“." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "УÑпешно пребазиране и обновÑване на „$head_name“." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "УказателÑÑ‚ „CHERRY_PICK_HEAD“ не може да бъде изтрит" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22721,11 +23231,11 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "Ðе може да бъде открит автор за поправÑнето на подаването" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -22733,33 +23243,33 @@ msgstr "" "Ð’ работното дърво има неподадени промени. Първо ги подайте, а Ñлед това\n" "отново изпълнете „git rebase --continue“." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "Промените в индекÑа не могат да бъдат подадени." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "ТекÑтовиÑÑ‚ редактор не може да бъде Ñтартиран" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "„$switch_to“ не може да Ñе изтегли" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "ЛипÑва указател „HEAD“" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "Временната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ â€ž$state_dir“ не може да бъде Ñъздадена" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "Пребазирането не е интерактивно" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" @@ -22768,7 +23278,7 @@ msgstr[0] "" msgstr[1] "" "Пребазиране на $shortrevisions върху $shortonto ($todocount команди)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "СпиÑъкът Ñ Ð¿Ñ€ÐµÐ·Ð°Ð¿Ð¸Ñаните Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ може да бъде Ñъздаден" @@ -22840,81 +23350,81 @@ msgid "Unable to determine absolute path of git directory" msgstr "ÐбÑолютниÑÑ‚ път на работното дърво не може да Ñе определи" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%14s %14s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "в индекÑа" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "извън индекÑа" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "двоично" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "нищо" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "нÑма промени" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "%d файл добавен\n" msgstr[1] "%d файла добавени\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "%d файл обновен\n" msgstr[1] "%d файла обновени\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "%d файл Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð¸ промени\n" msgstr[1] "%d файла Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð¸ промени\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "%d файл заÑегнат\n" msgstr[1] "%d файла заÑегнати\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "ОбновÑване" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "ОтмÑна" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "БЕЛЕЖКÐ: „%s“ вече не Ñе Ñледи.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "ДобавÑне на неÑледени" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "ÐÑма неÑледени файлове.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -22923,7 +23433,7 @@ msgstr "" "незабавно\n" "добавено към индекÑа" -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -22932,7 +23442,7 @@ msgstr "" "незабавно\n" "Ñкътано" -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -22941,7 +23451,8 @@ msgstr "" "незабавно\n" "извадено от индекÑа." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -22950,7 +23461,8 @@ msgstr "" "незабавно\n" "набелÑзано за прилагане." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -22959,16 +23471,16 @@ msgstr "" "незабавно\n" "набелÑзано за занулÑване." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "файлът за редактиране на парчето код не може да бъде отворен: „%s“" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "Ръчно редактиране на парчета код — отдолу има подÑказка.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22983,7 +23495,7 @@ msgstr "" "Редовете, които започват Ñ â€ž%s“ ще бъдат пропуÑнати.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" @@ -22993,7 +23505,7 @@ msgstr "" "изтриете вÑички редове от парчето код, то ще бъде оÑтавено непроменено, а\n" "редактирането — отказано.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "" @@ -23005,7 +23517,7 @@ msgstr "" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" @@ -23013,7 +23525,7 @@ msgstr "" "редактирането? (текущите редакции ще Ñе отменÑÑ‚ при отказ!): „y“ (да)/ " "„n“ (не)? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -23027,7 +23539,7 @@ msgstr "" "a — добавÑне на това и вÑички Ñледващи парчета от файла в индекÑа\n" "d — без добавÑне на това и вÑички Ñледващи парчета от файла в индекÑа" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -23041,7 +23553,7 @@ msgstr "" "a — Ñкатаване на това и вÑички Ñледващи парчета от файла\n" "d — без Ñкатаване на това и вÑички Ñледващи парчета от файла" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -23055,7 +23567,7 @@ msgstr "" "a — изваждане на това и вÑички Ñледващи парчета от файла от индекÑа\n" "d — без изваждане на това и вÑички Ñледващи парчета от файла от индекÑа" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -23069,7 +23581,7 @@ msgstr "" "a — прилагане на това и вÑички Ñледващи парчета от файла към индекÑа\n" "d — без прилагане на това и вÑички Ñледващи парчета от файла към индекÑа" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -23086,7 +23598,7 @@ msgstr "" "d — без премахване на това и вÑички Ñледващи парчета от файла от работното " "дърво" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -23103,7 +23615,7 @@ msgstr "" "d — без премахване на това и вÑички Ñледващи парчета от файла от индекÑа и " "работното дърво" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -23120,7 +23632,21 @@ msgstr "" "d — без прилагане на това и вÑички Ñледващи парчета от файла от индекÑа и " "работното дърво" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y — прилагане на парчето към работното дърво\n" +"n — без прилагане на парчето към работното дърво\n" +"q — изход, без прилагане на това и вÑички оÑтаващи парчета\n" +"a — прилагане на това и вÑички Ñледващи парчета от файла\n" +"d — без прилагане на това и вÑички Ñледващи парчета от файла" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -23142,220 +23668,237 @@ msgstr "" "e — ръчно редактиране на текущото парче\n" "? — извеждане не помощта\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "Избраните парчета не могат да Ñе добавÑÑ‚ в индекÑа!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Да Ñе приложат ли към работното дърво? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Ðищо не е приложено.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "пренебрегване на неÑлÑтото: „%s“\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Само двоични файлове Ñа променени.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "ÐÑма промени.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "ОбновÑване на кръпка" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "ДобавÑне на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "ДобавÑне на изтриването [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "ДобавÑне на това парче [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Скатаване на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Скатаване на изтриването [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Скатаване на това парче [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Изваждане на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Изваждане на изтриването [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Изваждане на това парче [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "" "Прилагане на промÑната на правата за доÑтъп към индекÑа [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Прилагане на изтриването към индекÑа [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Прилагане на това парче към индекÑа [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "" "Премахване на промÑната в правата за доÑтъп от работното дърво [y,n,q,a,d" "%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Премахване на изтриването от работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Премахване на парчето от работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Премахване на промÑната в правата за доÑтъп от индекÑа и работното дърво [y," "n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Премахване на изтриването от индекÑа и работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "Премахване на парчето от индекÑа и работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Прилагане на промÑната в правата за доÑтъп от индекÑа и работното дърво [y,n," "q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Прилагане на изтриването от индекÑа и работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "Прилагане на парчето от индекÑа и работното дърво [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "" +"Прилагане на промÑната в правата за доÑтъп към работното дърво [y,n,q,a,d" +"%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Прилагане на изтриването към работното дърво [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Прилагане на парчето към работното дърво [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "ÐÑма други парчета\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "към кое парче да Ñе придвижи (за повече варианти натиÑнете „enter“)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "към кое парче да Ñе придвижи? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Ðеправилен номер: „%s“\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Има Ñамо %d парче.\n" msgstr[1] "Има Ñамо %d парчета.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "ÐÑма други парчета за търÑене\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "да Ñе търÑи Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрен израз? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Сгрешен регулÑрен израз „%s“: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "Ðикое парче не напаÑва на регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "ÐÑма друго парче преди това\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "ÐÑма друго парче Ñлед това\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "Това парче не може да бъде разделено\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "РазделÑне на %d парче.\n" msgstr[1] "РазделÑне на %d парчета.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "Това парче не може да бъде редактирано\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Преглед на разликата" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -23376,18 +23919,19 @@ msgstr "" " и индекÑа\n" "add untracked — добавÑне на неÑледените файлове към промените в индекÑа\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "„--“ липÑва" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "неизвеÑтна ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð·Ð° прилагане на кръпка: „%s“" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "указан е неправилен аргумент „%s“, а Ñе очаква „--“." @@ -23402,31 +23946,31 @@ msgstr "" msgid "local time offset greater than or equal to 24 hours\n" msgstr "разликата между меÑÑ‚Ð½Ð¸Ñ Ñ‡Ð°ÑÐ¾Ð²Ð¸Ñ Ð¿Ð¾ÑÑ Ð¸ GMT е 24 чаÑа или повече\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "" "текÑтовиÑÑ‚ редактор приключи работата Ñ Ð³Ñ€ÐµÑˆÐºÐ°, вÑичко Ñе преуÑтановÑва" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "„%s“ Ñъдържа временна верÑÐ¸Ñ Ð½Ð° подготвÑното е-пиÑмо.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "„%s.final“ Ñъдържа подготвеното е-пиÑмо.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "опциÑта „--dump-aliases“ е неÑъвмеÑтима Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ‚Ðµ опции\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "Командата „git format-patch“ не може да Ñе изпълни извън хранилище\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -23434,40 +23978,40 @@ msgstr "" "„batch-size“ и „relogin“ трÑбва да Ñе указват заедно (или чрез ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ " "ред, или чрез наÑтройките)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Ðепознато поле за опциÑта „--suppress-cc“: „%s“\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Ðепозната ÑтойноÑÑ‚ за „--confirm“: %s\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: пÑевдоними за sendmail Ñъдържащи кавички („\"“) не Ñе " "поддържат: %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "ПРЕДУПРЕЖДЕÐИЕ: „:include:“ не Ñе поддържа: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: пренаÑÐ¾Ñ‡Ð²Ð°Ð½Ð¸Ñ â€ž/file“ или „|pipe“ не Ñе поддържат: %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "ПРЕДУПРЕЖДЕÐИЕ: редът за „sendmail“ не е разпознат: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -23482,12 +24026,12 @@ msgstr "" " ◠укажете „./%s“ за файл;\n" " ◠използвате опциÑта „--format-patch“ за диапазон.\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "ДиректориÑта „%s“ не може да Ñе отвори: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -23496,7 +24040,7 @@ msgstr "" "ФÐТÐЛÐРГРЕШКÐ: %s: %s\n" "ПРЕДУПРЕЖДЕÐИЕ: не Ñа пратени никакви кръпки\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -23506,17 +24050,17 @@ msgstr "" "Ðе Ñа указани кръпки!\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Ð’ „%s“ липÑва тема" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "„%s“ не може да Ñе отвори за запиÑ: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -23531,27 +24075,27 @@ msgstr "" "\n" "Изтрийте вÑичко, ако не иÑкате да изпратите обобщаващо пиÑмо.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "„%s“ не може да Ñе отвори: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "„%s.final“ не може да Ñе отвори: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "Обобщаващото пиÑмо е празно и Ñе преÑкача\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Сигурни ли Ñте, че иÑкате да ползвате „%s“ [y/N]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" @@ -23559,11 +24103,11 @@ msgstr "" "Следните файлове Ñа 8 битови, но не Ñа Ñ Ð¾Ð±Ñвена заглавна чаÑÑ‚ „Content-" "Transfer-Encoding“.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Кое 8 битово кодиране Ñе ползва [Ñтандартно: UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -23576,22 +24120,22 @@ msgstr "" "вÑе още е Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¾Ñ‚Ð¾ заглавие „*** SUBJECT HERE ***“. Ползвайте опциÑта\n" "„--force“, ако Ñте Ñигурни, че точно това иÑкате да изпратите.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "Ðа кой да Ñе пратÑÑ‚ е-пиÑмата (незадължително поле)" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "ФÐТÐЛÐРГРЕШКÐ: „%s“ е пÑевдоним на Ñебе Ñи\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" "Идентификатор на Ñъобщение „Message-ID“, което да Ñе използва за обÑвÑването " "на отговор „In-Reply-To“ (незадължително поле)" -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "ГРЕШКÐ: не може да Ñе извлече Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚ „%s“\n" @@ -23599,18 +24143,18 @@ msgstr "ГРЕШКÐ: не може да Ñе извлече Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚ „ #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "" "Какво да Ñе направи Ñ Ñ‚Ð¾Ð·Ð¸ адреÑ? „q“ (Ñпиране), „d“ (изтриване), " "„e“ (редактиране): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "ПътÑÑ‚ към Ñертификат „%s“ не ÑъщеÑтвува." -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23638,132 +24182,132 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "" "Изпращане на е-пиÑмото? „y“ (да), „n“ (не), „e“ (редактиране), „q“ (изход), " "„a“ (вÑичко): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "ИзиÑкване на отговор към това е-пиÑмо" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "Сървърът за SMTP не е наÑтроен правилно." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Сървърът не поддържа „STARTTLS“! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "ÐеуÑпешно изпълнение на STARTTLS! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "ПодÑиÑтемата за SMTP не може да Ñе инициализира. Проверете наÑтройките и " "използвайте опциÑта: „--smtp-debug“." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "„%s“ не може да бъде изпратен\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Проба за изпращане на „%s“\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "Изпращане на „%s“\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "УÑпех при пробата. От журнала:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "УÑпех. От журнала:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Резултат: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Резултат: уÑпех\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "файлът „%s“ не може да бъде отворен" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) ДобавÑне на „Ñк: %s“ от ред „%s“\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) ДобавÑне на „до: %s“ от ред „%s“\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(не-mbox) ДобавÑне на „Ñк: %s“ от ред „%s“\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(Ñ‚Ñло) ДобавÑне на „Ñк: %s“ от ред „%s“\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Ðе може да бъде Ñе изпълни „%s“" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) ДобавÑне на „%s: %s“ от: „%s“\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) програмниÑÑ‚ канал не може да Ñе затвори за изпълнението на „%s“" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "Ñъобщението не може да Ñе изпрати чрез 7 битови знаци" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "неправилно кодиране за преноÑ" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "„%s“ не може да Ñе отвори: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "„%s“: кръпката Ñъдържа ред Ñ Ð½Ð°Ð´ 988 знака" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "„%s“ Ñе пропуÑка, защото е Ñ Ñ€Ð°Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ðµ за архивен файл: „%s“.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "ÐаиÑтина ли иÑкате да изпратите „%s“? [y|N]: " @@ -49,8 +49,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-02-15 10:09+0800\n" -"PO-Revision-Date: 2019-03-21 15:24+0100\n" +"POT-Creation-Date: 2019-07-30 09:59+0800\n" +"PO-Revision-Date: 2019-07-30 08:23+0200\n" "Last-Translator: Jordi Mas <jmas@softcatala.org>\n" "Language-Team: Catalan\n" "Language: ca\n" @@ -58,39 +58,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 2.1.1\n" +"X-Generator: Poedit 2.2.1\n" -#: advice.c:101 -#, fuzzy, c-format +#: advice.c:109 +#, c-format msgid "%shint: %.*s%s\n" -msgstr "pista: %.*s\n" +msgstr "%spista: %.*s%s\n" -#: advice.c:154 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "Fer «cherry pick» no és possible perquè teniu fitxers sense fusionar." -#: advice.c:156 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "Cometre no és possible perquè teniu fitxers sense fusionar." -#: advice.c:158 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "Fusionar no és possible perquè teniu fitxers sense fusionar." -#: advice.c:160 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "Baixar no és possible perquè teniu fitxers sense fusionar." -#: advice.c:162 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "Revertir no és possible perquè teniu fitxers sense fusionar." -#: advice.c:164 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "No és possible %s perquè teniu fitxers sense fusionar." -#: advice.c:172 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -99,35 +99,42 @@ msgstr "" "'git add/rm <fitxer>' segons sigui apropiat per a marcar la\n" "resolució i feu una comissió." -#: advice.c:180 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "S'està sortint a causa d'un conflicte no resolt." -#: advice.c:185 builtin/merge.c:1290 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "No heu conclòs la vostra fusió (MERGE_HEAD existeix)." -#: advice.c:187 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Cometeu els vostres canvis abans de fusionar." -#: advice.c:188 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "S'està sortint a causa d'una fusió no terminada." -#: advice.c:194 -#, c-format +#: advice.c:202 +#, fuzzy, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" "\n" -" git checkout -b <new-branch-name>\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" "AvÃs: s'està agafant «%s».\n" @@ -150,178 +157,189 @@ msgstr "la lÃnia d'ordres acaba amb \\" msgid "unclosed quote" msgstr "" -#: apply.c:59 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "opció d'espai en blanc «%s» no reconeguda" -#: apply.c:75 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "opció ignora l'espai en blanc «%s» no reconeguda" -#: apply.c:125 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject i --3way no es poden usar junts." -#: apply.c:127 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached i --3way no es poden usar junts." -#: apply.c:130 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way fora d'un dipòsit" -#: apply.c:141 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index fora d'un dipòsit" -#: apply.c:144 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached fora d'un dipòsit" -#: apply.c:825 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "No es pot preparar l'expressió regular de marca de temps %s" -#: apply.c:834 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec ha retornat %d per l'entrada: %s" -#: apply.c:908 +#: apply.c:884 #, 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" -#: apply.c:946 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" -msgstr "git apply: git-diff incorrecte - s'esperava /dev/null, s'ha rebut %s en la lÃnia %d" +msgstr "" +"git apply: git-diff incorrecte - s'esperava /dev/null, s'ha rebut %s en la " +"lÃnia %d" -#: apply.c:952 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" -msgstr "git apply: git-diff incorrecte - nom de fitxer nou inconsistent en la lÃnia %d" +msgstr "" +"git apply: git-diff incorrecte - nom de fitxer nou inconsistent en la lÃnia " +"%d" -#: apply.c:953 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" -msgstr "git apply: git-diff incorrecte - nom de fitxer antic inconsistent en la lÃnia %d" +msgstr "" +"git apply: git-diff incorrecte - nom de fitxer antic inconsistent en la " +"lÃnia %d" -#: apply.c:958 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: git-diff incorrecte - s'esperava /dev/null en la lÃnia %d" -#: apply.c:987 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "mode no và lid en la lÃnia %d: %s" -#: apply.c:1306 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "lÃnies de capçalera %d i %d inconsistents" -#: apply.c:1478 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recompte: lÃnia inesperada: %.*s" -#: apply.c:1547 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "fragment de pedaç sense capçalera a la lÃnia %d: %.*s" -#: apply.c:1567 +#: apply.c:1551 #, c-format -msgid "git diff header lacks filename information when removing %d leading pathname component (line %d)" -msgid_plural "git diff header lacks filename information when removing %d leading pathname components (line %d)" +msgid "" +"git diff header lacks filename information when removing %d leading pathname " +"component (line %d)" +msgid_plural "" +"git diff header lacks filename information when removing %d leading pathname " +"components (line %d)" msgstr[0] "" -"a la capçalera de git diff li manca informació de nom de fitxer en eliminar %d component de nom de camà inicial " -"(lÃnia %d)" +"a la capçalera de git diff li manca informació de nom de fitxer en eliminar " +"%d component de nom de camà inicial (lÃnia %d)" 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)" +"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)" -#: apply.c:1580 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" -msgstr "a la capçalera de git diff li manca informació de nom de fitxer (lÃnia %d)" +msgstr "" +"a la capçalera de git diff li manca informació de nom de fitxer (lÃnia %d)" -#: apply.c:1768 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "el fitxer nou depèn dels continguts antics" -#: apply.c:1770 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "el fitxer suprimit encara té continguts" -#: apply.c:1804 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "pedaç malmès a la lÃnia %d" -#: apply.c:1841 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "el fitxer nou %s depèn dels continguts antics" -#: apply.c:1843 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "el fitxer suprimit %s encara té continguts" -#: apply.c:1846 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** advertència: el fitxer %s queda buit però no se suprimeix" -#: apply.c:1993 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "pedaç binari malmès a la lÃnia %d: %.*s" -#: apply.c:2030 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "pedaç binari no reconegut a la lÃnia %d" -#: apply.c:2192 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "pedaç amb només escombraries a la lÃnia %d" -#: apply.c:2278 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "no s'ha pogut llegir l'enllaç simbòlic %s" -#: apply.c:2282 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "no s'ha pogut obrir o llegir %s" -#: apply.c:2941 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "inici de lÃnia no và lid: «%c»" -#: apply.c:3062 +#: apply.c:3046 #, 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'%d lÃnia)." msgstr[1] "El tros #%d ha tingut èxit a %d (desplaçament de %d lÃnies)." -#: apply.c:3074 +#: apply.c:3058 #, 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" -#: apply.c:3080 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -330,439 +348,459 @@ msgstr "" "tot cercant:\n" "%.*s" -#: apply.c:3102 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "manquen les dades de pedaç binari de «%s»" -#: apply.c:3110 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "no es pot aplicar al revés un pedaç binari sense el tros revés a «%s»" -#: apply.c:3157 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" -msgstr "no es pot aplicar un pedaç binari a «%s» sense la lÃnia d'Ãndex completa" +msgstr "" +"no es pot aplicar un pedaç binari a «%s» sense la lÃnia d'Ãndex completa" -#: apply.c:3167 +#: apply.c:3151 #, c-format -msgid "the patch applies to '%s' (%s), which does not match the current contents." -msgstr "el pedaç s'aplica a «%s» (%s), el qual no coincideix amb els continguts actuals." +msgid "" +"the patch applies to '%s' (%s), which does not match the current contents." +msgstr "" +"el pedaç s'aplica a «%s» (%s), el qual no coincideix amb els continguts " +"actuals." -#: apply.c:3175 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "el pedaç s'aplica a un «%s» buit però no és buit" -#: apply.c:3193 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "no es pot llegir la postimatge %s necessà ria per a «%s»" -#: apply.c:3206 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "el pedaç binari no s'aplica a «%s»" -#: apply.c:3212 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" -msgstr "el pedaç binari a «%s» crea un resultat incorrecte (s'esperava %s, s'ha rebut %s)" +msgstr "" +"el pedaç binari a «%s» crea un resultat incorrecte (s'esperava %s, s'ha " +"rebut %s)" -#: apply.c:3233 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "el pedaç ha fallat: %s:%ld" -#: apply.c:3356 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "no es pot agafar %s" -#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "s'ha produït un error en llegir %s" -#: apply.c:3416 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "s'està llegint de «%s» més enllà d'un enllaç simbòlic" -#: apply.c:3445 apply.c:3688 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "el camà %s s'ha canviat de nom / s'ha suprimit" -#: apply.c:3531 apply.c:3703 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s: no existeix en l'Ãndex" -#: apply.c:3540 apply.c:3711 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s: no coincideix amb l'Ãndex" -#: apply.c:3575 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." -msgstr "al dipòsit li manca el blob necessari per a retrocedir a una fusió de 3 vies." +msgstr "" +"al dipòsit li manca el blob necessari per a retrocedir a una fusió de 3 vies." -#: apply.c:3578 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "S'està retrocedint a una fusió de 3 vies...\n" -#: apply.c:3594 apply.c:3598 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "no es poden llegir els continguts actuals de «%s»" -#: apply.c:3610 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "S'ha produït un error en retrocedir a una fusió de 3 vies...\n" -#: apply.c:3624 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "S'ha aplicat el pedaç a «%s» amb conflictes.\n" -#: apply.c:3629 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "S'ha aplicat el pedaç a «%s» netament.\n" -#: apply.c:3655 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "el pedaç d'eliminació deixa els continguts dels fitxers" -#: apply.c:3728 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: tipus erroni" -#: apply.c:3730 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s és del tipus %o, s'esperava %o" -#: apply.c:3881 apply.c:3883 read-cache.c:820 read-cache.c:846 read-cache.c:1299 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 +#: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "camà no và lid: «%s»" -#: apply.c:3939 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s: ja existeix en l'Ãndex" -#: apply.c:3942 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s: ja existeix en el directori de treball" -#: apply.c:3962 +#: apply.c:3946 #, 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)" -#: apply.c:3967 +#: apply.c:3951 #, 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" -#: apply.c:3987 +#: apply.c:3971 #, 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" -#: apply.c:3991 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: el pedaç no s'aplica" -#: apply.c:4006 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "S'està comprovant el pedaç %s..." -#: apply.c:4098 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "falta la informació sha1 o és inútil per al submòdul %s" -#: apply.c:4105 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "canvi de mode per a %s, el qual no està en la HEAD actual" -#: apply.c:4108 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "falta informació sha1 o és inútil (%s)." -#: apply.c:4113 builtin/checkout.c:248 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry ha fallat per al camà «%s»" -#: apply.c:4117 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "no s'ha pogut afegir %s a l'Ãndex temporal" -#: apply.c:4127 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "no s'ha pogut escriure l'Ãndex temporal a %s" -#: apply.c:4265 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "no s'ha pogut eliminar %s de l'Ãndex" -#: apply.c:4299 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "pedaç malmès per al submòdul %s" -#: apply.c:4305 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "no s'ha pogut fer stat al fitxer novament creat «%s»" -#: apply.c:4313 +#: apply.c:4297 #, 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" +msgstr "" +"no s'ha pogut crear un magatzem de recolzament per al fitxer novament creat " +"%s" -#: apply.c:4319 apply.c:4464 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "no s'ha pogut afegir una entrada de cau per a %s" -#: apply.c:4362 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "no s'ha pogut escriure a «%s»" -#: apply.c:4366 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "s'està tancant el fitxer «%s»" -#: apply.c:4436 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "no s'ha pogut escriure el fitxer «%s» mode %o" -#: apply.c:4534 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "El pedaç %s s'ha aplicat netament." -#: apply.c:4542 +#: apply.c:4526 msgid "internal error" msgstr "error intern" -#: apply.c:4545 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "S'està aplicant el pedaç %%s amb %d rebuig..." msgstr[1] "S'està aplicant el pedaç %%s amb %d rebutjos..." -#: apply.c:4556 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "s'està truncant el nom del fitxer .rej a %.*s.rej" -#: apply.c:4564 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:869 builtin/fetch.c:1161 #, c-format msgid "cannot open %s" msgstr "no es pot obrir %s" -#: apply.c:4578 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "El tros #%d s'ha aplicat netament." -#: apply.c:4582 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "S'ha rebutjat el tros #%d." -#: apply.c:4692 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "S'ha omès el pedaç «%s»." -#: apply.c:4700 +#: apply.c:4684 msgid "unrecognized input" msgstr "entrada no reconeguda" -#: apply.c:4720 +#: apply.c:4704 msgid "unable to read index file" msgstr "no es pot llegir el fitxer d'Ãndex" -#: apply.c:4875 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "no es pot obrir el pedaç «%s»: %s" -#: apply.c:4902 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "s'ha silenciat %d error d'espai en blanc" msgstr[1] "s'han silenciat %d errors d'espai en blanc" -#: apply.c:4908 apply.c:4923 +#: apply.c:4892 apply.c:4907 #, 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." -#: apply.c:4916 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." -msgstr[0] "S'ha aplicat %d lÃnia després d'arreglar els errors d'espai en blanc." -msgstr[1] "S'han aplicat %d lÃnies després d'arreglar els errors d'espai en blanc." +msgstr[0] "" +"S'ha aplicat %d lÃnia després d'arreglar els errors d'espai en blanc." +msgstr[1] "" +"S'han aplicat %d lÃnies després d'arreglar els errors d'espai en blanc." -#: apply.c:4932 builtin/add.c:539 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "No s'ha pogut escriure un fitxer d'Ãndex nou" -#: apply.c:4959 apply.c:4962 builtin/am.c:2203 builtin/am.c:2206 builtin/clone.c:122 builtin/fetch.c:118 -#: builtin/merge.c:263 builtin/pull.c:200 builtin/submodule--helper.c:407 builtin/submodule--helper.c:1366 -#: builtin/submodule--helper.c:1369 builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 -#: builtin/submodule--helper.c:2092 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "camÃ" -#: apply.c:4960 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "no apliquis els canvis que coincideixin amb el camà donat" -#: apply.c:4963 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "aplica els canvis que coincideixin amb el camà donat" -#: apply.c:4965 builtin/am.c:2212 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "número" -#: apply.c:4966 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" -msgstr "elimina <nombre> barres obliqües inicials dels camins de diferència tradicionals" +msgstr "" +"elimina <nombre> barres obliqües inicials dels camins de diferència " +"tradicionals" -#: apply.c:4969 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "ignora afegiments fets pel pedaç" -#: apply.c:4971 +#: apply.c:4955 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" +msgstr "" +"en lloc d'aplicar el pedaç, emet les estadÃstiques de diferència de l'entrada" -#: apply.c:4975 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "mostra el nombre de lÃnies afegides i suprimides en notació decimal" -#: apply.c:4977 +#: apply.c:4961 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" -#: apply.c:4979 +#: apply.c:4963 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" -#: apply.c:4981 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "assegura que el pedaç sigui aplicable a l'Ãndex actual" -#: apply.c:4983 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "" -#: apply.c:4985 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "aplica un pedaç sense tocar l'arbre de treball" -#: apply.c:4987 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "accepta un pedaç que toqui fora de l'à rea de treball" -#: apply.c:4990 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "aplica el pedaç també (useu amb --stat/--summary/--check)" -#: apply.c:4992 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "intenta una fusió de tres vies si el pedaç no s'aplica" -#: apply.c:4994 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "construeix un Ãndex temporal basat en la informació d'Ãndex incrustada" -#: apply.c:4997 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "els camins se separen amb el carà cter NUL" -#: apply.c:4999 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "assegura't que almenys <n> lÃnies de context coincideixin" -#: apply.c:5000 builtin/am.c:2191 builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99 -#: builtin/interpret-trailers.c:101 builtin/pack-objects.c:3314 builtin/rebase.c:1065 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3319 builtin/rebase.c:1421 msgid "action" msgstr "acció" -#: apply.c:5001 +#: apply.c:4985 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" +msgstr "" +"detecta les lÃnies noves o modificades que tinguin errors d'espai en blanc" -#: apply.c:5004 apply.c:5007 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "ignora els canvis d'espai en blanc en cercar context" -#: apply.c:5010 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "aplica el pedaç al revés" -#: apply.c:5012 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "no esperis almenys una lÃnia de context" -#: apply.c:5014 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "deixa els trossos rebutjats en fitxers *.rej corresponents" -#: apply.c:5016 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "permet trossos encavalcants" -#: apply.c:5017 builtin/add.c:291 builtin/check-ignore.c:22 builtin/commit.c:1312 builtin/count-objects.c:98 -#: builtin/fsck.c:724 builtin/log.c:2037 builtin/mv.c:123 builtin/read-tree.c:128 builtin/rebase--interactive.c:159 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2085 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "sigues detallat" -#: apply.c:5019 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "tolera una lÃnia nova incorrectament detectada al final del fitxer" -#: apply.c:5022 +#: apply.c:5006 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" -#: apply.c:5024 builtin/am.c:2200 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "arrel" -#: apply.c:5025 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "anteposa <arrel> a tots els noms de fitxer" @@ -775,14 +813,17 @@ msgid "git archive --list" msgstr "git archive --list" #: archive.c:16 -msgid "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]" -msgstr "git archive --remote <dipòsit> [--exec <ordre>] [<opcions>] <arbre> [<camÃ>...]" +msgid "" +"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]" +msgstr "" +"git archive --remote <dipòsit> [--exec <ordre>] [<opcions>] <arbre> " +"[<camÃ>...]" #: archive.c:17 msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <dipòsit> [--exec <ordre>] --list" -#: archive.c:372 builtin/add.c:177 builtin/add.c:515 builtin/rm.c:299 +#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299 #, c-format msgid "pathspec '%s' did not match any files" msgstr "l'especificació de camà «%s» no ha coincidit amb cap fitxer" @@ -802,95 +843,98 @@ msgstr "no és un nom d'objecte và lid: %s" msgid "not a tree object: %s" msgstr "no és un objecte d'arbre: %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "no es segueix el directori de treball actual" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "format" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "format d'arxiu" -#: archive.c:456 builtin/log.c:1549 +#: archive.c:458 builtin/log.c:1597 msgid "prefix" msgstr "prefix" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "anteposa el prefix a cada nom de camà en l'arxiu" -#: archive.c:458 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 builtin/ls-files.c:560 -#: builtin/ls-files.c:563 builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:162 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 +#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 +#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "fitxer" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "escriu l'arxiu a aquest fitxer" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "llegeix .gitattributes en el directori de treball" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "informa de fitxers arxivats en stderr" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "només emmagatzema" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "comprimeix més rà pidament" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "comprimeix millor" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "llista els formats d'arxiu admesos" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115 builtin/submodule--helper.c:1378 -#: builtin/submodule--helper.c:1859 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "dipòsit" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "recupera l'arxiu del dipòsit remot <dipòsit>" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:715 builtin/notes.c:498 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 +#: builtin/notes.c:498 msgid "command" msgstr "ordre" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "camà a l'ordre git-upload-archive remota" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Opció inesperada --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "L'opció --exec només es pot usar juntament amb --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Opció inesperada --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Format d'arxiu desconegut «%s»" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Parà metre no admès per al format «%s»: -%d" @@ -910,16 +954,16 @@ msgstr "mode de fitxer no compatible: 0%o (SHA1: %s)" msgid "cannot read %s" msgstr "no es pot llegir «%s»" -#: archive-tar.c:458 +#: archive-tar.c:459 #, c-format msgid "unable to start '%s' filter" msgstr "no s'ha pogut iniciar el filtre «%s»" -#: archive-tar.c:461 +#: archive-tar.c:462 msgid "unable to redirect descriptor" msgstr "no s'ha pogut redirigir el descriptor" -#: archive-tar.c:468 +#: archive-tar.c:469 #, c-format msgid "'%s' filter reported error" msgstr "«%s» error reportat pel filtre" @@ -934,7 +978,7 @@ msgstr "el camà no és và lid en UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "el camà és massa llarg (%d carà cters, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:225 builtin/pack-objects.c:228 +#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 #, c-format msgid "deflate error (%d)" msgstr "error de deflació (%d)" @@ -942,7 +986,7 @@ msgstr "error de deflació (%d)" #: archive-zip.c:609 #, c-format msgid "timestamp too large for this system: %<PRIuMAX>" -msgstr "marca de temps massa llarga per a aquest sistema: %<PRIuMAX>" +msgstr "marca de temps massa gran per a aquest sistema: %<PRIuMAX>" #: attr.c:211 #, c-format @@ -1023,7 +1067,8 @@ msgid "" "We continue anyway." msgstr "" "s'ha d'ometre 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" +"Llavors, no podem estar segurs que la primera comissió %s sigui entre %s i " +"%s.\n" "Continuem de totes maneres." #: bisect.c:822 @@ -1036,26 +1081,26 @@ msgstr "Bisecant: s'ha de provar una base de fusió\n" msgid "a %s revision is needed" msgstr "es necessita una revisió %s" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:237 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "no s'ha pogut crear el fitxer «%s»" -#: bisect.c:937 builtin/merge.c:139 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "no s'ha pogut llegir el fitxer «%s»" -#: bisect.c:967 +#: bisect.c:958 msgid "reading bisect refs failed" msgstr "la lectura de les referències de bisecció ha fallat" -#: bisect.c:986 +#: bisect.c:977 #, c-format msgid "%s was both %s and %s\n" msgstr "%s era ambdós %s i %s\n" -#: bisect.c:994 +#: bisect.c:985 #, c-format msgid "" "No testable commit found.\n" @@ -1064,7 +1109,7 @@ msgstr "" "No s'ha trobat cap comissió comprovable.\n" "Potser heu començat amb parà metres de camà incorrectes?\n" -#: bisect.c:1013 +#: bisect.c:1004 #, c-format msgid "(roughly %d step)" msgid_plural "(roughly %d steps)" @@ -1074,46 +1119,53 @@ msgstr[1] "(aproximadament %d passos)" #. TRANSLATORS: the last %s will be replaced with "(roughly %d #. steps)" translation. #. -#: bisect.c:1019 +#: bisect.c:1010 #, 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" -#: blame.c:1792 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents i --reverse no funcionen bé juntes." -#: blame.c:1806 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "no es pot usar --contents amb el nom d'objecte de la comissió final" -#: blame.c:1827 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" -msgstr "--reverse i --first-parent-together requereixen una última comissió especificada" +msgstr "" +"--reverse i --first-parent-together requereixen una última comissió " +"especificada" -#: blame.c:1836 bundle.c:164 ref-filter.c:2071 remote.c:1948 sequencer.c:1993 sequencer.c:4064 builtin/commit.c:1004 -#: builtin/log.c:378 builtin/log.c:936 builtin/log.c:1420 builtin/log.c:1796 builtin/log.c:2086 builtin/merge.c:407 -#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152 builtin/shortlog.c:192 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:404 builtin/log.c:980 +#: builtin/log.c:1468 builtin/log.c:1844 builtin/log.c:2134 builtin/merge.c:411 +#: builtin/pack-objects.c:3142 builtin/pack-objects.c:3157 +#: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "la configuració del passeig per revisions ha fallat" -#: blame.c:1854 -msgid "--reverse --first-parent together require range along first-parent chain" -msgstr "--reverse --first-parent junts requereixen un rang de la cadena de mares primeres" +#: blame.c:2759 +msgid "" +"--reverse --first-parent together require range along first-parent chain" +msgstr "" +"--reverse --first-parent junts requereixen un rang de la cadena de mares " +"primeres" -#: blame.c:1865 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "no hi ha tal camà %s en %s" -#: blame.c:1876 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "no es pot llegir el blob %s per al camà %s" -#: branch.c:52 +#: branch.c:53 #, c-format msgid "" "\n" @@ -1126,85 +1178,97 @@ msgstr "" "intentar corregir la informació de seguiment remot\n" "invocant \"git branch --set-upstream-to=%s%s%s\"." -#: branch.c:66 +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "No s'està establint la branca %s com a la seva pròpia font." -#: branch.c:92 +#: branch.c:93 #, c-format msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing." -msgstr "La branca «%s» està configurada per a seguir la branca remota «%s» de «%s» fent «rebase»." +msgstr "" +"La branca «%s» està configurada per a seguir la branca remota «%s» de «%s» " +"fent «rebase»." -#: branch.c:93 +#: branch.c:94 #, c-format msgid "Branch '%s' set up to track remote branch '%s' from '%s'." -msgstr "La branca «%s» està configurada per a seguir la branca remota «%s» de «%s»." +msgstr "" +"La branca «%s» està configurada per a seguir la branca remota «%s» de «%s»." -#: branch.c:97 +#: branch.c:98 #, c-format msgid "Branch '%s' set up to track local branch '%s' by rebasing." -msgstr "La branca «%s» està configurada per a seguir la branca local «%s» fent «rebase»." +msgstr "" +"La branca «%s» està configurada per a seguir la branca local «%s» fent " +"«rebase»." -#: branch.c:98 +#: branch.c:99 #, c-format msgid "Branch '%s' set up to track local branch '%s'." msgstr "La branca «%s» està configurada per a seguir la branca local «%s»." -#: branch.c:103 +#: branch.c:104 #, c-format msgid "Branch '%s' set up to track remote ref '%s' by rebasing." -msgstr "La branca «%s» està configurada per a seguir la referència remota «%s» fent «rebase»." +msgstr "" +"La branca «%s» està configurada per a seguir la referència remota «%s» fent " +"«rebase»." -#: branch.c:104 +#: branch.c:105 #, c-format msgid "Branch '%s' set up to track remote ref '%s'." -msgstr "La branca «%s» està configurada per a seguir la referència remota «%s»." +msgstr "" +"La branca «%s» està configurada per a seguir la referència remota «%s»." -#: branch.c:108 +#: branch.c:109 #, c-format msgid "Branch '%s' set up to track local ref '%s' by rebasing." -msgstr "La branca «%s» està configurada per a seguir la referència local «%s» fent «rebase»." +msgstr "" +"La branca «%s» està configurada per a seguir la referència local «%s» fent " +"«rebase»." -#: branch.c:109 +#: branch.c:110 #, c-format msgid "Branch '%s' set up to track local ref '%s'." msgstr "La branca «%s» està configurada per a seguir la referència local «%s»." -#: branch.c:118 +#: branch.c:119 msgid "Unable to write upstream branch configuration" msgstr "No es pot escriure la configuració de la branca font" -#: branch.c:155 +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "No seguint: informació ambigua per a la referència %s" -#: branch.c:188 +#: branch.c:189 #, c-format msgid "'%s' is not a valid branch name." msgstr "«%s» no és un nom de branca và lid." -#: branch.c:207 +#: branch.c:208 #, c-format msgid "A branch named '%s' already exists." msgstr "Una branca amb nom «%s» ja existeix." -#: branch.c:212 +#: branch.c:213 msgid "Cannot force update the current branch." msgstr "No es pot actualitzar la branca actual a la força." -#: branch.c:232 +#: branch.c:233 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." -msgstr "No es pot configurar la informació de seguiment; el punt inicial «%s» no és una branca." +msgstr "" +"No es pot configurar la informació de seguiment; el punt inicial «%s» no és " +"una branca." -#: branch.c:234 +#: branch.c:235 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "la branca font demanada «%s» no existeix" -#: branch.c:236 +#: branch.c:237 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -1225,27 +1289,27 @@ msgstr "" "«git push -u» per a establir la configuració font\n" "mentre pugeu." -#: branch.c:280 +#: branch.c:281 #, c-format msgid "Not a valid object name: '%s'." msgstr "No és un nom d'objecte và lid: «%s»." -#: branch.c:300 +#: branch.c:301 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Nom d'objecte ambigu: «%s»." -#: branch.c:305 +#: branch.c:306 #, c-format msgid "Not a valid branch point: '%s'." msgstr "No és un punt de ramificació và lid: «%s»." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "«%s» ja s'ha agafat a «%s»" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD de l'arbre de treball %s no està actualitzat" @@ -1260,7 +1324,8 @@ 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:90 rerere.c:480 rerere.c:690 sequencer.c:2215 sequencer.c:2763 builtin/commit.c:776 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "no s'ha pogut obrir «%s»" @@ -1269,60 +1334,64 @@ msgstr "no s'ha pogut obrir «%s»" msgid "Repository lacks these prerequisite commits:" msgstr "Al dipòsit li manquen aquestes comissions prerequisits:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "cal un dipòsit per verificar un farcell" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "El farcell conté aquesta referència:" msgstr[1] "El farcell conté aquestes %d referències:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "El farcell registra una història completa." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "El farcell requereix aquesta referència:" msgstr[1] "El farcell requereix aquestes %d referències:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "no s'ha pogut duplicar el descriptor del farcell" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "No s'ha pogut executar el pack-objects" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "El pack-objects s'ha mort" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "El rev-list s'ha mort" -#: bundle.c:378 +#: bundle.c:381 #, c-format 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:457 builtin/log.c:193 builtin/log.c:1701 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:212 builtin/log.c:1749 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "parà metre no reconegut: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "S'està refusant crear un farcell buit." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "no es pot crear «%s»" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "L'index-pack s'ha mort" @@ -1331,8 +1400,8 @@ msgstr "L'index-pack s'ha mort" msgid "invalid color value: %.*s" msgstr "valor de color no và lid: %.*s" -#: commit.c:50 sequencer.c:2567 builtin/am.c:355 builtin/am.c:399 builtin/am.c:1375 builtin/am.c:2019 -#: builtin/replace.c:376 builtin/replace.c:448 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "no s'ha pogut analitzar %s" @@ -1342,7 +1411,7 @@ msgstr "no s'ha pogut analitzar %s" msgid "%s %s is not a commit!" msgstr "%s %s no és una comissió!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1354,27 +1423,27 @@ msgid "" "\"git config advice.graftFileDeprecated false\"" msgstr "" -#: commit.c:1122 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "La comissió %s té una signatura GPG no fiable, suposadament de %s." -#: commit.c:1125 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "La comissió %s té una signatura GPG incorrecta suposadament de %s." -#: commit.c:1128 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "La comissió %s no té signatura GPG." -#: commit.c:1131 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "La comissió %s té una signatura GPG bona de %s\n" -#: commit.c:1385 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1385,139 +1454,254 @@ msgstr "" "la variable de configuració i18n.commitencoding a la codificació que\n" "usi el vostre projecte.\n" -#: commit-graph.c:101 -#, c-format -msgid "graph file %s is too small" +#: commit-graph.c:127 +msgid "commit-graph file is too small" msgstr "" -#: commit-graph.c:136 +#: commit-graph.c:192 #, c-format -msgid "graph signature %X does not match signature %X" -msgstr "" +msgid "commit-graph signature %X does not match signature %X" +msgstr "la signatura del graf de comissions %X no coincideix amb la signatura %X" -#: commit-graph.c:143 -#, fuzzy, c-format -msgid "graph version %X does not match version %X" -msgstr "el camà «%s» no té la seva versió" +#: commit-graph.c:199 +#, c-format +msgid "commit-graph version %X does not match version %X" +msgstr "la versió del graf de comissions %X no coincideix amb la versió %X" -#: commit-graph.c:150 -#, fuzzy, c-format -msgid "hash version %X does not match version %X" -msgstr "el camà «%s» no té la seva versió" +#: commit-graph.c:206 +#, c-format +msgid "commit-graph hash version %X does not match version %X" +msgstr "la versió del hash del graf de comissions %X no coincideix amb la versió %X" -#: commit-graph.c:173 -msgid "chunk lookup table entry missing; graph file may be incomplete" +#: commit-graph.c:229 +msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" -#: commit-graph.c:184 +#: commit-graph.c:240 #, c-format -msgid "improper chunk offset %08x%08x" +msgid "commit-graph improper chunk offset %08x%08x" +msgstr "" + +#: commit-graph.c:283 +#, c-format +msgid "commit-graph chunk id %08x appears multiple times" +msgstr "" + +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" msgstr "" -#: commit-graph.c:221 +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "la cadena del graf de comissions no coincideix" + +#: commit-graph.c:404 #, c-format -msgid "chunk id %08x appears multiple times" +msgid "invalid commit-graph chain: line '%s' not a hash" msgstr "" -#: commit-graph.c:334 +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "no es poden trobar tots els fitxers del graf de comissions" + +#: commit-graph.c:553 commit-graph.c:613 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "posició de la comissió no và lida. Probablement el graf de comissions està malmès" + +#: commit-graph.c:574 #, c-format msgid "could not find commit %s" msgstr "no s'ha pogut trobar la comissió %s" -#: commit-graph.c:671 builtin/pack-objects.c:2646 +#: commit-graph.c:1001 builtin/pack-objects.c:2651 #, c-format msgid "unable to get type of object %s" msgstr "no s'ha pogut obtenir el tipus de l'objecte: %s" -#: commit-graph.c:704 +#: commit-graph.c:1033 msgid "Loading known commits in commit graph" msgstr "S'estan carregant comissions conegudes al graf de comissions" -#: commit-graph.c:720 +#: commit-graph.c:1050 msgid "Expanding reachable commits in commit graph" msgstr "S'estan expandint les comissions abastables al graf de comissions" -#: commit-graph.c:732 +#: commit-graph.c:1069 msgid "Clearing commit marks in commit graph" msgstr "S'estan netejant les marques de comissions al graf de comissions" -#: commit-graph.c:752 +#: commit-graph.c:1088 msgid "Computing commit graph generation numbers" -msgstr "" +msgstr "S'estan calculant els nombres de generació del graf de comissions" -#: commit-graph.c:869 -#, fuzzy, c-format +#: commit-graph.c:1162 +#, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" -msgstr[0] "masses comissions per escriure un graf" -msgstr[1] "masses comissions per escriure un graf" +msgstr[0] "S'estan cercant les comissions pel graf de comissions en %d paquet" +msgstr[1] "S'estan cercant les comissions pel graf de comissions en %d paquets" -#: commit-graph.c:882 +#: commit-graph.c:1175 #, c-format msgid "error adding pack %s" msgstr "error en afegir paquet %s" -#: commit-graph.c:884 +#: commit-graph.c:1179 #, c-format msgid "error opening index for %s" msgstr "s'ha produït un error en obrir l'Ãndex per «%s»" -#: commit-graph.c:898 -#, fuzzy, c-format +#: commit-graph.c:1203 +#, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" -msgstr[0] "masses comissions per escriure un graf" -msgstr[1] "masses comissions per escriure un graf" +msgstr[0] "S'estan cercant les comissions pel graf de comissions des de %d referència" +msgstr[1] "S'estan cercant les comissions pel graf de comissions des de %d referències" -#: commit-graph.c:930 -#, fuzzy +#: commit-graph.c:1237 msgid "Finding commits for commit graph among packed objects" -msgstr "masses comissions per escriure un graf" +msgstr "S'estan cercant les comissions pel graf de comissions entre els objectes empaquetats" -#: commit-graph.c:943 -#, fuzzy +#: commit-graph.c:1252 msgid "Counting distinct commits in commit graph" -msgstr "masses comissions per escriure un graf" +msgstr "S'estant comptant les comissions diferents al graf de comissions" -#: commit-graph.c:956 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "" - -#: commit-graph.c:965 -#, fuzzy +#: commit-graph.c:1283 msgid "Finding extra edges in commit graph" -msgstr "masses comissions per escriure un graf" +msgstr "S'estan cercant les vores addicionals al graf de comissions" -#: commit-graph.c:989 -msgid "too many commits to write graph" -msgstr "masses comissions per escriure un graf" +#: commit-graph.c:1331 +msgid "failed to write correct number of base graph ids" +msgstr "s'ha produït un error en escriure el nombre correcte d'ids base del graf" -#: commit-graph.c:996 midx.c:769 +#: commit-graph.c:1364 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "no s'han pogut crear els directoris inicials de «%s»" -#: commit-graph.c:1036 +#: commit-graph.c:1376 builtin/index-pack.c:306 builtin/repack.c:251 +#, c-format +msgid "unable to create '%s'" +msgstr "no s'ha pogut crear «%s»" + +#: commit-graph.c:1436 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "S'està escrivint el graf de comissions en %d pas" msgstr[1] "S'està escrivint el graf de comissions en %d passos" -#: commit-graph.c:1109 +#: commit-graph.c:1477 +msgid "unable to open commit-graph chain file" +msgstr "no s'ha pogut obrir el fitxer d'encadenament del graf de comissions" + +#: commit-graph.c:1489 +msgid "failed to rename base commit-graph file" +msgstr "no s'ha pogut canviar el nom del fitxer base del graf de comissions" + +#: commit-graph.c:1509 +msgid "failed to rename temporary commit-graph file" +msgstr "no s'ha pogut canviar el nom del fitxer temporal del graf de comissions" + +#: commit-graph.c:1620 +msgid "Scanning merged commits" +msgstr "S'estan escanejant les comissions fusionades" + +#: commit-graph.c:1631 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "id de comissió duplicat %s no esperat" + +#: commit-graph.c:1656 +msgid "Merging commit-graph" +msgstr "S'està fusionant el graf de comissions" + +#: commit-graph.c:1842 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "el format del graf de comissions no pot escriure %d comissions" + +#: commit-graph.c:1853 +msgid "too many commits to write graph" +msgstr "massa comissions per escriure un graf" + +#: commit-graph.c:1943 msgid "the commit-graph file has incorrect checksum and is likely corrupt" -msgstr "el fitxer commit-graph (graf de comissions) té una suma de verificació incorrecta i probablement és corrupte" +msgstr "" +"el fitxer commit-graph (graf de comissions) té una suma de verificació " +"incorrecta i probablement és corrupte" -#: commit-graph.c:1153 +#: commit-graph.c:1953 +#, c-format +msgid "commit-graph has incorrect OID order: %s then %s" +msgstr "" + +#: commit-graph.c:1963 commit-graph.c:1978 +#, c-format +msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" +msgstr "" + +#: commit-graph.c:1970 +#, c-format +msgid "failed to parse commit %s from commit-graph" +msgstr "s'ha produït un error en analitzar la comissió %s del graf de comissions" + +#: commit-graph.c:1987 msgid "Verifying commits in commit graph" -msgstr "S'estan verificant les comissions al graf de comssions" +msgstr "S'estan verificant les comissions al graf de comissions" + +#: commit-graph.c:2000 +#, c-format +msgid "failed to parse commit %s from object database for commit-graph" +msgstr "" + +#: commit-graph.c:2007 +#, c-format +msgid "root tree OID for commit %s in commit-graph is %s != %s" +msgstr "" + +#: commit-graph.c:2017 +#, c-format +msgid "commit-graph parent list for commit %s is too long" +msgstr "" + +#: commit-graph.c:2026 +#, c-format +msgid "commit-graph parent for %s is %s != %s" +msgstr "" + +#: commit-graph.c:2039 +#, c-format +msgid "commit-graph parent list for commit %s terminates early" +msgstr "" + +#: commit-graph.c:2044 +#, c-format +msgid "" +"commit-graph has generation number zero for commit %s, but non-zero elsewhere" +msgstr "" + +#: commit-graph.c:2048 +#, c-format +msgid "" +"commit-graph has non-zero generation number for commit %s, but zero elsewhere" +msgstr "" + +#: commit-graph.c:2063 +#, c-format +msgid "commit-graph generation for commit %s is %u != %u" +msgstr "" + +#: commit-graph.c:2069 +#, c-format +msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" +msgstr "" #: compat/obstack.c:406 compat/obstack.c:408 msgid "memory exhausted" msgstr "memòria esgotada" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1527,294 +1711,302 @@ msgid "" "This might be due to circular includes." msgstr "" -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "no s'ha pogut expandir el camà d'inclusió «%s»" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "les inclusions de configuració relatives han de venir de fitxers" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" -msgstr "els condicionals d'inclusió de configuració relatius han de venir de fitxers" +msgstr "" +"els condicionals d'inclusió de configuració relatius han de venir de fitxers" -#: config.c:348 +#: config.c:375 #, c-format msgid "key does not contain a section: %s" msgstr "la clau no conté una secció: «%s»" -#: config.c:354 +#: config.c:381 #, c-format msgid "key does not contain variable name: %s" msgstr "la clau no conté un nom de variable: «%s»" -#: config.c:378 sequencer.c:2330 +#: config.c:405 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "clau no và lida: %s" -#: config.c:384 +#: config.c:411 #, c-format msgid "invalid key (newline): %s" msgstr "clau no và lida (lÃnea nova): %s" -#: config.c:420 config.c:432 +#: config.c:447 config.c:459 #, c-format msgid "bogus config parameter: %s" msgstr "parà metre de configuració erroni: %s" -#: config.c:467 +#: config.c:494 #, c-format msgid "bogus format in %s" msgstr "format erroni a %s" -#: config.c:793 +#: config.c:820 #, c-format msgid "bad config line %d in blob %s" msgstr "lÃnia de configuració %d errònia en el blob %s" -#: config.c:797 +#: config.c:824 #, c-format msgid "bad config line %d in file %s" msgstr "lÃnia de configuració %d errònia en el fitxer %s" -#: config.c:801 +#: config.c:828 #, c-format msgid "bad config line %d in standard input" msgstr "lÃnia de configuració %d errònia en l'entrada està ndard" -#: config.c:805 +#: config.c:832 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "lÃnia de configuració %d errònia en el blob de submòdul %s" -#: config.c:809 +#: config.c:836 #, c-format msgid "bad config line %d in command line %s" msgstr "lÃnia de configuració %d errònia en la lÃnia d'ordres %s" -#: config.c:813 +#: config.c:840 #, c-format msgid "bad config line %d in %s" msgstr "lÃnia de configuració %d errònia en %s" -#: config.c:952 +#: config.c:977 msgid "out of range" msgstr "fora de rang" -#: config.c:952 +#: config.c:977 msgid "invalid unit" msgstr "unitat no và lida" -#: config.c:958 +#: config.c:978 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "valor de configuració numèric erroni «%s» per «%s»: %s" -#: config.c:963 +#: config.c:997 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "valor de configuració numèric erroni «%s» per «%s» en el blob %s: %s" -#: config.c:966 +#: config.c:1000 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "valor de configuració numèric «%s» erroni per «%s» en el fitxer %s: %s" -#: config.c:969 +#: config.c:1003 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" -msgstr "valor de configuració numèric «%s» erroni per «%s» en l'entrada està ndard: %s" +msgstr "" +"valor de configuració numèric «%s» erroni per «%s» en l'entrada està ndard: %s" -#: config.c:972 +#: config.c:1006 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" -msgstr "valor de configuració numèric «%s» erroni' per «%s» en el blob de submòdul %s: %s" +msgstr "" +"valor de configuració numèric «%s» erroni' per «%s» en el blob de submòdul " +"%s: %s" -#: config.c:975 +#: config.c:1009 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" -msgstr "valor de configuració numèric «%s» erroni per «%s» en la lÃnia d'ordres %s: %s" +msgstr "" +"valor de configuració numèric «%s» erroni per «%s» en la lÃnia d'ordres %s: " +"%s" -#: config.c:978 +#: config.c:1012 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "valor de configuració numèric incorrecte «%s» per «%s» en %s: %s" -#: config.c:1073 +#: config.c:1107 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "s'ha produït un error en expandir el directori d'usuari en: «%s»" -#: config.c:1082 +#: config.c:1116 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "«%s» per a «%s» no és una marca de temps và lida" -#: config.c:1173 +#: config.c:1207 #, c-format msgid "abbrev length out of range: %d" msgstr "" -#: config.c:1187 config.c:1198 +#: config.c:1221 config.c:1232 #, c-format msgid "bad zlib compression level %d" msgstr "nivell de compressió de zlib incorrecte %d" -#: config.c:1290 +#: config.c:1324 msgid "core.commentChar should only be one character" msgstr "" -#: config.c:1323 +#: config.c:1357 #, c-format msgid "invalid mode for object creation: %s" msgstr "mode de creació d'objecte no và lid: %s" -#: config.c:1395 +#: config.c:1429 #, c-format msgid "malformed value for %s" msgstr "valor no và lid per a %s" -#: config.c:1421 +#: config.c:1455 #, c-format msgid "malformed value for %s: %s" msgstr "valor no và lid per a %s: %s" -#: config.c:1422 +#: config.c:1456 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "" -#: config.c:1481 builtin/pack-objects.c:3394 +#: config.c:1517 builtin/pack-objects.c:3399 #, c-format msgid "bad pack compression level %d" msgstr "nivell de compressió de paquet %d Erroni" -#: config.c:1602 +#: config.c:1638 #, c-format msgid "unable to load config blob object '%s'" msgstr "no s'ha pogut carregar l'objecte blob de configuració «%s»" -#: config.c:1605 +#: config.c:1641 #, c-format msgid "reference '%s' does not point to a blob" msgstr "la referència «%s» no assenyala a un blob" -#: config.c:1622 +#: config.c:1658 #, c-format msgid "unable to resolve config blob '%s'" msgstr "no s'ha pogut resoldre el blob de configuració: «%s»" -#: config.c:1652 +#: config.c:1688 #, c-format msgid "failed to parse %s" msgstr "s'ha produït un error en analitzar %s" -#: config.c:1705 +#: config.c:1744 msgid "unable to parse command-line config" msgstr "no s'ha pogut analitzar la configuració de la lÃnia d'ordres" -#: config.c:2037 +#: config.c:2093 msgid "unknown error occurred while reading the configuration files" msgstr "un error desconegut ha ocorregut en llegir els fitxers de configuració" -#: config.c:2207 +#: config.c:2263 #, c-format msgid "Invalid %s: '%s'" msgstr "%s no và lid: «%s»" -#: config.c:2250 +#: config.c:2306 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" -msgstr "valor «%s» a core.untrackedCache desconegut; utilitzant el valor per defecte «keep»" +msgstr "" +"valor «%s» a core.untrackedCache desconegut; utilitzant el valor per defecte " +"«keep»" -#: config.c:2276 +#: config.c:2332 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "valor «%d» a splitIndex.maxPercentChange ha d'estar entre 0 i 100" -#: config.c:2322 +#: config.c:2378 #, 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:2324 +#: config.c:2380 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "variable de configuració «%s» errònia en el fitxer «%s» a la lÃnia %d" -#: config.c:2405 +#: config.c:2461 #, c-format msgid "invalid section name '%s'" msgstr "nom de secció no và lid «%s»" -#: config.c:2437 +#: config.c:2493 #, c-format msgid "%s has multiple values" msgstr "%s té múltiples valors" -#: config.c:2466 +#: config.c:2522 #, c-format msgid "failed to write new configuration file %s" msgstr "no es pot escriure un nou fitxer de configuració %s" -#: config.c:2716 config.c:3040 +#: config.c:2774 config.c:3098 #, c-format msgid "could not lock config file %s" msgstr "no s'ha pogut blocar el fitxer de configuració %s" -#: config.c:2727 +#: config.c:2785 #, c-format msgid "opening %s" msgstr "s'està obrint %s" -#: config.c:2762 builtin/config.c:328 +#: config.c:2820 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "patró no và lid: %s" -#: config.c:2787 +#: config.c:2845 #, c-format msgid "invalid config file %s" msgstr "fitxer de configuració no và lid %s" -#: config.c:2800 config.c:3053 +#: config.c:2858 config.c:3111 #, c-format msgid "fstat on %s failed" msgstr "ha fallat «fstat» a %s" -#: config.c:2811 +#: config.c:2869 #, c-format msgid "unable to mmap '%s'" msgstr "no s'ha pogut fer «mmap» «%s»" -#: config.c:2820 config.c:3058 +#: config.c:2878 config.c:3116 #, c-format msgid "chmod on %s failed" msgstr "ha fallat chmod a %s" -#: config.c:2905 config.c:3155 +#: config.c:2963 config.c:3213 #, c-format msgid "could not write config file %s" msgstr "no s'ha pogut escriure el fitxer de configuració «%s»" -#: config.c:2939 +#: config.c:2997 #, c-format msgid "could not set '%s' to '%s'" msgstr "no s'ha pogut establir «%s» a «%s»" -#: config.c:2941 builtin/remote.c:782 +#: config.c:2999 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "no s'ha pogut desassignar «%s»" -#: config.c:3031 +#: config.c:3089 #, c-format msgid "invalid section name: %s" msgstr "nom de secció no và lida: %s" -#: config.c:3198 +#: config.c:3256 #, c-format msgid "missing value for '%s'" msgstr "falta el valor per «%s»" @@ -1861,7 +2053,8 @@ msgstr "" #: connect.c:273 #, c-format msgid "protocol error: expected shallow sha-1, got '%s'" -msgstr "s'ha produït un error de protocol: s'esperava shallow sha-1, s'ha rebut «%s»" +msgstr "" +"s'ha produït un error de protocol: s'esperava shallow sha-1, s'ha rebut «%s»" #: connect.c:275 msgid "repository on the other end cannot be shallow" @@ -1877,9 +2070,9 @@ msgid "protocol error: unexpected '%s'" msgstr "s'ha produït un error de protocol: no s'esperava «%s»" #: connect.c:441 -#, fuzzy, c-format +#, c-format msgid "invalid ls-refs response: %s" -msgstr "referència no và lida: %s" +msgstr "resposta de ls-refs no và lida: %s" #: connect.c:445 msgid "expected flush after ref listing" @@ -1941,12 +2134,12 @@ msgstr "port desconegut %s" #: connect.c:845 connect.c:1171 #, c-format msgid "strange hostname '%s' blocked" -msgstr "s'ha bloquejat el nom extrany d'amfitrió «%s»" +msgstr "s'ha bloquejat el nom estrany d'amfitrió «%s»" #: connect.c:847 #, c-format msgid "strange port '%s' blocked" -msgstr "s'ha bloquejat el port extrany «%s»" +msgstr "s'ha bloquejat el port estrany «%s»" #: connect.c:857 #, c-format @@ -1955,7 +2148,7 @@ msgstr "no s'ha pogut iniciar servidor intermediari «%s»" #: connect.c:924 msgid "no path specified; see 'git help pull' for valid url syntax" -msgstr "" +msgstr "no s'ha especificat un camÃ; vegeu «git help pull» per la sintaxis và lida per URL" #: connect.c:1119 msgid "ssh variant 'simple' does not support -4" @@ -1969,28 +2162,28 @@ msgstr "la variant «simple» d'ssh no és compatible amb -6" msgid "ssh variant 'simple' does not support setting port" msgstr "la variant «simple» d'ssh no permet definir el port" -#: connect.c:1259 +#: connect.c:1260 #, c-format msgid "strange pathname '%s' blocked" msgstr "s'ha bloquejat el nom de fitxer extrany «%s»" -#: connect.c:1304 +#: connect.c:1307 msgid "unable to fork" msgstr "no s'ha pogut bifurcar" -#: connected.c:68 builtin/fsck.c:221 builtin/prune.c:146 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "S'està comprovant la connectivitat" -#: connected.c:80 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "No s'ha pogut executar 'git rev-list'" -#: connected.c:100 +#: connected.c:118 msgid "failed write to rev-list" msgstr "escriptura fallada al rev-list" -#: connected.c:107 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "s'ha produït un error en tancar l'stdin del rev-list" @@ -2011,7 +2204,8 @@ msgid "" "The file will have its original line endings in your working directory" msgstr "" "CRLF serà reemplaçat per LF en %s.\n" -"El fitxer tindrà els seus terminadors de lÃnia originals en el vostre directori de treball." +"El fitxer tindrà els seus terminadors de lÃnia originals en el vostre " +"directori de treball." #: convert.c:216 #, c-format @@ -2025,7 +2219,8 @@ msgid "" "The file will have its original line endings in your working directory" msgstr "" "LF serà reemplaçat per CRLF en %s.\n" -"El fitxer tindrà els seus terminadors de lÃnia originals en el vostre directori de treball." +"El fitxer tindrà els seus terminadors de lÃnia originals en el vostre " +"directori de treball." #: convert.c:279 #, c-format @@ -2034,7 +2229,9 @@ msgstr "" #: convert.c:286 #, c-format -msgid "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-tree-encoding." +msgid "" +"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-" +"tree-encoding." msgstr "" #: convert.c:304 @@ -2045,8 +2242,8 @@ msgstr "" #: convert.c:306 #, c-format msgid "" -"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-%sLE (depending on the byte order) as " -"working-tree-encoding." +"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-" +"%sLE (depending on the byte order) as working-tree-encoding." msgstr "" #: convert.c:424 convert.c:495 @@ -2094,7 +2291,9 @@ msgstr "" #: convert.c:929 #, c-format -msgid "external filter '%s' is not available anymore although not all paths have been filtered" +msgid "" +"external filter '%s' is not available anymore although not all paths have " +"been filtered" msgstr "" #: convert.c:1228 @@ -2102,9 +2301,9 @@ msgid "true/false are no valid working-tree-encodings" msgstr "" #: convert.c:1398 convert.c:1432 -#, fuzzy, c-format +#, c-format msgid "%s: clean filter '%s' failed" -msgstr "la creació de «%s» ha fallat" +msgstr "%s: el filtre de netejat «%s» ha fallat" #: convert.c:1476 #, fuzzy, c-format @@ -2191,14 +2390,17 @@ msgstr "objecte d'arbre malmès %s" #: delta-islands.c:334 #, c-format msgid "failed to load island regex for '%s': %s" -msgstr "s'ha produït un error en carregar l'expressió regular de l'illa per «%s»: %s" +msgstr "" +"s'ha produït un error en carregar l'expressió regular de l'illa per «%s»: %s" #: delta-islands.c:390 #, c-format msgid "island regex from config has too many capture groups (max=%d)" -msgstr "l'expressió regular de l'illa des de la configuració té massa grups de captura (mà x=%d)" +msgstr "" +"l'expressió regular de l'illa des de la configuració té massa grups de " +"captura (mà x=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "Marcades %d illes, fet.\n" @@ -2212,42 +2414,59 @@ msgstr "s'ha produït un error en llegir el fitxer d'ordres «%s»" msgid "Performing inexact rename detection" msgstr "S'està realitzant una detecció inexacta de canvis de nom" -#: diff.c:108 -#, c-format -msgid "option '%s' requires a value" -msgstr "l'opció «%s» requereix un valor" +#: diff-no-index.c:238 +msgid "git diff --no-index [<options>] <path> <path>" +msgstr "git diff --no-index [<opcions>] <camÃ> <camÃ>" + +#: diff-no-index.c:263 +msgid "" +"Not a git repository. Use --no-index to compare two paths outside a working " +"tree" +msgstr "" +"No és un dipòsit Git. Useu --no-index per a comparar dos camins fora del " +"directori de treball" + -#: diff.c:158 +#: diff.c:155 #, c-format msgid " Failed to parse dirstat cut-off percentage '%s'\n" -msgstr " S'ha produït un error en analitzar el percentatge limitant de dirstat «%s»\n" +msgstr "" +" S'ha produït un error en analitzar el percentatge limitant de dirstat " +"«%s»\n" -#: diff.c:163 +#: diff.c:160 #, c-format msgid " Unknown dirstat parameter '%s'\n" msgstr " Parà metre de dirstat desconegut «%s»\n" -#: diff.c:291 -msgid "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', 'dimmed-zebra', 'plain'" -msgstr "el parà metre de color en moviment ha de ser «no», «default», «blocks», «zebra», «dimmed-zebra» o «plain»" +#: diff.c:296 +msgid "" +"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', " +"'dimmed-zebra', 'plain'" +msgstr "" +"el parà metre de color en moviment ha de ser «no», «default», «blocks», " +"«zebra», «dimmed-zebra» o «plain»" -#: diff.c:319 +#: diff.c:324 #, c-format msgid "" -"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', 'ignore-space-at-eol', 'ignore-all-" -"space', 'allow-indentation-change'" +"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', " +"'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'" msgstr "" -#: diff.c:327 -msgid "color-moved-ws: allow-indentation-change cannot be combined with other whitespace modes" +#: diff.c:332 +msgid "" +"color-moved-ws: allow-indentation-change cannot be combined with other " +"whitespace modes" msgstr "" -#: diff.c:400 +#: diff.c:405 #, c-format msgid "Unknown value for 'diff.submodule' config variable: '%s'" -msgstr "Valor desconegut de la variable de configuració de 'diff.submodule': «%s»" +msgstr "" +"Valor desconegut de la variable de configuració de 'diff.submodule': «%s»" -#: diff.c:460 +#: diff.c:465 #, c-format msgid "" "Found errors in 'diff.dirstat' config variable:\n" @@ -2256,24 +2475,35 @@ msgstr "" "S'han trobat errors en la variable de configuració 'diff.dirstat':\n" "%s" -#: diff.c:4211 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "el diff external s'ha mort, s'està aturant a %s" -#: diff.c:4553 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, --check i -s són mútuament excloents" -#: diff.c:4556 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S and --find-object són mútuament excloents" -#: diff.c:4634 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow requereix exactament una especificació de camÃ" -#: diff.c:4800 +#: diff.c:4689 +#, c-format +msgid "invalid --stat value: %s" +msgstr "valor --stat no và lid: %s" + +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 +#: parse-options.c:199 parse-options.c:203 +#, c-format +msgid "%s expects a numerical value" +msgstr "%s espera un valor numèric" + +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2282,58 +2512,542 @@ msgstr "" "S'ha produït un error en analitzar el parà metre d'opció de --dirstat/-X:\n" "%s" -#: diff.c:4814 +#: diff.c:4811 +#, c-format +msgid "unknown change class '%c' in --diff-filter=%s" +msgstr "classe de canvi «%c» desconeguda a --diff-filter=%s" + +#: diff.c:4835 +#, c-format +msgid "unknown value after ws-error-highlight=%.*s" +msgstr "valor desconegut després de ws-error-highlight=%.*s" + +#: diff.c:4849 +#, c-format +msgid "unable to resolve '%s'" +msgstr "no s'ha pogut resoldre «%s»" + +#: diff.c:4899 diff.c:4905 +#, c-format +msgid "%s expects <n>/<m> form" +msgstr "" + +#: diff.c:4917 +#, c-format +msgid "%s expects a character, got '%s'" +msgstr "%s esperava un carà cter, s'ha rebut «%s»" + +#: diff.c:4938 #, c-format -msgid "Failed to parse --submodule option parameter: '%s'" -msgstr "S'ha produït un error en analitzar el parà metre d'opció de --submodule: «%s»" +msgid "bad --color-moved argument: %s" +msgstr "parà metre --color-moved incorrecte: %s" + +#: diff.c:4957 +#, c-format +msgid "invalid mode '%s' in --color-moved-ws" +msgstr "mode «%s» no và lid en -color-moved-ws" + +#: diff.c:4997 +msgid "" +"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " +"\"histogram\"" +msgstr "" +"l'opció diff-algorithm accepta «myers», «minimalminimal», \"patience\" and " +"«histogram»" + +#: diff.c:5033 diff.c:5053 +#, c-format +msgid "invalid argument to %s" +msgstr "argument no và lid a %s" + +#: diff.c:5191 +#, c-format +msgid "failed to parse --submodule option parameter: '%s'" +msgstr "" +"s'ha produït un error en analitzar el parà metre d'opció de --submodule: «%s»" + +#: diff.c:5247 +#, c-format +msgid "bad --word-diff argument: %s" +msgstr "parà metre --word-diff incorrecte: %s" + +#: diff.c:5270 +msgid "Diff output format options" +msgstr "Opcions del format de sortida del diff" + +#: diff.c:5272 diff.c:5278 +msgid "generate patch" +msgstr "generant pedaç" + +#: diff.c:5275 builtin/log.c:182 +msgid "suppress diff output" +msgstr "omet la sortida de diferències" + +#: diff.c:5280 diff.c:5394 diff.c:5401 +msgid "<n>" +msgstr "<n>" + +#: diff.c:5281 diff.c:5284 +msgid "generate diffs with <n> lines context" +msgstr "genera diffs amb <n> lÃnies de context" + +#: diff.c:5286 +msgid "generate the diff in raw format" +msgstr "genera el diff en format cru" + +#: diff.c:5289 +msgid "synonym for '-p --raw'" +msgstr "sinònim de per a «-p --raw»" + +#: diff.c:5293 +msgid "synonym for '-p --stat'" +msgstr "sinònim de per a «-p --stat»" + +#: diff.c:5297 +msgid "machine friendly --stat" +msgstr "llegible per mà quina --stat" + +#: diff.c:5300 +msgid "output only the last line of --stat" +msgstr "mostra només l'última lÃnia de --stat" + +#: diff.c:5302 diff.c:5310 +msgid "<param1,param2>..." +msgstr "<param1,param2>..." + +#: diff.c:5303 +msgid "" +"output the distribution of relative amount of changes for each sub-directory" +msgstr "" + +#: diff.c:5307 +msgid "synonym for --dirstat=cumulative" +msgstr "sinònim per -dirstat=cumulative" + +#: diff.c:5311 +msgid "synonym for --dirstat=files,param1,param2..." +msgstr "sinònim per --dirstat=files,param1,param2..." + +#: diff.c:5315 +msgid "warn if changes introduce conflict markers or whitespace errors" +msgstr "" + +#: diff.c:5318 +msgid "condensed summary such as creations, renames and mode changes" +msgstr "" + +#: diff.c:5321 +msgid "show only names of changed files" +msgstr "mostra només els noms de fitxers canviats" + +#: diff.c:5324 +msgid "show only names and status of changed files" +msgstr "mostra només els noms i l'estat dels fitxers canviats" + +#: diff.c:5326 +msgid "<width>[,<name-width>[,<count>]]" +msgstr "" + +#: diff.c:5327 +msgid "generate diffstat" +msgstr "genera diffstat" + +#: diff.c:5329 diff.c:5332 diff.c:5335 +msgid "<width>" +msgstr "<amplada>" + +#: diff.c:5330 +msgid "generate diffstat with a given width" +msgstr "genera diffstat amb una amplada donada" + +#: diff.c:5333 +msgid "generate diffstat with a given name width" +msgstr "genera diffstat amb un nom d'amplada donat" + +#: diff.c:5336 +msgid "generate diffstat with a given graph width" +msgstr "genera diffstat amb una amplada de graf donada" + +#: diff.c:5338 +msgid "<count>" +msgstr "<comptador>" + +#: diff.c:5339 +msgid "generate diffstat with limited lines" +msgstr "genera diffstat amb lÃnies limitades" + +#: diff.c:5342 +msgid "generate compact summary in diffstat" +msgstr "genera un resum compacte a diffstat" + +#: diff.c:5345 +msgid "output a binary diff that can be applied" +msgstr "diff amb sortida binaria que pot ser aplicada" + +#: diff.c:5348 +msgid "show full pre- and post-image object names on the \"index\" lines" +msgstr "" + +#: diff.c:5350 +msgid "show colored diff" +msgstr "mostra un diff amb colors" + +#: diff.c:5351 +msgid "<kind>" +msgstr "" + +#: diff.c:5352 +msgid "" +"highlight whitespace errors in the 'context', 'old' or 'new' lines in the " +"diff" +msgstr "" + +#: diff.c:5355 +msgid "" +"do not munge pathnames and use NULs as output field terminators in --raw or " +"--numstat" +msgstr "" + +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 +msgid "<prefix>" +msgstr "<prefix>" + +#: diff.c:5359 +msgid "show the given source prefix instead of \"a/\"" +msgstr "" + +#: diff.c:5362 +msgid "show the given destination prefix instead of \"b/\"" +msgstr "" + +#: diff.c:5365 +msgid "prepend an additional prefix to every line of output" +msgstr "afegir un prefix addicional per a cada lÃnia de sortida" + +#: diff.c:5368 +msgid "do not show any source or destination prefix" +msgstr "no mostris cap prefix d'origen o destÃ" + +#: diff.c:5371 +#, fuzzy +msgid "show context between diff hunks up to the specified number of lines" +msgstr "Crea un clon superficial truncat al nombre de revisions especificat" + +#: diff.c:5375 diff.c:5380 diff.c:5385 +msgid "<char>" +msgstr "<char>" + +#: diff.c:5376 +msgid "specify the character to indicate a new line instead of '+'" +msgstr "especifiqueu el carà cter per a indicar una lÃnia nova en comptes de «+»" + +#: diff.c:5381 +msgid "specify the character to indicate an old line instead of '-'" +msgstr "especifiqueu el carà cter per a indicar una lÃnia antiga en comptes de «-»" + +#: diff.c:5386 +msgid "specify the character to indicate a context instead of ' '" +msgstr "especifiqueu el carà cter per a indicar context en comptes de « »" + +#: diff.c:5389 +msgid "Diff rename options" +msgstr "Opcions de canvi de nom del diff" + +#: diff.c:5390 +msgid "<n>[/<m>]" +msgstr "<n>[/<m>]" + +#: diff.c:5391 +msgid "break complete rewrite changes into pairs of delete and create" +msgstr "divideix els canvis de reescriptura completa en parells de suprimir i crear" + +#: diff.c:5395 +msgid "detect renames" +msgstr "detecta els canvis de noms" + +#: diff.c:5399 +msgid "omit the preimage for deletes" +msgstr "omet les preimatges per les supressions" + +#: diff.c:5402 +msgid "detect copies" +msgstr "detecta còpies" + +#: diff.c:5406 +msgid "use unmodified files as source to find copies" +msgstr "usa els fitxers no modificats com a font per trobar còpies" + +#: diff.c:5408 +msgid "disable rename detection" +msgstr "inhabilita la detecció de canvis de nom" + +#: diff.c:5411 +msgid "use empty blobs as rename source" +msgstr "usa els blobs buits com a font de canvi de nom" + +#: diff.c:5413 +msgid "continue listing the history of a file beyond renames" +msgstr "continua llistant l'històric d'un un fitxer més enllà dels canvis de nom" + +#: diff.c:5416 +msgid "" +"prevent rename/copy detection if the number of rename/copy targets exceeds " +"given limit" +msgstr "" + +#: diff.c:5418 +msgid "Diff algorithm options" +msgstr "Opcions d'algorisme Diff" + +#: diff.c:5420 +msgid "produce the smallest possible diff" +msgstr "produeix el diff més petit possible" + +#: diff.c:5423 +msgid "ignore whitespace when comparing lines" +msgstr "ignora els espai en blanc en comparar lÃnies" + +#: diff.c:5426 +msgid "ignore changes in amount of whitespace" +msgstr "ignora els canvis en la quantitat d'espai en blanc" + +#: diff.c:5429 +msgid "ignore changes in whitespace at EOL" +msgstr "ignora els canvis d'espai en blanc al final de la lÃnia" + +#: diff.c:5432 +msgid "ignore carrier-return at the end of line" +msgstr "ignora els retorns de lÃnia al final de la lÃnia" + +#: diff.c:5435 +msgid "ignore changes whose lines are all blank" +msgstr "ignora els canvis en lÃnies que estan en blanc" + +#: diff.c:5438 +msgid "heuristic to shift diff hunk boundaries for easy reading" +msgstr "" + +#: diff.c:5441 +msgid "generate diff using the \"patience diff\" algorithm" +msgstr "genera diff usant l'algorisme «patience diff»" + +#: diff.c:5445 +msgid "generate diff using the \"histogram diff\" algorithm" +msgstr "genera diff usant l'algorisme «histogram diff»" + +#: diff.c:5447 +msgid "<algorithm>" +msgstr "<algorisme>" + +#: diff.c:5448 +msgid "choose a diff algorithm" +msgstr "escolliu un algorisme pel diff" + +#: diff.c:5450 +msgid "<text>" +msgstr "<text>" + +#: diff.c:5451 +msgid "generate diff using the \"anchored diff\" algorithm" +msgstr "genera diff usant l'algorisme «anchored diff»" + +#: diff.c:5453 diff.c:5462 diff.c:5465 +msgid "<mode>" +msgstr "<mode>" + +#: diff.c:5454 +msgid "show word diff, using <mode> to delimit changed words" +msgstr "" + +#: diff.c:5456 diff.c:5459 diff.c:5504 +msgid "<regex>" +msgstr "<regex>" + +#: diff.c:5457 +msgid "use <regex> to decide what a word is" +msgstr "" + +#: diff.c:5460 +msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" +msgstr "equivalent a --word-diff=color --word-diff-regex=<regex>" + +#: diff.c:5463 +msgid "moved lines of code are colored differently" +msgstr "" + +#: diff.c:5466 +msgid "how white spaces are ignored in --color-moved" +msgstr "" + +#: diff.c:5469 +#, fuzzy +msgid "Other diff options" +msgstr "Opcions genèriques" + +#: diff.c:5471 +msgid "when run from subdir, exclude changes outside and show relative paths" +msgstr "" + +#: diff.c:5475 +msgid "treat all files as text" +msgstr "tracta tots els fitxers com a text" + +#: diff.c:5477 +msgid "swap two inputs, reverse the diff" +msgstr "" + +#: diff.c:5479 +msgid "exit with 1 if there were differences, 0 otherwise" +msgstr "surt amb 1 si hi ha diferències, 0 en cas contrari" + +#: diff.c:5481 +msgid "disable all output of the program" +msgstr "inhabilita totes les sortides del programa" + +#: diff.c:5483 +msgid "allow an external diff helper to be executed" +msgstr "" + +#: diff.c:5485 +msgid "run external text conversion filters when comparing binary files" +msgstr "" + +#: diff.c:5487 +msgid "<when>" +msgstr "<quan>" + +#: diff.c:5488 +msgid "ignore changes to submodules in the diff generation" +msgstr "ignora els canvis als submòduls en la generació del diff" + +#: diff.c:5491 +msgid "<format>" +msgstr "<format>" + +#: diff.c:5492 +msgid "specify how differences in submodules are shown" +msgstr "especifiqueu com es mostren els canvis als submòduls" + +#: diff.c:5496 +#, fuzzy +msgid "hide 'git add -N' entries from the index" +msgstr "usa .gitattributes només des de l'Ãndex" + +#: diff.c:5499 +msgid "treat 'git add -N' entries as real in the index" +msgstr "" + +#: diff.c:5501 +msgid "<string>" +msgstr "<cadena>" + +#: diff.c:5502 +msgid "" +"look for differences that change the number of occurrences of the specified " +"string" +msgstr "" + +#: diff.c:5505 +msgid "" +"look for differences that change the number of occurrences of the specified " +"regex" +msgstr "" + +#: diff.c:5508 +#, fuzzy +msgid "show all changes in the changeset with -S or -G" +msgstr "mostra els fitxers coincidents en el paginador" + +#: diff.c:5511 +#, fuzzy +msgid "treat <string> in -S as extended POSIX regular expression" +msgstr "usa les expressions regulars POSIX ampliades" + +#: diff.c:5514 +#, fuzzy +msgid "control the order in which files appear in the output" +msgstr "mostra en la sortida els altres fitxers" + +#: diff.c:5515 +#, fuzzy +msgid "<object-id>" +msgstr "objecte" -#: diff.c:5900 +#: diff.c:5516 +msgid "" +"look for differences that change the number of occurrences of the specified " +"object" +msgstr "" + +#: diff.c:5518 +msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" +msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" + +#: diff.c:5519 +msgid "select files by diff type" +msgstr "seleccioneu els fitxer per tipus de diff" + +#: diff.c:5521 +msgid "<file>" +msgstr "<fitxer>" + +#: diff.c:5522 +msgid "Output to a specific file" +msgstr "Sortida a un fitxer especÃfic" + +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." -msgstr "s'ha omès la detecció de canvi de nom a causa de massa fitxers." +msgstr "s'ha omès la detecció de canvi de nom inexacta a causa de massa fitxers." -#: diff.c:5903 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." -msgstr "només s'han trobat còpies des de camins modificats a causa de massa fitxers." +msgstr "" +"només s'han trobat còpies des de camins modificats a causa de massa fitxers." -#: diff.c:5906 +#: diff.c:6183 #, c-format -msgid "you may want to set your %s variable to at least %d and retry the command." -msgstr "potser voleu establir la vostra variable %s a almenys %d i tornar a intentar l'ordre." +msgid "" +"you may want to set your %s variable to at least %d and retry the command." +msgstr "" +"potser voleu establir la vostra variable %s a almenys %d i tornar a intentar " +"l'ordre." -#: dir.c:538 +#: dir.c:537 #, c-format msgid "pathspec '%s' did not match any file(s) known to git" -msgstr "l'especificació de camà «%s» no ha coincidit amb cap fitxer que git conegui" +msgstr "" +"l'especificació de camà «%s» no ha coincidit amb cap fitxer que git conegui" -#: dir.c:927 +#: dir.c:926 #, c-format msgid "cannot use %s as an exclude file" msgstr "no es pot usar %s com a fitxer d'exclusió" -#: dir.c:1842 +#: dir.c:1843 #, c-format msgid "could not open directory '%s'" msgstr "no s'ha pogut obrir el directori «%s»" -#: dir.c:2084 +#: dir.c:2085 msgid "failed to get kernel name and information" msgstr "s'ha produït un error en obtenir el nombre i la informació del nucli" -#: dir.c:2208 +#: dir.c:2209 msgid "untracked cache is disabled on this system or location" -msgstr "la memòria cau no seguida està inhabilitada en aquest sistema o ubicació" +msgstr "" +"la memòria cau no seguida està inhabilitada en aquest sistema o ubicació" -#: dir.c:3009 +#: dir.c:3013 #, c-format msgid "index file corrupt in repo %s" msgstr "el fitxer d'Ãndex al dipòsit %s és malmès" -#: dir.c:3054 dir.c:3059 +#: dir.c:3058 dir.c:3063 #, c-format msgid "could not create directories for %s" msgstr "no s'han pogut crear directoris per %s" -#: dir.c:3088 +#: dir.c:3092 #, c-format msgid "could not migrate git directory from '%s' to '%s'" msgstr "no s'ha pogut migrar el directori de «%s» a «%s»" @@ -2347,7 +3061,7 @@ msgstr "" msgid "Filtering content" msgstr "S'està filtrant el contingut" -#: entry.c:465 +#: entry.c:476 #, c-format msgid "could not stat file '%s'" msgstr "no s'ha pogut fer «stat» sobre el fitxer «%s»" @@ -2362,7 +3076,7 @@ msgstr "" msgid "could not set GIT_DIR to '%s'" msgstr "no s'ha pogut establir GIT_DIR a «%s»" -#: exec-cmd.c:361 +#: exec-cmd.c:363 #, c-format msgid "too many args to run %s" msgstr "hi ha massa arguments per a executar %s" @@ -2389,239 +3103,223 @@ msgstr "git fetch-pack: s'esperava ACK/NAK, s'ha rebut un paquet de neteja" msgid "git fetch-pack: expected ACK/NAK, got '%s'" msgstr "git fetch-pack: s'esperava ACK/NAK, s'ha rebut «%s»" -#: fetch-pack.c:256 +#: fetch-pack.c:196 +msgid "unable to write to remote" +msgstr "no s'ha pogut escriure al remot" + +#: fetch-pack.c:258 msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc requereix multi_ack_detailed" -#: fetch-pack.c:358 fetch-pack.c:1264 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "lÃnia de shallow no và lida: %s" -#: fetch-pack.c:364 fetch-pack.c:1271 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "lÃnia d'unshallow no và lida: %s" -#: fetch-pack.c:366 fetch-pack.c:1273 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "objecte no trobat: %s" -#: fetch-pack.c:369 fetch-pack.c:1276 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "error en objecte: %s" -#: fetch-pack.c:371 fetch-pack.c:1278 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "no s'ha trobat cap shallow: %s" -#: fetch-pack.c:374 fetch-pack.c:1282 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "s'esperava shallow/unshallow, s'ha rebut %s" -#: fetch-pack.c:415 +#: fetch-pack.c:417 #, c-format msgid "got %s %d %s" msgstr "s'ha rebut %s %d %s" -#: fetch-pack.c:432 +#: fetch-pack.c:434 #, c-format msgid "invalid commit %s" msgstr "comissió no và lida %s" -#: fetch-pack.c:463 +#: fetch-pack.c:465 msgid "giving up" -msgstr "s'està rendint" +msgstr "s'abandona" -#: fetch-pack.c:475 progress.c:229 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "fet" -#: fetch-pack.c:487 +#: fetch-pack.c:489 #, c-format msgid "got %s (%d) %s" msgstr "s'ha rebut %s (%d) %s" -#: fetch-pack.c:533 +#: fetch-pack.c:535 #, c-format msgid "Marking %s as complete" msgstr "S'està marcant %s com a complet" -#: fetch-pack.c:740 +#: fetch-pack.c:744 #, c-format msgid "already have %s (%s)" msgstr "ja es té %s (%s)" -#: fetch-pack.c:779 +#: fetch-pack.c:783 msgid "fetch-pack: unable to fork off sideband demultiplexer" msgstr "fetch-pack: no s'ha pogut bifurcar del desmultiplexor de banda lateral" -#: fetch-pack.c:787 +#: fetch-pack.c:791 msgid "protocol error: bad pack header" msgstr "error de protocol: capçalera de paquet errònia" -#: fetch-pack.c:855 +#: fetch-pack.c:859 #, c-format msgid "fetch-pack: unable to fork off %s" msgstr "fetch-pack: no es pot bifurcar de %s" -#: fetch-pack.c:871 +#: fetch-pack.c:875 #, c-format msgid "%s failed" msgstr "%s ha fallat" -#: fetch-pack.c:873 +#: fetch-pack.c:877 msgid "error in sideband demultiplexer" msgstr "error en desmultiplexor de banda lateral" -#: fetch-pack.c:902 -msgid "Server does not support shallow clients" -msgstr "El servidor no permet clients superficials" - -#: fetch-pack.c:906 -msgid "Server supports multi_ack_detailed" -msgstr "El servidor accepta multi_ack_detailed" - -#: fetch-pack.c:909 -msgid "Server supports no-done" -msgstr "El servidor accepta no-done" - -#: fetch-pack.c:915 -msgid "Server supports multi_ack" -msgstr "El servidor accepta multi_ack" - -#: fetch-pack.c:919 -msgid "Server supports side-band-64k" -msgstr "El servidor accepta side-band-64k" - -#: fetch-pack.c:923 -msgid "Server supports side-band" -msgstr "El servidor accepta banda lateral" - -#: fetch-pack.c:927 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "El servidor accepta allow-tip-sha1-in-want" - -#: fetch-pack.c:931 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "El servidor accepta allow-reachable-sha1-in-want" - -#: fetch-pack.c:941 -msgid "Server supports ofs-delta" -msgstr "El servidor accepta ofs-delta" - -#: fetch-pack.c:947 fetch-pack.c:1140 -msgid "Server supports filter" -msgstr "El servidor accepta filtre" - -#: fetch-pack.c:955 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "La versió del servidor és %.*s" -#: fetch-pack.c:961 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "El servidor accepta %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "El servidor no permet clients superficials" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "El servidor no admet --shallow-since" -#: fetch-pack.c:965 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "El servidor no admet --shallow-exclude" -#: fetch-pack.c:967 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "El servidor no admet --deepen" -#: fetch-pack.c:984 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "cap comissió en comú" -#: fetch-pack.c:996 fetch-pack.c:1419 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: l'obtenció ha fallat." -#: fetch-pack.c:1134 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "El servidor no permet peticions superficials" +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "El servidor accepta filtratge" + #: fetch-pack.c:1184 +msgid "unable to write request to remote" +msgstr "no s'ha pogut escriure la petició al remot" + +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "error en llegir la capçalera de la secció «%s»" -#: fetch-pack.c:1190 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "s'esperava «%s», s'ha rebut «%s»" -#: fetch-pack.c:1229 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" -msgstr "" +msgstr "lÃnia de confirmació inesperada: «%s»" -#: fetch-pack.c:1234 +#: fetch-pack.c:1252 #, fuzzy, c-format msgid "error processing acks: %d" msgstr "error en llegir %s" -#: fetch-pack.c:1244 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" -msgstr "" +msgstr "s'espera l'enviament del fitxer de paquet després de «ready»" -#: fetch-pack.c:1246 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" -msgstr "" +msgstr "s'espera que cap altra seccions s'enviï després de no «ready»" -#: fetch-pack.c:1287 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "s'ha produït un error en processar la informació superficial: %d" -#: fetch-pack.c:1308 -#, fuzzy, c-format +#: fetch-pack.c:1353 +#, c-format msgid "expected wanted-ref, got '%s'" -msgstr "s'esperava shallow/unshallow, s'ha rebut %s" +msgstr "s'esperava wanted-ref, s'ha rebut «%s»" -#: fetch-pack.c:1318 -#, fuzzy, c-format +#: fetch-pack.c:1358 +#, c-format msgid "unexpected wanted-ref: '%s'" -msgstr "final de fitxer inesperat" +msgstr "wanted-ref inesperat: «%s»" -#: fetch-pack.c:1322 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" -msgstr "" +msgstr "s'ha produït un error en processar les referències desitjades: %d" -#: fetch-pack.c:1646 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "no hi ha cap HEAD remot coincident" -#: fetch-pack.c:1664 builtin/clone.c:671 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "el remot no ha enviat tots els objectes necessaris" -#: fetch-pack.c:1690 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "no existeix la referència remota %s" -#: fetch-pack.c:1693 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "El servidor no permet sol·licitar objectes no anunciats %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg ha fallat en signar les dades" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "no s'ha pogut crear el fitxer temporal" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "s'ha produït un error en escriure la signatura separada a «%s»" @@ -2631,17 +3329,18 @@ msgstr "s'ha produït un error en escriure la signatura separada a «%s»" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "ignora el color no và lid «%.*s» en log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "«%s»: no s'ha pogut llegir %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 builtin/rm.c:135 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 +#: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "s'ha produït un error en fer stat a «%s»" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "«%s»: lectura curta" @@ -2684,19 +3383,19 @@ msgstr "Interaccionar amb altres" #: help.c:35 msgid "Low-level Commands / Manipulators" -msgstr "" +msgstr "Ordres de baix nivell / Manipuladors" #: help.c:36 msgid "Low-level Commands / Interrogators" -msgstr "" +msgstr "Ordres de baix nivell / Interrogadors" #: help.c:37 msgid "Low-level Commands / Synching Repositories" -msgstr "" +msgstr "Ordres de baix nivell / Sincronització de dipòsits" #: help.c:38 msgid "Low-level Commands / Internal Helpers" -msgstr "" +msgstr "Ordres de baix nivell / Ajudants interns" #: help.c:298 #, c-format @@ -2709,63 +3408,66 @@ msgstr "ordres de git disponibles d'altres llocs en el vostre $PATH" #: help.c:314 msgid "These are common Git commands used in various situations:" -msgstr "Aquestes són ordres del Git habitualment usades en diverses situacions:" +msgstr "" +"Aquestes són ordres del Git habitualment usades en diverses situacions:" -#: help.c:363 git.c:90 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "tipus de llistat de l'ordre no compatible «%s»" -#: help.c:410 +#: help.c:403 msgid "The common Git guides are:" msgstr "Les guies de Git comunes són:" -#: help.c:519 +#: help.c:512 msgid "See 'git help <command>' to read about a specific subcommand" -msgstr "" +msgstr "Vegeu «git help <ordre>» per llegir sobre un subordre especÃfic" -#: help.c:524 +#: help.c:517 msgid "External commands" msgstr "Ordres externes" -#: help.c:539 +#: help.c:532 msgid "Command aliases" msgstr "Àlies d'ordres" -#: help.c:603 +#: help.c:596 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "" -"«%s» sembla una ordre de git, però no hem pogut\n" +"«%s» sembla un ordre de git, però no hem pogut\n" "executar-la. Pot ser que git-%s estigui malmès?" -#: help.c:662 +#: help.c:655 msgid "Uh oh. Your system reports no Git commands at all." msgstr "Ai. El vostre sistema no informa de cap ordre de Git." -#: help.c:684 +#: help.c:677 #, c-format msgid "WARNING: You called a Git command named '%s', which does not exist." -msgstr "ADVERTÈNCIA: Heu invocat una ordre de Git amb nom «%s», la qual no existeix." +msgstr "" +"ADVERTÈNCIA: Heu invocat un ordre de Git amb nom «%s», la qual no existeix." -#: help.c:689 +#: help.c:682 #, c-format msgid "Continuing under the assumption that you meant '%s'." msgstr "El procés continuarà , pressuposant que volÃeu dir «%s»." -#: help.c:694 +#: help.c:687 #, c-format msgid "Continuing in %0.1f seconds, assuming that you meant '%s'." -msgstr "El procés continuarà en %0.1f segons, pressuposant que volÃeu dir «%s»." +msgstr "" +"El procés continuarà en %0.1f segons, pressuposant que volÃeu dir «%s»." -#: help.c:702 +#: help.c:695 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." -msgstr "git: «%s» no és una ordre de git. Vegeu 'git --help'." +msgstr "git: «%s» no és un ordre de git. Vegeu «git --help»." -#: help.c:706 +#: help.c:699 msgid "" "\n" "The most similar command is" @@ -2777,18 +3479,18 @@ msgstr[0] "" "L'ordre més similar és" msgstr[1] "" "\n" -"Les ordres més similar són" +"Les ordres més similars són" -#: help.c:721 +#: help.c:714 msgid "git version [<options>]" msgstr "git version [<opcions>]" -#: help.c:789 +#: help.c:782 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" -#: help.c:793 +#: help.c:786 msgid "" "\n" "Did you mean this?" @@ -2802,7 +3504,7 @@ msgstr[1] "" "\n" "VolÃeu dir un d'aquests?" -#: ident.c:345 +#: ident.c:349 msgid "" "\n" "*** Please tell me who you are.\n" @@ -2827,48 +3529,77 @@ msgstr "" "per a establir la identitat predeterminada del vostre compte.\n" "Ometeu --global per a establir la identitat només en aquest dipòsit.\n" -#: ident.c:369 +#: ident.c:379 msgid "no email was given and auto-detection is disabled" -msgstr "no s'ha proporcionat cap adreça electrònica i la detecció automà tica està inhabilitada" +msgstr "" +"no s'ha proporcionat cap adreça electrònica i la detecció automà tica està " +"inhabilitada" -#: ident.c:374 +#: ident.c:384 #, c-format msgid "unable to auto-detect email address (got '%s')" -msgstr "no s'ha pogut detectar automà ticament una adreça electrònica và lida (s'ha rebut «%s»)" +msgstr "" +"no s'ha pogut detectar automà ticament una adreça electrònica và lida (s'ha " +"rebut «%s»)" -#: ident.c:384 +#: ident.c:401 msgid "no name was given and auto-detection is disabled" -msgstr "no s'ha proporcionat cap nom i la detecció automà tica està inhabilitada" +msgstr "" +"no s'ha proporcionat cap nom i la detecció automà tica està inhabilitada" -#: ident.c:390 +#: ident.c:407 #, c-format msgid "unable to auto-detect name (got '%s')" msgstr "no s'ha pogut detectar automà ticament el nom (s'ha rebut «%s»)" -#: ident.c:398 +#: ident.c:415 #, c-format msgid "empty ident name (for <%s>) not allowed" msgstr "nom d'identitat buit (per <%s>) no és permès" -#: ident.c:404 +#: ident.c:421 #, c-format msgid "name consists only of disallowed characters: %s" msgstr "el nom conté només carà cters no permesos: %s" -#: ident.c:419 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "format de data no và lid: %s" +#: list-objects.c:129 +#, c-format +msgid "entry '%s' in tree %s has tree mode, but is not a tree" +msgstr "l'entrada «%s» a l'arbre %s té mode d'arbre, però no és un arbre" + +#: list-objects.c:142 +#, c-format +msgid "entry '%s' in tree %s has blob mode, but is not a blob" +msgstr "l'entrada «%s» a l'arbre %s té mode blob, però no és un blob" + +#: list-objects.c:378 +#, c-format +msgid "unable to load root tree for commit %s" +msgstr "no s'ha pogut carregar l'arrel de l'arbre per la comissió %s" + #: list-objects-filter-options.c:36 msgid "multiple filter-specs cannot be combined" -msgstr "" +msgstr "no es poden combinar múltiples especificacions de filtratge" #: list-objects-filter-options.c:58 msgid "expected 'tree:<depth>'" +msgstr "s'esperava «tree:<profunditat>»" + +#: list-objects-filter-options.c:84 +msgid "sparse:path filters support has been dropped" msgstr "" -#: list-objects-filter-options.c:152 +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "filtre d'especificació no và lid: «%s»" + +#: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "" @@ -2886,8 +3617,8 @@ 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'. \n" -"Assegureu-vos que tots els processos s'hagin terminat i\n" +"dipòsit, per exemple, un editor obert per «git commit». \n" +"Assegureu-vos que tots els processos s'hagin acabat i\n" "llavors proveu de nou. Si encara falla, pot ser que un procés de\n" "git ha tingut un error:\n" "elimineu el fitxer manualment per a continuar." @@ -2895,119 +3626,123 @@ msgstr "" #: lockfile.c:159 #, c-format msgid "Unable to create '%s.lock': %s" -msgstr "No s'ha pogut crear '%s.lock': %s" +msgstr "No s'ha pogut crear «%s.lock»: %s" #: merge.c:41 msgid "failed to read the cache" msgstr "s'ha produït un error en llegir la memòria cau" -#: merge.c:107 rerere.c:720 builtin/am.c:1884 builtin/am.c:1918 builtin/checkout.c:416 builtin/checkout.c:745 -#: builtin/clone.c:771 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 +#: builtin/stash.c:264 msgid "unable to write new index file" msgstr "no s'ha pogut escriure un fitxer d'Ãndex nou" -#: merge-recursive.c:332 +#: merge-recursive.c:322 msgid "(bad commit)\n" msgstr "(comissió errònia)\n" -#: merge-recursive.c:355 -#, fuzzy, c-format +#: merge-recursive.c:345 +#, c-format msgid "add_cacheinfo failed for path '%s'; merge aborting." -msgstr "addinfo_cache ha fallat per al camà «%s»" +msgstr "addinfo_cache ha fallat per al camà «%s»; interrompent la fusió." -#: merge-recursive.c:364 -#, fuzzy, c-format +#: merge-recursive.c:354 +#, c-format msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting." -msgstr "addinfo_cache ha fallat per al camà «%s»" +msgstr "addinfo_cache ha fallat al refrescar el camà «%s»; interrompent la fusió." -#: merge-recursive.c:447 +#: merge-recursive.c:437 msgid "error building trees" msgstr "error en construir arbres" -#: merge-recursive.c:902 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "s'ha produït un error en crear el camà «%s»%s" -#: merge-recursive.c:913 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "S'està eliminant %s per a fer espai per al subdirectori\n" -#: merge-recursive.c:927 merge-recursive.c:946 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": potser un conflicte D/F?" -#: merge-recursive.c:936 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "s'està refusant perdre el fitxer no seguit a «%s»" -#: merge-recursive.c:978 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "no es pot llegir l'objecte %s «%s»" -#: merge-recursive.c:980 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "blob esperat per a %s «%s»" -#: merge-recursive.c:1004 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "s'ha produït un error en obrir «%s»: %s" -#: merge-recursive.c:1015 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "s'ha produït un error en fer l'enllaç simbòlic «%s»: %s" -#: merge-recursive.c:1020 +#: merge-recursive.c:981 #, 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:1211 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "S'ha produït un error en fusionar el submòdul %s (no està agafat)" -#: merge-recursive.c:1218 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "S'ha produït un error en fusionar el submòdul %s (no hi ha comissions)" -#: merge-recursive.c:1225 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" -msgstr "S'ha produït un error en fusionar el submòdul %s (les comissions no segueixen merge-base)" +msgstr "" +"S'ha produït un error en fusionar el submòdul %s (les comissions no " +"segueixen merge-base)" -#: merge-recursive.c:1233 merge-recursive.c:1245 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Avançament rà pid del submòdul %s a la següent comissió:" -#: merge-recursive.c:1236 merge-recursive.c:1248 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Avançament rà pid al submòdul %s" -#: merge-recursive.c:1271 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" -#: merge-recursive.c:1275 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" -msgstr "S'ha produït un error en fusionar el submòdul %s (sense avançament rà pid)" +msgstr "" +"S'ha produït un error en fusionar el submòdul %s (sense avançament rà pid)" -#: merge-recursive.c:1276 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "S'ha trobat una possible resolució de fusió pel submòdul:\n" -#: merge-recursive.c:1279 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3018,205 +3753,268 @@ msgid "" "which will accept this suggestion.\n" msgstr "" -#: merge-recursive.c:1288 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" -msgstr "S'ha produït un error en fusionar el submòdul %s (s'han trobat múltiples fusions)" +msgstr "" +"S'ha produït un error en fusionar el submòdul %s (s'han trobat múltiples " +"fusions)" -#: merge-recursive.c:1361 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "S'ha produït un error en executar la fusió interna" -#: merge-recursive.c:1366 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "No s'ha pogut afegir %s a la base de dades" -#: merge-recursive.c:1398 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "S'està autofusionant %s" -#: merge-recursive.c:1419 -#, fuzzy, c-format +#: merge-recursive.c:1387 +#, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." -msgstr "s'està refusant perdre el fitxer no seguit a «%s»" +msgstr "Error: s'està refusant perdre el fitxer no seguit a %s; en comptes s'ha escrit a %s." -#: merge-recursive.c:1486 +#: merge-recursive.c:1459 #, c-format -msgid "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in tree." -msgstr "CONFLICTE: (%s/supressió): %s suprimit en %s i %s en %s. La versió %s de %s s'ha deixat en l'arbre." +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " +"in tree." +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:1491 +#: merge-recursive.c:1464 #, c-format -msgid "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s left in tree." -msgstr "CONFLICTE: (%s/supressió): %s suprimit en %s i %s a %s en %s. La versió %s de %s s'ha deixat en l'arbre." +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " +"left in tree." +msgstr "" +"CONFLICTE: (%s/supressió): %s suprimit en %s i %s a %s en %s. La versió %s " +"de %s s'ha deixat en l'arbre." -#: merge-recursive.c:1498 +#: merge-recursive.c:1471 #, c-format -msgid "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in tree at %s." -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." +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " +"in tree at %s." +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:1503 +#: merge-recursive.c:1476 #, c-format -msgid "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s left in tree at %s." +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " +"left in tree at %s." msgstr "" -"CONFLICTE: (%s/supressió): %s suprimit en %s i %s a %s en %s. La versió %s de %s s'ha deixat en l'arbre a %s." +"CONFLICTE: (%s/supressió): %s suprimit en %s i %s a %s en %s. La versió %s " +"de %s s'ha deixat en l'arbre a %s." -#: merge-recursive.c:1537 +#: merge-recursive.c:1511 msgid "rename" msgstr "canvi de nom" -#: merge-recursive.c:1537 +#: merge-recursive.c:1511 msgid "renamed" msgstr "canviat de nom" -#: merge-recursive.c:1633 merge-recursive.c:2481 merge-recursive.c:3213 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3093 #, c-format msgid "Refusing to lose dirty file at %s" -msgstr "s'està refusant a perdre el fitxer brut a %s" +msgstr "S'està refusant a perdre el fitxer brut a %s" -#: merge-recursive.c:1643 -#, fuzzy, c-format +#: merge-recursive.c:1601 +#, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." -msgstr "s'està refusant perdre el fitxer no seguit a «%s»" +msgstr "S'està refusant perdre el fitxer no seguit a «%s», malgrat que està en mig de l'operació." -#: merge-recursive.c:1706 -#, fuzzy, c-format +#: merge-recursive.c:1659 +#, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" -msgstr "CONFLICTE (canvi de nom/afegiment): Canvi de nom %s->%s en %s. %s afegit en %s" +msgstr "" +"CONFLICTE (canvi de nom/afegiment): Canvi de nom %s->%s a %s. S'ha afegit %s a " +"%s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s és un directori en %s; s'està afegint com a %s en lloc d'això" -#: merge-recursive.c:1739 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" -msgstr "s'està refusant perdre el fitxer no seguit a %s; en comptes, s'està afegint com a %s" +msgstr "" +"s'està refusant perdre el fitxer no seguit a %s; en comptes, s'està afegint " +"com a %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1714 #, c-format -msgid "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s\"->\"%s\" in \"%s\"%s" +msgid "" +"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" +"\"->\"%s\" in \"%s\"%s" 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" +"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:1764 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (deixat sense resolució)" -#: merge-recursive.c:1868 +#: merge-recursive.c:1828 #, 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" +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:2064 +#: merge-recursive.c:2035 #, c-format msgid "" -"CONFLICT (directory rename split): Unclear where to place %s because directory %s was renamed to multiple other " -"directories, with no destination getting a majority of the files." +"CONFLICT (directory rename split): Unclear where to place %s because " +"directory %s was renamed to multiple other directories, with no destination " +"getting a majority of the files." msgstr "" -#: merge-recursive.c:2096 +#: merge-recursive.c:2067 #, c-format msgid "" -"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of implicit directory rename(s) putting the " -"following path(s) there: %s." +"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " +"implicit directory rename(s) putting the following path(s) there: %s." msgstr "" -#: merge-recursive.c:2106 +#: merge-recursive.c:2077 #, c-format msgid "" -"CONFLICT (implicit dir rename): Cannot map more than one path to %s; implicit directory renames tried to put these " -"paths there: %s" +"CONFLICT (implicit dir rename): Cannot map more than one path to %s; " +"implicit directory renames tried to put these paths there: %s" msgstr "" -#: merge-recursive.c:2198 +#: merge-recursive.c:2169 #, fuzzy, c-format -msgid "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %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" +msgid "" +"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %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:2443 +#: merge-recursive.c:2413 #, c-format -msgid "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was renamed." +msgid "" +"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " +"renamed." msgstr "" +"AVÃS: S'està evitant aplicar el canvi de nom %s -> %s a %s, perquè %s ell mateix ja havia canviat de nom." -#: merge-recursive.c:3022 +#: merge-recursive.c:2937 #, c-format msgid "cannot read object %s" msgstr "no es pot llegir l'objecte %s" -#: merge-recursive.c:3025 +#: merge-recursive.c:2940 #, c-format msgid "object %s is not a blob" msgstr "l'objecte %s no és un blob" -#: merge-recursive.c:3094 +#: merge-recursive.c:3004 msgid "modify" msgstr "modificació" -#: merge-recursive.c:3094 +#: merge-recursive.c:3004 msgid "modified" msgstr "modificat" -#: merge-recursive.c:3105 +#: merge-recursive.c:3016 msgid "content" msgstr "contingut" -#: merge-recursive.c:3112 +#: merge-recursive.c:3020 msgid "add/add" msgstr "afegiment/afegiment" -#: merge-recursive.c:3160 +#: merge-recursive.c:3043 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "S'ha omès %s (el fusionat és igual a l'existent)" -#: merge-recursive.c:3182 git-submodule.sh:861 +#: merge-recursive.c:3065 git-submodule.sh:937 msgid "submodule" msgstr "submòdul" -#: merge-recursive.c:3183 +#: merge-recursive.c:3066 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLICTE (%s): Conflicte de fusió en %s" -#: merge-recursive.c:3216 +#: merge-recursive.c:3096 #, c-format msgid "Adding as %s instead" msgstr "S'està afegint com a %s en lloc d'això" -#: merge-recursive.c:3319 +#: merge-recursive.c:3178 +#, c-format +msgid "" +"Path updated: %s added in %s inside a directory that was renamed in %s; " +"moving it to %s." +msgstr "" + +#: merge-recursive.c:3181 +#, c-format +msgid "" +"CONFLICT (file location): %s added in %s inside a directory that was renamed " +"in %s, suggesting it should perhaps be moved to %s." +msgstr "" + +#: merge-recursive.c:3185 +#, c-format +msgid "" +"Path updated: %s renamed to %s in %s, inside a directory that was renamed in " +"%s; moving it to %s." +msgstr "" + +#: merge-recursive.c:3188 +#, c-format +msgid "" +"CONFLICT (file location): %s renamed to %s in %s, inside a directory that " +"was renamed in %s, suggesting it should perhaps be moved to %s." +msgstr "" + +#: merge-recursive.c:3302 #, c-format msgid "Removing %s" msgstr "S'està eliminant %s" -#: merge-recursive.c:3345 +#: merge-recursive.c:3325 msgid "file/directory" msgstr "fitxer/directori" -#: merge-recursive.c:3351 +#: merge-recursive.c:3330 msgid "directory/file" msgstr "directori/fitxer" -#: merge-recursive.c:3358 +#: merge-recursive.c:3337 #, 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. S'està afegint %s com a %s" +msgstr "" +"CONFLICTE (%s): Hi ha un directori amb nom %s en %s. S'està afegint %s com a " +"%s" -#: merge-recursive.c:3367 +#: merge-recursive.c:3346 #, c-format msgid "Adding %s" msgstr "S'està afegint %s" -#: merge-recursive.c:3376 -#, fuzzy, c-format +#: merge-recursive.c:3355 +#, c-format msgid "CONFLICT (add/add): Merge conflict in %s" -msgstr "CONFLICTE (%s): Conflicte de fusió en %s" +msgstr "CONFLICTE (afegiment/afegiment): Conflicte de fusió en %s" -#: merge-recursive.c:3417 +#: merge-recursive.c:3393 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -3225,162 +4023,187 @@ msgstr "" "Els canvis locals als fitxers següents se sobreescriuran per la fusió:\n" " %s" -#: merge-recursive.c:3428 +#: merge-recursive.c:3404 msgid "Already up to date!" msgstr "Ja està al dia!" -#: merge-recursive.c:3437 +#: merge-recursive.c:3413 #, c-format msgid "merging of trees %s and %s failed" msgstr "la fusió dels arbres %s i %s ha fallat" -#: merge-recursive.c:3536 +#: merge-recursive.c:3512 msgid "Merging:" msgstr "S'està fusionant:" -#: merge-recursive.c:3549 +#: merge-recursive.c:3525 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "s'ha trobat %u avantpassat en comú:" msgstr[1] "s'han trobat %u avantpassats en comú:" -#: merge-recursive.c:3588 +#: merge-recursive.c:3564 msgid "merge returned no commit" msgstr "la fusió no ha retornat cap comissió" -#: merge-recursive.c:3654 +#: merge-recursive.c:3630 #, c-format msgid "Could not parse object '%s'" msgstr "No s'ha pogut analitzar l'objecte «%s»" -#: merge-recursive.c:3670 builtin/merge.c:692 builtin/merge.c:850 +#: merge-recursive.c:3646 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "No s'ha pogut escriure l'Ãndex." -#: midx.c:65 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "" -#: midx.c:81 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "" -#: midx.c:86 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "" -#: midx.c:91 +#: midx.c:95 #, fuzzy, c-format msgid "hash version %u does not match" msgstr "el camà «%s» no té la seva versió" -#: midx.c:105 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "" -#: midx.c:129 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "" -#: midx.c:142 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "" -#: midx.c:144 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "" -#: midx.c:146 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "" -#: midx.c:148 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "" -#: midx.c:162 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "" -#: midx.c:205 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "" -#: midx.c:246 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" -#: midx.c:271 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "" -#: midx.c:407 +#: midx.c:470 #, fuzzy, c-format msgid "failed to add packfile '%s'" msgstr "s'ha produït un error en llegir el fitxer d'ordres «%s»" -#: midx.c:413 +#: midx.c:476 #, fuzzy, c-format msgid "failed to open pack-index '%s'" msgstr "s'ha produït un error en obrir «%s»" -#: midx.c:507 +#: midx.c:536 #, fuzzy, c-format msgid "failed to locate object %d in packfile" msgstr "s'ha produït un error en llegir l'objecte «%s»." -#: midx.c:943 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "" + +#: midx.c:1036 #, fuzzy, c-format msgid "failed to clear multi-pack-index at %s" msgstr "s'ha produït un error en netejar l'Ãndex" -#: midx.c:981 +#: midx.c:1091 +msgid "Looking for referenced packfiles" +msgstr "S'estan cercant fitxers de paquets referenciats" + +#: midx.c:1106 #, c-format -msgid "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" +msgid "" +"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" +msgstr "" + +#: midx.c:1110 +msgid "Verifying OID order in MIDX" msgstr "" -#: midx.c:992 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "" -#: midx.c:996 -#, fuzzy +#: midx.c:1138 +msgid "Sorting objects by packfile" +msgstr "S'estan ordenant els objectes per fitxer de paquet" + +#: midx.c:1144 msgid "Verifying object offsets" -msgstr "S'estan escrivint els objectes" +msgstr "S'estan verificant els desplaçaments dels objectes" -#: midx.c:1004 +#: midx.c:1160 #, fuzzy, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "no s'ha pogut afegir una entrada de cau per a %s" -#: midx.c:1010 +#: midx.c:1166 #, fuzzy, c-format msgid "failed to load pack-index for packfile %s" msgstr "s'ha produït un error en llegir el fitxer d'ordres «%s»" -#: midx.c:1019 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "no s'ha pogut executar el pack-objects" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "no s'ha pogut finalitzar el pack-objects" + +#: name-hash.c:532 #, fuzzy, c-format msgid "unable to create lazy_dir thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, fuzzy, c-format msgid "unable to create lazy_name thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, fuzzy, c-format msgid "unable to join lazy_name thread: %s" msgstr "no s'ha pogut crear fil: %s" @@ -3389,12 +4212,12 @@ msgstr "no s'ha pogut crear fil: %s" #, c-format msgid "" "You have not concluded your previous notes merge (%s exists).\n" -"Please, use 'git notes merge --commit' or 'git notes merge --abort' to commit/abort the previous merge before you " -"start a new notes merge." +"Please, use 'git notes merge --commit' or 'git notes merge --abort' to " +"commit/abort the previous merge before you start a new notes merge." msgstr "" "No heu acabat la vostra fusió de notes prèvia (%s existeix).\n" -"Useu «git notes merge --commit» o «git notes merge --abort» per a cometre/avortar la fusió prèvia abans de " -"començar una fusió de notes nova." +"Useu «git notes merge --commit» o «git notes merge --abort» per a cometre/" +"avortar la fusió prèvia abans de començar una fusió de notes nova." #: notes-merge.c:284 #, c-format @@ -3449,85 +4272,82 @@ msgstr "no s'ha pogut analitzar l'objecte: %s" msgid "hash mismatch %s" msgstr "" -#: packfile.c:607 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "desplaçament abans de la fi del fitxer de paquet (.idx trencat?)" -#: packfile.c:1870 +#: packfile.c:1899 #, 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?)" +msgstr "" +"desplaçament abans d'inici d'Ãndex de paquet per a %s (Ãndex corromput?)" -#: packfile.c:1874 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" -msgstr "desplaçament més enllà de la fi d'Ãndex de paquet per a %s (Ãndex truncat?)" +msgstr "" +"desplaçament més enllà de la fi d'Ãndex de paquet per a %s (Ãndex truncat?)" -#: parse-options.c:35 +#: parse-options.c:38 #, c-format msgid "%s requires a value" msgstr "%s requereix un valor" -#: parse-options.c:69 +#: parse-options.c:73 #, c-format msgid "%s is incompatible with %s" msgstr "%s és incompatible amb %s" -#: parse-options.c:74 +#: parse-options.c:78 #, c-format msgid "%s : incompatible with something else" msgstr "%s: és incompatible amb alguna altra cosa" -#: parse-options.c:88 parse-options.c:92 parse-options.c:260 +#: parse-options.c:92 parse-options.c:96 parse-options.c:319 #, c-format msgid "%s takes no value" msgstr "%s no accepta cap valor" -#: parse-options.c:90 +#: parse-options.c:94 #, c-format msgid "%s isn't available" msgstr "%s no és disponible" -#: parse-options.c:178 -#, c-format -msgid "%s expects a numerical value" -msgstr "%s espera un valor numèric" - -#: parse-options.c:194 +#: parse-options.c:219 #, c-format msgid "%s expects a non-negative integer value with an optional k/m/g suffix" msgstr "" -#: parse-options.c:322 +#: parse-options.c:389 #, c-format msgid "ambiguous option: %s (could be --%s%s or --%s%s)" msgstr "" -#: parse-options.c:356 parse-options.c:364 +#: parse-options.c:423 parse-options.c:431 #, c-format msgid "did you mean `--%s` (with two dashes ?)" msgstr "" -#: parse-options.c:649 +#: parse-options.c:859 #, c-format msgid "unknown option `%s'" msgstr "opció desconeguda «%s»" -#: parse-options.c:651 -#, fuzzy, c-format +#: parse-options.c:861 +#, c-format msgid "unknown switch `%c'" -msgstr "port desconegut %s" +msgstr "«switch» «%c» desconegut" -#: parse-options.c:653 +#: parse-options.c:863 #, c-format msgid "unknown non-ascii option in string: `%s'" msgstr "opció no ascii desconeguda en la cadena: «%s»" -#: parse-options.c:675 +#: parse-options.c:887 msgid "..." msgstr "..." -#: parse-options.c:694 +#: parse-options.c:906 #, c-format msgid "usage: %s" msgstr "ús: %s" @@ -3535,52 +4355,59 @@ msgstr "ús: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation. #. -#: parse-options.c:700 +#: parse-options.c:912 #, c-format msgid " or: %s" msgstr " o: %s" -#: parse-options.c:703 +#: parse-options.c:915 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:742 +#: parse-options.c:954 msgid "-NUM" msgstr "-NUM" -#: parse-options-cb.c:21 +#: parse-options.c:968 +#, c-format +msgid "alias of --%s" +msgstr "à lies de --%s" + +#: parse-options-cb.c:20 parse-options-cb.c:24 #, c-format msgid "option `%s' expects a numerical value" msgstr "l'opció «%s» espera un valor numèric" -#: parse-options-cb.c:38 +#: parse-options-cb.c:41 #, c-format msgid "malformed expiration date '%s'" msgstr "data de venciment «%s» mal formada" -#: parse-options-cb.c:51 +#: parse-options-cb.c:54 #, c-format msgid "option `%s' expects \"always\", \"auto\", or \"never\"" -msgstr "" +msgstr "l'opció «%s» espera «always», «auto» o «never»" -#: parse-options-cb.c:110 +#: parse-options-cb.c:130 parse-options-cb.c:147 #, c-format msgid "malformed object name '%s'" msgstr "nom d'objecte «%s» mal format" -#: path.c:894 +#: path.c:897 #, c-format msgid "Could not make %s writable by group" msgstr "No s'ha pogut fer %s escrivible pel grup" #: pathspec.c:128 msgid "Escape character '\\' not allowed as last character in attr value" -msgstr "El carà cter d'escapament '\\' no està permès com a últim carà cter en un valor d'un atribut" +msgstr "" +"El carà cter d'escapament «\\» no està permès com a últim carà cter en un " +"valor d'un atribut" #: pathspec.c:146 msgid "Only one 'attr:' specification is allowed." -msgstr "Només es permet una especificació 'attr:'." +msgstr "Només es permet una especificació «attr:»." #: pathspec.c:149 msgid "attr spec must not be empty" @@ -3593,17 +4420,21 @@ msgstr "nom d'atribut no và lid %s" #: pathspec.c:257 msgid "global 'glob' and 'noglob' pathspec settings are incompatible" -msgstr "els parà metres d'especificació de camà 'glob' i 'noglob' globals són incompatibles" +msgstr "" +"els parà metres d'especificació de camà «glob» i «noglob» globals són " +"incompatibles" #: pathspec.c:264 -msgid "global 'literal' pathspec setting is incompatible with all other global pathspec settings" +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" msgstr "" -"el parà metre d'especificació de camà 'literal' global és incompatible amb tots els altres parà metres " -"d'especificació de camà globals" +"el parà metre d'especificació de camà «literal» global és incompatible amb " +"tots els altres parà metres d'especificació de camà globals" #: pathspec.c:304 msgid "invalid parameter for pathspec magic 'prefix'" -msgstr "parà metre no và lid per a la mà gia d'especificació de camà 'prefix'" +msgstr "parà metre no và lid per a la mà gia d'especificació de camà «prefix»" #: pathspec.c:325 #, c-format @@ -3613,7 +4444,7 @@ msgstr "Mà gia d'especificació de camà no và lida '%.*s' en «%s»" #: pathspec.c:330 #, c-format msgid "Missing ')' at the end of pathspec magic in '%s'" -msgstr "')' mancant al final de la mà gia d'especificació de camà en «%s»" +msgstr "«)» mancant al final de la mà gia d'especificació de camà en «%s»" #: pathspec.c:368 #, c-format @@ -3623,7 +4454,7 @@ msgstr "Mà gia d'especificació de camà no implementada «%c» en «%s»" #: pathspec.c:427 #, c-format msgid "%s: 'literal' and 'glob' are incompatible" -msgstr "%s: 'literal' i 'glob' són incompatibles" +msgstr "%s: «literal» i «glob» són incompatibles" #: pathspec.c:440 #, c-format @@ -3638,54 +4469,63 @@ msgstr "«%s» (mnemònic: «%c»)" #: pathspec.c:524 #, c-format msgid "%s: pathspec magic not supported by this command: %s" -msgstr "%s: aquesta ordre no està admesa amb la mà gia d'especificació de camÃ: %s" +msgstr "" +"%s: aquesta ordre no està admesa amb la mà gia d'especificació de camÃ: %s" #: pathspec.c:591 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "l'especificació de camà «%s» és més enllà d'un enllaç simbòlic" -#: pkt-line.c:104 -#, fuzzy +#: pkt-line.c:92 +msgid "unable to write flush packet" +msgstr "no s'ha pogut escriure el paquet de buidatge" + +#: pkt-line.c:99 +msgid "unable to write delim packet" +msgstr "no s'ha pogut escriure el paquet delim" + +#: pkt-line.c:106 msgid "flush packet write failed" -msgstr "no s'ha pogut escriure el fitxer d'etiqueta" +msgstr "s'ha produït un error en escriure el paquet de buidatge" -#: pkt-line.c:144 pkt-line.c:230 +#: pkt-line.c:146 pkt-line.c:232 msgid "protocol error: impossibly long line" -msgstr "" +msgstr "error de protocol: longitud de lÃnia impossible" -#: pkt-line.c:160 pkt-line.c:162 -#, fuzzy +#: pkt-line.c:162 pkt-line.c:164 msgid "packet write with format failed" -msgstr "no s'ha pogut escriure el fitxer d'etiqueta" +msgstr "ha fallat l'escriptura del paquet amb format" -#: pkt-line.c:194 +#: pkt-line.c:196 msgid "packet write failed - data exceeds max packet size" -msgstr "no s'ha pogut escriure el paquet - les dades excedeixen la mida mà xima del paquet" +msgstr "" +"no s'ha pogut escriure el paquet - les dades excedeixen la mida mà xima del " +"paquet" -#: pkt-line.c:201 pkt-line.c:208 +#: pkt-line.c:203 pkt-line.c:210 msgid "packet write failed" msgstr "no s'ha pogut escriure el paquet" -#: pkt-line.c:293 +#: pkt-line.c:295 msgid "read error" msgstr "error de lectura" -#: pkt-line.c:301 +#: pkt-line.c:303 msgid "the remote end hung up unexpectedly" msgstr "el remot ha penjat inesperadament" -#: pkt-line.c:329 +#: pkt-line.c:331 #, c-format msgid "protocol error: bad line length character: %.4s" msgstr "error de protocol: carà cter de longitud de lÃnia erroni: %.4s" -#: pkt-line.c:339 pkt-line.c:344 +#: pkt-line.c:341 pkt-line.c:346 #, c-format msgid "protocol error: bad line length %d" msgstr "error de protocol: longitud de lÃnia errònia %d" -#: pkt-line.c:353 +#: pkt-line.c:362 #, c-format msgid "remote error: %s" msgstr "error remot: %s" @@ -3699,72 +4539,81 @@ msgstr "S'està actualitzant l'Ãndex" msgid "unable to create threaded lstat: %s" msgstr "no s'ha pogut crear fil: %s" -#: pretty.c:963 +#: pretty.c:966 msgid "unable to parse --pretty format" msgstr "no s'ha pogut analitzar el format --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "no s'ha pogut iniciar «log»" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "no s'ha pogut llegir la sortida de «log»" -#: range-diff.c:74 sequencer.c:4828 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "no s'ha pogut analitzar la comissió «%s»" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "no s'ha pogut llegir la capçalera de la gif «%.*s»" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "s'ha produït un error en generar el diff" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "no s'ha pogut llegir el fitxer de registre per «%s»" -#: read-cache.c:673 -#, fuzzy, c-format +#: read-cache.c:680 +#, c-format msgid "will not add file alias '%s' ('%s' already exists in index)" -msgstr "%s: ja existeix en l'Ãndex" +msgstr "no s'afegirà l'à lies «%s»: («%s» ja existeix en l'Ãndex)" -#: read-cache.c:689 -#, fuzzy +#: read-cache.c:696 msgid "cannot create an empty blob in the object database" -msgstr "escriu l'objecte a la base de dades d'objectes" +msgstr "no es pot crear un blob buit a la base de dades d'objectes" -#: read-cache.c:710 +#: read-cache.c:718 #, c-format msgid "%s: can only add regular files, symbolic links or git-directories" -msgstr "" +msgstr "%s: només pot afegir fitxers normals, enllaços simbolics o directoris git" -#: read-cache.c:765 +#: read-cache.c:723 #, fuzzy, c-format +msgid "'%s' does not have a commit checked out" +msgstr "«%s» no assenyala una comissió" + +#: read-cache.c:775 +#, c-format msgid "unable to index file '%s'" -msgstr "no es pot llegir el fitxer d'Ãndex" +msgstr "no es pot llegir indexar el fitxer «%s»" -#: read-cache.c:784 -#, fuzzy, c-format +#: read-cache.c:794 +#, c-format msgid "unable to add '%s' to index" -msgstr "No s'ha pogut afegir %s a la base de dades" +msgstr "no s'ha pogut afegir «%s» a l'Ãndex" -#: read-cache.c:795 +#: read-cache.c:805 #, fuzzy, c-format msgid "unable to stat '%s'" msgstr "no s'ha pogut actualitzar %s" -#: read-cache.c:1304 +#: read-cache.c:1314 #, fuzzy, c-format msgid "'%s' appears as both a file and as a directory" msgstr "%s existeix i no és directori" -#: read-cache.c:1489 +#: read-cache.c:1499 msgid "Refresh index" msgstr "Actualitza l'Ãndex" -#: read-cache.c:1603 +#: read-cache.c:1613 #, c-format msgid "" "index.version set, but the value is invalid.\n" @@ -3773,7 +4622,7 @@ msgstr "" "index.version està establerta, però el valor no és và lid.\n" "S'està usant la versió %i" -#: read-cache.c:1613 +#: read-cache.c:1623 #, c-format msgid "" "GIT_INDEX_VERSION set, but the value is invalid.\n" @@ -3782,142 +4631,151 @@ msgstr "" "GIT_INDEX_VERSION està establerta, però el valor no és và lid.\n" "S'està usant la versió %i" -#: read-cache.c:1684 +#: read-cache.c:1679 #, c-format msgid "bad signature 0x%08x" msgstr "signatura malmesa 0x%08x" -#: read-cache.c:1687 +#: read-cache.c:1682 #, c-format msgid "bad index version %d" msgstr "versió d'Ãndex incorrecta %d" -#: read-cache.c:1696 +#: read-cache.c:1691 msgid "bad index file sha1 signature" msgstr "signatura sha1 malmesa al fitxer d'Ãndex" -#: read-cache.c:1726 +#: read-cache.c:1721 #, c-format msgid "index uses %.4s extension, which we do not understand" msgstr "l'Ãndex usa l'extensió %.4s, que no es pot entendre" -#: read-cache.c:1728 +#: read-cache.c:1723 #, c-format msgid "ignoring %.4s extension" msgstr "s'està ignorant l'extensió %.4s" -#: read-cache.c:1765 -#, fuzzy, c-format +#: read-cache.c:1760 +#, c-format msgid "unknown index entry format 0x%08x" -msgstr "Format d'arxiu desconegut «%s»" +msgstr "Format d'entrada d'Ãndex desconeguda «0x%08x»" -#: read-cache.c:1781 +#: read-cache.c:1776 #, c-format msgid "malformed name field in the index, near path '%s'" -msgstr "" +msgstr "camp del nom mal formatat l'index, camà a prop «%s»" -#: read-cache.c:1836 +#: read-cache.c:1833 msgid "unordered stage entries in index" msgstr "" -#: read-cache.c:1839 +#: read-cache.c:1836 #, fuzzy, c-format msgid "multiple stage entries for merged file '%s'" msgstr "nom d'identitat buit (per <%s>) no és permès" -#: read-cache.c:1842 +#: read-cache.c:1839 #, fuzzy, c-format msgid "unordered stage entries for '%s'" msgstr "no s'han pogut crear directoris per %s" -#: read-cache.c:1949 read-cache.c:2227 rerere.c:565 rerere.c:599 rerere.c:1111 builtin/add.c:459 -#: builtin/check-ignore.c:178 builtin/checkout.c:294 builtin/checkout.c:622 builtin/checkout.c:991 -#: builtin/clean.c:955 builtin/commit.c:344 builtin/diff-tree.c:116 builtin/grep.c:498 builtin/mv.c:145 +#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 #: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "fitxer d'Ãndex malmès" -#: read-cache.c:2090 +#: read-cache.c:2087 #, fuzzy, c-format msgid "unable to create load_cache_entries thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: read-cache.c:2103 +#: read-cache.c:2100 #, fuzzy, c-format msgid "unable to join load_cache_entries thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: read-cache.c:2136 +#: read-cache.c:2133 #, fuzzy, c-format msgid "%s: index file open failed" msgstr "s'ha produït un error en actualitzar els fitxers" -#: read-cache.c:2140 +#: read-cache.c:2137 #, fuzzy, c-format msgid "%s: cannot stat the open index" msgstr "no es pot llegir l'Ãndex" -#: read-cache.c:2144 +#: read-cache.c:2141 #, c-format msgid "%s: index file smaller than expected" -msgstr "" +msgstr "%s: fitxer d'Ãndex més petit que s'esperava" -#: read-cache.c:2148 -#, fuzzy, c-format +#: read-cache.c:2145 +#, c-format msgid "%s: unable to map index file" -msgstr "no es pot llegir el fitxer d'Ãndex" +msgstr "%s: no es pot mapar el fitxer d'Ãndex" -#: read-cache.c:2190 +#: read-cache.c:2187 #, fuzzy, c-format msgid "unable to create load_index_extensions thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: read-cache.c:2217 +#: read-cache.c:2214 #, fuzzy, c-format msgid "unable to join load_index_extensions thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: read-cache.c:2239 +#: read-cache.c:2246 #, fuzzy, c-format msgid "could not freshen shared index '%s'" msgstr "no s'ha pogut llegir el fitxer «%s»" -#: read-cache.c:2274 +#: read-cache.c:2293 #, c-format msgid "broken index, expect %s in %s, got %s" -msgstr "" +msgstr "Ãndex malmès, s'esperava %s a %s, s'ha rebut %s" -#: read-cache.c:2971 sequencer.c:4791 wrapper.c:658 builtin/merge.c:1087 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "no s'ha pogut tancar «%s»" -#: read-cache.c:3044 sequencer.c:2237 sequencer.c:3647 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "no s'ha pogut fer stat a «%s»" -#: read-cache.c:3057 +#: read-cache.c:3105 #, c-format msgid "unable to open git dir: %s" msgstr "no s'ha pogut obrir el directori git: %s" -#: read-cache.c:3069 +#: read-cache.c:3117 #, c-format msgid "unable to unlink: %s" msgstr "no s'ha pogut desenllaçar: %s" -#: read-cache.c:3088 +#: read-cache.c:3142 #, fuzzy, c-format msgid "cannot fix permission bits on '%s'" msgstr "no s'ha pogut resoldre la revisió: %s" -#: read-cache.c:3237 +#: read-cache.c:3291 #, fuzzy, c-format msgid "%s: cannot drop to stage #0" msgstr "no es pot canviar de directori a %s" -#: rebase-interactive.c:10 +#: rebase-interactive.c:26 +#, c-format +msgid "" +"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring." +msgstr "" +"No s'ha reconegut el parà metre %s per rebase.missingCommitsCheck. S'està " +"ignorant." + +#: rebase-interactive.c:35 #, fuzzy msgid "" "\n" @@ -3945,21 +4803,31 @@ msgstr "" " r, reword = usa la comissió, però edita el missatge de comissió\n" " e, edit = usa la comissió, però atura't per a esmenar\n" " s, squash = usa la comissió, però fusiona'l a la comissió prèvia\n" -" f, fixup = com \"squash\", però descarta el missatge de registre d'aquesta comissió\n" -" x, exec = executa l'ordre (la resta de la lÃnia) usant l'intèrpret d'ordres\n" +" f, fixup = com \"squash\", però descarta el missatge de registre d'aquesta " +"comissió\n" +" x, exec = executa l'ordre (la resta de la lÃnia) usant l'intèrpret " +"d'ordres\n" " d, drop = elimina la comissió\n" "\n" "Es pot canviar l'ordre d'aquestes lÃnies; s'executen de dalt a baix.\n" -#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:56 +#, fuzzy, c-format +msgid "Rebase %s onto %s (%d command)" +msgid_plural "Rebase %s onto %s (%d commands)" +msgstr[0] "Rebasa $shortrevisions sobre $shortonto ($todocount ordre)" +msgstr[1] "Rebasa $shortrevisions sobre $shortonto ($todocount ordres)" + +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" msgstr "" "\n" -"No elimineu cap lÃnia. Useu 'drop' explÃcitament per a eliminar una comissió.\n" +"No elimineu cap lÃnia. Useu «drop» explÃcitament per a eliminar una " +"comissió.\n" -#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -3967,7 +4835,7 @@ msgstr "" "\n" "Si elimineu una lÃnia aquÃ, ES PERDRÀ AQUELLA COMISSIÓ.\n" -#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -3981,7 +4849,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -3991,122 +4859,156 @@ msgstr "" "No obstant, si elimineu tot, s'avortarà el «rebase».\n" "\n" -#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" -msgstr "Nota que les comissions buides estan comentades" +msgstr "Tingueu en compte que les comissions buides estan comentades" -#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2219 sequencer.c:4569 sequencer.c:4625 -#: sequencer.c:4900 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format -msgid "could not read '%s'." -msgstr "no s'ha pogut llegir «%s»." +msgid "could not write '%s'" +msgstr "no s'ha pogut escriure «%s»" -#: refs.c:192 -#, fuzzy, c-format +#: rebase-interactive.c:108 +#, c-format +msgid "could not copy '%s' to '%s'." +msgstr "no s'ha pogut copiar «%s» a «%s»." + +#: rebase-interactive.c:173 +#, c-format +msgid "" +"Warning: some commits may have been dropped accidentally.\n" +"Dropped commits (newer to older):\n" +msgstr "" +"Advertència: pot ser que algunes comissions s'hagin descartat " +"accidentalment.\n" +"Les comissions descartades (més nova a més vella):\n" + +#: rebase-interactive.c:180 +#, c-format +msgid "" +"To avoid this message, use \"drop\" to explicitly remove a commit.\n" +"\n" +"Use 'git config rebase.missingCommitsCheck' to change the level of " +"warnings.\n" +"The possible behaviours are: ignore, warn, error.\n" +"\n" +msgstr "" +"Per a evitar aquest missatge, useu \"drop\" per a eliminar explÃcitament una " +"comissió.\n" +"\n" +"Useu 'git config rebase.missingCommitsCheck' per a canviar el nivell " +"d'advertències.\n" +"Els comportaments possibles són: ignore, warn, error.\n" + +#: refs.c:262 +#, c-format msgid "%s does not point to a valid object!" -msgstr "«%s» no assenyala una comissió" +msgstr "%s no apunta a un objecte và lid" -#: refs.c:583 +#: refs.c:667 #, fuzzy, c-format msgid "ignoring dangling symref %s" msgstr "s'està ignorant la referència trencada %s" -#: refs.c:585 ref-filter.c:1976 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "s'està ignorant la referència trencada %s" -#: refs.c:711 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "no s'ha pogut obrir «%s» per a escriptura: %s" -#: refs.c:721 refs.c:772 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" -msgstr "no s'ha pogut llegir la referència %s" +msgstr "no s'ha pogut llegir la referència «%s»" -#: refs.c:727 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "la referència «%s» ja existeix" -#: refs.c:732 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "ID d'objecte no esperat en escriure «%s»" -#: refs.c:740 sequencer.c:396 sequencer.c:2549 sequencer.c:2675 sequencer.c:2689 sequencer.c:2923 sequencer.c:4789 -#: sequencer.c:4852 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "no s'ha pogut escriure a «%s»" -#: refs.c:767 sequencer.c:4787 sequencer.c:4846 wrapper.c:225 wrapper.c:395 builtin/am.c:713 builtin/rebase.c:575 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "no s'ha pogut obrir «%s» per a escriptura" -#: refs.c:774 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "ID d'objecte no esperat en suprimir «%s»" -#: refs.c:905 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "" -#: refs.c:911 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "" -#: refs.c:969 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "" -#: refs.c:1061 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" -msgstr "s'està refusant la referència amb nom malmès %s" +msgstr "s'està refusant la referència amb nom malmès «%s»" -#: refs.c:1137 +#: refs.c:1231 #, fuzzy, c-format msgid "update_ref failed for ref '%s': %s" msgstr "s'ha produït un error en obrir «%s»: %s" -#: refs.c:1911 +#: refs.c:2012 #, fuzzy, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "nom d'identitat buit (per <%s>) no és permès" -#: refs.c:1943 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "no està permès actualitzar les referències en un entorn de quarantena" -#: refs.c:2039 refs.c:2069 -#, fuzzy, c-format +#: refs.c:2140 refs.c:2170 +#, c-format msgid "'%s' exists; cannot create '%s'" -msgstr "no es pot crear «%s»" +msgstr "«%s» existeix; no es pot crear «%s»" -#: refs.c:2045 refs.c:2080 -#, fuzzy, c-format +#: refs.c:2146 refs.c:2181 +#, c-format msgid "cannot process '%s' and '%s' at the same time" -msgstr "No es poden actualitzar els camins i canviar a la branca «%s» a la vegada." +msgstr "no es poden processar «%s» i «%s» a la vegada" -#: refs/files-backend.c:1228 +#: refs/files-backend.c:1234 #, c-format msgid "could not remove reference %s" msgstr "no s'ha pogut eliminar la referència %s" -#: refs/files-backend.c:1242 refs/packed-backend.c:1532 refs/packed-backend.c:1542 +#: refs/files-backend.c:1248 refs/packed-backend.c:1532 +#: refs/packed-backend.c:1542 #, c-format msgid "could not delete reference %s: %s" msgstr "no s'ha pogut suprimir la referència %s: %s" -#: refs/files-backend.c:1245 refs/packed-backend.c:1545 +#: refs/files-backend.c:1251 refs/packed-backend.c:1545 #, c-format msgid "could not delete references: %s" msgstr "no s'han pogut suprimir les referències: %s" @@ -4116,269 +5018,254 @@ msgstr "no s'han pogut suprimir les referències: %s" msgid "invalid refspec '%s'" msgstr "fitxer no và lid: «%s»" -#: ref-filter.c:39 wt-status.c:1861 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "no hi és" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "davant per %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "darrere per %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "davant per %d, darrere per %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "format esperat: %%(color:<color>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "color no reconegut: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "valor enter esperat pel nom de referència:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "valor enter esperat pel nom de referència:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "parà metre %%(%s) desconegut: %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(subject) no accepta parà metres" -#: ref-filter.c:245 +#: ref-filter.c:269 #, fuzzy, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "parà metre %%(objectname) no reconegut: %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, fuzzy, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(objectsize) no accepta parà metres" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) no accepta parà metres" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) no accepta parà metres" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "parà metre %%(trailers) desconegut: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "valor positiu esperat conté:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "parà metre %%(contents) no reconegut: %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "valor positiu esperat nom d'objecte:curt=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "parà metre %%(objectname) no reconegut: %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "format esperat: %%(align:<amplada>,<posició>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "posició no reconeguda:%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "amplada no reconeguda:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "parà metre %%(align) no reconegut: %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "amplada positiva esperada amb l'à tom %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "parà metre %%(if) no reconegut: %s" -#: ref-filter.c:527 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "nom de camp mal format: %.*s" -#: ref-filter.c:554 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "nom de camp desconegut: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:587 #, c-format -msgid "not a git repository, but the field '%.*s' requires access to object data" +msgid "" +"not a git repository, but the field '%.*s' requires access to object data" msgstr "" -#: ref-filter.c:682 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "format: s'ha usat l'à tom %%(if) sense un à tom %%(then)" -#: ref-filter.c:745 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "format: s'ha usat l'à tom %%(then) sense un à tom %%(if)" -#: ref-filter.c:747 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "format: s'ha usat l'à tom %%(then) més d'un cop" -#: ref-filter.c:749 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "format: s'ha usat l'à tom %%(then) després de %%(else)" -#: ref-filter.c:777 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "format: s'ha usat l'à tom %%(else) sense un à tom %%(if)" -#: ref-filter.c:779 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "format: s'ha usat l'à tom %%(else) sense un à tom %%(then)" -#: ref-filter.c:781 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "format: s'ha usat l'à tom %%(else) més d'un cop" -#: ref-filter.c:796 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "format: s'ha usat l'à tom %%(end) sense l'à tom corresponent" -#: ref-filter.c:853 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "cadena de format mal format %s" -#: ref-filter.c:1447 -#, c-format -msgid "(no branch, rebasing %s)" +#: ref-filter.c:1485 +#, fuzzy, c-format +msgid "no branch, rebasing %s" msgstr "(cap branca, s'està fent «rebase» %s)" -#: ref-filter.c:1450 -#, c-format -msgid "(no branch, rebasing detached HEAD %s)" +#: ref-filter.c:1488 +#, fuzzy, c-format +msgid "no branch, rebasing detached HEAD %s" msgstr "(cap branca, s'està fent «rebase» d'un «HEAD» %s no adjuntat)" -#: ref-filter.c:1453 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" +msgid "no branch, bisect started on %s" msgstr "(cap branca, bisecció començada en %s)" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1461 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD separat a %s)" - -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1468 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD separat de %s)" - -#: ref-filter.c:1472 -msgid "(no branch)" -msgstr "(cap branca)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "sense branca" -#: ref-filter.c:1506 ref-filter.c:1663 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "manca l'objecte %s per a %s" -#: ref-filter.c:1516 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer ha fallat en %s per a %s" -#: ref-filter.c:1882 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "objecte mal format a «%s»" -#: ref-filter.c:1971 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "s'està ignorant la referència amb nom malmès %s" -#: ref-filter.c:2257 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "format: manca l'à tom %%(end)" -#: ref-filter.c:2352 -#, fuzzy, c-format +#: ref-filter.c:2482 +#, c-format msgid "option `%s' is incompatible with --merged" -msgstr "--long és incompatible amb --abbrev=0" +msgstr "l'opció «%s» és incompatible amb --merged" -#: ref-filter.c:2355 -#, fuzzy, c-format +#: ref-filter.c:2485 +#, c-format msgid "option `%s' is incompatible with --no-merged" -msgstr "--long és incompatible amb --abbrev=0" +msgstr "l'opció «%s» és incompatible amb --no-merged" -#: ref-filter.c:2365 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "nom d'objecte %s mal format" -#: ref-filter.c:2370 -#, fuzzy, c-format +#: ref-filter.c:2500 +#, c-format msgid "option `%s' must point to a commit" -msgstr "«%s» no assenyala una comissió" +msgstr "l'opció «%s» ha d'apuntar a una comissió" #: remote.c:363 #, c-format @@ -4479,14 +5366,14 @@ msgid "" msgstr "" #: remote.c:1091 -#, fuzzy, c-format +#, c-format msgid "%s cannot be resolved to branch" -msgstr "«%s» no es pot usar amb canvi de branca" +msgstr "«%s» no es pot resoldre a una branca" #: remote.c:1102 -#, fuzzy, c-format +#, c-format msgid "unable to delete '%s': remote ref does not exist" -msgstr "no s'ha pogut escriure el fitxer «%s» mode %o" +msgstr "no s'ha pogut suprimir «%s»: la referència remota no existeix" #: remote.c:1114 #, c-format @@ -4505,7 +5392,7 @@ msgstr "HEAD no assenyala cap branca" #: remote.c:1633 #, c-format msgid "no such branch: '%s'" -msgstr "no hi ha tal branca: «%s»" +msgstr "no existeix la branca: «%s»" #: remote.c:1636 #, c-format @@ -4520,7 +5407,8 @@ msgstr "la branca font «%s» no s'emmagatzema com a branca amb seguiment remot" #: remote.c:1657 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" -msgstr "el destà de pujada «%s» en el remot «%s» no té cap branca amb seguiment remot" +msgstr "" +"el destà de pujada «%s» en el remot «%s» no té cap branca amb seguiment remot" #: remote.c:1669 #, c-format @@ -4534,69 +5422,74 @@ msgstr "les especificacions de referència de «%s» no inclouen «%s»" #: remote.c:1692 msgid "push has no destination (push.default is 'nothing')" -msgstr "push no té destà (push.default és 'nothing')" +msgstr "push no té destà (push.default és «nothing)" #: remote.c:1714 msgid "cannot resolve 'simple' push to a single destination" msgstr "no es pot resoldre una pujada 'simple' a un sol destÃ" #: remote.c:1840 -#, fuzzy, c-format +#, c-format msgid "couldn't find remote ref %s" -msgstr "No s'ha pogut trobar la referència HEAD remota" +msgstr "no s'ha pogut trobar la referència remota %s" #: remote.c:1853 #, c-format msgid "* Ignoring funny ref '%s' locally" msgstr "" -#: remote.c:1990 +#: remote.c:2016 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "La vostra branca està basada en «%s», però la font no hi és.\n" -#: remote.c:1994 +#: remote.c:2020 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (useu \"git branch --unset-upstream\" per a arreglar)\n" -#: remote.c:1997 +#: remote.c:2023 #, c-format msgid "Your branch is up to date with '%s'.\n" msgstr "La vostra branca està al dia amb «%s».\n" -#: remote.c:2001 +#: remote.c:2027 #, c-format msgid "Your branch and '%s' refer to different commits.\n" msgstr "La vostra branca i «%s» es refereixen a diferents comissions.\n" -#: remote.c:2004 +#: remote.c:2030 #, c-format msgid " (use \"%s\" for details)\n" msgstr "" -#: remote.c:2008 +#: remote.c:2034 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" -msgstr[0] "La vostra branca està davant de «%s» per %d comissió.\n" -msgstr[1] "La vostra branca està davant de «%s» per %d comissions.\n" +msgstr[0] "La vostra branca està %2$d comissió per davant de «%1$s».\n" +msgstr[1] "La vostra branca està %2$d comissions per davant de «%1$s».\n" -#: remote.c:2014 +#: remote.c:2040 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (useu \"git push\" per a publicar les vostres comissions locals)\n" -#: remote.c:2017 +#: remote.c:2043 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" -msgid_plural "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" -msgstr[0] "La vostra branca està darrere de «%s» %d comissió, i pot avançar-se rà pidament.\n" -msgstr[1] "La vostra branca està darrere de «%s» %d comissions, i pot avançar-se rà pidament.\n" +msgid_plural "" +"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" +msgstr[0] "" +"La vostra branca està %2$d comissió per darrere de «%1$s», i pot avançar-se " +"rà pidament.\n" +msgstr[1] "" +"La vostra branca està %2$d comissions per darrere de «%1$s», i pot avançar-" +"se rà pidament.\n" -#: remote.c:2025 +#: remote.c:2051 msgid " (use \"git pull\" to update your local branch)\n" -msgstr " (useu \"git pull\" per a actualitzar la vostra branca local)\n" +msgstr " (useu «git pull» per a actualitzar la vostra branca local)\n" -#: remote.c:2028 +#: remote.c:2054 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -4611,14 +5504,14 @@ msgstr[1] "" "La vostra branca i «%s» han divergit,\n" "i tenen %d i %d comissions distintes cada una, respectivament.\n" -#: remote.c:2038 +#: remote.c:2064 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" +msgstr " (useu «git pull» per a fusionar la branca remota a la vostra)\n" -#: remote.c:2221 -#, fuzzy, c-format +#: remote.c:2247 +#, c-format msgid "cannot parse expected object name '%s'" -msgstr "no es pot llegir l'objecte %s «%s»" +msgstr "no es pot analitzar el nom de l'objecte esperat «%s»" #: replace-object.c:21 #, fuzzy, c-format @@ -4644,11 +5537,6 @@ msgstr "" msgid "unable to write rerere record" msgstr "no s'ha pogut escriure l'objecte de nota" -#: rerere.c:485 rerere.c:692 sequencer.c:3186 sequencer.c:3212 builtin/fsck.c:314 -#, fuzzy, c-format -msgid "could not write '%s'" -msgstr "no s'ha pogut escriure a «%s»" - #: rerere.c:495 #, fuzzy, c-format msgid "there were errors while writing '%s' (%s)" @@ -4699,7 +5587,8 @@ msgstr "no es pot fer symlink en «%s» «%s»" msgid "Recorded preimage for '%s'" msgstr "no s'ha pogut llegir el fitxer de registre «%s»" -#: rerere.c:881 submodule.c:2012 builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1790 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "no s'ha pogut crear el directori «%s»" @@ -4734,29 +5623,33 @@ msgstr "no s'ha pogut llegir el fitxer de registre «%s»" msgid "unable to open rr-cache directory" msgstr "no s'ha pogut actualitzar l'arbre cau" -#: revision.c:2484 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "la vostra branca actual sembla malmesa" -#: revision.c:2487 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "la branca actual «%s» encara no té cap comissió" -#: revision.c:2684 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent és incompatible amb --bisect" -#: run-command.c:742 +#: revision.c:2714 +msgid "-L does not yet support diff formats besides -p and -s" +msgstr "" + +#: run-command.c:763 msgid "open /dev/null failed" msgstr "s'ha produït un error en obrir /dev/null" -#: run-command.c:1231 +#: run-command.c:1269 #, fuzzy, c-format msgid "cannot create async thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: run-command.c:1295 +#: run-command.c:1333 #, c-format msgid "" "The '%s' hook was ignored because it's not set as executable.\n" @@ -4765,7 +5658,9 @@ msgstr "" #: send-pack.c:141 msgid "unexpected flush packet while reading remote unpack status" -msgstr "paquet de neteja no esperat quan estava llegint l'estat del desempaquetament remot" +msgstr "" +"paquet de neteja no esperat quan estava llegint l'estat del desempaquetament " +"remot" #: send-pack.c:143 #, c-format @@ -4786,8 +5681,12 @@ msgid "the receiving end does not support --signed push" msgstr "el destà receptor no admet pujar --signed" #: send-pack.c:422 -msgid "not sending a push certificate since the receiving end does not support --signed push" -msgstr "no s'està enviant una certificació de pujada perquè el destà receptor no admet pujar --signed" +msgid "" +"not sending a push certificate since the receiving end does not support --" +"signed push" +msgstr "" +"no s'està enviant una certificació de pujada perquè el destà receptor no " +"admet pujar --signed" #: send-pack.c:434 msgid "the receiving end does not support --atomic push" @@ -4797,34 +5696,39 @@ msgstr "el destà receptor no admet pujar --atomic" msgid "the receiving end does not support push options" msgstr "el destà receptor no admet opcions de pujada" -#: sequencer.c:184 +#: sequencer.c:187 #, c-format msgid "invalid commit message cleanup mode '%s'" msgstr "mode de neteja «%s» no và lid en la comissió del missatge" -#: sequencer.c:288 +#: sequencer.c:292 #, fuzzy, c-format msgid "could not delete '%s'" msgstr "No s'ha pogut suprimir %s" -#: sequencer.c:314 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "no s'ha pogut suprimir «%s»" + +#: sequencer.c:321 msgid "revert" msgstr "revertir" -#: sequencer.c:316 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:318 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:320 +#: sequencer.c:327 #, fuzzy, c-format msgid "unknown action: %d" msgstr "Acció desconeguda: %d" -#: sequencer.c:378 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -4832,7 +5736,7 @@ msgstr "" "després de resoldre els conflictes, marqueu els camins\n" "corregits amb 'git add <camins>' o 'git rm <camins>'" -#: sequencer.c:381 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -4842,108 +5746,115 @@ msgstr "" "corregits amb 'git add <camins>' o 'git rm <camins>'\n" "i cometeu el resultat amb 'git commit'" -#: sequencer.c:394 sequencer.c:2671 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "no s'ha pogut bloquejar «%s»" -#: sequencer.c:401 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "no s'ha pogut escriure el terminador de lÃnia a «%s»" -#: sequencer.c:406 sequencer.c:2554 sequencer.c:2677 sequencer.c:2691 sequencer.c:2931 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "s'ha produït un error en finalitzar «%s»" -#: sequencer.c:429 sequencer.c:931 sequencer.c:1615 sequencer.c:2574 sequencer.c:2913 sequencer.c:3022 -#: builtin/am.c:245 builtin/commit.c:748 builtin/merge.c:1085 builtin/rebase.c:154 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "no s'ha pogut llegir «%s»" -#: sequencer.c:455 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "els vostres canvis locals se sobreescriurien per %s." -#: sequencer.c:459 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "cometeu els vostres canvis o feu un «stash» per a procedir." -#: sequencer.c:491 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: avanç rà pid" +#: sequencer.c:537 builtin/tag.c:565 +#, c-format +msgid "Invalid cleanup mode %s" +msgstr "Mode de neteja no và lid %s" + #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:582 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: No s'ha pogut escriure un fitxer d'Ãndex nou" -#: sequencer.c:598 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "no s'ha pogut actualitzar l'arbre cau" -#: sequencer.c:612 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "no s'ha pogut resoldre la comissió HEAD" -#: sequencer.c:692 +#: sequencer.c:743 #, fuzzy, c-format msgid "no key present in '%.*s'" msgstr "no s'ha pogut analitzar «%.*s»" -#: sequencer.c:703 +#: sequencer.c:754 #, fuzzy, c-format msgid "unable to dequote value of '%s'" msgstr "No s'ha pogut afegir el resultat de fusió per a «%s»" -#: sequencer.c:740 wrapper.c:227 wrapper.c:397 builtin/am.c:704 builtin/am.c:796 builtin/merge.c:1082 -#: builtin/rebase.c:617 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "no s'ha pogut obrir «%s» per a lectura" -#: sequencer.c:750 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "Ja s'ha donat «GIT_AUTHOR_NAME»" -#: sequencer.c:755 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "Ja s'ha donat «GIT_AUTHOR_EMAIL»" -#: sequencer.c:760 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "Ja s'ha donat «GIT_AUTHOR_DATE»" -#: sequencer.c:764 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "variable «%s» desconeguda" -#: sequencer.c:769 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "falta «GIT_AUTHOR_NAME»" -#: sequencer.c:771 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "falta «GIT_AUTHOR_EMAIL»" -#: sequencer.c:773 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "falta «GIT_AUTHOR_DATE»" -#: sequencer.c:833 +#: sequencer.c:884 #, fuzzy, c-format msgid "invalid date format '%s' in '%s'" msgstr "format de data no và lid: %s" -#: sequencer.c:850 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -4960,7 +5871,8 @@ msgid "" " git rebase --continue\n" msgstr "" "teniu canvis «staged» en el vostre arbre de treball\n" -"Si aquests canvis estan pensats per fer «squash» a la comissió prèvia, executeu:\n" +"Si aquests canvis estan pensats per fer «squash» a la comissió prèvia, " +"executeu:\n" "\n" " git commit --amend %s\n" "\n" @@ -4972,16 +5884,16 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:945 +#: sequencer.c:995 #, fuzzy msgid "writing root commit" msgstr "no hi ha res a cometre\n" -#: sequencer.c:1155 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "el lligam «prepare-commit-msg» ha fallat" -#: sequencer.c:1162 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -4996,19 +5908,19 @@ msgid "" " git commit --amend --reset-author\n" msgstr "" "S'han configurat el vostre nom i adreça electrònica\n" -"automà ticament basats en el vostre nom d'usuari i nom de mà quina. \n" +"automà ticament basant-se en el vostre nom d'usuari i nom de mà quina. \n" "Comproveu que siguin correctes. Podeu suprimir aquest\n" "missatge establint-los explÃcitament. Executeu l'ordre següent i\n" "seguiu les instruccions en el vostre editor per editar el vostre\n" "fitxer de configuració:\n" "\n" " git config --global --edit\n" -"Després de fer això, podeu arreglar la identitat usada per a aquesta\n" +"Després de fer això, podeu esmenar la identitat usada per a aquesta\n" "comissió amb:\n" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1175 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5034,294 +5946,354 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1217 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "no s'ha pogut trobar la comissió novament creada" -#: sequencer.c:1219 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "no s'ha pogut analitzar la comissió novament creada" -#: sequencer.c:1265 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "no s'ha pogut resoldre HEAD després de crear la comissió" -#: sequencer.c:1267 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "HEAD separat" -#: sequencer.c:1271 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (comissió d'arrel)" -#: sequencer.c:1292 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "no s'ha pogut analitzar HEAD" -#: sequencer.c:1294 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s no és una comissió!" -#: sequencer.c:1298 builtin/commit.c:1546 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "no s'ha pogut analitzar la comissió HEAD" -#: sequencer.c:1350 sequencer.c:1964 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "no s'ha pogut analitzar l'autor de la comissió" -#: sequencer.c:1360 builtin/am.c:1570 builtin/merge.c:678 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree ha fallat en escriure un arbre" -#: sequencer.c:1377 sequencer.c:1433 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "no s'ha pogut llegir el missatge de comissió des de «%s»" -#: sequencer.c:1399 builtin/am.c:1591 builtin/commit.c:1649 builtin/merge.c:859 builtin/merge.c:884 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "s'ha produït un error en escriure l'objecte de comissió" -#: sequencer.c:1460 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "no s'ha pogut analitzar la comissió %s" -#: sequencer.c:1465 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "no s'ha pogut analitzar la comissió pare %s" -#: sequencer.c:1565 sequencer.c:1675 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "ordre desconeguda: %d" -#: sequencer.c:1622 sequencer.c:1647 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Això és una combinació de %d comissions." -#: sequencer.c:1632 sequencer.c:4808 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "cal un HEAD per reparar-ho" -#: sequencer.c:1634 sequencer.c:2958 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "no s'ha pogut llegir HEAD" -#: sequencer.c:1636 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "no s'ha pogut llegir el missatge de comissió de HEAD" -#: sequencer.c:1642 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "no es pot escriure «%s»" -#: sequencer.c:1649 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Aquest és el 1r missatge de comissió:" -#: sequencer.c:1657 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "no s'ha pogut llegir el missatge de comissió: %s" -#: sequencer.c:1664 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Aquest és el missatge de comissió #%d:" -#: sequencer.c:1670 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "El missatge de comissió núm. #%d s'ometrà :" -#: sequencer.c:1758 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "el vostre fitxer d'Ãndex està sense fusionar." -#: sequencer.c:1765 +#: sequencer.c:1805 #, fuzzy msgid "cannot fixup root commit" msgstr "no es pot trobar la comissió %s (%s)" -#: sequencer.c:1784 +#: sequencer.c:1824 #, 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:1792 sequencer.c:1800 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "la comissió %s no té pare %d" -#: sequencer.c:1806 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "no es pot obtenir el missatge de comissió de %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1825 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: no es pot analitzar la comissió pare %s" -#: sequencer.c:1890 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "no s'ha pogut canviar el nom «%s» a «%s»" -#: sequencer.c:1945 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "no s'ha pogut revertir %s... %s" -#: sequencer.c:1946 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "no s'ha pogut aplicar %s... %s" -#: sequencer.c:2005 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: s'ha produït un error en llegir l'Ãndex" -#: sequencer.c:2012 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: s'ha produït un error en actualitzar l'Ãndex" -#: sequencer.c:2094 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s no accepta parà metres: «%s»" -#: sequencer.c:2103 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "falten els arguments per %s" -#: sequencer.c:2163 +#: sequencer.c:2174 +#, fuzzy, c-format +msgid "could not parse '%.*s'" +msgstr "no s'ha pogut analitzar «%s»" + +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "lÃnia no và lida %d: %.*s" -#: sequencer.c:2171 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "No es pot «%s» sense una comissió prèvia" -#: sequencer.c:2243 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 +#: builtin/rebase.c:204 builtin/rebase.c:229 +#, c-format +msgid "could not read '%s'." +msgstr "no s'ha pogut llegir «%s»." + +#: sequencer.c:2323 +#, fuzzy +msgid "cancelling a cherry picking in progress" +msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs" + +#: sequencer.c:2330 +#, fuzzy +msgid "cancelling a revert in progress" +msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "corregiu-ho usant «git rebase --edit-todo»." -#: sequencer.c:2245 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "full d'instruccions inusable: «%s»" -#: sequencer.c:2250 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "no s'ha analitzat cap comissió." -#: sequencer.c:2261 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "no es pot fer «cherry pick» durant una reversió." -#: sequencer.c:2263 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "no es pot revertir durant un «cherry pick»." -#: sequencer.c:2333 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "valor no và lid per a %s: %s" -#: sequencer.c:2420 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "" -#: sequencer.c:2436 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "full d'opcions mal format: «%s»" -#: sequencer.c:2518 sequencer.c:4067 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "conjunt de comissions buit passat" -#: sequencer.c:2526 -msgid "a cherry-pick or revert is already in progress" +#: sequencer.c:2668 +#, fuzzy +msgid "revert is already in progress" msgstr "un «cherry pick» o una reversió ja està en curs" -#: sequencer.c:2527 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2670 +#, fuzzy, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:2530 +#: sequencer.c:2673 +#, fuzzy +msgid "cherry-pick is already in progress" +msgstr "un «cherry pick» o una reversió ja està en curs" + +#: sequencer.c:2675 +#, fuzzy, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\"" + +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "no s'ha pogut crear el directori de seqüenciador «%s»" -#: sequencer.c:2544 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "no s'ha pogut bloquejar HEAD" -#: sequencer.c:2599 sequencer.c:3819 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs" -#: sequencer.c:2601 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "no es pot resoldre HEAD" -#: sequencer.c:2603 sequencer.c:2638 +#: sequencer.c:2768 sequencer.c:2812 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:2624 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "no es pot obrir «%s»" -#: sequencer.c:2626 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "no es pot llegir «%s»: %s" -#: sequencer.c:2627 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "final de fitxer inesperat" -#: sequencer.c:2633 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "el fitxer HEAD emmagatzemat abans de fer «cherry pick» «%s» és malmès" -#: sequencer.c:2644 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "Sembla que heu mogut HEAD sense rebobinar, comproveu-ho HEAD" -#: sequencer.c:2750 sequencer.c:3735 +#: sequencer.c:2859 +#, fuzzy +msgid "no revert in progress" +msgstr "No hi ha un «rebase» en curs?" + +#: sequencer.c:2867 +#, fuzzy +msgid "no cherry-pick in progress" +msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs" + +#: sequencer.c:2877 +#, fuzzy +msgid "failed to skip the commit" +msgstr "s'ha produït un error en escriure l'objecte de comissió" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "no s'ha pogut actualitzar %s" -#: sequencer.c:2788 sequencer.c:3715 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "No es pot llegir HEAD" -#: sequencer.c:2805 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "no s'ha pogut copiar «%s» a «%s»" -#: sequencer.c:2813 +#: sequencer.c:3074 #, fuzzy, c-format msgid "" "You can amend the commit now, with\n" @@ -5340,27 +6312,27 @@ msgstr "" "\n" "\tgit rebase --continue" -#: sequencer.c:2823 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "No s'ha pogut aplicar %s... %.*s" -#: sequencer.c:2830 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "No s'ha pogut fusionar %.*s" -#: sequencer.c:2844 sequencer.c:2848 builtin/difftool.c:641 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "no s'ha pogut copiar «%s» a «%s»" -#: sequencer.c:2870 sequencer.c:3293 builtin/rebase.c:424 builtin/rebase.c:1230 builtin/rebase.c:1591 -#: builtin/rebase.c:1646 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "no s'ha pogut llegir l'Ãndex" -#: sequencer.c:2875 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -5375,11 +6347,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:2881 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "i ha fet canvis a l'Ãndex i/o l'arbre de treball\n" -#: sequencer.c:2887 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -5395,79 +6367,79 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2948 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "nom d'etiqueta no permès: «%.*s»" -#: sequencer.c:3002 +#: sequencer.c:3263 #, fuzzy msgid "writing fake root commit" msgstr "no hi ha res a cometre\n" -#: sequencer.c:3007 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "" -#: sequencer.c:3045 builtin/rebase.c:429 builtin/rebase.c:435 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, fuzzy, c-format msgid "failed to find tree of %s" msgstr "S'ha produït un error en cercar l'arbre de %s." -#: sequencer.c:3063 builtin/rebase.c:448 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "no s'ha pogut escriure l'Ãndex" -#: sequencer.c:3090 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "no s'ha pogut resoldre «%s»" -#: sequencer.c:3118 +#: sequencer.c:3379 #, fuzzy msgid "cannot merge without a current revision" msgstr "No es pot «%s» sense una comissió prèvia" -#: sequencer.c:3140 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "no s'ha pogut analitzar «%.*s»" -#: sequencer.c:3149 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "no hi ha res per fusionar «%.*s»" -#: sequencer.c:3161 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "" -#: sequencer.c:3176 +#: sequencer.c:3437 #, fuzzy, c-format msgid "could not get commit message of '%s'" msgstr "no s'ha pogut llegir el missatge de comissió: %s" -#: sequencer.c:3325 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "no s'ha pogut fusionar «%.*s»" -#: sequencer.c:3341 +#: sequencer.c:3606 #, fuzzy msgid "merge: Unable to write new index file" msgstr "%s: No s'ha pogut escriure un fitxer d'Ãndex nou" -#: sequencer.c:3409 builtin/rebase.c:298 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "S'ha aplicat el «stash» automà ticament.\n" -#: sequencer.c:3421 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "no es pot emmagatzemar %s" -#: sequencer.c:3424 builtin/rebase.c:314 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -5478,31 +6450,31 @@ msgstr "" "Els vostres canvis estan segurs en el «stash».\n" "Podeu executar \"git stash pop\" o \"git stash drop\" en qualsevol moment.\n" -#: sequencer.c:3478 +#: sequencer.c:3751 #, fuzzy, c-format msgid "could not checkout %s" msgstr "no es pot agafar %s" -#: sequencer.c:3492 +#: sequencer.c:3765 #, fuzzy, c-format msgid "%s: not a valid OID" msgstr "«%s» no és un terme và lid" -#: sequencer.c:3497 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "no s'ha pogut separar HEAD" -#: sequencer.c:3512 +#: sequencer.c:3785 #, fuzzy, c-format msgid "Stopped at HEAD\n" msgstr "Aturat a %s... %.*s\n" -#: sequencer.c:3514 +#: sequencer.c:3787 #, fuzzy, c-format msgid "Stopped at %s\n" msgstr "Aturat a %s... %.*s\n" -#: sequencer.c:3522 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -5515,48 +6487,48 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:3597 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Aturat a %s... %.*s\n" -#: sequencer.c:3677 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "ordre %d desconeguda" -#: sequencer.c:3723 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "No s'ha pogut llegir orig-head" -#: sequencer.c:3728 sequencer.c:4805 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "no s'ha pogut llegir 'onto'" -#: sequencer.c:3742 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "no s'ha pogut actualitzar HEAD a %s" -#: sequencer.c:3831 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "No es pot fer «rebase»: teniu canvis «unstaged»." -#: sequencer.c:3840 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "no es pot esmenar una comissió no existent" -#: sequencer.c:3842 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "fitxer no và lid: «%s»" -#: sequencer.c:3844 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "contingut no và lid: «%s»" -#: sequencer.c:3847 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -5566,107 +6538,59 @@ msgstr "" "Teniu canvis no comesos en el vostre arbre de treball. \n" "Primer cometeu-los i després executeu 'git rebase --continue' de nou." -#: sequencer.c:3883 sequencer.c:3921 +#: sequencer.c:4167 sequencer.c:4205 #, fuzzy, c-format msgid "could not write file: '%s'" msgstr "no s'ha pogut crear el fitxer «%s»" -#: sequencer.c:3936 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "No s'ha pogut eliminar CHERRY_PICK_HEAD" -#: sequencer.c:3943 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "No s'han pogut cometre els canvis «staged»." -#: sequencer.c:4044 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: no es pot fer «cherry pick» a %s" -#: sequencer.c:4048 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: revisió incorrecta" -#: sequencer.c:4083 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "no es pot revertir com a comissió inicial" -#: sequencer.c:4529 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: opcions no gestionades" -#: sequencer.c:4532 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: s'ha produït un error en preparar les revisions" -#: sequencer.c:4573 sequencer.c:4629 sequencer.c:4904 -#, c-format -msgid "unusable todo list: '%s'" -msgstr "llista per a fer inestable: «%s»" - -#: sequencer.c:4684 -#, c-format -msgid "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring." -msgstr "No s'ha reconegut el parà metre %s per rebase.missingCommitsCheck. S'està ignorant." - -#: sequencer.c:4754 -#, c-format +#: sequencer.c:4971 msgid "" -"Warning: some commits may have been dropped accidentally.\n" -"Dropped commits (newer to older):\n" -msgstr "" -"Advertència: pot ser que algunes comissions s'hagin descartat accidentalment.\n" -"Les comissions descartades (més nova a més vella):\n" - -#: sequencer.c:4761 -#, c-format -msgid "" -"To avoid this message, use \"drop\" to explicitly remove a commit.\n" -"\n" -"Use 'git config rebase.missingCommitsCheck' to change the level of warnings.\n" -"The possible behaviours are: ignore, warn, error.\n" -"\n" -msgstr "" -"Per a evitar aquest missatge, useu \"drop\" per a eliminar explÃcitament una comissió.\n" -"\n" -"Useu 'git config rebase.missingCommitsCheck' per a canviar el nivell d'advertències.\n" -"Els comportaments possibles són: ignore, warn, error.\n" - -#: sequencer.c:4774 -#, c-format -msgid "" -"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.\n" +"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" +"continue'.\n" "Or you can abort the rebase with 'git rebase --abort'.\n" -msgstr "Podeu arreglar això amb 'git rebase --edit-todo' i després 'git rebase --continue'.\n" +msgstr "" +"Podeu arreglar això amb 'git rebase --edit-todo' i després 'git rebase --" +"continue'.\n" -#: sequencer.c:4912 sequencer.c:4950 -#, fuzzy +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" -msgstr "Res a fer" +msgstr "res a fer" -#: sequencer.c:4916 -#, fuzzy, c-format -msgid "Rebase %s onto %s (%d command)" -msgid_plural "Rebase %s onto %s (%d commands)" -msgstr[0] "Rebasa $shortrevisions sobre $shortonto ($todocount ordre)" -msgstr[1] "Rebasa $shortrevisions sobre $shortonto ($todocount ordres)" - -#: sequencer.c:4928 -#, c-format -msgid "could not copy '%s' to '%s'." -msgstr "no s'ha pogut copiar «%s» a «%s»." - -#: sequencer.c:4932 sequencer.c:4961 -msgid "could not transform the todo list" -msgstr "no s'ha pogut transformar la llista per a fer" - -#: sequencer.c:4964 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "no s'han pogut ometre les ordres «picks» no necessà ries" -#: sequencer.c:5047 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "l'script ja estava endreçat." @@ -5675,32 +6599,34 @@ msgstr "l'script ja estava endreçat." msgid "'%s' is outside repository" msgstr "«%s» és fora del dipòsit" -#: setup.c:172 +#: setup.c:173 #, c-format msgid "" "%s: no such path in the working tree.\n" "Use 'git <command> -- <path>...' to specify paths that do not exist locally." msgstr "" "%s: no hi ha tal camà en l'arbre de treball.\n" -"Useu 'git <ordre> -- <camÃ>...' per a especificar camins que no existeixin localment." +"Useu «git <ordre> -- <camÃ>...» per a especificar camins que no existeixin " +"localment." -#: setup.c:185 +#: setup.c:186 #, 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 <command> [<revision>...] -- [<file>...]'" msgstr "" -"parà metre ambigu «%s»: revisió no coneguda o el camà no és en l'arbre de treball.\n" -"Useu '--' per a separar els camins de les revisions, com això:\n" +"parà metre ambigu «%s»: revisió no coneguda o el camà no és en l'arbre de " +"treball.\n" +"Useu «--» per a separar els camins de les revisions:\n" "'git <ordre> [<revisió>...] -- [<fitxer>...]'" -#: setup.c:234 +#: setup.c:235 #, c-format msgid "option '%s' must come before non-option arguments" msgstr "l'opció «%s» ha de venir abans dels arguments opcionals" -#: setup.c:253 +#: setup.c:254 #, c-format msgid "" "ambiguous argument '%s': both revision and filename\n" @@ -5708,399 +6634,411 @@ msgid "" "'git <command> [<revision>...] -- [<file>...]'" 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" +"Useu '--' per a separar els camins de les revisions:\n" "'git <ordre> [<revisió>...] -- [<fitxer>...]'" -#: setup.c:389 +#: setup.c:390 msgid "unable to set up work tree using invalid config" -msgstr "no s'ha pogut configurar un arbre de treball utilitzant una configuració no và lida" +msgstr "" +"no s'ha pogut configurar un arbre de treball utilitzant una configuració no " +"và lida" -#: setup.c:393 +#: setup.c:394 msgid "this operation must be run in a work tree" msgstr "aquesta operació s'ha d'executar en un arbre de treball" -#: setup.c:527 +#: setup.c:540 #, 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:535 +#: setup.c:548 msgid "unknown repository extensions found:" msgstr "s'han trobat extensions de dipòsit desconegudes:" -#: setup.c:554 +#: setup.c:567 #, c-format msgid "error opening '%s'" msgstr "s'ha produït un error en obrir «%s»" -#: setup.c:556 +#: setup.c:569 #, c-format msgid "too large to be a .git file: '%s'" msgstr "massa larg per a ser un fitxer .git: «%s»" -#: setup.c:558 +#: setup.c:571 #, c-format msgid "error reading %s" msgstr "error en llegir %s" -#: setup.c:560 +#: setup.c:573 #, c-format msgid "invalid gitfile format: %s" msgstr "format gitfile no và lid: %s" -#: setup.c:562 +#: setup.c:575 #, c-format msgid "no path in gitfile: %s" msgstr "sense camà al gitfile: %s" -#: setup.c:564 +#: setup.c:577 #, c-format msgid "not a git repository: %s" msgstr "no és un dipòsit de git: %s" -#: setup.c:663 +#: setup.c:676 #, c-format msgid "'$%s' too big" msgstr "«$%s» massa gran" -#: setup.c:677 +#: setup.c:690 #, c-format msgid "not a git repository: '%s'" msgstr "no és un dipòsit de git: «%s»" -#: setup.c:706 setup.c:708 setup.c:739 +#: setup.c:719 setup.c:721 setup.c:752 #, c-format msgid "cannot chdir to '%s'" msgstr "no es pot canviar de directori a «%s»" -#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824 +#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837 msgid "cannot come back to cwd" msgstr "no es pot tornar al directori de treball actual" -#: setup.c:838 +#: setup.c:851 #, c-format msgid "failed to stat '%*s%s%s'" msgstr "s'ha produït un error en fer stat a «%*s%s%s»" -#: setup.c:1068 +#: setup.c:1083 msgid "Unable to read current working directory" msgstr "No s'ha pogut llegir el directori de treball actual" -#: setup.c:1077 setup.c:1083 +#: setup.c:1092 setup.c:1098 #, c-format msgid "cannot change to '%s'" msgstr "no es pot canviar a «%s»" -#: setup.c:1088 +#: setup.c:1103 #, c-format msgid "not a git repository (or any of the parent directories): %s" msgstr "no és un dipòsit de git (ni cap dels directoris pares): %s" -#: setup.c:1094 +#: setup.c:1109 #, 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 al punt de muntatge %s)\n" -"S'atura a la frontera de sistema de fitxers (GIT_DISCOVERY_ACROSS_FILESYSTEM no està establert)." +"S'atura a la frontera de sistema de fitxers (GIT_DISCOVERY_ACROSS_FILESYSTEM " +"no està establert)." -#: setup.c:1204 +#: setup.c:1220 #, c-format msgid "" "problem with core.sharedRepository filemode value (0%.3o).\n" "The owner of files must always have read and write permissions." msgstr "" -"hi ha un problema amb el valor de mode de fitxer core.sharedRepository (0%.3o).\n" -"El propietari dels fitxers sempre ha de tenir permisos de lectura i escriptura." +"hi ha un problema amb el valor de mode de fitxer core.sharedRepository " +"(0%.3o).\n" +"El propietari dels fitxers sempre ha de tenir permisos de lectura i " +"escriptura." -#: setup.c:1247 +#: setup.c:1264 msgid "open /dev/null or dup failed" msgstr "s'ha produït un error en obrir /dev/null o dup" -#: setup.c:1262 +#: setup.c:1279 msgid "fork failed" msgstr "el «fork» ha fallat" -#: setup.c:1267 +#: setup.c:1284 msgid "setsid failed" msgstr "l'«stash» ha fallat" -#: sha1-file.c:445 +#: sha1-file.c:453 #, c-format msgid "object directory %s does not exist; check .git/objects/info/alternates" msgstr "" -#: sha1-file.c:496 +#: sha1-file.c:504 #, fuzzy, c-format msgid "unable to normalize alternate object path: %s" msgstr "no s'ha pogut analitzar l'objecte: %s" -#: sha1-file.c:568 +#: sha1-file.c:576 #, c-format msgid "%s: ignoring alternate object stores, nesting too deep" msgstr "" -#: sha1-file.c:575 +#: sha1-file.c:583 #, fuzzy, c-format msgid "unable to normalize object directory: %s" msgstr "no s'ha pogut analitzar l'objecte: %s" -#: sha1-file.c:618 +#: sha1-file.c:626 #, fuzzy msgid "unable to fdopen alternates lockfile" msgstr "no s'han pogut escriure els parà metres al fitxer de configuració" -#: sha1-file.c:636 +#: sha1-file.c:644 #, fuzzy msgid "unable to read alternates file" msgstr "no es pot llegir el fitxer d'Ãndex" -#: sha1-file.c:643 +#: sha1-file.c:651 #, fuzzy msgid "unable to move new alternates file into place" msgstr "no s'ha pogut escriure un fitxer d'Ãndex nou" -#: sha1-file.c:678 +#: sha1-file.c:686 #, c-format msgid "path '%s' does not exist" msgstr "el camà «%s» no existeix" -#: sha1-file.c:704 +#: sha1-file.c:712 #, 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." +msgstr "" +"Encara no se suporta el dipòsit de referència «%s» com a agafament enllaçat." -#: sha1-file.c:710 +#: sha1-file.c:718 #, 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." -#: sha1-file.c:716 +#: sha1-file.c:724 #, c-format msgid "reference repository '%s' is shallow" msgstr "el dipòsit de referència «%s» és superficial" -#: sha1-file.c:724 +#: sha1-file.c:732 #, c-format msgid "reference repository '%s' is grafted" msgstr "el dipòsit de referència «%s» és empeltat" -#: sha1-file.c:838 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "" + +#: sha1-file.c:943 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "" -#: sha1-file.c:863 +#: sha1-file.c:968 msgid "mmap failed" msgstr "mmap ha fallat" -#: sha1-file.c:1027 +#: sha1-file.c:1132 #, c-format msgid "object file %s is empty" msgstr "el tipus d'objecte %s és buit" -#: sha1-file.c:1151 sha1-file.c:2288 +#: sha1-file.c:1256 sha1-file.c:2395 #, fuzzy, c-format msgid "corrupt loose object '%s'" msgstr "no s'ha pogut analitzar l'objecte «%s»" -#: sha1-file.c:1153 sha1-file.c:2292 +#: sha1-file.c:1258 sha1-file.c:2399 #, fuzzy, c-format msgid "garbage at end of loose object '%s'" msgstr "no s'ha pogut analitzar l'objecte: %s" -#: sha1-file.c:1195 +#: sha1-file.c:1300 #, fuzzy msgid "invalid object type" msgstr "el tipus d'objecte és incorrecte." -#: sha1-file.c:1279 +#: sha1-file.c:1384 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1282 +#: sha1-file.c:1387 #, fuzzy, c-format msgid "unable to unpack %s header" msgstr "no s'ha pogut actualitzar %s" -#: sha1-file.c:1288 +#: sha1-file.c:1393 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1291 +#: sha1-file.c:1396 #, fuzzy, c-format msgid "unable to parse %s header" msgstr "no s'ha pogut actualitzar %s" -#: sha1-file.c:1481 +#: sha1-file.c:1587 #, fuzzy, c-format msgid "failed to read object %s" msgstr "s'ha produït un error en llegir l'objecte «%s»." -#: sha1-file.c:1485 +#: sha1-file.c:1591 #, fuzzy, c-format msgid "replacement %s not found for %s" msgstr "no s'han trobat les plantilles %s" -#: sha1-file.c:1489 +#: sha1-file.c:1595 #, fuzzy, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "l'objecte local %s és malmès" -#: sha1-file.c:1493 +#: sha1-file.c:1599 #, fuzzy, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "l'objecte local %s és malmès" -#: sha1-file.c:1595 +#: sha1-file.c:1702 #, fuzzy, c-format msgid "unable to write file %s" msgstr "no s'ha pogut escriure %s" -#: sha1-file.c:1602 +#: sha1-file.c:1709 #, fuzzy, c-format msgid "unable to set permission to '%s'" msgstr "no s'ha pogut resoldre la revisió: %s" -#: sha1-file.c:1609 +#: sha1-file.c:1716 #, fuzzy msgid "file write error" msgstr "escriptura fallada al rev-list" -#: sha1-file.c:1628 +#: sha1-file.c:1735 #, fuzzy msgid "error when closing loose object file" msgstr "error en tancar el fitxer de paquet" -#: sha1-file.c:1693 +#: sha1-file.c:1800 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" -#: sha1-file.c:1695 +#: sha1-file.c:1802 #, fuzzy msgid "unable to create temporary file" msgstr "no s'ha pogut crear un Ãndex temporal" -#: sha1-file.c:1719 +#: sha1-file.c:1826 #, fuzzy msgid "unable to write loose object file" msgstr "no s'ha pogut escriure l'objecte de nota" -#: sha1-file.c:1725 +#: sha1-file.c:1832 #, fuzzy, c-format msgid "unable to deflate new object %s (%d)" msgstr "no s'ha pogut desinflar l'objecte annexat (%d)" -#: sha1-file.c:1729 +#: sha1-file.c:1836 #, fuzzy, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "ha fallat fstat a %s" -#: sha1-file.c:1733 +#: sha1-file.c:1840 #, c-format msgid "confused by unstable object source data for %s" msgstr "" -#: sha1-file.c:1743 builtin/pack-objects.c:919 +#: sha1-file.c:1850 builtin/pack-objects.c:920 #, fuzzy, c-format msgid "failed utime() on %s" msgstr "s'ha produït un error en obrir «%s»" -#: sha1-file.c:1818 +#: sha1-file.c:1925 #, fuzzy, c-format msgid "cannot read object for %s" msgstr "no es pot llegir l'objecte %s" -#: sha1-file.c:1858 +#: sha1-file.c:1965 #, fuzzy msgid "corrupt commit" msgstr "autor corregit de la comissió" -#: sha1-file.c:1866 +#: sha1-file.c:1973 #, fuzzy msgid "corrupt tag" msgstr "informa de les etiquetes" -#: sha1-file.c:1965 +#: sha1-file.c:2072 #, fuzzy, c-format msgid "read error while indexing %s" msgstr "error en llegir %s" -#: sha1-file.c:1968 +#: sha1-file.c:2075 #, fuzzy, c-format msgid "short read while indexing %s" msgstr "no es pot llegir l'Ãndex" -#: sha1-file.c:2041 sha1-file.c:2050 +#: sha1-file.c:2148 sha1-file.c:2157 #, fuzzy, c-format msgid "%s: failed to insert into database" msgstr "gpg ha fallat en signar les dades" -#: sha1-file.c:2056 +#: sha1-file.c:2163 #, fuzzy, c-format msgid "%s: unsupported file type" msgstr "versió d'Ãndex no compatible %s" -#: sha1-file.c:2080 +#: sha1-file.c:2187 #, fuzzy, c-format msgid "%s is not a valid object" msgstr "«%s» no és una terme và lid" -#: sha1-file.c:2082 +#: sha1-file.c:2189 #, fuzzy, c-format msgid "%s is not a valid '%s' object" msgstr "%s no és un objecte de «%s» và lid" -#: sha1-file.c:2109 builtin/index-pack.c:154 +#: sha1-file.c:2216 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "no s'ha pogut obrir %s" -#: sha1-file.c:2299 sha1-file.c:2351 +#: sha1-file.c:2406 sha1-file.c:2458 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "" -#: sha1-file.c:2323 +#: sha1-file.c:2430 #, fuzzy, c-format msgid "unable to mmap %s" msgstr "no s'ha pogut obrir %s" -#: sha1-file.c:2328 +#: sha1-file.c:2435 #, fuzzy, c-format msgid "unable to unpack header of %s" msgstr "no s'ha pogut actualitzar %s" -#: sha1-file.c:2334 +#: sha1-file.c:2441 #, fuzzy, c-format msgid "unable to parse header of %s" msgstr "no s'ha pogut llegir %s" -#: sha1-file.c:2345 +#: sha1-file.c:2452 #, fuzzy, c-format msgid "unable to unpack contents of %s" msgstr "no s'ha pogut analitzar el contacte: %s" -#: sha1-name.c:448 +#: sha1-name.c:490 #, c-format msgid "short SHA1 %s is ambiguous" msgstr "l'SHA1 %s curt és ambigu" -#: sha1-name.c:459 +#: sha1-name.c:501 msgid "The candidates are:" msgstr "Els candidats són:" -#: sha1-name.c:742 +#: sha1-name.c:800 +#, fuzzy msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -6118,9 +7056,63 @@ msgstr "" "suprimiu-les. Desactiveu aquest missatge executant\n" "«git config advice.objectNameWarning false»" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, fuzzy, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u byte" +msgstr[1] "%u bytes" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, fuzzy, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "octets" +msgstr[1] "octets" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" -msgstr "No es pot canviar un .gitmodules no fusionat, primer resoleu els conflictes de fusió" +msgstr "" +"No es pot canviar un .gitmodules no fusionat, primer resoleu els conflictes " +"de fusió" #: submodule.c:118 submodule.c:147 #, c-format @@ -6139,68 +7131,71 @@ msgstr "l'allistament del .gitmodules actualitzat ha fallat" #: submodule.c:327 #, c-format msgid "in unpopulated submodule '%s'" -msgstr "al submòdul no populat «%s»" +msgstr "al submòdul sense popular «%s»" #: submodule.c:358 #, c-format msgid "Pathspec '%s' is in submodule '%.*s'" msgstr "L'especificació «%s» és en el submòdul «%.*s»" -#: submodule.c:906 +#: submodule.c:910 #, c-format msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "l'entrada del submòdul «%s» (%s) és a %s, no és una comissió" -#: submodule.c:1143 builtin/branch.c:656 builtin/submodule--helper.c:1989 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "S'ha produït un error en resoldre HEAD com a referència và lida." -#: submodule.c:1477 +#: submodule.c:1481 #, fuzzy, c-format msgid "Could not access submodule '%s'" msgstr "s'ha produït un error en cercar recursivament al camà de submòdul «%s»" -#: submodule.c:1639 +#: submodule.c:1651 #, c-format msgid "'%s' not recognized as a git repository" msgstr "«%s» no reconegut com un dipòsit git" -#: submodule.c:1777 +#: submodule.c:1789 #, c-format msgid "could not start 'git status' in submodule '%s'" msgstr "no s'ha pogut iniciar «git status» al submòdul «%s»" -#: submodule.c:1790 +#: submodule.c:1802 #, c-format msgid "could not run 'git status' in submodule '%s'" msgstr "no s'ha pogut executar 'git status' al submòdul «%s»" -#: submodule.c:1805 +#: submodule.c:1817 #, fuzzy, c-format msgid "Could not unset core.worktree setting in submodule '%s'" msgstr "no s'ha pogut executar 'git status' al submòdul «%s»" -#: submodule.c:1895 +#: submodule.c:1907 #, c-format msgid "submodule '%s' has dirty index" msgstr "el submòdul «%s» té l'Ãndex brut" -#: submodule.c:1947 +#: submodule.c:1959 #, fuzzy, c-format msgid "Submodule '%s' could not be updated." msgstr "Submòduls canviats però no actualitzats:" -#: submodule.c:1996 +#: submodule.c:2007 #, c-format -msgid "relocate_gitdir for submodule '%s' with more than one worktree not supported" -msgstr "no està admès relocate_gitdir per al submòdul «%s» amb més d'un arbre de treball" +msgid "" +"relocate_gitdir for submodule '%s' with more than one worktree not supported" +msgstr "" +"no està admès relocate_gitdir per al submòdul «%s» amb més d'un arbre de " +"treball" -#: submodule.c:2008 submodule.c:2064 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "no s'ha trobat el nom pel submòdul «%s»" -#: submodule.c:2015 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -6211,16 +7206,16 @@ msgstr "" "«%s» a\n" "«%s»\n" -#: submodule.c:2099 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "s'ha produït un error en cercar recursivament al camà de submòdul «%s»" -#: submodule.c:2143 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "no s'ha pogut iniciar ls-files a .." -#: submodule.c:2182 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree ha retornat un codi de retorn %d no esperat" @@ -6230,21 +7225,21 @@ msgstr "ls-tree ha retornat un codi de retorn %d no esperat" msgid "ignoring suspicious submodule name: %s" msgstr "s'està ignorant la referència amb nom malmès %s" -#: submodule-config.c:296 +#: submodule-config.c:299 msgid "negative values not allowed for submodule.fetchjobs" msgstr "no es permeten els valors negatius a submodule.fetchjobs" -#: submodule-config.c:390 +#: submodule-config.c:397 #, c-format msgid "ignoring '%s' which may be interpreted as a command-line option: %s" msgstr "" -#: submodule-config.c:479 +#: submodule-config.c:486 #, c-format msgid "invalid value for %s" msgstr "valor no và lid per a %s" -#: submodule-config.c:754 +#: submodule-config.c:755 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s" @@ -6254,7 +7249,8 @@ msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s" msgid "running trailer command '%s' failed" msgstr "l'execució de l'ordre de remolc «%s» ha fallat" -#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553 trailer.c:557 +#: trailer.c:485 trailer.c:490 trailer.c:495 trailer.c:549 trailer.c:553 +#: trailer.c:557 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "valor desconegut «%s» per a la clau «%s»" @@ -6317,30 +7313,38 @@ msgstr "no s'ha pogut llegir el fitxer «%s»" msgid "transport: invalid depth option '%s'" msgstr "transport: opció de profunditat no và lida «%s»" -#: transport.c:617 +#: transport.c:259 +msgid "see protocol.version in 'git help config' for more details" +msgstr "" + +#: transport.c:260 +msgid "server options require protocol version 2 or later" +msgstr "" + +#: transport.c:625 #, fuzzy msgid "could not parse transport.color.* config" msgstr "no s'ha pogut analitzar l'script d'autor" -#: transport.c:690 +#: transport.c:698 msgid "support for protocol v2 not implemented yet" msgstr "" -#: transport.c:817 +#: transport.c:825 #, fuzzy, c-format msgid "unknown value for config '%s': %s" msgstr "valor desconegut «%s» per a la clau «%s»" -#: transport.c:883 +#: transport.c:891 #, fuzzy, c-format msgid "transport '%s' not allowed" msgstr "no s'ha trobat la branca «%s»." -#: transport.c:937 +#: transport.c:945 msgid "git-over-rsync is no longer supported" msgstr "" -#: transport.c:1032 +#: transport.c:1040 #, c-format msgid "" "The following submodule paths contain changes that can\n" @@ -6349,7 +7353,7 @@ msgstr "" "Els camins de submòdul següents contenen canvis que no\n" "es poden trobar en cap remot:\n" -#: transport.c:1036 +#: transport.c:1044 #, c-format msgid "" "\n" @@ -6375,189 +7379,186 @@ msgstr "" "\n" "per a pujar-los a un remot.\n" -#: transport.c:1044 +#: transport.c:1052 msgid "Aborting." msgstr "S'està avortant." -#: transport.c:1184 +#: transport.c:1193 #, fuzzy msgid "failed to push all needed submodules" msgstr "s'ha produït un error en cercar recursivament al submòdul «%s»" -#: transport.c:1317 transport-helper.c:643 +#: transport.c:1340 transport-helper.c:645 #, fuzzy msgid "operation not supported by protocol" msgstr "opció no admesa amb --recurse-submodules." -#: transport.c:1421 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "" - #: transport-helper.c:51 transport-helper.c:80 #, fuzzy msgid "full write to remote helper failed" msgstr "imprimeix l'estat des de l'ajudant remot" -#: transport-helper.c:132 +#: transport-helper.c:134 #, fuzzy, c-format msgid "unable to find remote helper for '%s'" msgstr "No s'ha pogut afegir el resultat de fusió per a «%s»" -#: transport-helper.c:148 transport-helper.c:557 +#: transport-helper.c:150 transport-helper.c:559 msgid "can't dup helper output fd" msgstr "" -#: transport-helper.c:199 +#: transport-helper.c:201 #, c-format -msgid "unknown mandatory capability %s; this remote helper probably needs newer version of Git" +msgid "" +"unknown mandatory capability %s; this remote helper probably needs newer " +"version of Git" msgstr "" -#: transport-helper.c:205 +#: transport-helper.c:207 msgid "this remote helper should implement refspec capability" msgstr "" -#: transport-helper.c:272 transport-helper.c:412 +#: transport-helper.c:274 transport-helper.c:414 #, fuzzy, c-format msgid "%s unexpectedly said: '%s'" msgstr "blob esperat per a %s «%s»" -#: transport-helper.c:401 +#: transport-helper.c:403 #, c-format msgid "%s also locked %s" msgstr "%s també ha bloquejat %s" -#: transport-helper.c:479 +#: transport-helper.c:481 #, fuzzy msgid "couldn't run fast-import" msgstr "no s'ha pogut executar «stash»." -#: transport-helper.c:502 +#: transport-helper.c:504 #, fuzzy msgid "error while running fast-import" msgstr "error en tancar el fitxer de paquet" -#: transport-helper.c:531 transport-helper.c:1097 +#: transport-helper.c:533 transport-helper.c:1105 #, fuzzy, c-format msgid "could not read ref %s" msgstr "No s'ha pogut llegir la referència %s" -#: transport-helper.c:576 +#: transport-helper.c:578 #, fuzzy, c-format msgid "unknown response to connect: %s" msgstr "opció desconeguda: %s\n" -#: transport-helper.c:598 +#: transport-helper.c:600 msgid "setting remote service path not supported by protocol" msgstr "" -#: transport-helper.c:600 +#: transport-helper.c:602 #, fuzzy msgid "invalid remote service path" msgstr "referència no và lida: %s" -#: transport-helper.c:646 +#: transport-helper.c:648 #, c-format msgid "can't connect to subservice %s" msgstr "" -#: transport-helper.c:718 +#: transport-helper.c:720 #, fuzzy, c-format msgid "expected ok/error, helper said '%s'" msgstr "blob esperat per a %s «%s»" -#: transport-helper.c:771 +#: transport-helper.c:773 #, fuzzy, c-format msgid "helper reported unexpected status of %s" msgstr "ls-tree ha retornat un codi de retorn %d no esperat" -#: transport-helper.c:832 +#: transport-helper.c:834 #, fuzzy, c-format msgid "helper %s does not support dry-run" msgstr "El servidor no admet --deepen" -#: transport-helper.c:835 +#: transport-helper.c:837 #, fuzzy, c-format msgid "helper %s does not support --signed" msgstr "El servidor no admet --shallow-since" -#: transport-helper.c:838 +#: transport-helper.c:840 #, fuzzy, c-format msgid "helper %s does not support --signed=if-asked" msgstr "el destà receptor no admet pujar --signed" -#: transport-helper.c:845 +#: transport-helper.c:847 #, fuzzy, c-format msgid "helper %s does not support 'push-option'" msgstr "el destà receptor no admet opcions de pujada" -#: transport-helper.c:937 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "" -#: transport-helper.c:942 +#: transport-helper.c:950 #, fuzzy, c-format msgid "helper %s does not support 'force'" msgstr "El servidor no admet --deepen" -#: transport-helper.c:989 +#: transport-helper.c:997 #, fuzzy msgid "couldn't run fast-export" msgstr "no s'ha pogut executar «stash»." -#: transport-helper.c:994 +#: transport-helper.c:1002 #, fuzzy msgid "error while running fast-export" msgstr "error en tancar el fitxer de paquet" -#: transport-helper.c:1019 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" "Perhaps you should specify a branch such as 'master'.\n" msgstr "" -#: transport-helper.c:1083 +#: transport-helper.c:1091 #, fuzzy, c-format msgid "malformed response in ref list: %s" msgstr "full d'opcions mal format: «%s»" -#: transport-helper.c:1236 +#: transport-helper.c:1244 #, fuzzy, c-format msgid "read(%s) failed" msgstr "%s ha fallat" -#: transport-helper.c:1263 +#: transport-helper.c:1271 #, fuzzy, c-format msgid "write(%s) failed" msgstr "%s ha fallat" -#: transport-helper.c:1312 +#: transport-helper.c:1320 #, fuzzy, c-format msgid "%s thread failed" msgstr "%s ha fallat" -#: transport-helper.c:1316 +#: transport-helper.c:1324 #, fuzzy, c-format msgid "%s thread failed to join: %s" msgstr "s'ha produït un error en obrir «%s»" -#: transport-helper.c:1335 transport-helper.c:1339 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "" -#: transport-helper.c:1376 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "" -#: transport-helper.c:1380 +#: transport-helper.c:1388 #, fuzzy, c-format msgid "%s process failed" msgstr "%s ha fallat" -#: transport-helper.c:1398 transport-helper.c:1407 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "" @@ -6573,7 +7574,7 @@ msgstr "mode mal format en entrada d'arbre" msgid "empty filename in tree entry" msgstr "nom de fitxer buit en una entrada d'arbre" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "fitxer d'arbre massa curt" @@ -6583,7 +7584,8 @@ 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" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"agafar:\n" "%%sCometeu els vostres canvis o feu «stash» abans de canviar de branca." #: unpack-trees.c:113 @@ -6592,7 +7594,8 @@ 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" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"agafar:\n" "%%s" #: unpack-trees.c:116 @@ -6601,7 +7604,8 @@ 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" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"fusionar:\n" "%%sCometeu els vostres canvis o feu «stash» abans de fusionar." #: unpack-trees.c:118 @@ -6610,7 +7614,8 @@ 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" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"fusionar:\n" "%%s" #: unpack-trees.c:121 @@ -6646,7 +7651,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"agafar:\n" "%%sMoveu-los o elimineu-los abans de canviar de branca." #: unpack-trees.c:134 @@ -6655,7 +7661,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"agafar:\n" "%%s" #: unpack-trees.c:137 @@ -6664,7 +7671,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"fusionar:\n" "%%sMoveu-los o elimineu-los abans de fusionar." #: unpack-trees.c:139 @@ -6673,7 +7681,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"fusionar:\n" "%%s" #: unpack-trees.c:142 @@ -6697,19 +7706,23 @@ msgstr "" #: unpack-trees.c:150 #, c-format msgid "" -"The following untracked working tree files would be overwritten by checkout:\n" +"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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"agafar:\n" "%%sMoveu-los o elimineu-los abans de canviar de branca." #: unpack-trees.c:152 #, c-format msgid "" -"The following untracked working tree files would be overwritten by checkout:\n" +"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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"agafar:\n" "%%s" #: unpack-trees.c:155 @@ -6718,7 +7731,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"fusionar:\n" "%%sMoveu-los o elimineu-los abans de fusionar." #: unpack-trees.c:157 @@ -6727,7 +7741,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"fusionar:\n" "%%s" #: unpack-trees.c:160 @@ -6736,7 +7751,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"%s:\n" "%%sMoveu-los o elimineu-los abans de %s." #: unpack-trees.c:162 @@ -6745,7 +7761,8 @@ 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" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"%s:\n" "%%s" #: unpack-trees.c:170 @@ -6759,25 +7776,30 @@ 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" +"No es pot actualitzar l'agafament parcial: les entrades següents no estan al " +"dia:\n" "%s" #: unpack-trees.c:175 #, c-format msgid "" -"The following working tree files would be overwritten by sparse checkout update:\n" +"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" +"Els fitxers següents en l'arbre de treball se sobreescriurien per " +"actualitzar l'agafament parcial:\n" "%s" #: unpack-trees.c:177 #, c-format msgid "" -"The following working tree files would be removed by sparse checkout update:\n" +"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" +"Els fitxers següents en l'arbre de treball s'eliminarien per actualitzar " +"l'agafament parcial:\n" "%s" #: unpack-trees.c:179 @@ -6789,16 +7811,17 @@ msgstr "" "No es pot actualitzar el submòdul:\n" "%s" -#: unpack-trees.c:253 +#: unpack-trees.c:256 #, c-format msgid "Aborting\n" msgstr "S'està avortant\n" -#: unpack-trees.c:335 -msgid "Checking out files" -msgstr "S'estan agafant fitxers" +#: unpack-trees.c:318 +#, fuzzy +msgid "Updating files" +msgstr "S'està actualitzant %s" -#: unpack-trees.c:367 +#: unpack-trees.c:350 msgid "" "the following paths have collided (e.g. case-sensitive paths\n" "on a case-insensitive filesystem) and only one from the same\n" @@ -6834,32 +7857,32 @@ msgstr "número de port no và lid" msgid "invalid '..' path segment" msgstr "segment de camà '..' no và lid" -#: worktree.c:249 builtin/am.c:2094 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "s'ha produït un error en llegir «%s»" -#: worktree.c:295 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" -#: worktree.c:306 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" -#: worktree.c:318 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "«%s» no existeix" -#: worktree.c:324 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "«%s» no és un fitxer .git, codi d'error %d" -#: worktree.c:332 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "«%s» no assenyala de tornada a «%s»" @@ -6878,148 +7901,160 @@ msgstr "no s'ha pogut accedir a «%s»" msgid "unable to get current working directory" msgstr "no s'ha pogut obtenir el directori de treball actual" -#: wt-status.c:155 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Camins sense fusionar:" -#: wt-status.c:182 wt-status.c:209 -#, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" +#: wt-status.c:187 wt-status.c:219 +#, fuzzy +msgid " (use \"git restore --staged <file>...\" to unstage)" msgstr " (useu \"git reset %s <fitxer>...\" per a fer «unstage»)" -#: wt-status.c:184 wt-status.c:211 +#: wt-status.c:190 wt-status.c:222 +#, fuzzy, c-format +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr " (useu \"git reset %s <fitxer>...\" per a fer «unstage»)" + +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (useu \"git rm --cached <fitxer>...\" per a fer «unstage»)" -#: wt-status.c:188 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (useu \"git add <fitxer>...\" per a senyalar resolució)" -#: wt-status.c:190 wt-status.c:194 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" -msgstr " (useu \"git add/rm <fitxer>...\" segons sigui apropiat per a senyalar resolució)" +msgstr "" +" (useu \"git add/rm <fitxer>...\" segons sigui apropiat per a senyalar " +"resolució)" -#: wt-status.c:192 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (useu \"git rm <fitxer>...\" per a senyalar resolució)" -#: wt-status.c:203 wt-status.c:1046 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Canvis a cometre:" -#: wt-status.c:221 wt-status.c:1055 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Canvis no «staged» per a cometre:" -#: wt-status.c:225 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr " (useu \"git add <fitxer>...\" per a actualitzar què es cometrà )" -#: wt-status.c:227 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr " (useu \"git add/rm <fitxer>...\" per a actualitzar què es cometrà )" -#: wt-status.c:228 -msgid " (use \"git checkout -- <file>...\" to discard changes in working directory)" -msgstr " (useu \"git checkout -- <fitxer>...\" per a descartar els canvis en el directori de treball)" +#: wt-status.c:241 +#, fuzzy +msgid "" +" (use \"git restore <file>...\" to discard changes in working directory)" +msgstr "" +" (useu \"git checkout -- <fitxer>...\" per a descartar els canvis en el " +"directori de treball)" -#: wt-status.c:230 +#: wt-status.c:243 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)" +msgstr "" +" (cometeu o descarteu el contingut modificat o no seguit en els submòduls)" -#: wt-status.c:242 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr " (useu \"git %s <fitxer>...\" per a incloure-ho en el que es cometrà )" -#: wt-status.c:257 +#: wt-status.c:268 msgid "both deleted:" msgstr "suprimit per ambdós:" -#: wt-status.c:259 +#: wt-status.c:270 msgid "added by us:" msgstr "afegit per nosaltres:" -#: wt-status.c:261 +#: wt-status.c:272 msgid "deleted by them:" msgstr "suprimit per ells:" -#: wt-status.c:263 +#: wt-status.c:274 msgid "added by them:" msgstr "afegit per ells:" -#: wt-status.c:265 +#: wt-status.c:276 msgid "deleted by us:" msgstr "suprimit per nosaltres:" -#: wt-status.c:267 +#: wt-status.c:278 msgid "both added:" msgstr "afegit per ambdós:" -#: wt-status.c:269 +#: wt-status.c:280 msgid "both modified:" msgstr "modificat per ambdós:" -#: wt-status.c:279 +#: wt-status.c:290 msgid "new file:" msgstr "fitxer nou:" -#: wt-status.c:281 +#: wt-status.c:292 msgid "copied:" msgstr "copiat:" -#: wt-status.c:283 +#: wt-status.c:294 msgid "deleted:" msgstr "suprimit:" -#: wt-status.c:285 +#: wt-status.c:296 msgid "modified:" msgstr "modificat:" -#: wt-status.c:287 +#: wt-status.c:298 msgid "renamed:" msgstr "canviat de nom:" -#: wt-status.c:289 +#: wt-status.c:300 msgid "typechange:" msgstr "canviat de tipus:" -#: wt-status.c:291 +#: wt-status.c:302 msgid "unknown:" msgstr "desconegut:" -#: wt-status.c:293 +#: wt-status.c:304 msgid "unmerged:" msgstr "sense fusionar:" -#: wt-status.c:373 +#: wt-status.c:384 msgid "new commits, " msgstr "comissions noves, " -#: wt-status.c:375 +#: wt-status.c:386 msgid "modified content, " msgstr "contingut modificat, " -#: wt-status.c:377 +#: wt-status.c:388 msgid "untracked content, " msgstr "contingut no seguit, " -#: wt-status.c:884 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "L'«stash» té actualment %d entrada" msgstr[1] "L'«stash» té actualment %d entrades" -#: wt-status.c:916 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Submòduls canviats però no actualitzats:" -#: wt-status.c:918 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Canvis de submòdul a cometre:" -#: wt-status.c:1000 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -7027,224 +8062,262 @@ msgstr "" "No modifiqueu o suprimiu la lÃnia de dalt.\n" "Tot el que hi ha a sota s'ignorarà ." -#: wt-status.c:1101 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Teniu camins sense fusionar." -#: wt-status.c:1104 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (arregleu els conflictes i executeu \"git commit\")" -#: wt-status.c:1106 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (useu \"git merge --abort\" per a avortar la fusió)" -#: wt-status.c:1110 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Tots els conflictes estan arreglats però encara esteu fusionant." -#: wt-status.c:1113 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (useu \"git commit\" per a concloure la fusió)" -#: wt-status.c:1122 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Esteu enmig d'una sessió am." -#: wt-status.c:1125 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "El pedaç actual està buit." -#: wt-status.c:1129 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (arregleu els conflictes i després executeu \"git am --continue\")" -#: wt-status.c:1131 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (useu \"git am --skip\" per a ometre aquest pedaç)" -#: wt-status.c:1133 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (useu \"git am --abort\" per a restaurar la branca original)" -#: wt-status.c:1264 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "Manca git-rebase-todo." -#: wt-status.c:1266 +#: wt-status.c:1311 msgid "No commands done." msgstr "No s'ha fet cap ordre." -#: wt-status.c:1269 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Última ordre feta (%d ordre feta):" msgstr[1] "Últimes ordres fetes (%d ordres fetes):" -#: wt-status.c:1280 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (vegeu més en el fitxer %s)" -#: wt-status.c:1285 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "No manca cap ordre." -#: wt-status.c:1288 +#: wt-status.c:1333 #, 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:1296 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (useu \"git rebase --edit-todo\" per a veure i editar)" -#: wt-status.c:1308 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Actualment esteu fent «rebase» de la branca «%s» en «%s»." -#: wt-status.c:1313 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Actualment esteu fent «rebase»." -#: wt-status.c:1326 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" -msgstr " (arregleu els conflictes i després executeu \"git rebase --continue\")" +msgstr "" +" (arregleu els conflictes i després executeu \"git rebase --continue\")" -#: wt-status.c:1328 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (useu \"git rebase --skip\" per a ometre aquest pedaç)" -#: wt-status.c:1330 +#: wt-status.c:1375 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:1337 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" -msgstr " (tots els conflictes estan arreglats: executeu \"git rebase --continue\")" +msgstr "" +" (tots els conflictes estan arreglats: executeu \"git rebase --continue\")" -#: wt-status.c:1341 +#: wt-status.c:1386 #, c-format -msgid "You are currently splitting a commit while rebasing branch '%s' on '%s'." -msgstr "Actualment esteu dividint una comissió mentre es fa «rebase» de la branca «%s» en «%s»." +msgid "" +"You are currently splitting a commit while rebasing branch '%s' on '%s'." +msgstr "" +"Actualment esteu dividint una comissió mentre es fa «rebase» de la branca " +"«%s» en «%s»." -#: wt-status.c:1346 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Actualment esteu dividint una comissió durant un «rebase»." -#: wt-status.c:1349 +#: wt-status.c:1394 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\")" +msgstr "" +" (Una vegada que el vostre directori de treball sigui net, executeu \"git " +"rebase --continue\")" -#: wt-status.c:1353 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." -msgstr "Actualment esteu editant una comissió mentre es fa «rebase» de la branca «%s» en «%s»." +msgstr "" +"Actualment esteu editant una comissió mentre es fa «rebase» de la branca " +"«%s» en «%s»." -#: wt-status.c:1358 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Actualment esteu editant una comissió durant un «rebase»." -#: wt-status.c:1361 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (useu \"git commit --amend\" per a esmenar la comissió actual)" -#: wt-status.c:1363 -msgid " (use \"git rebase --continue\" once you are satisfied with your changes)" -msgstr " (useu \"git rebase --continue\" una vegada que estigueu satisfet amb els vostres canvis)" +#: wt-status.c:1408 +msgid "" +" (use \"git rebase --continue\" once you are satisfied with your changes)" +msgstr "" +" (useu \"git rebase --continue\" una vegada que estigueu satisfet amb els " +"vostres canvis)" + +#: wt-status.c:1419 +#, fuzzy +msgid "Cherry-pick currently in progress." +msgstr "ni hi ha cap «cherry pick» ni cap reversió en curs" -#: wt-status.c:1372 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Actualment esteu fent «cherry pick» a la comissió %s." -#: wt-status.c:1377 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (arregleu els conflictes i executeu \"git cherry-pick --continue\")" -#: wt-status.c:1380 +#: wt-status.c:1432 +#, fuzzy +msgid " (run \"git cherry-pick --continue\" to continue)" +msgstr " (arregleu els conflictes i executeu \"git cherry-pick --continue\")" + +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" -msgstr " (tots els conflictes estan arreglats: executeu \"git cherry-pick --continue\")" +msgstr "" +" (tots els conflictes estan arreglats: executeu \"git cherry-pick --continue" +"\")" -#: wt-status.c:1382 +#: wt-status.c:1437 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 «cherry pick»)" +msgstr "" +" (useu \"git cherry-pick --abort\" per a cancel·lar l'operació de «cherry " +"pick»)" -#: wt-status.c:1390 +#: wt-status.c:1447 +#, fuzzy +msgid "Revert currently in progress." +msgstr "avorta la fusió en curs actual" + +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Actualment esteu revertint la comissió %s." -#: wt-status.c:1395 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (arregleu els conflictes i executeu \"git revert --continue\")" -#: wt-status.c:1398 +#: wt-status.c:1459 +#, fuzzy +msgid " (run \"git revert --continue\" to continue)" +msgstr " (arregleu els conflictes i executeu \"git revert --continue\")" + +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" -msgstr " (tots els conflictes estan arreglats: executeu \"git revert --continue\")" +msgstr "" +" (tots els conflictes estan arreglats: executeu \"git revert --continue\")" -#: wt-status.c:1400 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" -msgstr " (useu \"git revert --abort\" per a cancel·lar l'operació de reversió)" +msgstr "" +" (useu \"git revert --abort\" per a cancel·lar l'operació de reversió)" -#: wt-status.c:1410 +#: wt-status.c:1474 #, 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:1414 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Actualment esteu bisecant." -#: wt-status.c:1417 +#: wt-status.c:1481 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:1617 +#: wt-status.c:1690 msgid "On branch " msgstr "En la branca " -#: wt-status.c:1624 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "«rebase» interactiu en curs; sobre " -#: wt-status.c:1626 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "«rebase» en curs; sobre " -#: wt-status.c:1631 -msgid "HEAD detached at " -msgstr "HEAD separat a " - -#: wt-status.c:1633 -msgid "HEAD detached from " -msgstr "HEAD separat de " - -#: wt-status.c:1636 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Actualment no s'és en cap branca." -#: wt-status.c:1653 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Comissió inicial" -#: wt-status.c:1654 +#: wt-status.c:1727 msgid "No commits yet" msgstr "No s'ha fet cap comissió encara." -#: wt-status.c:1668 +#: wt-status.c:1741 msgid "Untracked files" msgstr "Fitxers no seguits" -#: wt-status.c:1670 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Fitxers ignorats" -#: wt-status.c:1674 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -7256,90 +8329,98 @@ msgstr "" "oblidar-vos d'afegir fitxers nous vosaltres mateixos (vegeu\n" "'git help status')." -#: wt-status.c:1680 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "Els fitxers no seguits no estan llistats%s" -#: wt-status.c:1682 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (useu l'opció -u per a mostrar els fitxers no seguits)" -#: wt-status.c:1688 +#: wt-status.c:1761 msgid "No changes" msgstr "Sense canvis" -#: wt-status.c:1693 +#: wt-status.c:1766 #, 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" +msgstr "" +"no hi ha canvis afegits a cometre (useu \"git add\" o \"git commit -a\")\n" -#: wt-status.c:1696 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "no hi ha canvis afegits a cometre\n" -#: wt-status.c:1699 +#: wt-status.c:1772 #, c-format -msgid "nothing added to commit but untracked files present (use \"git add\" to track)\n" -msgstr "no hi ha res afegit a cometre però hi ha fitxers no seguits (useu \"git add\" per a seguir-los)\n" +msgid "" +"nothing added to commit but untracked files present (use \"git add\" to " +"track)\n" +msgstr "" +"no hi ha res afegit a cometre però hi ha fitxers no seguits (useu \"git add" +"\" per a seguir-los)\n" -#: wt-status.c:1702 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "no hi ha res afegit a cometre però hi ha fitxers no seguits\n" -#: wt-status.c:1705 +#: wt-status.c:1778 #, 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" +msgstr "" +"no hi ha res a cometre (creeu/copieu fitxers i useu \"git add\" per a seguir-" +"los)\n" -#: wt-status.c:1708 wt-status.c:1713 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "no hi ha res a cometre\n" -#: wt-status.c:1711 +#: wt-status.c:1784 #, 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" +msgstr "" +"no hi ha res a cometre (useu -u per a mostrar els fitxers no seguits)\n" -#: wt-status.c:1715 +#: wt-status.c:1788 #, c-format 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:1828 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "No s'ha fet cap comissió encara a " -#: wt-status.c:1832 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (sense branca)" -#: wt-status.c:1863 +#: wt-status.c:1936 msgid "different" msgstr "diferent" -#: wt-status.c:1865 wt-status.c:1873 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "darrere " -#: wt-status.c:1868 wt-status.c:1871 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "davant per " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2386 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "no es pot %s: Teniu canvis «unstaged»." -#: wt-status.c:2392 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "addicionalment, el vostre Ãndex conté canvis sense cometre." -#: wt-status.c:2394 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "no es pot %s: El vostre Ãndex conté canvis sense cometre." @@ -7353,7 +8434,7 @@ msgstr "git add [<opcions>] [--] <especificació-de-camÃ>..." msgid "unexpected diff status %c" msgstr "estat de diff inesperat %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "s'ha produït un error en actualitzar els fitxers" @@ -7399,10 +8480,12 @@ msgstr "No s'ha pogut aplicar «%s»" #: builtin/add.c:270 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" +msgstr "" +"Els camins següents s'ignoren per un dels vostres fitxers .gitignore:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 builtin/prune-packed.c:56 -#: builtin/pull.c:214 builtin/push.c:560 builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 +#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "marxa en sec" @@ -7410,7 +8493,7 @@ msgstr "marxa en sec" msgid "interactive picking" msgstr "recull interactiu" -#: builtin/add.c:294 builtin/checkout.c:1304 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "selecciona els trossos interactivament" @@ -7440,7 +8523,8 @@ msgstr "afegeix els canvis de tots els fitxers seguits i no seguits" #: builtin/add.c:303 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)" +msgstr "" +"ignora els camins eliminats en l'arbre de treball (el mateix que --no-all)" #: builtin/add.c:305 msgid "don't add, only refresh the index" @@ -7452,9 +8536,10 @@ msgstr "només omet els fitxers que no es poden afegir a causa d'errors" #: builtin/add.c:307 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" +msgstr "" +"comproveu si els fitxers - fins i tot els absents - s'ignoren en marxa en sec" -#: builtin/add.c:309 builtin/update-index.c:991 +#: builtin/add.c:309 builtin/update-index.c:1001 msgid "override the executable bit of the listed files" msgstr "passa per alt el bit executable dels fitxers llistats" @@ -7503,29 +8588,29 @@ msgstr "s'està afegint un dipòsit incrustat: %s" msgid "Use -f if you really want to add them.\n" msgstr "Useu -f si realment els voleu afegir.\n" -#: builtin/add.c:380 +#: builtin/add.c:379 msgid "adding files failed" msgstr "l'afegiment de fitxers ha fallat" -#: builtin/add.c:418 +#: builtin/add.c:419 msgid "-A and -u are mutually incompatible" msgstr "-A i -u són mútuament incompatibles" -#: builtin/add.c:425 +#: builtin/add.c:426 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "L'opció --ignore-missing només es pot usar juntament amb --dry-run" -#: builtin/add.c:429 +#: builtin/add.c:430 #, 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:444 +#: builtin/add.c:445 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "No s'ha especificat res, no s'ha afegit res.\n" -#: builtin/add.c:445 +#: builtin/add.c:446 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Potser volÃeu dir «git add .»?\n" @@ -7539,100 +8624,105 @@ msgstr "no s'ha pogut analitzar l'script d'autor" msgid "'%s' was deleted by the applypatch-msg hook" msgstr "s'ha suprimit «%s» pel lligam applypatch-msg" -#: builtin/am.c:473 +#: builtin/am.c:474 #, c-format msgid "Malformed input line: '%s'." msgstr "LÃnia d'entrada mal formada: «%s»." -#: builtin/am.c:510 +#: builtin/am.c:512 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "S'ha produït un error en copiar les notes de «%s» a «%s»" -#: builtin/am.c:536 +#: builtin/am.c:538 msgid "fseek failed" msgstr "fseek ha fallat" -#: builtin/am.c:724 +#: builtin/am.c:726 #, c-format msgid "could not parse patch '%s'" msgstr "no s'ha pogut analitzar el pedaç «%s»" -#: builtin/am.c:789 +#: builtin/am.c:791 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:837 +#: builtin/am.c:839 msgid "invalid timestamp" msgstr "marca de temps no và lida" -#: builtin/am.c:842 builtin/am.c:854 +#: builtin/am.c:844 builtin/am.c:856 msgid "invalid Date line" msgstr "lÃnia Date no và lida" -#: builtin/am.c:849 +#: builtin/am.c:851 msgid "invalid timezone offset" msgstr "desplaçament de zona de temps no và lid" -#: builtin/am.c:942 +#: builtin/am.c:944 msgid "Patch format detection failed." msgstr "La detecció de format de pedaç ha fallat." -#: builtin/am.c:947 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "s'ha produït un error en crear el directori «%s»" -#: builtin/am.c:952 +#: builtin/am.c:954 msgid "Failed to split patches." msgstr "S'ha produït un error en dividir els pedaços." -#: builtin/am.c:1082 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "no s'ha pogut escriure el fitxer d'Ãndex" -#: builtin/am.c:1096 +#: builtin/am.c:1098 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "Quan hà giu resolt aquest problema, executeu \"%s --continue\"." -#: builtin/am.c:1097 +#: builtin/am.c:1099 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." -msgstr "Si preferiu ometre aquest pedaç, executeu \"%s --skip\" en lloc d'això." +msgstr "" +"Si preferiu ometre aquest pedaç, executeu \"%s --skip\" en lloc d'això." -#: builtin/am.c:1098 +#: builtin/am.c:1100 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." -msgstr "Per a restaurar la branca original i deixar d'apedaçar, executeu \"%s --abort\"." +msgstr "" +"Per a restaurar la branca original i deixar d'apedaçar, executeu \"%s --abort" +"\"." -#: builtin/am.c:1181 +#: builtin/am.c:1183 msgid "Patch sent with format=flowed; space at the end of lines might be lost." msgstr "" -#: builtin/am.c:1209 +#: builtin/am.c:1211 msgid "Patch is empty." msgstr "El pedaç està buit." -#: builtin/am.c:1275 +#: builtin/am.c:1277 #, c-format msgid "invalid ident line: %.*s" msgstr "lÃnia d'identitat no và lida: %.*s" -#: builtin/am.c:1297 +#: builtin/am.c:1299 #, c-format msgid "unable to parse commit %s" msgstr "no s'ha pogut analitzar la comissió %s" -#: builtin/am.c:1493 +#: builtin/am.c:1496 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." +msgstr "" +"Al dipòsit li manquen els blobs necessaris per a retrocedir a una fusió de 3 " +"vies." -#: builtin/am.c:1495 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "S'està usant la informació d'Ãndex per a reconstruir un arbre base..." -#: builtin/am.c:1514 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -7640,28 +8730,24 @@ msgstr "" "Heu editat el vostre pedaç a mà ?\n" "No s'aplica als blobs recordats en el seu Ãndex." -#: builtin/am.c:1520 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "S'està retrocedint a apedaçar la base i una fusió de 3 vies..." -#: builtin/am.c:1546 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "S'ha produït un error en fusionar els canvis." -#: builtin/am.c:1578 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "s'està aplicant a una història buida" -#: builtin/am.c:1624 builtin/am.c:1628 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "no es pot reprendre: %s no existeix." -#: builtin/am.c:1644 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "no es pot ser interactiu sense que stdin estigui connectada a un terminal." - -#: builtin/am.c:1649 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "El cos de la comissió és:" @@ -7669,34 +8755,37 @@ msgstr "El cos de la comissió és:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1659 +#: builtin/am.c:1660 +#, c-format 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: " +msgstr "" +"Voleu aplicar-lo? [y]es/[n]o/[e]dita/[v]isualitza el pedaç/[a]ccepta'ls " +"tots: " -#: builtin/am.c:1709 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Ãndex brut: no es poden aplicar pedaços (bruts: %s)" -#: builtin/am.c:1749 builtin/am.c:1817 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "S'està aplicant: %.*s" -#: builtin/am.c:1766 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Sense canvis -- El pedaç ja s'ha aplicat." -#: builtin/am.c:1772 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "El pedaç ha fallat a %s %.*s" -#: builtin/am.c:1776 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" -#: builtin/am.c:1820 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -7706,26 +8795,30 @@ msgstr "" "Si no hi ha res per fer «stage», probablement alguna altra cosa ja ha\n" "introduït els mateixos canvis; potser voleu ometre aquest pedaç." -#: builtin/am.c:1827 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" -"You should 'git add' each file with resolved conflicts to mark them as such.\n" +"You should 'git add' each file with resolved conflicts to mark them as " +"such.\n" "You might run `git rm` on a file to accept \"deleted by them\" for it." msgstr "" "Encara teniu camins sense fusionar a l'Ãndex.\n" -"Heu de fer 'git add' a cada fitxer amb conflictes resolts per marcar-los com a tal.\n" -"Podeu executar `git rm` en un fitxer per acceptar \"suprimit per ells\" pel fitxer." +"Heu de fer 'git add' a cada fitxer amb conflictes resolts per marcar-los com " +"a tal.\n" +"Podeu executar `git rm` en un fitxer per acceptar \"suprimit per ells\" pel " +"fitxer." -#: builtin/am.c:1934 builtin/am.c:1938 builtin/am.c:1950 builtin/reset.c:329 builtin/reset.c:337 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 +#: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "No s'ha pogut analitzar l'objecte «%s»." -#: builtin/am.c:1986 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "s'ha produït un error en netejar l'Ãndex" -#: builtin/am.c:2030 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -7733,138 +8826,144 @@ msgstr "" "Sembla que heu mogut HEAD després de l'última fallada de 'am'.\n" "No s'està rebobinant a ORIG_HEAD" -#: builtin/am.c:2123 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valor no và lid per a --patch-format: %s" -#: builtin/am.c:2159 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<opcions>] [(<bústia> | <directori-de-correu>)...]" -#: builtin/am.c:2160 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<opcions>] (--continue | --skip | --abort)" -#: builtin/am.c:2166 +#: builtin/am.c:2171 msgid "run interactively" msgstr "executa interactivament" -#: builtin/am.c:2168 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "opció històrica -- no-op" -#: builtin/am.c:2170 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "permet retrocedir a una fusió de 3 vies si és necessari" -#: builtin/am.c:2171 builtin/init-db.c:486 builtin/prune-packed.c:58 builtin/repack.c:306 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:307 builtin/stash.c:806 msgid "be quiet" msgstr "silenciós" -#: builtin/am.c:2173 +#: builtin/am.c:2178 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:2176 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "recodifica en utf8 (per defecte)" -#: builtin/am.c:2178 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "passa l'indicador -k a git-mailinfo" -#: builtin/am.c:2180 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "passa l'indicador -b a git-mailinfo" -#: builtin/am.c:2182 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "passa l'indicador -m a git-mailinfo" -#: builtin/am.c:2184 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "passa l'indicador --keep-cr a git-mailsplit per al format mbox" -#: builtin/am.c:2187 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" -msgstr "no passis l'indicador --keep-cr a git-mailsplit independent d'am.keepcr" +msgstr "" +"no passis l'indicador --keep-cr a git-mailsplit independent d'am.keepcr" -#: builtin/am.c:2190 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "elimina tot abans d'una lÃnia de tisores" -#: builtin/am.c:2192 builtin/am.c:2195 builtin/am.c:2198 builtin/am.c:2201 builtin/am.c:2204 builtin/am.c:2207 -#: builtin/am.c:2210 builtin/am.c:2213 builtin/am.c:2219 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "passa-ho a través de git-apply" -#: builtin/am.c:2209 builtin/commit.c:1343 builtin/fmt-merge-msg.c:671 builtin/fmt-merge-msg.c:674 builtin/grep.c:879 -#: builtin/merge.c:240 builtin/pull.c:152 builtin/pull.c:210 builtin/rebase.c:1062 builtin/repack.c:317 -#: builtin/repack.c:321 builtin/repack.c:323 builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386 -#: parse-options.h:144 parse-options.h:146 parse-options.h:266 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:318 builtin/repack.c:322 builtin/repack.c:324 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2215 builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/replace.c:544 builtin/tag.c:422 -#: builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:39 msgid "format" msgstr "format" -#: builtin/am.c:2216 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "el format en el qual estan els pedaços" -#: builtin/am.c:2222 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "passa per alt el missatge d'error si falla l'aplicació del pedaç" -#: builtin/am.c:2224 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "segueix aplicant pedaços després de resoldre un conflicte" -#: builtin/am.c:2227 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "sinònims de --continue" -#: builtin/am.c:2230 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "omet el pedaç actual" -#: builtin/am.c:2233 +#: builtin/am.c:2238 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:2236 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "" -#: builtin/am.c:2239 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "mostra el pedaç que s'està aplicant." -#: builtin/am.c:2243 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "menteix sobre la data del comitent" -#: builtin/am.c:2245 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "usa el marc de temps actual per la data d'autor" -#: builtin/am.c:2247 builtin/commit.c:1486 builtin/merge.c:274 builtin/pull.c:185 builtin/rebase.c:1106 -#: builtin/rebase--interactive.c:185 builtin/revert.c:114 builtin/tag.c:402 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "ID de clau" -#: builtin/am.c:2248 builtin/rebase.c:1107 builtin/rebase--interactive.c:186 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "signa les comissions amb GPG" -#: builtin/am.c:2251 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(ús intern per a git-rebase)" -#: builtin/am.c:2269 +#: builtin/am.c:2274 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." @@ -7872,16 +8971,18 @@ msgstr "" "Fa molt que l'opció -b/--binary no ha fet res, i\n" "s'eliminarà . No l'useu més." -#: builtin/am.c:2276 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "S'ha produït un error en llegir l'Ãndex" -#: builtin/am.c:2291 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." -msgstr "un directori de «rebase» anterior %s encara existeix però s'ha donat una bústia." +msgstr "" +"un directori de «rebase» anterior %s encara existeix però s'ha donat una " +"bústia." -#: builtin/am.c:2315 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -7890,10 +8991,14 @@ msgstr "" "S'ha trobat un directori %s extraviat.\n" "Useu \"git am --abort\" per a eliminar-lo." -#: builtin/am.c:2321 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Una operació de resolució no està en curs; no reprenem." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<opcions>] [<pedaç>...]" @@ -7947,12 +9052,16 @@ msgstr "git bisect--helper --bisect-clean-state" #: builtin/bisect--helper.c:26 #, fuzzy -msgid "git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> <bad_term>" +msgid "" +"git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> " +"<bad_term>" msgstr "git bisect--helper --write-terms <mal_terme> <bon_terme>" #: builtin/bisect--helper.c:27 #, fuzzy -msgid "git bisect--helper --bisect-check-and-set-terms <command> <good_term> <bad_term>" +msgid "" +"git bisect--helper --bisect-check-and-set-terms <command> <good_term> " +"<bad_term>" msgstr "git bisect--helper --write-terms <mal_terme> <bon_terme>" #: builtin/bisect--helper.c:28 @@ -7962,15 +9071,17 @@ msgstr "git bisect--helper --write-terms <mal_terme> <bon_terme>" #: builtin/bisect--helper.c:29 #, fuzzy -msgid "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --term-new]" +msgid "" +"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --" +"term-new]" msgstr "" "parà metre no và lid $arg per a 'git bisect terms'.\n" "Les opcions admeses són: --term-good|--term-old i --term-bad|--term-new." #: builtin/bisect--helper.c:30 msgid "" -"git bisect--helper --bisect-start [--term-{old,good}=<term> --term-{new,bad}=<term>][--no-checkout] [<bad> " -"[<good>...]] [--] [<paths>...]" +"git bisect--helper --bisect-start [--term-{old,good}=<term> --term-{new,bad}" +"=<term>][--no-checkout] [<bad> [<good>...]] [--] [<paths>...]" msgstr "" #: builtin/bisect--helper.c:86 @@ -8008,7 +9119,8 @@ msgstr "«%s» no és un terme và lid" #: builtin/bisect--helper.c:174 #, fuzzy, c-format -msgid "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'." +msgid "" +"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'." msgstr "" "No s'ha pogut agafar la HEAD original '$branch'.\n" "Proveu 'git bisect reset <comissió>'." @@ -8031,7 +9143,8 @@ msgstr "no s'ha pogut crear el fitxer «%s»" #: builtin/bisect--helper.c:258 #, fuzzy, c-format msgid "Invalid command: you're currently in a %s/%s bisect" -msgstr "Ordre no và lida: actualment esteu en una bisecció $TERM_BAD/$TERM_GOOD." +msgstr "" +"Ordre no và lida: actualment esteu en una bisecció $TERM_BAD/$TERM_GOOD." #: builtin/bisect--helper.c:285 #, fuzzy, c-format @@ -8104,7 +9217,9 @@ msgstr "HEAD incorrecte - Cal un HEAD" #: builtin/bisect--helper.c:526 #, fuzzy, c-format msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'." -msgstr "L'agafament de '$start_head' ha fallat. Proveu 'git bisect reset <branca-và lida>'." +msgstr "" +"L'agafament de '$start_head' ha fallat. Proveu 'git bisect reset <branca-" +"và lida>'." #: builtin/bisect--helper.c:547 msgid "won't bisect on cg-seek'ed tree" @@ -8115,229 +9230,260 @@ msgstr "no es bisecarà en un arbre en el qual s'ha fet cg-seek" msgid "bad HEAD - strange symbolic ref" msgstr "HEAD incorrecte - referència simbòlica estranya" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, fuzzy, c-format +msgid "invalid ref: '%s'" +msgstr "fitxer no và lid: «%s»" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "realitza 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "escriu els termes a .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "neteja l'estat de la bisecció" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "comprova les revisions esperades" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 #, fuzzy msgid "reset the bisection state" msgstr "neteja l'estat de la bisecció" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 #, fuzzy msgid "write out the bisection state in BISECT_LOG" msgstr "neteja l'estat de la bisecció" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 #, fuzzy msgid "check and set terms in a bisection state" msgstr "neteja l'estat de la bisecció" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 #, fuzzy msgid "print out the bisect terms" msgstr "imprimeix només les etiquetes de l'objecte" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "actualitza BISECT_HEAD en lloc d'agafar la comissió actual" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms requereix dos parà metres" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state no accepta parà metres" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 #, fuzzy msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-clean-state no accepta parà metres" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 #, fuzzy msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-clean-state no accepta parà metres" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 #, fuzzy msgid "--check-and-set-terms requires 3 arguments" msgstr "--bisect-clean-state no accepta parà metres" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 #, fuzzy msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-clean-state no accepta parà metres" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 #, fuzzy msgid "--bisect-terms requires 0 or 1 argument" msgstr "--write-terms requereix dos parà metres" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<opcions>] [<opcions-de-revisió>] [<revisió>] [--] fitxer" -#: builtin/blame.c:36 +#: builtin/blame.c:37 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "es documenten les <opcions-de-revisió> en git-rev-list(1)" -#: builtin/blame.c:406 +#: builtin/blame.c:410 #, fuzzy, c-format msgid "expecting a color: %s" msgstr "respecta els colors del format" -#: builtin/blame.c:413 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "" -#: builtin/blame.c:700 +#: builtin/blame.c:730 #, fuzzy, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "ignora el color no và lid «%.*s» en log.graphColors" -#: builtin/blame.c:718 +#: builtin/blame.c:748 #, fuzzy msgid "invalid value for blame.coloring" msgstr "valor no và lid per a --missing" -#: builtin/blame.c:793 +#: builtin/blame.c:823 +#, fuzzy, c-format +msgid "cannot find revision %s to ignore" +msgstr "no s'ha pogut resoldre la revisió: %s" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "Mostra les entrades «blame» mentre les trobem, incrementalment" -#: builtin/blame.c:794 +#: builtin/blame.c:846 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)" +msgstr "" +"Mostra un SHA-1 en blanc per les comissions de frontera (Per defecte: " +"desactivat)" -#: builtin/blame.c:795 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" -msgstr "No tractis les comissions d'arrel com a lÃmits (Per defecte: desactivat)" +msgstr "" +"No tractis les comissions d'arrel com a lÃmits (Per defecte: desactivat)" -#: builtin/blame.c:796 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Mostra les estadÃstiques de preu de treball" -#: builtin/blame.c:797 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Força l'informe de progrés" -#: builtin/blame.c:798 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Mostra la puntuació de sortida de les entrades «blame»" -#: builtin/blame.c:799 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "Mostra el nom de fitxer original (Per defecte: automà tic)" -#: builtin/blame.c:800 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "Mostra el número de lÃnia original (Per defecte: desactivat)" -#: builtin/blame.c:801 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Presenta en un format dissenyat per consumpció per mà quina" -#: builtin/blame.c:802 +#: builtin/blame.c:854 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:803 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" -msgstr "Usa el mateix mode de sortida que git-annotate (Per defecte: desactivat)" +msgstr "" +"Usa el mateix mode de sortida que git-annotate (Per defecte: desactivat)" -#: builtin/blame.c:804 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Mostra la marca de temps crua (Per defecte: desactivat)" -#: builtin/blame.c:805 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Mostra l'SHA1 de comissió llarg (Per defecte: desactivat)" -#: builtin/blame.c:806 +#: builtin/blame.c:858 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:807 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" -msgstr "Mostra l'adreça electrònica de l'autor en lloc del nom (Per defecte: desactivat)" +msgstr "" +"Mostra l'adreça electrònica de l'autor en lloc del nom (Per defecte: " +"desactivat)" -#: builtin/blame.c:808 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Ignora les diferències d'espai en blanc" -#: builtin/blame.c:809 +#: builtin/blame.c:861 builtin/log.c:1646 +msgid "rev" +msgstr "rev" + +#: builtin/blame.c:861 +#, fuzzy +msgid "Ignore <rev> when blaming" +msgstr "ignora l'Ãndex en comprovar" + +#: builtin/blame.c:862 +#, fuzzy +msgid "Ignore revisions from <file>" +msgstr "llegiu el missatge des d'un fitxer" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "" -#: builtin/blame.c:810 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "" -#: builtin/blame.c:817 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Usa un heurÃstic experimental per a millorar les diferències" -#: builtin/blame.c:819 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Gasta cicles extres per a trobar una coincidència millor" -#: builtin/blame.c:820 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Usa les revisions de <fitxer> en lloc d'invocar git-rev-list" -#: builtin/blame.c:821 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Usa els continguts de <fitxer> com a la imatge final" -#: builtin/blame.c:822 builtin/blame.c:823 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "puntuació" -#: builtin/blame.c:822 +#: builtin/blame.c:876 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:823 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Troba moviments de lÃnia dins i a través dels fitxers" -#: builtin/blame.c:824 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:824 +#: builtin/blame.c:878 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" -#: builtin/blame.c:875 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" -msgstr "no es pot usar --progress amb els formats --incremental o de porcellana" +msgstr "" +"no es pot usar --progress amb els formats --incremental o de porcellana" #. TRANSLATORS: This string is used to tell us the #. maximum display width for a relative timestamp in @@ -8347,18 +9493,18 @@ msgstr "no es pot usar --progress amb els formats --incremental o de porcellana" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:926 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "fa 4 anys i 11 mesos" -#: builtin/blame.c:1018 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "el fitxer %s té només %lu lÃnia" msgstr[1] "el fitxer %s té només %lu lÃnies" -#: builtin/blame.c:1064 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "S'està fent un «blame»" @@ -8390,7 +9536,7 @@ msgstr "git branch [<opcions>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<opcions>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -8400,7 +9546,7 @@ msgstr "" " fusionat a «%s», però encara no\n" " s'ha fusionat a HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -8410,12 +9556,12 @@ msgstr "" " s'ha fusionat a «%s», encara que està \n" " fusionada a HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, 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:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -8424,112 +9570,126 @@ msgstr "" "La branca «%s» no està totalment fusionada.\n" "Si esteu segur que la voleu suprimir, executeu 'git branch -D %s'." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "L'actualització del fitxer de configuració ha fallat" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "no es pot usar -a amb -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "No s'ha pogut trobar l'objecte de comissió de HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "No es pot suprimir la branca «%s» agafada a «%s»" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "no s'ha trobat la branca amb seguiment remot «%s»." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "no s'ha trobat la branca «%s»." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Error en suprimir la branca amb seguiment remot «%s»" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Error en suprimir la branca «%s»" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, 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:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "S'ha suprimit la branca %s (era %s).\n" -#: builtin/branch.c:421 builtin/tag.c:59 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "no s'ha pogut analitzar la cadena de format" -#: builtin/branch.c:458 +#: builtin/branch.c:460 +#, fuzzy +msgid "could not resolve HEAD" +msgstr "no s'ha pogut resoldre la comissió HEAD" + +#: builtin/branch.c:466 +#, fuzzy, c-format +msgid "HEAD (%s) points outside of refs/heads/" +msgstr "HEAD no trobat sota refs/heads!" + +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "S'està fent «rebase» en la branca %s a %s" -#: builtin/branch.c:462 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "La branca %s s'està bisecant a %s" -#: builtin/branch.c:479 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "no es pot copiar branca actual mentre no s'és a cap." -#: builtin/branch.c:481 +#: builtin/branch.c:504 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:492 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nom de branca no và lid: «%s»" -#: builtin/branch.c:519 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "El canvi de nom de branca ha fallat" -#: builtin/branch.c:521 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "La còpia de la branca ha fallat" -#: builtin/branch.c:525 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "S'ha creat una còpia d'una branca mal anomenada «%s»" -#: builtin/branch.c:528 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "S'ha canviat el nom de la branca mal anomenada «%s»" -#: builtin/branch.c:534 +#: builtin/branch.c:557 #, 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:543 +#: builtin/branch.c:566 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" +msgstr "" +"La branca està canviada de nom, però l'actualització del fitxer de " +"configuració ha fallat" -#: builtin/branch.c:545 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" -msgstr "La branca està copiada, però l'actualització del fitxer de configuració ha fallat" +msgstr "" +"La branca està copiada, però l'actualització del fitxer de configuració ha " +"fallat" -#: builtin/branch.c:561 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -8540,216 +9700,226 @@ msgstr "" " %s\n" "S'eliminaran les lÃnies que comencin amb «%c».\n" -#: builtin/branch.c:594 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Opcions genèriques" -#: builtin/branch.c:596 +#: builtin/branch.c:620 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:597 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "omet els missatges informatius" -#: builtin/branch.c:598 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "configura el mode de seguiment (vegeu git-pull(1))" -#: builtin/branch.c:600 +#: builtin/branch.c:624 msgid "do not use" msgstr "no usar" -#: builtin/branch.c:602 builtin/rebase--interactive.c:182 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "font" -#: builtin/branch.c:602 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "canvia la informació de font" -#: builtin/branch.c:603 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Desassigna la informació de font" -#: builtin/branch.c:604 +#: builtin/branch.c:628 msgid "use colored output" msgstr "usa sortida colorada" -#: builtin/branch.c:605 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "actua en branques amb seguiment remot" -#: builtin/branch.c:607 builtin/branch.c:609 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "imprimeix només les branques que continguin la comissió" -#: builtin/branch.c:608 builtin/branch.c:610 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "imprimeix només les branques que no continguin la comissió" -#: builtin/branch.c:613 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Accions de git-branch especÃfiques:" -#: builtin/branch.c:614 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "llista les branques amb seguiment remot i les locals" -#: builtin/branch.c:616 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "suprimeix la branca si està completament fusionada" -#: builtin/branch.c:617 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "suprimeix la branca (encara que no estigui fusionada)" -#: builtin/branch.c:618 +#: builtin/branch.c:642 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:619 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "mou/canvia de nom una branca, encara que el destà existeixi" -#: builtin/branch.c:620 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "copia una branca i el seu registre de referència" -#: builtin/branch.c:621 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "copia una branca, encara que el destà existeixi" -#: builtin/branch.c:622 +#: builtin/branch.c:646 msgid "list branch names" msgstr "llista els noms de branca" -#: builtin/branch.c:623 +#: builtin/branch.c:647 +#, fuzzy +msgid "show current branch name" +msgstr "No hi ha cap branca actual." + +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "crea el registre de referència de la branca" -#: builtin/branch.c:625 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "edita la descripció de la branca" -#: builtin/branch.c:626 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "força creació, moviment/canvi de nom, supressió" -#: builtin/branch.c:627 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "imprimeix només les branques que s'han fusionat" -#: builtin/branch.c:628 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "imprimeix només les branques que no s'han fusionat" -#: builtin/branch.c:629 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "llista les branques en columnes" -#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70 builtin/tag.c:415 -msgid "key" -msgstr "clau" - -#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71 builtin/tag.c:416 -msgid "field name to sort on" -msgstr "nom del camp en el qual ordenar" - -#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415 builtin/notes.c:418 builtin/notes.c:581 -#: builtin/notes.c:584 builtin/tag.c:418 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 +#: builtin/tag.c:433 msgid "object" msgstr "objecte" -#: builtin/branch.c:634 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "imprimeix només les branques de l'objecte" -#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "l'ordenació i el filtratge distingeixen entre majúscules i minúscules" -#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423 builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:39 msgid "format to use for the output" msgstr "format a usar en la sortida" -#: builtin/branch.c:660 builtin/clone.c:746 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD no trobat sota refs/heads!" -#: builtin/branch.c:683 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column i --verbose són incompatibles" -#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "cal el nom de branca" -#: builtin/branch.c:725 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "No es pot donar descripció a un HEAD separat" -#: builtin/branch.c:730 +#: builtin/branch.c:758 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:737 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Encara no hi ha cap comissió en la branca «%s»." -#: builtin/branch.c:740 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "No hi ha cap branca amb nom «%s»." -#: builtin/branch.c:755 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "hi ha massa branques per a una operació de còpia" -#: builtin/branch.c:764 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "hi ha massa arguments per a una operació remota" -#: builtin/branch.c:769 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "hi ha massa arguments per a establir una nova font" -#: builtin/branch.c:773 +#: builtin/branch.c:801 #, 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." +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:776 builtin/branch.c:799 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "no existeix la branca «%s»" -#: builtin/branch.c:780 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "la branca «%s» no existeix" -#: builtin/branch.c:793 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "hi ha massa arguments per a desassignar la font" -#: builtin/branch.c:797 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." -msgstr "no s'ha pogut desassignar la font de HEAD perquè no assenyala cap branca." +msgstr "" +"no s'ha pogut desassignar la font de HEAD perquè no assenyala cap branca." -#: builtin/branch.c:803 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branca «%s» no té informació de font" -#: builtin/branch.c:813 -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:841 +#, fuzzy +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" +msgstr "" +"les opcions -a i -r a 'git branch' no tenen sentit amb un nom de branca" -#: builtin/branch.c:816 -msgid "the '--set-upstream' option is no longer supported. Please use '--track' or '--set-upstream-to' instead." -msgstr "L'opció --set-upstream ja no està suportada. Useu en comptes --track o --set-upstream-to." +#: builtin/branch.c:845 +msgid "" +"the '--set-upstream' option is no longer supported. Please use '--track' or " +"'--set-upstream-to' instead." +msgstr "" +"L'opció --set-upstream ja no està suportada. Useu en comptes --track o --set-" +"upstream-to." #: builtin/bundle.c:45 #, c-format @@ -8764,84 +9934,91 @@ 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:593 +#: builtin/cat-file.c:594 msgid "" -"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <type> | --textconv | --filters) " -"[--path=<path>] <object>" +"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" +"p | <type> | --textconv | --filters) [--path=<path>] <object>" msgstr "" -"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <tipus> | --textconv | --filters " -"[--path=<camÃ>]) <objecte>" +"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" +"p | <tipus> | --textconv | --filters [--path=<camÃ>]) <objecte>" -#: builtin/cat-file.c:594 -msgid "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]" -msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]" +#: builtin/cat-file.c:595 +msgid "" +"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" +"filters]" +msgstr "" +"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" +"filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 #, fuzzy msgid "only one batch option may be specified" msgstr "Cap nom de branca especificat" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<tipus> pot ser un de: blob, tree, commit, tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "mostra el tipus de l'objecte" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "mostra la mida de l'objecte" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "surt amb zero quan no hi ha error" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "imprimeix bellament el contingut de l'objecte" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 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:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" -msgstr "en els objectes de blob, executa els filtres en el contingut de l'objecte" +msgstr "" +"en els objectes de blob, executa els filtres en el contingut de l'objecte" -#: builtin/cat-file.c:643 git-submodule.sh:860 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "usa un camà especÃfic per a --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 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:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "posa la sortida de --batch en memòria intermèdia" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 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" +msgstr "" +"mostra la informació i contingut dels objectes rebuts de l'entrada està ndard" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 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:657 +#: builtin/cat-file.c:658 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)" +msgstr "" +"segueix els enllaços simbòlics en l'arbre (s'usa amb --batch o --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "mostra tots els objectes amb --batch o --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "" @@ -8869,7 +10046,8 @@ msgstr "llegeix els noms de fitxer de 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:21 builtin/checkout.c:1280 builtin/gc.c:517 builtin/worktree.c:496 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "omet els informes de progrés" @@ -8940,7 +10118,8 @@ msgstr "força la sobreescriptura de fitxers existents" #: builtin/checkout-index.c:167 msgid "no warning for existing files and files not in index" -msgstr "cap advertència per a fitxers existents i fitxers que no siguin a l'Ãndex" +msgstr "" +"cap advertència per a fitxers existents i fitxers que no siguin a l'Ãndex" #: builtin/checkout-index.c:169 msgid "don't checkout new files" @@ -8958,8 +10137,10 @@ msgstr "llegeix la llista de camins des de l'entrada està ndard" msgid "write the content to temporary files" msgstr "escriu el contingut a fitxers temporals" -#: builtin/checkout-index.c:178 builtin/column.c:31 builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1857 builtin/worktree.c:669 +#: builtin/checkout-index.c:178 builtin/column.c:31 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "cadena" @@ -8971,133 +10152,174 @@ msgstr "en crear fitxers, anteposa <cadena>" msgid "copy out the files from named stage" msgstr "copia els fitxers des de «stage» amb nom" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<opcions>] <branca>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<opcions>] [<branca>] -- <fitxer>..." -#: builtin/checkout.c:147 builtin/checkout.c:181 +#: builtin/checkout.c:37 +#, fuzzy +msgid "git switch [<options>] [<branch>]" +msgstr "git checkout [<opcions>] <branca>" + +#: builtin/checkout.c:42 +#, fuzzy +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git checkout [<opcions>] [<branca>] -- <fitxer>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "el camà «%s» no té la nostra versió" -#: builtin/checkout.c:149 builtin/checkout.c:183 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "el camà «%s» no té la seva versió" -#: builtin/checkout.c:165 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "el camà «%s» no té totes les versions necessà ries" -#: builtin/checkout.c:210 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "el camà «%s» no té les versions necessà ries" -#: builtin/checkout.c:228 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "camà «%s»: no es pot fusionar" -#: builtin/checkout.c:244 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "No s'ha pogut afegir el resultat de fusió per a «%s»" -#: builtin/checkout.c:267 builtin/checkout.c:270 builtin/checkout.c:273 builtin/checkout.c:276 -#, c-format -msgid "'%s' cannot be used with updating paths" -msgstr "«%s» no es pot usar amb actualització de camins" - -#: builtin/checkout.c:279 builtin/checkout.c:282 -#, c-format -msgid "'%s' cannot be used with %s" -msgstr "«%s» no es pot usar amb %s" - -#: builtin/checkout.c:285 -#, c-format -msgid "Cannot update paths and switch to branch '%s' at the same time." -msgstr "No es poden actualitzar els camins i canviar a la branca «%s» a la vegada." - -#: builtin/checkout.c:354 builtin/checkout.c:361 -#, c-format -msgid "path '%s' is unmerged" -msgstr "el camà «%s» està sense fusionar" - -#: builtin/checkout.c:397 +#: builtin/checkout.c:374 #, fuzzy, c-format msgid "Recreated %d merge conflict" msgid_plural "Recreated %d merge conflicts" msgstr[0] "etiqueta de fusió incorrecta en la comissió «%s»" msgstr[1] "etiqueta de fusió incorrecta en la comissió «%s»" -#: builtin/checkout.c:402 +#: builtin/checkout.c:379 #, fuzzy, c-format msgid "Updated %d path from %s" msgid_plural "Updated %d paths from %s" msgstr[0] "actualitzat %d camÃ\n" msgstr[1] "actualitzats %d camins\n" -#: builtin/checkout.c:409 +#: builtin/checkout.c:386 #, fuzzy, c-format msgid "Updated %d path from the index" msgid_plural "Updated %d paths from the index" msgstr[0] "S'ha produït un error en llegir l'Ãndex" msgstr[1] "S'ha produït un error en llegir l'Ãndex" -#: builtin/checkout.c:645 +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 +#, c-format +msgid "'%s' cannot be used with updating paths" +msgstr "«%s» no es pot usar amb actualització de camins" + +#: builtin/checkout.c:422 builtin/checkout.c:425 +#, c-format +msgid "'%s' cannot be used with %s" +msgstr "«%s» no es pot usar amb %s" + +#: builtin/checkout.c:429 +#, c-format +msgid "Cannot update paths and switch to branch '%s' at the same time." +msgstr "" +"No es poden actualitzar els camins i canviar a la branca «%s» a la vegada." + +#: builtin/checkout.c:433 +#, c-format +msgid "neither '%s' or '%s' is specified" +msgstr "" + +#: builtin/checkout.c:437 +#, fuzzy, c-format +msgid "'%s' must be used when '%s' is not specified" +msgstr "«%s» no es pot usar amb «%s»" + +#: builtin/checkout.c:442 builtin/checkout.c:447 +#, fuzzy, c-format +msgid "'%s' or '%s' cannot be used with %s" +msgstr "%s: %s no es pot usar amb %s" + +#: builtin/checkout.c:506 builtin/checkout.c:513 +#, c-format +msgid "path '%s' is unmerged" +msgstr "el camà «%s» està sense fusionar" + +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "heu de primer resoldre el vostre Ãndex actual" -#: builtin/checkout.c:782 +#: builtin/checkout.c:729 +#, c-format +msgid "" +"cannot continue with staged changes in the following files:\n" +"%s" +msgstr "" + +#: builtin/checkout.c:736 +#, fuzzy, c-format +msgid "staged changes in the following files may be lost: %s" +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per %s:\n" +"%%s" + +#: builtin/checkout.c:833 #, 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:824 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD ara és a" -#: builtin/checkout.c:828 builtin/clone.c:699 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "no s'ha pogut actualitzar HEAD" -#: builtin/checkout.c:832 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Restableix la branca «%s»\n" -#: builtin/checkout.c:835 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Ja en «%s»\n" -#: builtin/checkout.c:839 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "S'ha canviat i restablert a la branca «%s»\n" -#: builtin/checkout.c:841 builtin/checkout.c:1212 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "S'ha canviat a la branca nova «%s»\n" -#: builtin/checkout.c:843 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "S'ha canviat a la branca «%s»\n" -#: builtin/checkout.c:894 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... i %d més.\n" -#: builtin/checkout.c:900 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -9120,7 +10342,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:919 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -9147,166 +10369,234 @@ msgstr[1] "" " git branch <nom-de-branca-nova> %s\n" "\n" -#: builtin/checkout.c:951 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "error intern en el passeig per revisions" -#: builtin/checkout.c:955 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "La posició de HEAD anterior era" -#: builtin/checkout.c:983 builtin/checkout.c:1207 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Sou en una branca que encara ha de néixer" -#: builtin/checkout.c:1104 +#: builtin/checkout.c:1176 +#, fuzzy +msgid "only one reference expected" +msgstr "s'esperava només una referència, s'han donat %d." + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "s'esperava només una referència, s'han donat %d." -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" "Please use -- (and optionally --no-guess) to disambiguate" msgstr "" -#: builtin/checkout.c:1153 builtin/worktree.c:290 builtin/worktree.c:445 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "referència no và lida: %s" -#: builtin/checkout.c:1182 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "la referència no és un arbre: %s" -#: builtin/checkout.c:1221 +#: builtin/checkout.c:1303 +#, fuzzy, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "no es pot llegir l'objecte %s «%s»" + +#: builtin/checkout.c:1305 +#, fuzzy, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "" +"La branca «%s» està configurada per a seguir la branca remota «%s» de «%s»." + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, fuzzy, c-format +msgid "a branch is expected, got '%s'" +msgstr "s'esperava shallow/unshallow, s'ha rebut %s" + +#: builtin/checkout.c:1309 +#, fuzzy, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "La vostra branca està al dia amb «%s».\n" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" + +#: builtin/checkout.c:1345 +#, fuzzy +msgid "you are switching branch while bisecting" +msgstr "Actualment esteu bisecant." + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "els camins no es poden usar amb canvi de branca" -#: builtin/checkout.c:1224 builtin/checkout.c:1228 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "«%s» no es pot usar amb canvi de branca" -#: builtin/checkout.c:1232 builtin/checkout.c:1235 builtin/checkout.c:1240 builtin/checkout.c:1243 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "«%s» no es pot usar amb «%s»" -#: builtin/checkout.c:1248 +#: builtin/checkout.c:1380 +#, fuzzy, c-format +msgid "'%s' cannot take <start-point>" +msgstr "«%s» no es pot usar amb actualització de camins" + +#: builtin/checkout.c:1388 #, 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:1281 builtin/checkout.c:1283 builtin/clone.c:120 builtin/remote.c:169 builtin/remote.c:171 -#: builtin/worktree.c:489 builtin/worktree.c:491 -msgid "branch" -msgstr "branca" +#: builtin/checkout.c:1395 +#, fuzzy +msgid "missing branch or commit argument" +msgstr "Manca el nom de branca; proveu -b" -#: builtin/checkout.c:1282 -msgid "create and checkout a new branch" -msgstr "crea i agafa una branca nova" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "força l'informe de progrés" -#: builtin/checkout.c:1284 -msgid "create/reset and checkout a branch" -msgstr "crea/restableix i agafa una branca" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "realitza una fusió de 3 vies amb la branca nova" -#: builtin/checkout.c:1285 -msgid "create reflog for new branch" -msgstr "crea un registre de referència per a la branca nova" +#: builtin/checkout.c:1439 builtin/log.c:1634 parse-options.h:318 +msgid "style" +msgstr "estil" + +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "estil de conflicte (fusió o diff3)" -#: builtin/checkout.c:1286 builtin/worktree.c:493 +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "separa HEAD a la comissió anomenada" -#: builtin/checkout.c:1287 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "estableix la informació de font de la branca nova" -#: builtin/checkout.c:1289 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "agafa a la força (descarta qualsevol modificació local)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "branca-nova" -#: builtin/checkout.c:1289 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "branca òrfena nova" -#: builtin/checkout.c:1291 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "actualitza els fitxers ignorats (per defecte)" + +#: builtin/checkout.c:1462 +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:1475 msgid "checkout our version for unmerged files" msgstr "agafa la versió nostra dels fitxers sense fusionar" -#: builtin/checkout.c:1294 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "agafa la versió seva dels fitxers sense fusionar" -#: builtin/checkout.c:1296 -msgid "force checkout (throw away local modifications)" -msgstr "agafa a la força (descarta qualsevol modificació local)" - -#: builtin/checkout.c:1298 -msgid "perform a 3-way merge with the new branch" -msgstr "realitza una fusió de 3 vies amb la branca nova" - -#: builtin/checkout.c:1300 builtin/merge.c:276 -msgid "update ignored files (default)" -msgstr "actualitza els fitxers ignorats (per defecte)" - -#: builtin/checkout.c:1302 builtin/log.c:1586 parse-options.h:272 -msgid "style" -msgstr "estil" - -#: builtin/checkout.c:1303 -msgid "conflict style (merge or diff3)" -msgstr "estil de conflicte (fusió o diff3)" - -#: builtin/checkout.c:1306 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "no limitis les especificacions de camà només a entrades disperses" -#: builtin/checkout.c:1308 -#, fuzzy -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "dubta 'git checkout <cap-branca-aixÃ>'" - -#: builtin/checkout.c:1310 -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:1314 builtin/clone.c:87 builtin/fetch.c:141 builtin/merge.c:273 builtin/pull.c:130 -#: builtin/push.c:575 builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "força l'informe de progrés" - -#: builtin/checkout.c:1345 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B i --orphan són mútuament excloents" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1536 +#, fuzzy +msgid "-p and --overlay are mutually exclusive" +msgstr "-n i -k són mútuament excloents." + +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track necessita un nom de branca" -#: builtin/checkout.c:1367 +#: builtin/checkout.c:1578 #, fuzzy msgid "missing branch name; try -b" msgstr "Manca el nom de branca; proveu -b" -#: builtin/checkout.c:1404 +#: builtin/checkout.c:1611 +#, fuzzy, c-format +msgid "could not resolve %s" +msgstr "no s'ha pogut resoldre «%s»" + +#: builtin/checkout.c:1623 +#, fuzzy +msgid "you must specify path(s) to restore" +msgstr "Heu d'especificar un directori." + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "especificació de camà no và lida" -#: builtin/checkout.c:1411 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" -msgstr "«%s» no és una comissió i la branca «%s» no es pot crear a partir d'aquesta comissió" +msgstr "" +"«%s» no és una comissió i la branca «%s» no es pot crear a partir d'aquesta " +"comissió" -#: builtin/checkout.c:1415 +#: builtin/checkout.c:1642 #, 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:1419 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -9314,7 +10604,7 @@ msgstr "" "git checkout: --ours/--theirs, --force i --merge són incompatibles en\n" "agafar de l'Ãndex." -#: builtin/checkout.c:1439 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -9331,9 +10621,83 @@ msgid "" "checkout.defaultRemote=origin in your config." msgstr "" +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "branca" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "crea i agafa una branca nova" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "crea/restableix i agafa una branca" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "crea un registre de referència per a la branca nova" + +#: builtin/checkout.c:1697 +#, fuzzy +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "dubta 'git checkout <cap-branca-aixÃ>'" + +#: builtin/checkout.c:1698 +#, fuzzy +msgid "use overlay mode (default)" +msgstr "poda les referències soltes (per defecte)" + +#: builtin/checkout.c:1734 +#, fuzzy +msgid "create and switch to a new branch" +msgstr "crea i agafa una branca nova" + +#: builtin/checkout.c:1736 +#, fuzzy +msgid "create/reset and switch to a branch" +msgstr "crea/restableix i agafa una branca" + +#: builtin/checkout.c:1738 +#, fuzzy +msgid "second guess 'git switch <no-such-branch>'" +msgstr "dubta 'git checkout <cap-branca-aixÃ>'" + +#: builtin/checkout.c:1740 +#, fuzzy +msgid "throw away local modifications" +msgstr "agafa a la força (descarta qualsevol modificació local)" + +#: builtin/checkout.c:1772 +#, fuzzy +msgid "where the checkout from" +msgstr "llegeix l'objecte des de stdin" + +#: builtin/checkout.c:1774 +#, fuzzy +msgid "restore the index" +msgstr "S'ha produït un error en llegir l'Ãndex" + +#: builtin/checkout.c:1776 +#, fuzzy +msgid "restore the working tree (default)" +msgstr "Mostra l'estat de l'arbre de treball" + +#: builtin/checkout.c:1778 +#, fuzzy +msgid "ignore unmerged entries" +msgstr "s'està ignorant %s no fusionat\n" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "" + #: builtin/clean.c:28 -msgid "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." -msgstr "git clean [-d] [-f] [-i] [-n] [-q] [-e <patró>] [-x | -X] [--] <camins>..." +msgid "" +"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." +msgstr "" +"git clean [-d] [-f] [-i] [-n] [-q] [-e <patró>] [-x | -X] [--] <camins>..." #: builtin/clean.c:32 #, c-format @@ -9360,7 +10724,12 @@ msgstr "Ometria el dipòsit %s\n" msgid "failed to remove %s" msgstr "s'ha produït un error en eliminar %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, fuzzy, c-format +msgid "could not lstat %s\n" +msgstr "no s'ha pogut fer stat a %s" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -9373,7 +10742,7 @@ msgstr "" "foo - selecciona un Ãtem basat en un prefix únic\n" " - (buit) no seleccionis res\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -9394,37 +10763,38 @@ msgstr "" "* - tria tots els Ãtems\n" " - (buit) finalitza la selecció\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Perdó (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Introduïu els patrons a ignorar>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ADVERTÈNCIA: No es poden trobar Ãtems que coincideixin amb: %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Selecciona els Ãtems a suprimir" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Voleu eliminar %s [y/N]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Adéu.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -9442,202 +10812,235 @@ msgstr "" "help - aquesta pantalla\n" "? - ajuda de selecció de l'avÃs" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Ordres ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "I ara què" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Eliminaria l'Ãtem següent:" msgstr[1] "Eliminaria els Ãtems següents:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "No hi ha més fitxers a netejar; s'està sortint." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "no imprimeixis els noms dels fitxers eliminats" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "força" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "neteja interactiva" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "elimina directoris sencers" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 builtin/grep.c:897 builtin/log.c:167 -#: builtin/log.c:169 builtin/ls-files.c:557 builtin/name-rev.c:415 builtin/name-rev.c:417 builtin/show-ref.c:178 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:186 builtin/log.c:188 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 +#: builtin/show-ref.c:179 msgid "pattern" msgstr "patró" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "afegiu <patró> per a ignorar les regles" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "elimina els fitxers ignorats, també" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "elimina només els fitxers ignorats" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x i -X no es poden usar junts" -#: builtin/clean.c:939 -msgid "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to clean" -msgstr "clean.requireForce està establerta en cert i ni -i, -n ni -f s'han indicat; refusant netejar" +#: builtin/clean.c:940 +msgid "" +"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " +"clean" +msgstr "" +"clean.requireForce està establerta en cert i ni -i, -n ni -f s'han indicat; " +"refusant netejar" -#: builtin/clean.c:942 -msgid "clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean" -msgstr "clean.requireForce és per defecte cert i ni -i, -n ni -f s'han indicat; refusant netejar" +#: builtin/clean.c:943 +msgid "" +"clean.requireForce defaults to true and neither -i, -n, nor -f given; " +"refusing to clean" +msgstr "" +"clean.requireForce és per defecte cert i ni -i, -n ni -f s'han indicat; " +"refusant netejar" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<opcions>] [--] <dipòsit> [<directori>]" -#: builtin/clone.c:89 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "no facis cap agafament" -#: builtin/clone.c:90 builtin/clone.c:92 builtin/init-db.c:481 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "crea un dipòsit nu" -#: builtin/clone.c:94 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "crea un dipòsit mirall (implica bare)" -#: builtin/clone.c:96 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "per a clonar des d'un dipòsit local" -#: builtin/clone.c:98 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "no usis enllaços durs locals, sempre copia" -#: builtin/clone.c:100 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "configura com a dipòsit compartit" -#: builtin/clone.c:102 builtin/clone.c:106 +#: builtin/clone.c:107 msgid "pathspec" msgstr "especificació de camÃ" -#: builtin/clone.c:102 builtin/clone.c:106 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "inicialitza els submòduls en el clon" -#: builtin/clone.c:109 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "nombre de submòduls clonats en paral·lel" -#: builtin/clone.c:110 builtin/init-db.c:478 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "directori-de-plantilla" -#: builtin/clone.c:111 builtin/init-db.c:479 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "directori des del qual s'usaran les plantilles" -#: builtin/clone.c:113 builtin/clone.c:115 builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1860 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "dipòsit de referència" -#: builtin/clone.c:117 builtin/submodule--helper.c:1381 builtin/submodule--helper.c:1862 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "usa --reference només en clonar" -#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46 builtin/pack-objects.c:3303 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3308 builtin/repack.c:330 msgid "name" msgstr "nom" -#: builtin/clone.c:119 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "usa <nom> en lloc de 'origin' per a seguir la font" -#: builtin/clone.c:121 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "agafa <branca> en lloc de la HEAD del remot" -#: builtin/clone.c:123 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "camà a git-upload-pack en el remot" -#: builtin/clone.c:124 builtin/fetch.c:142 builtin/grep.c:836 builtin/pull.c:218 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "profunditat" -#: builtin/clone.c:125 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "crea un clon superficial de tal profunditat" -#: builtin/clone.c:126 builtin/fetch.c:144 builtin/pack-objects.c:3292 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3297 msgid "time" msgstr "hora" -#: builtin/clone.c:127 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "crea un clon superficial des d'una hora especÃfica" -#: builtin/clone.c:128 builtin/fetch.c:146 builtin/fetch.c:169 builtin/rebase.c:1039 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "revisió" -#: builtin/clone.c:129 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "aprofundeix la història d'un clon superficial, excloent una revisió" -#: builtin/clone.c:131 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "clona només una branca, HEAD o --branch" -#: builtin/clone.c:133 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" -msgstr "no cloneu cap etiqueta, i feu que els «fetch» següents no els segueixen" +msgstr "" +"no cloneu cap etiqueta, i feu que els «fetch» següents no els segueixen" -#: builtin/clone.c:135 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "qualsevol submòdul clonat serà superficial" -#: builtin/clone.c:136 builtin/init-db.c:487 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "directori de git" -#: builtin/clone.c:137 builtin/init-db.c:488 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "separa el directori de git de l'arbre de treball" -#: builtin/clone.c:138 +#: builtin/clone.c:139 msgid "key=value" msgstr "clau=valor" -#: builtin/clone.c:139 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "estableix la configuració dins del dipòsit nou" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:231 builtin/push.c:586 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 +#: builtin/push.c:585 builtin/send-pack.c:172 +msgid "server-specific" +msgstr "especÃfic al servidor" + +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 +#: builtin/push.c:585 builtin/send-pack.c:173 +msgid "option to transmit" +msgstr "opció a transmetre" + +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 +#: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "usa només adreces IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:234 builtin/push.c:588 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 +#: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "usa només adreces IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +#, fuzzy +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "qualsevol submòdul clonat serà superficial" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -9645,178 +11048,188 @@ msgstr "" "No s'ha pogut endevinar cap nom de directori.\n" "Especifiqueu un directori en la lÃnia d'ordres" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: No s'ha pogut afegir un alternatiu per a «%s»: %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "s'ha produït un error en obrir «%s»" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s existeix i no és directori" -#: builtin/clone.c:427 -#, c-format -msgid "failed to stat %s\n" -msgstr "s'ha produït un error en fer stat a '%s'\n" +#: builtin/clone.c:428 +#, fuzzy, c-format +msgid "failed to start iterator over '%s'" +msgstr "no s'ha pogut escriure a «%s»" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "s'ha produït un error en desenllaçar «%s»" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "s'ha produït un error en crear l'enllaç «%s»" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "s'ha produït un error en copiar el fitxer a «%s»" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, fuzzy, c-format +msgid "failed to iterate over '%s'" +msgstr "s'ha produït un error en eliminar «%s»" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "fet.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 +#, fuzzy 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "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:570 +#: builtin/clone.c:583 #, 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:687 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "no s'ha pogut actualitzar %s" -#: builtin/clone.c:737 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" -msgstr "la HEAD remot es refereix a una referència que no existeix; no s'ha pogut agafar.\n" +msgstr "" +"la HEAD remot es refereix a una referència que no existeix; no s'ha pogut " +"agafar.\n" -#: builtin/clone.c:768 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "no s'ha pogut agafar l'arbre de treball" -#: builtin/clone.c:813 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "no s'han pogut escriure els parà metres al fitxer de configuració" -#: builtin/clone.c:876 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "no es pot reempaquetar per a netejar" -#: builtin/clone.c:878 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "no es pot desenllaçar el fitxer d'alternatives temporal" -#: builtin/clone.c:918 builtin/receive-pack.c:1941 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Hi ha massa parà metres." -#: builtin/clone.c:922 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Heu d'especificar un dipòsit per a clonar." -#: builtin/clone.c:935 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les opcions --bare i --origin %s són incompatibles." -#: builtin/clone.c:938 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare i --separate-git-dir són incompatibles." -#: builtin/clone.c:951 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "el dipòsit «%s» no existeix" -#: builtin/clone.c:957 builtin/fetch.c:1608 +#: builtin/clone.c:977 builtin/fetch.c:1653 #, c-format msgid "depth %s is not a positive number" msgstr "la profunditat %s no és nombre positiu" -#: builtin/clone.c:967 +#: builtin/clone.c:987 #, 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:977 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "l'arbre de treball «%s» ja existeix." -#: builtin/clone.c:992 builtin/clone.c:1013 builtin/difftool.c:272 builtin/worktree.c:296 builtin/worktree.c:326 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "no s'han pogut crear els directoris inicials de «%s»" -#: builtin/clone.c:997 +#: builtin/clone.c:1017 #, 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:1017 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "S'està clonant al dipòsit nu «%s»...\n" -#: builtin/clone.c:1019 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "S'està clonant a «%s»...\n" -#: builtin/clone.c:1043 -msgid "clone --recursive is not compatible with both --reference and --reference-if-able" -msgstr "clone --recursive no és compatible amb ambdós --reference i --reference-if-able" +#: builtin/clone.c:1063 +msgid "" +"clone --recursive is not compatible with both --reference and --reference-if-" +"able" +msgstr "" +"clone --recursive no és compatible amb ambdós --reference i --reference-if-" +"able" -#: builtin/clone.c:1104 +#: builtin/clone.c:1124 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:1106 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." -msgstr "--shallow-since s'ignora en els clons locals; useu file:// en lloc d'això." +msgstr "" +"--shallow-since s'ignora en els clons locals; useu file:// en lloc d'això." -#: builtin/clone.c:1108 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." -msgstr "--shallow-exclude s'ignora en els clons locals; useu file:// en lloc d'això." +msgstr "" +"--shallow-exclude s'ignora en els clons locals; useu file:// en lloc d'això." -#: builtin/clone.c:1110 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter s'ignora en els clons locals; useu file:// en lloc d'això." -#: builtin/clone.c:1113 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "el dipòsit font és superficial, s'està ignorant --local" -#: builtin/clone.c:1118 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local s'ignora" -#: builtin/clone.c:1192 builtin/clone.c:1200 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, 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:1203 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Sembla que heu clonat un dipòsit buit." @@ -9852,6 +11265,77 @@ msgstr "Espai d'encoixinada entre columnes" msgid "--command must be the first argument" msgstr "--command ha de ser el primer parà metre" +#: builtin/commit-tree.c:18 +msgid "" +"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F " +"<file>)...] <tree>" +msgstr "" + +#: builtin/commit-tree.c:31 +#, fuzzy, c-format +msgid "duplicate parent %s ignored" +msgstr "suprimeix les referències reemplaçades" + +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:542 +#, fuzzy, c-format +msgid "not a valid object name %s" +msgstr "no és un nom d'objecte và lid: %s" + +#: builtin/commit-tree.c:93 +#, fuzzy, c-format +msgid "git commit-tree: failed to open '%s'" +msgstr "s'ha produït un error en obrir «%s»" + +#: builtin/commit-tree.c:96 +#, fuzzy, c-format +msgid "git commit-tree: failed to read '%s'" +msgstr "git write-tree ha fallat en escriure un arbre" + +#: builtin/commit-tree.c:98 +#, fuzzy, c-format +msgid "git commit-tree: failed to close '%s'" +msgstr "git write-tree ha fallat en escriure un arbre" + +#: builtin/commit-tree.c:111 +#, fuzzy +msgid "parent" +msgstr "pare" + +#: builtin/commit-tree.c:112 +#, fuzzy +msgid "id of a parent commit object" +msgstr "s'ha produït un error en escriure l'objecte de comissió" + +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 +msgid "message" +msgstr "missatge" + +#: builtin/commit-tree.c:115 builtin/commit.c:1500 +msgid "commit message" +msgstr "missatge de comissió" + +#: builtin/commit-tree.c:118 +#, fuzzy +msgid "read commit log message from file" +msgstr "llegiu el missatge des d'un fitxer" + +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 +msgid "GPG sign commit" +msgstr "signa la comissió amb GPG" + +#: builtin/commit-tree.c:133 +#, fuzzy +msgid "must give exactly one tree" +msgstr "Cal exactament un rang." + +#: builtin/commit-tree.c:140 +#, fuzzy +msgid "git commit-tree: failed to read" +msgstr "git write-tree ha fallat en escriure un arbre" + #: builtin/commit.c:41 msgid "git commit [<options>] [--] <pathspec>..." msgstr "git commit [<opcions>] [--] <especificació-de-camÃ>..." @@ -9878,87 +11362,86 @@ msgid "" " git commit --allow-empty\n" "\n" msgstr "" -"El «cherry pick» previ ja està buit, possiblement a causa de resolució de conflicte.\n" +"El «cherry pick» previ ja està buit, possiblement a causa de resolució de " +"conflicte.\n" "Si el voleu cometre de totes maneres, useu:\n" "\n" " git commit --allow-empty\n" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" +#, fuzzy +msgid "Otherwise, please use 'git cherry-pick --skip'\n" msgstr "D'altra manera, useu «git reset»\n" #: builtin/commit.c:66 msgid "" -"If you wish to skip this commit, use:\n" +"and then use:\n" "\n" -" git reset\n" +" git cherry-pick --continue\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" -msgstr "" -"Si voleu ometre aquesta comissió, useu:\n" +"to resume cherry-picking the remaining commits.\n" +"If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Llavors \"git cherry-pick --continue\" reprendrà \n" -"com a «cherry pick» les comissions restants.\n" +msgstr "" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "s'ha produït un error en desempaquetar l'objecte d'arbre HEAD" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "no s'ha pogut crear un Ãndex temporal" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "l'afegiment interactiu ha fallat" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "no s'ha pogut actualitzar l'Ãndex temporal" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "S'ha produït un error en actualitzar l'arbre principal de memòria cau" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "no s'ha pogut escriure el fitxer new_index" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "no es pot fer una comissió parcial durant una fusió." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "no es pot fer una comissió parcial durant un «cherry pick»." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "no es pot llegir l'Ãndex" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "no s'ha pogut escriure un fitxer d'Ãndex temporal" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "a la comissió «%s» li manca la capçalera d'autor" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "la comissió «%s» té una lÃnia d'autor mal formada" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "parà metre --author mal format" -#: builtin/commit.c:652 +#: builtin/commit.c:656 msgid "" "unable to select a comment character that is not used\n" "in the current commit message" @@ -9966,38 +11449,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:689 builtin/commit.c:722 builtin/commit.c:1052 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "no s'ha pogut trobar la comissió %s" -#: builtin/commit.c:701 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(s'està llegint el missatge de registre des de l'entrada està ndard)\n" -#: builtin/commit.c:703 +#: builtin/commit.c:708 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:707 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "no s'ha pogut llegir el fitxer de registre «%s»" -#: builtin/commit.c:736 builtin/commit.c:744 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "no s'ha pogut llegir SQUASH_MSG" -#: builtin/commit.c:741 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "no s'ha pogut llegir MERGE_MSG" -#: builtin/commit.c:795 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "no s'ha pogut escriure la plantilla de comissió" -#: builtin/commit.c:813 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -10012,7 +11495,7 @@ msgstr "" "\t%s\n" "i intenteu-ho de nou.\n" -#: builtin/commit.c:818 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -10027,17 +11510,17 @@ msgstr "" "\t%s\n" "i intenteu-ho de nou.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "" "Introduïu el missatge de comissió dels vostres canvis.\n" -"S'ignoraran les lÃnies començant amb «%c», i un missatge de\n" +"S'ignoraran les lÃnies que comencin amb «%c», i un missatge de\n" "comissió buit avorta la comissió.\n" -#: builtin/commit.c:839 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -10045,395 +11528,415 @@ msgid "" "An empty message aborts the commit.\n" msgstr "" "Introduïu el missatge de comissió dels vostres canvis.\n" -"Es mantindran les lÃnies que comencin amb «%c»; podeu eliminar-les vosaltres\n" +"Es mantindran les lÃnies que comencin amb «%c»; podeu eliminar-les " +"vosaltres\n" "mateixos si voleu. Un missatge buit avorta la comissió.\n" -#: builtin/commit.c:856 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAutor: %.*s <%.*s>" -#: builtin/commit.c:864 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sData: %s" -#: builtin/commit.c:871 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sComitent: %.*s <%.*s>" -#: builtin/commit.c:889 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "No es pot llegir l'Ãndex" -#: builtin/commit.c:956 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Error en construir arbres" -#: builtin/commit.c:970 builtin/tag.c:258 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Especifiqueu el missatge usant l'opció -m o l'opció -F.\n" -#: builtin/commit.c:1014 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author «%s» no és «Nom <adreça-electrònica>» i no coincideix amb\n" "cap autor existent" -#: builtin/commit.c:1028 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "mode ignorat no và lid «%s»" -#: builtin/commit.c:1042 builtin/commit.c:1279 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Mode de fitxers no seguits no và lid «%s»" -#: builtin/commit.c:1080 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long i -z són incompatibles" -#: builtin/commit.c:1113 +#: builtin/commit.c:1146 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:1122 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "No teniu res a esmenar." -#: builtin/commit.c:1125 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Esteu enmig d'una fusió -- no es pot esmenar." -#: builtin/commit.c:1127 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Esteu enmig d'un «cherry pick» -- no es pot esmenar." -#: builtin/commit.c:1130 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Les opcions --squash i --fixup no es poden usar juntes" -#: builtin/commit.c:1140 +#: builtin/commit.c:1173 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:1142 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "L'opció -m no es pot combinar amb -c/-C/-F/." -#: builtin/commit.c:1150 +#: builtin/commit.c:1183 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:1167 +#: builtin/commit.c:1200 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:1169 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "--include/--only no té sentit sense camÃ." -#: builtin/commit.c:1183 builtin/tag.c:546 -#, c-format -msgid "Invalid cleanup mode %s" -msgstr "Mode de neteja no và lid %s" - -#: builtin/commit.c:1188 -msgid "Paths with -a does not make sense." +#: builtin/commit.c:1208 +#, fuzzy, c-format +msgid "paths '%s ...' with -a does not make sense" msgstr "-a no té sentit amb camins." -#: builtin/commit.c:1314 builtin/commit.c:1498 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "mostra l'estat concisament" -#: builtin/commit.c:1316 builtin/commit.c:1500 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "mostra la informació de branca" -#: builtin/commit.c:1318 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "mostra la informació de «stash»" -#: builtin/commit.c:1320 builtin/commit.c:1502 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "" -#: builtin/commit.c:1322 +#: builtin/commit.c:1347 msgid "version" msgstr "versió" -#: builtin/commit.c:1322 builtin/commit.c:1504 builtin/push.c:561 builtin/worktree.c:640 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "sortida llegible per mà quina" -#: builtin/commit.c:1325 builtin/commit.c:1506 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "mostra l'estat en format llarg (per defecte)" -#: builtin/commit.c:1328 builtin/commit.c:1509 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "acaba les entrades amb NUL" -#: builtin/commit.c:1330 builtin/commit.c:1334 builtin/commit.c:1512 builtin/fast-export.c:1085 -#: builtin/fast-export.c:1088 builtin/rebase.c:1118 builtin/tag.c:400 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "mode" -#: builtin/commit.c:1331 builtin/commit.c:1512 +#: builtin/commit.c:1356 builtin/commit.c:1537 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)" +msgstr "" +"mostra els fitxers no seguits, modes opcionals: all, normal, no. (Per " +"defecte: all)" -#: builtin/commit.c:1335 -msgid "show ignored files, optional modes: traditional, matching, no. (Default: traditional)" +#: builtin/commit.c:1360 +msgid "" +"show ignored files, optional modes: traditional, matching, no. (Default: " +"traditional)" msgstr "" -"mostra els fitxers ignorats, modes opcionals: traditional, matching, no. (Per defecte: traditional, matching, no.)" +"mostra els fitxers ignorats, modes opcionals: traditional, matching, no. " +"(Per defecte: traditional, matching, no.)" -#: builtin/commit.c:1337 parse-options.h:164 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "quan" -#: builtin/commit.c:1338 -msgid "ignore changes to submodules, optional when: all, dirty, untracked. (Default: all)" -msgstr "ignora els canvis als submòduls, opcional quan: all, dirty, untracked. (Per defecte: all)" +#: builtin/commit.c:1363 +msgid "" +"ignore changes to submodules, optional when: all, dirty, untracked. " +"(Default: all)" +msgstr "" +"ignora els canvis als submòduls, opcional quan: all, dirty, untracked. (Per " +"defecte: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "mostra els fitxers no seguits en columnes" -#: builtin/commit.c:1341 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "no detectis canvis de noms" -#: builtin/commit.c:1343 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "detecta canvis de noms, i opcionalment estableix un Ãndex de semblança" -#: builtin/commit.c:1363 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" -#: builtin/commit.c:1468 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "omet el resum després d'una comissió reeixida" -#: builtin/commit.c:1469 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "mostra la diferència en la plantilla de missatge de comissió" -#: builtin/commit.c:1471 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Opcions de missatge de comissió" -#: builtin/commit.c:1472 builtin/merge.c:264 builtin/tag.c:397 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "llegiu el missatge des d'un fitxer" -#: builtin/commit.c:1473 +#: builtin/commit.c:1498 msgid "author" msgstr "autor" -#: builtin/commit.c:1473 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "autor corregit de la comissió" -#: builtin/commit.c:1474 builtin/gc.c:518 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "data" -#: builtin/commit.c:1474 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "data corregida de la comissió" -#: builtin/commit.c:1475 builtin/merge.c:260 builtin/notes.c:409 builtin/notes.c:575 builtin/tag.c:395 -msgid "message" -msgstr "missatge" - -#: builtin/commit.c:1475 -msgid "commit message" -msgstr "missatge de comissió" - -#: builtin/commit.c:1476 builtin/commit.c:1477 builtin/commit.c:1478 builtin/commit.c:1479 parse-options.h:278 -#: ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "comissió" -#: builtin/commit.c:1476 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "reusa i edita el missatge de la comissió especificada" -#: builtin/commit.c:1477 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "reusa el missatge de la comissió especificada" -#: builtin/commit.c:1478 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" -msgstr "usa el missatge formatat de «squash» automà tic per a corregir la comissió especificada" +msgstr "" +"usa el missatge formatat de «squash» automà tic per a corregir la comissió " +"especificada" -#: builtin/commit.c:1479 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" -msgstr "usa el missatge formatat de «squash» automà tic per a «squash» a la comissió especificada" +msgstr "" +"usa el missatge formatat de «squash» automà tic per a «squash» a la comissió " +"especificada" -#: builtin/commit.c:1480 +#: builtin/commit.c:1505 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:1481 builtin/log.c:1533 builtin/merge.c:277 builtin/pull.c:156 builtin/revert.c:107 +#: builtin/commit.c:1506 builtin/log.c:1581 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "afegeix Signed-off-by:" -#: builtin/commit.c:1482 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "usa el fitxer de plantilla especificat" -#: builtin/commit.c:1483 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "força l'edició de la comissió" -#: builtin/commit.c:1484 -msgid "default" -msgstr "per defecte" - -#: builtin/commit.c:1484 builtin/tag.c:401 -msgid "how to strip spaces and #comments from message" -msgstr "com suprimir els espais i #comentaris del missatge" - -#: builtin/commit.c:1485 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "inclou l'estat en la plantilla de missatge de comissió" -#: builtin/commit.c:1487 builtin/merge.c:275 builtin/pull.c:186 builtin/revert.c:115 -msgid "GPG sign commit" -msgstr "signa la comissió amb GPG" - -#: builtin/commit.c:1490 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Opcions dels continguts de les comissions" -#: builtin/commit.c:1491 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "comet tots els fitxers canviats" -#: builtin/commit.c:1492 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "afegeix els fitxers especificats a l'Ãndex per a cometre" -#: builtin/commit.c:1493 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "afegeix els fitxers interactivament" -#: builtin/commit.c:1494 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "afegeix els canvis interactivament" -#: builtin/commit.c:1495 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "comet només els fitxers especificats" -#: builtin/commit.c:1496 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "evita els lligams de precomissió i missatge de comissió" -#: builtin/commit.c:1497 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "mostra què es cometria" -#: builtin/commit.c:1510 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "esmena la comissió anterior" -#: builtin/commit.c:1511 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "evita el lligam de post escriptura" -#: builtin/commit.c:1516 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "està bé registrar un canvi buit" -#: builtin/commit.c:1518 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "està bé registrar un canvi amb missatge buit" -#: builtin/commit.c:1591 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Fitxer MERGE_HEAD malmès (%s)" -#: builtin/commit.c:1598 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "no s'ha pogut llegir MERGE_MODE" -#: builtin/commit.c:1617 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "no s'ha pogut llegir el missatge de comissió: %s" -#: builtin/commit.c:1628 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "S'està avortant la comissió a causa d'un missatge de comissió buit.\n" -#: builtin/commit.c:1633 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "S'està avortant la comissió; no heu editat el missatge.\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 +#, fuzzy msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "s'ha actualitzat el dipòsit, però no es pot escriure el\n" "fitxer new_index. Comproveu que el disc no estigui ple i\n" "que no s'hagi excedit la quota, i després feu \n" "«git reset HEAD» per a recuperar-ho." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" msgstr "" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 -msgid "git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--stdin-packs|--stdin-commits]" +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 +msgid "" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -#: builtin/commit-graph.c:48 builtin/commit-graph.c:78 builtin/commit-graph.c:132 builtin/commit-graph.c:190 -#: builtin/fetch.c:153 builtin/log.c:1553 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1601 msgid "dir" msgstr "directori" -#: builtin/commit-graph.c:49 builtin/commit-graph.c:79 builtin/commit-graph.c:133 builtin/commit-graph.c:191 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "" -#: builtin/commit-graph.c:135 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 +#, fuzzy, c-format +msgid "Could not open commit-graph '%s'" +msgstr "no s'ha pogut analitzar la comissió «%s»" + +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "" -#: builtin/commit-graph.c:137 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "" -#: builtin/commit-graph.c:139 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "" -#: builtin/commit-graph.c:141 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:172 +#, fuzzy +msgid "allow writing an incremental commit-graph file" +msgstr "Escriu i verifica els fitxers commit-graph de Git" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "" @@ -10441,7 +11944,7 @@ msgstr "" msgid "git config [<options>]" msgstr "git config [<opcions>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "parà metre --type no reconegut, %s" @@ -10504,7 +12007,8 @@ msgstr "obtén el valor especÃfic per a l'URL: secció[.variable] URL" #: builtin/config.c:136 msgid "replace all matching variables: name value [value_regex]" -msgstr "reemplaça totes les variables que coincideixen: nom valor [regex_de_valors]" +msgstr "" +"reemplaça totes les variables que coincideixen: nom valor [regex_de_valors]" #: builtin/config.c:137 msgid "add a new variable: name value" @@ -10546,7 +12050,7 @@ msgstr "troba el parà metre de color: ranura [stdout-és-tty]" msgid "Type" msgstr "Tipus" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "el valor té donat aquest tipus" @@ -10588,9 +12092,11 @@ msgstr "respecta les directives d'inclusió en cercar" #: builtin/config.c:157 msgid "show origin of config (file, standard input, blob, command line)" -msgstr "mostra l'origen de la configuració (fitxer, entrada està ndard, blob, lÃnia d'ordres)" +msgstr "" +"mostra l'origen de la configuració (fitxer, entrada està ndard, blob, lÃnia " +"d'ordres)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "valor" @@ -10616,7 +12122,8 @@ msgstr "patró de la clau no và lid: %s" #: builtin/config.c:344 #, c-format msgid "failed to format default config value: %s" -msgstr "s'ha produït un error en formatar el valor per defecte de la configuració: %s" +msgstr "" +"s'ha produït un error en formatar el valor per defecte de la configuració: %s" #: builtin/config.c:401 #, c-format @@ -10657,7 +12164,7 @@ msgstr "" #: builtin/config.c:611 msgid "only one config file at a time" -msgstr "" +msgstr "només un fitxer de configuració cada cop" #: builtin/config.c:616 msgid "--local can only be used inside a git repository" @@ -10691,8 +12198,11 @@ msgid "--name-only is only applicable to --list or --get-regexp" msgstr "--name-only només és aplicable a --list o --get-regexp" #: builtin/config.c:712 -msgid "--show-origin is only applicable to --get, --get-all, --get-regexp, and --list" -msgstr "--show-origin només és aplicable a --get, --get-all, --get-regexp, i --list" +msgid "" +"--show-origin is only applicable to --get, --get-all, --get-regexp, and --" +"list" +msgstr "" +"--show-origin només és aplicable a --get, --get-all, --get-regexp, i --list" #: builtin/config.c:718 msgid "--default is only applicable to --get" @@ -10712,9 +12222,8 @@ msgid "editing stdin is not supported" msgstr "no hi ha compatibilitat per a l'edició a stdin" #: builtin/config.c:746 -#, fuzzy msgid "editing blobs is not supported" -msgstr "No s'admet una profunditat negativa en --deepen" +msgstr "no hi ha compatibilitat per l'edició de blobs" #: builtin/config.c:760 #, c-format @@ -10830,7 +12339,7 @@ msgstr "" msgid "describe %s\n" msgstr "descriu %s\n" -#: builtin/describe.c:513 builtin/log.c:516 +#: builtin/describe.c:513 #, c-format msgid "Not a valid object name %s" msgstr "%s no és un nom d'objecte và lid" @@ -10880,7 +12389,7 @@ msgstr "només considera les etiquetes que coincideixen amb <patró>" msgid "do not consider tags matching <pattern>" msgstr "no consideris les etiquetes que no coincideixen amb <patró>" -#: builtin/describe.c:551 builtin/name-rev.c:424 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "mostra l'objecte de comissió abreviat com a sistema alternatiu" @@ -10922,50 +12431,50 @@ msgstr "«%s»: no és ni fitxer regular ni enllaç simbòlic" msgid "invalid option: %s" msgstr "opció no và lida: %s" -#: builtin/diff.c:364 +#: builtin/diff.c:350 msgid "Not a git repository" msgstr "No és un dipòsit de git" -#: builtin/diff.c:408 +#: builtin/diff.c:394 #, c-format msgid "invalid object '%s' given." msgstr "s'ha donat un objecte no và lid «%s»." -#: builtin/diff.c:417 +#: builtin/diff.c:403 #, c-format msgid "more than two blobs given: '%s'" msgstr "s'ha donat més de dos blobs: «%s»" -#: builtin/diff.c:422 +#: builtin/diff.c:408 #, c-format msgid "unhandled object '%s' given." msgstr "s'ha donat l'objecte no gestionat «%s»." -#: builtin/difftool.c:31 +#: builtin/difftool.c:30 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]" msgstr "git difftool [<opcions>] [<commit> [<commit>]] [--] [<camÃ>...]" -#: builtin/difftool.c:261 +#: builtin/difftool.c:253 #, c-format msgid "failed: %d" msgstr "ha fallat: %d" -#: builtin/difftool.c:303 +#: builtin/difftool.c:295 #, c-format msgid "could not read symlink %s" msgstr "no s'ha pogut llegir l'enllaç simbòlic %s" -#: builtin/difftool.c:305 +#: builtin/difftool.c:297 #, c-format msgid "could not read symlink file %s" msgstr "no s'ha pogut llegir el fitxer d'enllaç simbòlic %s" -#: builtin/difftool.c:313 +#: builtin/difftool.c:305 #, c-format msgid "could not read object %s for symlink %s" msgstr "No es pot llegir l'objecte %s per l'enllaç simbòlic %s" -#: builtin/difftool.c:414 +#: builtin/difftool.c:406 msgid "" "combined diff formats('-c' and '--cc') are not supported in\n" "directory diff mode('-d' and '--dir-diff')." @@ -10973,318 +12482,379 @@ msgstr "" "els formats de diff combinats ('-c' and '--cc') no són admesos \n" "en el mode diff per directoris ('-d' and '--dir-diff')." -#: builtin/difftool.c:634 +#: builtin/difftool.c:626 #, c-format msgid "both files modified: '%s' and '%s'." msgstr "s'han modificat ambdós fitxers: «%s» i «%s»." -#: builtin/difftool.c:636 +#: builtin/difftool.c:628 msgid "working tree file has been left." msgstr "s'ha deixat un fitxer de l'arbre de treball." -#: builtin/difftool.c:647 +#: builtin/difftool.c:639 #, c-format msgid "temporary files exist in '%s'." msgstr "existeix un fitxer temporal a «%s»." -#: builtin/difftool.c:648 +#: builtin/difftool.c:640 msgid "you may want to cleanup or recover these." msgstr "podeu netejar o recuperar-los." -#: builtin/difftool.c:697 +#: builtin/difftool.c:689 msgid "use `diff.guitool` instead of `diff.tool`" msgstr "utilitza `diff.guitool` en comptes de `diff.tool`" -#: builtin/difftool.c:699 +#: builtin/difftool.c:691 msgid "perform a full-directory diff" msgstr "fes un diff de tot el directori" -#: builtin/difftool.c:701 +#: builtin/difftool.c:693 msgid "do not prompt before launching a diff tool" msgstr "no preguntis abans d'executar l'eina diff" -#: builtin/difftool.c:706 +#: builtin/difftool.c:698 msgid "use symlinks in dir-diff mode" msgstr "utilitza enllaços simbòlics en mode dir-diff" -#: builtin/difftool.c:707 +#: builtin/difftool.c:699 msgid "tool" msgstr "eina" -#: builtin/difftool.c:708 +#: builtin/difftool.c:700 msgid "use the specified diff tool" msgstr "utilitza l'eina de diff especificada" -#: builtin/difftool.c:710 +#: builtin/difftool.c:702 msgid "print a list of diff tools that may be used with `--tool`" -msgstr "imprimeix una llista de totes les eines diff que podeu usar amb `--tool`" +msgstr "" +"imprimeix una llista de totes les eines diff que podeu usar amb `--tool`" -#: builtin/difftool.c:713 -msgid "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit code" -msgstr "fes que 'git-difftool' surti quan l'eina de diff invocada torna un codi de sortida diferent de zero" +#: builtin/difftool.c:705 +msgid "" +"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit " +"code" +msgstr "" +"fes que 'git-difftool' surti quan l'eina de diff invocada torna un codi de " +"sortida diferent de zero" -#: builtin/difftool.c:716 +#: builtin/difftool.c:708 msgid "specify a custom command for viewing diffs" -msgstr "especifiqueu una ordre personalitzada per veure diffs" +msgstr "especifiqueu un ordre personalitzat per veure diffs" + +#: builtin/difftool.c:709 +msgid "passed to `diff`" +msgstr "passa-ho a «diff»" + +#: builtin/difftool.c:724 +msgid "difftool requires worktree or --no-index" +msgstr "difftool requereix worktree o --no-index" + +#: builtin/difftool.c:731 +msgid "--dir-diff is incompatible with --no-index" +msgstr "--dir-diff és incompatible amb --no-index" -#: builtin/difftool.c:740 +#: builtin/difftool.c:734 +msgid "--gui, --tool and --extcmd are mutually exclusive" +msgstr "--gui, --tool and --extcmd són mútuament excloents" + +#: builtin/difftool.c:742 msgid "no <tool> given for --tool=<tool>" msgstr "no s'ha proporcionat <tool> per --tool=<tool>" -#: builtin/difftool.c:747 +#: builtin/difftool.c:749 msgid "no <cmd> given for --extcmd=<cmd>" msgstr "no s'ha proporcionat <cmd> per --extcmd=<cmd>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <opcions> <env-var>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "tipus" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [opcions-de-llista-de-revisions]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "mostra el progrés després de <n> objectes" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "selecciona la gestió de les etiquetes signades" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "selecciona la gestió de les etiquetes que etiquetin objectes filtrats" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +#, fuzzy +msgid "select handling of commit messages in an alternate encoding" +msgstr "selecciona la gestió de les etiquetes que etiquetin objectes filtrats" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Bolca les marques a aquest fitxer" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Importa les marques d'aquest fitxer" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Fingeix un etiquetador quan els en manca un a les etiquetes" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Imprimeix l'arbre complet de cada comissió" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Usa la caracterÃstica done per a acabar el corrent" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Omet l'emissió de dades de blob" -#: builtin/fast-export.c:1102 builtin/log.c:1601 +#: builtin/fast-export.c:1145 builtin/log.c:1649 msgid "refspec" msgstr "especificació de referència" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Aplica l'especificació de referència a les referències exportades" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "anonimitza la sortida" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<opcions>] [<dipòsit> [<especificació-de-referència>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<opcions>] <grup>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<opcions>] [(<dipòsit> | <grup>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<opcions>]" -#: builtin/fetch.c:115 builtin/pull.c:195 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "obtén de tots els remots" -#: builtin/fetch.c:117 builtin/pull.c:198 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "annexa a .git/FETCH_HEAD en lloc de sobreescriure" -#: builtin/fetch.c:119 builtin/pull.c:201 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "camà al qual pujar el paquet al costat remot" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "força la sobreescriptura de la referència local" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "obtén de múltiples remots" -#: builtin/fetch.c:124 builtin/pull.c:205 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "obtén totes les etiquetes i tots els objectes associats" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "no obtinguis les etiquetes (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "nombre de submòduls obtinguts en paral·lel" -#: builtin/fetch.c:130 builtin/pull.c:208 +#: builtin/fetch.c:140 builtin/pull.c:216 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:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:133 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "sota demanda" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "controla l'obtenció recursiva de submòduls" -#: builtin/fetch.c:138 builtin/pull.c:216 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "retén el paquet baixat" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "permet l'actualització de la referència HEAD" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:219 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "aprofundeix la història d'un clon superficial" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "aprofundeix la història d'un clon superficial basat en temps" -#: builtin/fetch.c:151 builtin/pull.c:222 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "converteix en un dipòsit complet" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "anteposa això a la sortida de camà del submòdul" -#: builtin/fetch.c:157 -msgid "default for recursive fetching of submodules (lower priority than config files)" -msgstr "per defecte per a l'obtenció recursiva de submòduls (prioritat més baixa que els fitxers de configuració)" +#: builtin/fetch.c:167 +msgid "" +"default for recursive fetching of submodules (lower priority than config " +"files)" +msgstr "" +"per defecte per a l'obtenció recursiva de submòduls (prioritat més baixa que " +"els fitxers de configuració)" -#: builtin/fetch.c:161 builtin/pull.c:225 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "accepta les referències que actualitzin .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:227 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "mapa de referències" -#: builtin/fetch.c:163 builtin/pull.c:228 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "mostra el mapa de referències d'obtenció" -#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585 builtin/send-pack.c:172 -msgid "server-specific" -msgstr "especÃfic al servidor" +#: builtin/fetch.c:180 +msgid "report that we have only objects reachable from this object" +msgstr "" -#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585 builtin/send-pack.c:173 -msgid "option to transmit" -msgstr "opció a transmetre" +#: builtin/fetch.c:183 +#, fuzzy +msgid "run 'gc --auto' after fetching" +msgstr "poda els remots després d'obtenir-los" -#: builtin/fetch.c:170 -msgid "report that we have only objects reachable from this object" +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" msgstr "" -#: builtin/fetch.c:469 +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "No s'ha pogut trobar la referència HEAD remota" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, 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:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "objecte %s no trobat" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[al dia]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[rebutjat]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "no es pot obtenir en la branca actual" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[actualització d'etiqueta]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "no s'ha pogut actualitzar la referència local" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[etiqueta nova]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[branca nova]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[referència nova]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "actualització forçada" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "sense avanç rà pid" -#: builtin/fetch.c:847 +#: builtin/fetch.c:879 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s no ha enviat tots els objectes necessaris\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:900 #, 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" +msgstr "" +"rebutja %s perquè no es permet que les arrels superficials s'actualitzin" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:991 builtin/fetch.c:1124 #, c-format msgid "From %.*s\n" msgstr "De %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1002 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -11294,54 +12864,80 @@ msgstr "" " intenteu executar 'git remote prune %s' per a eliminar\n" " qualsevol branca antiga o conflictiva" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1008 +msgid "" +"Fetch normally indicates which branches had a forced update, but that check " +"has been disabled." +msgstr "" + +#: builtin/fetch.c:1009 +msgid "" +"To re-enable, use '--show-forced-updates' flag or run 'git config fetch." +"showForcedUpdates true'." +msgstr "" + +#: builtin/fetch.c:1011 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use '--no-show-forced-" +"updates'\n" +msgstr "" + +#: builtin/fetch.c:1013 +msgid "" +"or run 'git config fetch.showForcedUpdates false' to avoid this check.\n" +msgstr "" + +#: builtin/fetch.c:1094 #, c-format msgid " (%s will become dangling)" msgstr " (%s es tornarà penjant)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1095 #, c-format msgid " (%s has become dangling)" msgstr " (%s s'ha tornat penjant)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1127 msgid "[deleted]" msgstr "[suprimit]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1128 builtin/remote.c:1036 msgid "(none)" msgstr "(cap)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1151 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "S'està refusant obtenir en la branca actual %s d'un dipòsit no nu" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1170 #, 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:1130 +#: builtin/fetch.c:1173 #, c-format msgid "Option \"%s\" is ignored for %s\n" -msgstr "S'ignora l'opció \"%s\" per a %s\n" +msgstr "S'ignora l'opció «%s» per a %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1477 #, c-format msgid "Fetching %s\n" msgstr "S'està obtenint %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1479 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "No s'ha pogut obtenir %s" -#: builtin/fetch.c:1482 -msgid "--filter can only be used with the remote configured in extensions.partialClone" +#: builtin/fetch.c:1525 +msgid "" +"--filter can only be used with the remote configured in extensions." +"partialClone" msgstr "" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1549 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -11349,50 +12945,54 @@ msgstr "" "Cap dipòsit remot especificat. Especifiqueu un URL o\n" "un nom remot del qual es deuen obtenir les revisions noves." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1586 msgid "You need to specify a tag name." msgstr "Necessiteu especificar un nom d'etiqueta." -#: builtin/fetch.c:1592 +#: builtin/fetch.c:1637 msgid "Negative depth in --deepen is not supported" msgstr "No s'admet una profunditat negativa en --deepen" -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1639 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen i --depth són mútuament excloents" -#: builtin/fetch.c:1599 +#: builtin/fetch.c:1644 msgid "--depth and --unshallow cannot be used together" msgstr "--depth i --unshallow no es poden usar junts" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1646 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow en un dipòsit complet no té sentit" -#: builtin/fetch.c:1617 +#: builtin/fetch.c:1662 msgid "fetch --all does not take a repository argument" msgstr "fetch --all no accepta un parà metre de dipòsit" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1664 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all no té sentit amb especificacions de referència" -#: builtin/fetch.c:1628 +#: builtin/fetch.c:1673 #, c-format msgid "No such remote or remote group: %s" msgstr "No existeix un remot ni un grup remot: %s" -#: builtin/fetch.c:1635 +#: builtin/fetch.c:1680 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Obtenir un grup i especificar referències no té sentit" -#: builtin/fetch.c:1651 -msgid "--filter can only be used with the remote configured in extensions.partialclone" +#: builtin/fetch.c:1696 +msgid "" +"--filter can only be used with the remote configured in extensions." +"partialclone" msgstr "" #: builtin/fmt-merge-msg.c:18 -msgid "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]" -msgstr "git fmt-merge-msg [-m <missatge>] [--log[=<n>] | --no-log] [--file <fitxer>]" +msgid "" +"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]" +msgstr "" +"git fmt-merge-msg [-m <missatge>] [--log[=<n>] | --no-log] [--file <fitxer>]" #: builtin/fmt-merge-msg.c:672 msgid "populate log with at most <n> entries from shortlog" @@ -11428,11 +13028,13 @@ msgstr "git for-each-ref [(--merged | --no-merged) [<comissió>]]" #: builtin/for-each-ref.c:13 msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]" -msgstr "git for-each-ref [--contains [<comissió>]] [--no-contains [<comissió>]]" +msgstr "" +"git for-each-ref [--contains [<comissió>]] [--no-contains [<comissió>]]" #: builtin/for-each-ref.c:28 msgid "quote placeholders suitably for shells" -msgstr "posa els marcadors de posició de forma adequada per a intèrprets d'ordres" +msgstr "" +"posa els marcadors de posició de forma adequada per a intèrprets d'ordres" #: builtin/for-each-ref.c:30 msgid "quote placeholders suitably for perl" @@ -11450,27 +13052,27 @@ msgstr "posa els marcadors de posició entre cometes adequades per al Tcl" msgid "show only <n> matched refs" msgstr "mostra només <n> referències coincidents" -#: builtin/for-each-ref.c:39 builtin/tag.c:424 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "respecta els colors del format" -#: builtin/for-each-ref.c:43 +#: builtin/for-each-ref.c:42 msgid "print only refs which points at the given object" msgstr "imprimeix només les referències que assenyalin l'objecte donat" -#: builtin/for-each-ref.c:45 +#: builtin/for-each-ref.c:44 msgid "print only refs that are merged" msgstr "imprimeix només les referències que s'han fusionat" -#: builtin/for-each-ref.c:46 +#: builtin/for-each-ref.c:45 msgid "print only refs that are not merged" msgstr "imprimeix només les referències que no s'han fusionat" -#: builtin/for-each-ref.c:47 +#: builtin/for-each-ref.c:46 msgid "print only refs which contain the commit" msgstr "imprimeix només les referències que continguin la comissió" -#: builtin/for-each-ref.c:48 +#: builtin/for-each-ref.c:47 msgid "print only refs which don't contain the commit" msgstr "imprimeix només les referències que no continguin la comissió" @@ -11506,214 +13108,212 @@ msgid "" " to %7s %s" msgstr "" -#: builtin/fsck.c:253 +#: builtin/fsck.c:295 #, c-format msgid "missing %s %s" msgstr "manca %s %s" -#: builtin/fsck.c:279 -#, fuzzy, c-format +#: builtin/fsck.c:321 +#, c-format msgid "unreachable %s %s" -msgstr "ja es té %s (%s)" +msgstr "inabastable %s %s" -#: builtin/fsck.c:298 +#: builtin/fsck.c:340 #, fuzzy, c-format msgid "dangling %s %s" msgstr "S'estan actualitzant %s..%s\n" -#: builtin/fsck.c:307 +#: builtin/fsck.c:349 #, fuzzy msgid "could not create lost-found" msgstr "no s'ha pogut crear el fitxer «%s»" -#: builtin/fsck.c:318 +#: builtin/fsck.c:360 #, c-format msgid "could not finish '%s'" msgstr "no s'ha pogut finalitzar «%s»" -#: builtin/fsck.c:335 +#: builtin/fsck.c:377 #, c-format msgid "Checking %s" msgstr "S'està comprovant %s" -#: builtin/fsck.c:353 +#: builtin/fsck.c:415 #, c-format msgid "Checking connectivity (%d objects)" msgstr "S'està comprovant la connectivitat (%d objectes)" -#: builtin/fsck.c:372 +#: builtin/fsck.c:434 #, c-format msgid "Checking %s %s" msgstr "S'està comprovant %s %s" -#: builtin/fsck.c:376 +#: builtin/fsck.c:438 msgid "broken links" msgstr "enllaços trencats" -#: builtin/fsck.c:385 +#: builtin/fsck.c:447 #, c-format msgid "root %s" msgstr "arrel %s" -#: builtin/fsck.c:393 +#: builtin/fsck.c:455 #, c-format msgid "tagged %s %s (%s) in %s" msgstr "" -#: builtin/fsck.c:422 +#: builtin/fsck.c:484 #, c-format msgid "%s: object corrupt or missing" msgstr "%s: objecte corrupte o no trobat" -#: builtin/fsck.c:447 -#, fuzzy, c-format +#: builtin/fsck.c:509 +#, c-format msgid "%s: invalid reflog entry %s" -msgstr "referència no và lida: %s" +msgstr " %s: entrada de referència no và lida %s" -#: builtin/fsck.c:461 +#: builtin/fsck.c:523 #, fuzzy, c-format msgid "Checking reflog %s->%s" msgstr "S'està comprovant el canvi de nom de «%s» a «%s»\n" -#: builtin/fsck.c:495 +#: builtin/fsck.c:557 #, c-format msgid "%s: invalid sha1 pointer %s" msgstr "%s: punter sha1 no và lid: %s" -#: builtin/fsck.c:502 +#: builtin/fsck.c:564 #, c-format msgid "%s: not a commit" msgstr "%s: no és una comissió" -#: builtin/fsck.c:557 -#, fuzzy +#: builtin/fsck.c:619 msgid "notice: No default references" -msgstr "no s'han pogut suprimir les referències: %s" +msgstr "avÃs: no hi ha referències per defecte" -#: builtin/fsck.c:572 +#: builtin/fsck.c:634 #, c-format msgid "%s: object corrupt or missing: %s" msgstr "%s: objecte corrupte o no trobat: %s" -#: builtin/fsck.c:585 +#: builtin/fsck.c:647 #, c-format msgid "%s: object could not be parsed: %s" msgstr "%s: no s'ha pogut analitzar l'objecte: %s" -#: builtin/fsck.c:605 -#, fuzzy, c-format +#: builtin/fsck.c:667 +#, c-format msgid "bad sha1 file: %s" -msgstr "lÃnia de shallow no và lida: %s" +msgstr "fitxer sha1 malmès: %s" -#: builtin/fsck.c:620 +#: builtin/fsck.c:682 msgid "Checking object directory" msgstr "S'està comprovant el directori d'objecte" -#: builtin/fsck.c:623 +#: builtin/fsck.c:685 msgid "Checking object directories" msgstr "S'estan comprovant els directoris d'objecte" -#: builtin/fsck.c:638 +#: builtin/fsck.c:700 #, c-format msgid "Checking %s link" msgstr "S'està comprovant l'enllaç %s" -#: builtin/fsck.c:643 builtin/index-pack.c:833 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s no và lid" -#: builtin/fsck.c:650 +#: builtin/fsck.c:712 #, fuzzy, c-format msgid "%s points to something strange (%s)" msgstr "%s - no és una cosa que puguem fusionar" -#: builtin/fsck.c:656 +#: builtin/fsck.c:718 #, c-format msgid "%s: detached HEAD points at nothing" msgstr "" -#: builtin/fsck.c:660 +#: builtin/fsck.c:722 #, c-format msgid "notice: %s points to an unborn branch (%s)" msgstr "" -#: builtin/fsck.c:672 -#, fuzzy +#: builtin/fsck.c:734 msgid "Checking cache tree" -msgstr "S'està comprovant el pedaç %s..." +msgstr "S'està comprovant l'arbre de la memòria cau" -#: builtin/fsck.c:677 +#: builtin/fsck.c:739 #, fuzzy, c-format msgid "%s: invalid sha1 pointer in cache-tree" msgstr "S'ha produït un error en actualitzar l'arbre principal de memòria cau" -#: builtin/fsck.c:688 +#: builtin/fsck.c:750 msgid "non-tree in cache-tree" msgstr "" -#: builtin/fsck.c:719 +#: builtin/fsck.c:781 msgid "git fsck [<options>] [<object>...]" msgstr "git fsck [<opcions>] [<objecte>...]" -#: builtin/fsck.c:725 +#: builtin/fsck.c:787 msgid "show unreachable objects" msgstr "mostra els objectes inabastables" -#: builtin/fsck.c:726 +#: builtin/fsck.c:788 msgid "show dangling objects" msgstr "mostra els objectes penjants" -#: builtin/fsck.c:727 +#: builtin/fsck.c:789 msgid "report tags" msgstr "informa de les etiquetes" -#: builtin/fsck.c:728 +#: builtin/fsck.c:790 msgid "report root nodes" msgstr "informa dels nodes d'arrel" -#: builtin/fsck.c:729 +#: builtin/fsck.c:791 msgid "make index objects head nodes" msgstr "fes els objectes d'Ãndex nodes de cap" -#: builtin/fsck.c:730 +#: builtin/fsck.c:792 msgid "make reflogs head nodes (default)" msgstr "fes que els registres de referències siguin nodes de cap (per defecte)" -#: builtin/fsck.c:731 +#: builtin/fsck.c:793 msgid "also consider packs and alternate objects" msgstr "també considera els paquets i els objectes alternatius" -#: builtin/fsck.c:732 +#: builtin/fsck.c:794 msgid "check only connectivity" msgstr "comprova només la connectivitat" -#: builtin/fsck.c:733 +#: builtin/fsck.c:795 msgid "enable more strict checking" msgstr "habilita la comprovació més estricta" -#: builtin/fsck.c:735 +#: builtin/fsck.c:797 msgid "write dangling objects in .git/lost-found" msgstr "escriu objectes penjants a .git/lost-found" -#: builtin/fsck.c:736 builtin/prune.c:110 +#: builtin/fsck.c:798 builtin/prune.c:132 msgid "show progress" msgstr "mostra el progrés" -#: builtin/fsck.c:737 +#: builtin/fsck.c:799 msgid "show verbose names for reachable objects" msgstr "mostra els noms detallats dels objectes abastables" -#: builtin/fsck.c:797 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "S'estan comprovant els objectes" -#: builtin/fsck.c:825 +#: builtin/fsck.c:887 #, fuzzy, c-format msgid "%s: object missing" msgstr "mostra la mida de l'objecte" -#: builtin/fsck.c:837 +#: builtin/fsck.c:899 #, fuzzy, c-format msgid "invalid parameter: expected sha1, got '%s'" msgstr "s'esperava shallow/unshallow, s'ha rebut %s" @@ -11727,17 +13327,22 @@ msgstr "git gc [<opcions>]" msgid "Failed to fstat %s: %s" msgstr "S'ha produït un error en fer fstat %s: %s" -#: builtin/gc.c:461 builtin/init-db.c:55 +#: builtin/gc.c:126 +#, fuzzy, c-format +msgid "failed to parse '%s' value '%s'" +msgstr "s'ha produït un error en moure «%s» a «%s»" + +#: builtin/gc.c:476 builtin/init-db.c:55 #, c-format msgid "cannot stat '%s'" msgstr "no es pot fer stat en «%s»" -#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "no es pot llegir «%s»" -#: builtin/gc.c:477 +#: builtin/gc.c:492 #, c-format msgid "" "The last gc run reported the following. Please correct the root cause\n" @@ -11752,59 +13357,67 @@ msgstr "" "\n" "%s" -#: builtin/gc.c:519 +#: builtin/gc.c:540 msgid "prune unreferenced objects" msgstr "poda objectes sense referència" -#: builtin/gc.c:521 +#: builtin/gc.c:542 msgid "be more thorough (increased runtime)" msgstr "sigues més exhaustiu (el temps d'execució augmenta)" -#: builtin/gc.c:522 +#: builtin/gc.c:543 msgid "enable auto-gc mode" msgstr "habilita el mode de recollida d'escombraries automà tica" -#: builtin/gc.c:525 +#: builtin/gc.c:546 msgid "force running gc even if there may be another gc running" msgstr "força l'execució de gc encara que hi pugui haver un altre gc executant" -#: builtin/gc.c:528 +#: builtin/gc.c:549 msgid "repack all other packs except the largest pack" msgstr "" -#: builtin/gc.c:545 +#: builtin/gc.c:566 #, fuzzy, c-format msgid "failed to parse gc.logexpiry value %s" msgstr "No s'ha pogut analitzar el valor gc.logexpiry %s" -#: builtin/gc.c:556 +#: builtin/gc.c:577 #, fuzzy, c-format msgid "failed to parse prune expiry value %s" msgstr "No s'ha pogut analitzar el valor gc.logexpiry %s" -#: builtin/gc.c:576 +#: builtin/gc.c:597 #, c-format msgid "Auto packing the repository in background for optimum performance.\n" -msgstr "S'està empaquetant el dipòsit automà ticament en el fons per rendiment òptim.\n" +msgstr "" +"S'està empaquetant el dipòsit automà ticament en el rerefons per a un " +"rendiment òptim.\n" -#: builtin/gc.c:578 +#: builtin/gc.c:599 #, c-format msgid "Auto packing the repository for optimum performance.\n" -msgstr "S'està empaquetant automà ticament el dipòsit per rendiment òptim.\n" +msgstr "" +"S'està empaquetant automà ticament el dipòsit per a un rendiment òptim.\n" -#: builtin/gc.c:579 +#: builtin/gc.c:600 #, c-format msgid "See \"git help gc\" for manual housekeeping.\n" -msgstr "Vegeu \"git help gc\" per neteja manual.\n" +msgstr "Vegeu «git help gc» per a neteja manual.\n" -#: builtin/gc.c:619 +#: builtin/gc.c:640 #, c-format -msgid "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" -msgstr "gc ja s'està executant en la mà quina «%s» pid %<PRIuMAX> (useu --force si no)" +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" +"gc ja s'està executant en la mà quina «%s» pid %<PRIuMAX> (useu --force si no)" -#: builtin/gc.c:672 -msgid "There are too many unreachable loose objects; run 'git prune' to remove them." -msgstr "Hi ha massa objectes solts inabastables; executeu 'git prune' per a eliminar-los." +#: builtin/gc.c:695 +msgid "" +"There are too many unreachable loose objects; run 'git prune' to remove them." +msgstr "" +"Hi ha massa objectes solts inabastables; executeu 'git prune' per a eliminar-" +"los." #: builtin/grep.c:29 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" @@ -11824,275 +13437,280 @@ msgstr "s'ha especificat un nombre de fils no và lid (%d) per a %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1506 builtin/index-pack.c:1697 builtin/pack-objects.c:2717 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2722 #, c-format msgid "no threads support, ignoring %s" msgstr "no hi ha suport de fils, s'està ignorant %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "no s'ha pogut llegir l'arbre (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "no es pot fer grep des d'un objecte de tipus %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'opció «%c» espera un valor numèric" -#: builtin/grep.c:811 +#: builtin/grep.c:813 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:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "cerca en continguts no gestionats per git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "cerca tant en fitxers seguits com en no seguits" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "ignora els fitxers especificats mitjançant '.gitignore'" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "cerca recursivament a cada submòdul" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "mostra les lÃnies no coincidents" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "coincidència insensible a majúscula i minúscula" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "coincideix amb els patrons només als lÃmits de paraula" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "processa els fitxers binaris com a text" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "no coincideixis amb els patrons en els fitxers binaris" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "processa els fitxers binaris amb filtres de textconv" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "cerca als subdirectories (per defecte)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "descendeix com a mà xim <profunditat> nivells" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "usa les expressions regulars POSIX ampliades" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "usa les expressions regulars POSIX bà siques (per defecte)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "interpreta els patrons com a cadenes fixes" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "usa les expressions regulars compatibles amb Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "mostra els números de lÃnia" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "mostra el nombre de columna de la primera coincidència" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "no mostris els noms de fitxer" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "mostra els noms de fitxer" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "mostra els noms de fitxer relatius al directori superior" -#: builtin/grep.c:860 +#: builtin/grep.c:862 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:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "sinònim de --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "mostra només els noms dels fitxers sense coincidència" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "imprimeix NUL després dels noms de fitxer" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "mostra només les parts de coincidents de la lÃnia" -#: builtin/grep.c:872 +#: builtin/grep.c:874 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:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "ressalta les coincidències" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "imprimeix una lÃnia buida entre coincidències de fitxers distints" -#: builtin/grep.c:877 +#: builtin/grep.c:879 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" +msgstr "" +"mostra el nom de fitxer només una vegada a dalt de les coincidències del " +"mateix fitxer" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "mostra <n> lÃnies de context abans i després d'una coincidència" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "mostra <n> lÃnies de context abans d'una coincidència" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "mostra <n> lÃnies de context després d'una coincidència" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "usa <n> fils de treball" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "drecera per -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 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:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "mostra la funció circumdant" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "llegeix els patrons des d'un fitxer" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "coincideix amb <patró>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "combina els patrons especificats amb -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "indica coincidència amb estat de sortida sense sortida textual" -#: builtin/grep.c:914 +#: builtin/grep.c:916 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" +msgstr "" +"mostra només les coincidències dels fitxers que coincideixin amb tots els " +"patrons" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "mostra l'arbre d'anà lisi de l'expressió grep" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "paginador" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "mostra els fitxers coincidents en el paginador" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permet la invocació de grep(1) (ignorat per aquesta compilació)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "no s'ha donat cap patró" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index o --untracked no es pot usar amb revisions" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "no s'ha pogut resoldre la revisió: %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "combinació d'opcions no và lida, s'està ignorant --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3400 +#: builtin/grep.c:1068 builtin/pack-objects.c:3405 msgid "no threads support, ignoring --threads" msgstr "no hi ha suport de fils, s'està ignorant --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1503 builtin/pack-objects.c:2714 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2719 #, c-format msgid "invalid number of threads specified (%d)" msgstr "s'ha especificat un nombre de fils no và lid (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 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:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "opció no admesa amb --recurse-submodules." -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached o --untracked no es pot usar amb --no-index." -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 #, fuzzy 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:1135 +#: builtin/grep.c:1137 #, fuzzy msgid "both --cached and trees are given" msgstr "s'han donat ambdós --caches i arbres." #: builtin/hash-object.c:85 -msgid "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>..." -msgstr "git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] [--] <fitxer>..." +msgid "" +"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " +"[--] <file>..." +msgstr "" +"git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] " +"[--] <fitxer>..." #: builtin/hash-object.c:86 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "tipus" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "tipus d'objecte" @@ -12109,8 +13727,11 @@ msgid "store file as is without filters" msgstr "emmagatzema el fitxer tal com és sense filtres" #: builtin/hash-object.c:104 -msgid "just hash any random garbage to create corrupt objects for debugging Git" -msgstr "només suma qualsevol brossa aleatòria per a crear objectes malmesos per a depurar al Git" +msgid "" +"just hash any random garbage to create corrupt objects for debugging Git" +msgstr "" +"només suma qualsevol brossa aleatòria per a crear objectes malmesos per a " +"depurar al Git" #: builtin/hash-object.c:105 msgid "process file as it were from this path" @@ -12154,30 +13775,30 @@ msgstr "imprimeix els continguts de la comissió" msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]" msgstr "git help [--all] [--guides] [--man | --web | --info] [<ordre>]" -#: builtin/help.c:73 +#: builtin/help.c:77 #, c-format msgid "unrecognized help format '%s'" msgstr "format d'ajuda no reconegut «%s»" -#: builtin/help.c:100 +#: builtin/help.c:104 msgid "Failed to start emacsclient." msgstr "S'ha produït un error'ha produït un error en iniciar emacsclient." -#: builtin/help.c:113 +#: builtin/help.c:117 msgid "Failed to parse emacsclient version." msgstr "S'ha produït un error en analitzar la versió d'emacsclient." -#: builtin/help.c:121 +#: builtin/help.c:125 #, c-format msgid "emacsclient version '%d' too old (< 22)." msgstr "la versió d'emacsclient «%d» és massa vella (< 22)." -#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179 +#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183 #, c-format msgid "failed to exec '%s'" msgstr "s'ha produït un error en executar «%s»" -#: builtin/help.c:217 +#: builtin/help.c:221 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -12186,7 +13807,7 @@ msgstr "" "«%s»: camà a un visualitzador de manuals no compatible.\n" "Considereu usar 'man.<eina>.cmd' en lloc d'això." -#: builtin/help.c:229 +#: builtin/help.c:233 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -12195,321 +13816,320 @@ msgstr "" "«%s»: ordre per a un visualitzador de manuals compatible.\n" "Considereu usar 'man.<eina>.path' en lloc d'això." -#: builtin/help.c:346 +#: builtin/help.c:350 #, c-format msgid "'%s': unknown man viewer." msgstr "«%s»: visualitzador de manuals desconegut." -#: builtin/help.c:363 +#: builtin/help.c:367 msgid "no man viewer handled the request" msgstr "cap visualitzador de manuals ha gestionat la sol·licitud" -#: builtin/help.c:371 +#: builtin/help.c:375 msgid "no info viewer handled the request" msgstr "cap visualitzador d'informació ha gestionat la sol·licitud" -#: builtin/help.c:430 builtin/help.c:441 git.c:323 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "«%s» és un à lies de «%s»" -#: builtin/help.c:444 git.c:347 +#: builtin/help.c:448 git.c:365 #, fuzzy, c-format msgid "bad alias.%s string: %s" msgstr "Cadena branch.%s.mergeoptions incorrecta: %s" -#: builtin/help.c:473 builtin/help.c:503 +#: builtin/help.c:477 builtin/help.c:507 #, c-format msgid "usage: %s%s" msgstr "ús: %s%s" -#: builtin/help.c:487 +#: builtin/help.c:491 msgid "'git help config' for more information" msgstr "" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "hi ha una discordança de tipus d'objecte a %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "no s'ha rebut l'objecte esperat %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "objecte %s: s'esperava el tipus %s, s'ha trobat %s" -#: builtin/index-pack.c:249 +#: builtin/index-pack.c:258 #, 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:259 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "EOF prematur" -#: builtin/index-pack.c:260 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "error de lectura d'entrada" -#: builtin/index-pack.c:272 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "s'han usat més octets que hi havia disponibles" -#: builtin/index-pack.c:279 builtin/pack-objects.c:599 +#: builtin/index-pack.c:288 builtin/pack-objects.c:600 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:282 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "el paquet supera la mida mà xima permesa" -#: builtin/index-pack.c:297 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "no s'ha pogut crear «%s»" - -#: builtin/index-pack.c:303 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "no es pot obrir el fitxer de paquet «%s»" -#: builtin/index-pack.c:317 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "hi ha una discordança de signatura de paquet" -#: builtin/index-pack.c:319 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "la versió de paquet %<PRIu32> no és compatible" -#: builtin/index-pack.c:337 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "el paquet té un objecte incorrecte a la posició %<PRIuMAX>: %s" -#: builtin/index-pack.c:457 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "la inflació ha retornat %d" -#: builtin/index-pack.c:506 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" -msgstr "desbordament de valor de desplaçament per a l'objecte base de diferències" +msgstr "" +"desbordament de valor de desplaçament per a l'objecte base de diferències" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "el desplaçament de base de diferències està fora de lÃmits" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "tipus d'objecte desconegut %d" -#: builtin/index-pack.c:553 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" -msgstr "no es pot fer pread en el fitxer de paquet" +msgstr "no es pot fer pread en el fitxer empaquetat" -#: builtin/index-pack.c:555 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" -msgstr[0] "el final del fitxer de paquet és prematur, manca %<PRIuMAX> octet" -msgstr[1] "el final del fitxer de paquet és prematur, manquen %<PRIuMAX> octets" +msgstr[0] "el final del fitxer empaquetat és prematur, manca %<PRIuMAX> octet" +msgstr[1] "" +"el final del fitxer empaquetat és prematur, manquen %<PRIuMAX> octets" -#: builtin/index-pack.c:581 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "hi ha una inconsistència seriosa d'inflació" -#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755 builtin/index-pack.c:794 -#: builtin/index-pack.c:803 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "S'HA TROBAT UNA COL·LISIÓ SHA1 AMB %s !" -#: builtin/index-pack.c:729 builtin/pack-objects.c:152 builtin/pack-objects.c:212 builtin/pack-objects.c:306 +#: builtin/index-pack.c:738 builtin/pack-objects.c:153 +#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 #, c-format msgid "unable to read %s" msgstr "no s'ha pogut llegir %s" -#: builtin/index-pack.c:792 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "no es pot llegir la informació d'objecte existent %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "no es pot llegir l'objecte existent %s" -#: builtin/index-pack.c:814 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "objecte de blob no và lid %s" -#: builtin/index-pack.c:817 builtin/index-pack.c:836 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 #, fuzzy msgid "fsck error in packed object" msgstr "ignora els objectes empaquetats" -#: builtin/index-pack.c:838 +#: 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:910 builtin/index-pack.c:941 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "s'ha produït un error en aplicar la diferència" -#: builtin/index-pack.c:1109 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "S'estan rebent objectes" -#: builtin/index-pack.c:1109 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "S'estan indexant objectes" -#: builtin/index-pack.c:1143 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "el paquet és malmès (discordança SHA1)" -#: builtin/index-pack.c:1148 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "no es pot fer fstat en el fitxer de paquet" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "el paquet té brossa al seu final" -#: builtin/index-pack.c:1163 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusió més enllà de la bogeria en parse_pack_objects()" -#: builtin/index-pack.c:1186 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "S'estan resolent les diferències" -#: builtin/index-pack.c:1196 builtin/pack-objects.c:2486 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2491 #, c-format msgid "unable to create thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: builtin/index-pack.c:1237 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "confusió més enllà de la bogeria" -#: builtin/index-pack.c:1243 +#: builtin/index-pack.c:1252 #, c-format 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:1255 +#: builtin/index-pack.c:1264 #, 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:1259 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "El paquet té %d diferència no resolta" msgstr[1] "El paquet té %d diferències no resoltes" -#: builtin/index-pack.c:1283 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "no s'ha pogut desinflar l'objecte annexat (%d)" -#: builtin/index-pack.c:1360 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "l'objecte local %s és malmès" -#: builtin/index-pack.c:1374 +#: builtin/index-pack.c:1402 #, 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:1399 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "no es pot escriure «%s» al fitxer «%s»" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1435 #, fuzzy, c-format msgid "cannot close written %s file '%s'" msgstr "no es pot tancar el fitxer escrit a mantenir «%s»" -#: builtin/index-pack.c:1431 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" -msgstr "error en tancar el fitxer de paquet" +msgstr "error en tancar el fitxer empaquetat" -#: builtin/index-pack.c:1445 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" -msgstr "no es pot emmagatzemar el fitxer de paquet" +msgstr "no es pot emmagatzemar el fitxer empaquetat" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "no es pot emmagatzemar el fitxer d'Ãndex" -#: builtin/index-pack.c:1497 builtin/pack-objects.c:2725 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2730 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "pack.indexversion=%<PRIu32> incorrecte" -#: builtin/index-pack.c:1565 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" -msgstr "No es pot obrir el fitxer de paquet existent «%s»" +msgstr "No es pot obrir el fitxer empaquetat existent «%s»" -#: builtin/index-pack.c:1567 +#: builtin/index-pack.c:1595 #, 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:1615 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "sense diferències: %d objecte" msgstr[1] "sense diferències: %d objectes" -#: builtin/index-pack.c:1622 +#: builtin/index-pack.c:1650 #, 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:1659 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "No es pot tornar al directori de treball actual" -#: builtin/index-pack.c:1708 builtin/index-pack.c:1711 builtin/index-pack.c:1727 builtin/index-pack.c:1731 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "%s incorrecte" -#: builtin/index-pack.c:1747 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin no es pot usar sense --stdin" -#: builtin/index-pack.c:1749 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin requereix un dipòsit git" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "s'ha donat --verify sense nom de fitxer de paquet" -#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 #, fuzzy msgid "fsck error in pack objects" msgstr "error en objecte: %s" @@ -12554,130 +14174,142 @@ msgstr "no s'han trobat les plantilles %s" msgid "not copying templates from '%s': %s" msgstr "no s'estan copiant plantilles de «%s»: %s" -#: builtin/init-db.c:329 +#: builtin/init-db.c:334 #, c-format msgid "unable to handle file type %d" msgstr "no s'ha pogut gestionar el tipus de fitxer %d" -#: builtin/init-db.c:332 +#: builtin/init-db.c:337 #, c-format msgid "unable to move %s to %s" msgstr "no s'ha pogut moure %s a %s" -#: builtin/init-db.c:349 builtin/init-db.c:352 +#: builtin/init-db.c:354 builtin/init-db.c:357 #, c-format msgid "%s already exists" msgstr "%s ja existeix" -#: builtin/init-db.c:405 +#: builtin/init-db.c:413 #, c-format 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:406 +#: builtin/init-db.c:414 #, 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:410 +#: builtin/init-db.c:418 #, 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:411 +#: builtin/init-db.c:419 #, 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:460 -msgid "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]" -msgstr "git init [-q | --quiet] [--bare] [--template=<directori-de-plantilla>] [--shared[=<permisos>]] [<directori>]" +#: builtin/init-db.c:468 +msgid "" +"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--" +"shared[=<permissions>]] [<directory>]" +msgstr "" +"git init [-q | --quiet] [--bare] [--template=<directori-de-plantilla>] [--" +"shared[=<permisos>]] [<directori>]" -#: builtin/init-db.c:483 +#: builtin/init-db.c:491 msgid "permissions" msgstr "permisos" -#: builtin/init-db.c:484 +#: builtin/init-db.c:492 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:518 builtin/init-db.c:523 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "no es pot mkdir %s" -#: builtin/init-db.c:527 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "no es pot canviar de directori a %s" -#: builtin/init-db.c:548 +#: builtin/init-db.c:559 #, c-format -msgid "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)" -msgstr "no es permet %s (o --work-tree=<directori>) sense especificar %s (o --git-dir=<directori>)" +msgid "" +"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" +"dir=<directory>)" +msgstr "" +"no es permet %s (o --work-tree=<directori>) sense especificar %s (o --git-" +"dir=<directori>)" -#: builtin/init-db.c:576 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "No es pot accedir a l'arbre de treball «%s»" -#: builtin/interpret-trailers.c:15 -msgid "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]" -msgstr "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <testimoni>[(=|:)<valor>])...] [<fitxer>...]" +#: builtin/interpret-trailers.c:16 +msgid "" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" +msgstr "" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<testimoni>[(=|:)<valor>])...] [<fitxer>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "edita els fitxers in situ" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "escurça els remolcs buits" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "on ubica" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "acció si el «trailer» ja existeix" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "acció si el «trailer» falta" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "mostra només els «trailer»" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "no apliquis les regles de configuració" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "uneix els valors continus amb espais en blanc" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "estableix les opcions d'anà lisi" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "remolc" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "remolcs a afegir" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer amb --only-input no té sentit" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "no s'ha donat cap fitxer d'entrada per a edició in situ" @@ -12689,398 +14321,417 @@ msgstr "git log [<opcions>] [<rang-de-revisions>] [[--] <camÃ>...]" msgid "git show [<options>] <object>..." msgstr "git show [<opcions>] <objecte>..." -#: builtin/log.c:100 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "opció --decorate no và lida: %s" -#: builtin/log.c:163 -msgid "suppress diff output" -msgstr "omet la sortida de diferències" +#: builtin/log.c:160 +msgid "" +"log.mailmap is not set; its implicit value will change in an\n" +"upcoming release. To squelch this message and preserve current\n" +"behaviour, set the log.mailmap configuration value to false.\n" +"\n" +"To squelch this message and adopt the new behaviour now, set the\n" +"log.mailmap configuration value to true.\n" +"\n" +"See 'git help config' and search for 'log.mailmap' for further information." +msgstr "" -#: builtin/log.c:164 +#: builtin/log.c:183 msgid "show source" msgstr "mostra la font" -#: builtin/log.c:165 +#: builtin/log.c:184 msgid "Use mail map file" msgstr "Usa el fitxer de mapa de correu" -#: builtin/log.c:167 +#: builtin/log.c:186 msgid "only decorate refs that match <pattern>" msgstr "només decora les referències que coincideixin amb <patró>" -#: builtin/log.c:169 +#: builtin/log.c:188 msgid "do not decorate refs that match <pattern>" msgstr "no decoris les referències que coincideixen amb <patró>" -#: builtin/log.c:170 +#: builtin/log.c:189 msgid "decorate options" msgstr "opcions de decoració" -#: builtin/log.c:173 +#: builtin/log.c:192 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:271 +#: builtin/log.c:297 #, c-format msgid "Final output: %d %s\n" msgstr "Sortida final: %d %s\n" -#: builtin/log.c:525 +#: builtin/log.c:551 #, c-format msgid "git show %s: bad file" msgstr "git show %s: fitxer incorrecte" -#: builtin/log.c:540 builtin/log.c:634 -#, c-format -msgid "Could not read object %s" +#: builtin/log.c:566 builtin/log.c:660 +#, fuzzy, c-format +msgid "could not read object %s" msgstr "No es pot llegir l'objecte %s" -#: builtin/log.c:659 -#, c-format -msgid "Unknown type: %d" +#: builtin/log.c:685 +#, fuzzy, c-format +msgid "unknown type: %d" msgstr "Tipus desconegut: %d" -#: builtin/log.c:780 +#: builtin/log.c:808 msgid "format.headers without value" msgstr "format.headers sense valor" -#: builtin/log.c:881 +#: builtin/log.c:925 msgid "name of output directory is too long" msgstr "el nom del directori de sortida és massa llarg" -#: builtin/log.c:897 -#, c-format -msgid "Cannot open patch file %s" +#: builtin/log.c:941 +#, fuzzy, c-format +msgid "cannot open patch file %s" msgstr "No es pot obrir el fitxer de pedaç %s" -#: builtin/log.c:914 -msgid "Need exactly one range." +#: builtin/log.c:958 +#, fuzzy +msgid "need exactly one range" msgstr "Cal exactament un rang." -#: builtin/log.c:924 -msgid "Not a range." +#: builtin/log.c:968 +#, fuzzy +msgid "not a range" msgstr "No és un rang." -#: builtin/log.c:1047 -msgid "Cover letter needs email format" +#: builtin/log.c:1091 +#, fuzzy +msgid "cover letter needs email format" msgstr "La carta de presentació necessita el format de correu electrònic" -#: builtin/log.c:1132 +#: builtin/log.c:1097 +#, fuzzy +msgid "failed to create cover-letter file" +msgstr "S'ha produït un error en crear els fitxers de sortida" + +#: builtin/log.c:1176 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to boig: %s" -#: builtin/log.c:1159 +#: builtin/log.c:1203 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<opcions>] [<des-de> | <rang-de-revisions>]" -#: builtin/log.c:1217 -msgid "Two output directories?" +#: builtin/log.c:1261 +#, fuzzy +msgid "two output directories?" msgstr "Hi ha dos directoris de sortida?" -#: builtin/log.c:1324 builtin/log.c:2068 builtin/log.c:2070 builtin/log.c:2082 -#, c-format -msgid "Unknown commit %s" +#: builtin/log.c:1372 builtin/log.c:2116 builtin/log.c:2118 builtin/log.c:2130 +#, fuzzy, c-format +msgid "unknown commit %s" msgstr "Comissió desconeguda %s" -#: builtin/log.c:1334 builtin/notes.c:897 builtin/tag.c:526 +#: builtin/log.c:1382 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/replace.c:210 #, c-format -msgid "Failed to resolve '%s' as a valid ref." -msgstr "S'ha produït un error en resoldre «%s» com a referència và lida." +msgid "failed to resolve '%s' as a valid ref" +msgstr "s'ha produït un error en resoldre «%s» com a referència và lida" -#: builtin/log.c:1339 -msgid "Could not find exact merge base." +#: builtin/log.c:1387 +#, fuzzy +msgid "could not find exact merge base" msgstr "No s'ha pogut trobar la base exacta de fusió." -#: builtin/log.c:1343 +#: builtin/log.c:1391 +#, fuzzy msgid "" -"Failed to get upstream, if you want to record base commit automatically,\n" +"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=<base-commit-id> manually." +"Or you could specify base commit by --base=<base-commit-id> manually" msgstr "" -"S'ha produït un error en obtenir la font. Si voleu registrar la comissió base\n" +"S'ha produït un error en obtenir la font. Si voleu registrar la comissió " +"base\n" "automà ticament, useu git branch --set-upstream-to per a\n" "seguir una branca remota. O podeu especificar la comissió base manualment\n" "amb --base=<id-de-comissió-base>." -#: builtin/log.c:1363 -msgid "Failed to find exact merge base" +#: builtin/log.c:1411 +#, fuzzy +msgid "failed to find exact merge base" msgstr "S'ha produït un error en trobar la base exacta de fusió." -#: builtin/log.c:1374 +#: builtin/log.c:1422 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:1378 +#: builtin/log.c:1426 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:1431 +#: builtin/log.c:1479 msgid "cannot get patch id" msgstr "no es pot obtenir l'id del pedaç" -#: builtin/log.c:1483 +#: builtin/log.c:1531 #, fuzzy msgid "failed to infer range-diff ranges" msgstr "s'ha produït un error en executar «%s»" -#: builtin/log.c:1528 +#: builtin/log.c:1576 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:1531 +#: builtin/log.c:1579 msgid "use [PATCH] even with multiple patches" msgstr "usa [PATCH] fins i tot amb múltiples pedaços" -#: builtin/log.c:1535 +#: builtin/log.c:1583 msgid "print patches to standard out" msgstr "imprimeix els pedaços a la sortida està ndard" -#: builtin/log.c:1537 +#: builtin/log.c:1585 msgid "generate a cover letter" msgstr "genera una carta de presentació" -#: builtin/log.c:1539 +#: builtin/log.c:1587 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:1540 +#: builtin/log.c:1588 msgid "sfx" msgstr "sufix" -#: builtin/log.c:1541 +#: builtin/log.c:1589 msgid "use <sfx> instead of '.patch'" msgstr "usa <sufix> en lloc de '.patch'" -#: builtin/log.c:1543 +#: builtin/log.c:1591 msgid "start numbering patches at <n> instead of 1" msgstr "comença numerant els pedaços a <n> en lloc d'1" -#: builtin/log.c:1545 +#: builtin/log.c:1593 msgid "mark the series as Nth re-roll" msgstr "marca la sèrie com a l'enèsima llançada" -#: builtin/log.c:1547 +#: builtin/log.c:1595 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Usa [RFC PATCH] en lloc de [PATCH]" -#: builtin/log.c:1550 +#: builtin/log.c:1598 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Usa [<prefix>] en lloc de [PATCH]" -#: builtin/log.c:1553 +#: builtin/log.c:1601 msgid "store resulting files in <dir>" msgstr "emmagatzema els fitxers resultants a <directori>" -#: builtin/log.c:1556 +#: builtin/log.c:1604 msgid "don't strip/add [PATCH]" msgstr "no despullis/afegeixis [PATCH]" -#: builtin/log.c:1559 +#: builtin/log.c:1607 msgid "don't output binary diffs" msgstr "no emetis diferències binà ries" -#: builtin/log.c:1561 +#: builtin/log.c:1609 msgid "output all-zero hash in From header" msgstr "emet un hash de tots zeros en la capçalera From" -#: builtin/log.c:1563 +#: builtin/log.c:1611 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:1565 +#: builtin/log.c:1613 msgid "show patch format instead of default (patch + stat)" -msgstr "mostra el format de pedaç en lloc del per defecte (pedaç + estadÃstiques)" +msgstr "" +"mostra el format de pedaç en lloc del per defecte (pedaç + estadÃstiques)" -#: builtin/log.c:1567 +#: builtin/log.c:1615 msgid "Messaging" msgstr "Missatgeria" -#: builtin/log.c:1568 +#: builtin/log.c:1616 msgid "header" msgstr "capçalera" -#: builtin/log.c:1569 +#: builtin/log.c:1617 msgid "add email header" msgstr "afegeix una capçalera de correu electrònic" -#: builtin/log.c:1570 builtin/log.c:1572 +#: builtin/log.c:1618 builtin/log.c:1620 msgid "email" msgstr "correu electrònic" -#: builtin/log.c:1570 +#: builtin/log.c:1618 msgid "add To: header" msgstr "afegeix la capçalera To:" -#: builtin/log.c:1572 +#: builtin/log.c:1620 msgid "add Cc: header" msgstr "afegeix la capçalera Cc:" -#: builtin/log.c:1574 +#: builtin/log.c:1622 msgid "ident" msgstr "identitat" -#: builtin/log.c:1575 +#: builtin/log.c:1623 msgid "set From address to <ident> (or committer ident if absent)" -msgstr "estableix l'adreça From a <identitat> (o la identitat del comitent si manca)" +msgstr "" +"estableix l'adreça From a <identitat> (o la identitat del comitent si manca)" -#: builtin/log.c:1577 +#: builtin/log.c:1625 msgid "message-id" msgstr "ID de missatge" -#: builtin/log.c:1578 +#: builtin/log.c:1626 msgid "make first mail a reply to <message-id>" msgstr "fes que el primer missatge sigui una resposta a <ID de missatge>" -#: builtin/log.c:1579 builtin/log.c:1582 +#: builtin/log.c:1627 builtin/log.c:1630 msgid "boundary" msgstr "lÃmit" -#: builtin/log.c:1580 +#: builtin/log.c:1628 msgid "attach the patch" msgstr "adjunta el pedaç" -#: builtin/log.c:1583 +#: builtin/log.c:1631 msgid "inline the patch" msgstr "posa el pedaç en el cos" -#: builtin/log.c:1587 +#: builtin/log.c:1635 msgid "enable message threading, styles: shallow, deep" msgstr "habilita l'enfilada de missatges, estils: shallow, deep" -#: builtin/log.c:1589 +#: builtin/log.c:1637 msgid "signature" msgstr "signatura" -#: builtin/log.c:1590 +#: builtin/log.c:1638 msgid "add a signature" msgstr "afegeix una signatura" -#: builtin/log.c:1591 +#: builtin/log.c:1639 msgid "base-commit" msgstr "comissió base" -#: builtin/log.c:1592 +#: builtin/log.c:1640 msgid "add prerequisite tree info to the patch series" msgstr "afegeix la informació d'arbre requerida a la sèrie de pedaços" -#: builtin/log.c:1594 +#: builtin/log.c:1642 msgid "add a signature from a file" msgstr "afegeix una signatura des d'un fitxer" -#: builtin/log.c:1595 +#: builtin/log.c:1643 msgid "don't print the patch filenames" msgstr "no imprimeixis els noms de fitxer del pedaç" -#: builtin/log.c:1597 +#: builtin/log.c:1645 msgid "show progress while generating patches" msgstr "mostra el progrés durant la generació de pedaços" -#: builtin/log.c:1598 -msgid "rev" -msgstr "rev" - -#: builtin/log.c:1599 +#: builtin/log.c:1647 msgid "show changes against <rev> in cover letter or single patch" msgstr "" -#: builtin/log.c:1602 +#: builtin/log.c:1650 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" -#: builtin/log.c:1604 +#: builtin/log.c:1652 msgid "percentage by which creation is weighted" msgstr "" -#: builtin/log.c:1679 +#: builtin/log.c:1727 #, c-format msgid "invalid ident line: %s" msgstr "lÃnia d'identitat no và lida: %s" -#: builtin/log.c:1694 +#: builtin/log.c:1742 #, fuzzy msgid "-n and -k are mutually exclusive" msgstr "-n i -k són mútuament excloents." -#: builtin/log.c:1696 +#: builtin/log.c:1744 #, fuzzy msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc i -k són mútuament excloents." -#: builtin/log.c:1704 +#: builtin/log.c:1752 msgid "--name-only does not make sense" msgstr "--name-only no té sentit" -#: builtin/log.c:1706 +#: builtin/log.c:1754 msgid "--name-status does not make sense" msgstr "--name-status no té sentit" -#: builtin/log.c:1708 +#: builtin/log.c:1756 msgid "--check does not make sense" msgstr "--check no té sentit" -#: builtin/log.c:1740 +#: builtin/log.c:1788 msgid "standard output, or directory, which one?" msgstr "sortida està ndard o directori, quin dels dos?" -#: builtin/log.c:1742 -#, c-format -msgid "Could not create directory '%s'" -msgstr "No s'ha pogut crear el directori «%s»" - -#: builtin/log.c:1829 +#: builtin/log.c:1877 msgid "--interdiff requires --cover-letter or single patch" msgstr "" -#: builtin/log.c:1833 +#: builtin/log.c:1881 msgid "Interdiff:" msgstr "" -#: builtin/log.c:1834 +#: builtin/log.c:1882 #, c-format msgid "Interdiff against v%d:" msgstr "" -#: builtin/log.c:1840 +#: builtin/log.c:1888 msgid "--creation-factor requires --range-diff" msgstr "" -#: builtin/log.c:1844 +#: builtin/log.c:1892 msgid "--range-diff requires --cover-letter or single patch" msgstr "" -#: builtin/log.c:1852 +#: builtin/log.c:1900 msgid "Range-diff:" msgstr "" -#: builtin/log.c:1853 +#: builtin/log.c:1901 #, c-format msgid "Range-diff against v%d:" msgstr "" -#: builtin/log.c:1864 +#: builtin/log.c:1912 #, c-format msgid "unable to read signature file '%s'" msgstr "no s'ha pogut llegir el fitxer de signatura «%s»" -#: builtin/log.c:1900 +#: builtin/log.c:1948 msgid "Generating patches" msgstr "S'estan generant els pedaços" -#: builtin/log.c:1944 -msgid "Failed to create output files" +#: builtin/log.c:1992 +#, fuzzy +msgid "failed to create output files" msgstr "S'ha produït un error en crear els fitxers de sortida" -#: builtin/log.c:2003 +#: builtin/log.c:2051 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<font> [<cap> [<lÃmit>]]]" -#: builtin/log.c:2057 +#: builtin/log.c:2105 #, c-format -msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n" -msgstr "No s'ha pogut trobar una branca remota seguida. Especifiqueu <font> manualment.\n" +msgid "" +"Could not find a tracked remote branch, please specify <upstream> manually.\n" +msgstr "" +"No s'ha pogut trobar una branca remota seguida. Especifiqueu <font> " +"manualment.\n" #: builtin/ls-files.c:470 msgid "git ls-files [<options>] [<file>...]" @@ -13100,7 +14751,8 @@ msgstr "usa lletres minúscules per als fitxers 'fsmonitor clean'" #: builtin/ls-files.c:532 msgid "show cached files in the output (default)" -msgstr "mostra en la sortida els fitxers desats en la memòria cau (per defecte)" +msgstr "" +"mostra en la sortida els fitxers desats en la memòria cau (per defecte)" #: builtin/ls-files.c:534 msgid "show deleted files in the output" @@ -13180,7 +14832,8 @@ msgstr "arbre" #: builtin/ls-files.c:577 msgid "pretend that paths removed since <tree-ish> are still present" -msgstr "pretén que els camins eliminats després de <arbre> encara siguin presents" +msgstr "" +"pretén que els camins eliminats després de <arbre> encara siguin presents" #: builtin/ls-files.c:579 msgid "show debugging data" @@ -13201,7 +14854,7 @@ msgstr "" msgid "do not print remote URL" msgstr "no imprimeixis l'URL remot" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1111 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "executable" @@ -13225,11 +14878,11 @@ msgstr "no mostris les etiquetes pelades" msgid "take url.<base>.insteadOf into account" msgstr "tingues en compte url.<base>.insteadOf" -#: builtin/ls-remote.c:73 +#: builtin/ls-remote.c:72 msgid "exit with exit code 2 if no matching refs are found" msgstr "surt amb codi de sortida 2 si no es troba cap referència coincident" -#: builtin/ls-remote.c:76 +#: builtin/ls-remote.c:75 msgid "show underlying ref in addition to the object pointed by it" msgstr "mostra la referència subjacent a més de l'objecte que senyali" @@ -13267,199 +14920,206 @@ msgstr "usa els noms de camà complets" #: builtin/ls-tree.c:145 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)" +msgstr "" +"llista l'arbre sencer; no només el directori actual (implica --full-name)" #: builtin/mailsplit.c:241 #, c-format msgid "empty mbox: '%s'" msgstr "mbox buit: «%s»" -#: builtin/merge.c:53 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<opcions>] [<comissió>...]" -#: builtin/merge.c:54 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:55 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:112 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "l'opció «m» requereix un valor" -#: builtin/merge.c:132 +#: builtin/merge.c:141 #, fuzzy, c-format msgid "option `%s' requires a value" msgstr "l'opció «%s» requereix un valor" -#: builtin/merge.c:178 +#: builtin/merge.c:187 #, 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:179 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Les estratègies disponibles són:" -#: builtin/merge.c:184 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Les estratègies personalitzades disponibles són:" -#: builtin/merge.c:235 builtin/pull.c:144 +#: builtin/merge.c:244 builtin/pull.c:151 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:238 builtin/pull.c:147 +#: builtin/merge.c:247 builtin/pull.c:154 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:239 builtin/pull.c:150 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(sinònim de --stat)" -#: builtin/merge.c:241 builtin/pull.c:153 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" -msgstr "afegeix (com a mà xim <n>) entrades del registre curt al missatge de comissió de fusió" +msgstr "" +"afegeix (com a mà xim <n>) entrades del registre curt al missatge de comissió " +"de fusió" -#: builtin/merge.c:244 builtin/pull.c:159 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "crea una única comissió en lloc de fusionar" -#: builtin/merge.c:246 builtin/pull.c:162 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "realitza una comissió si la fusió té èxit (per defecte)" -#: builtin/merge.c:248 builtin/pull.c:165 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "edita el missatge abans de cometre" -#: builtin/merge.c:249 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "permet l'avanç rà pid (per defecte)" -#: builtin/merge.c:251 builtin/pull.c:171 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "avorta si l'avanç rà pid no és possible" -#: builtin/merge.c:255 builtin/pull.c:174 +#: builtin/merge.c:265 builtin/pull.c:182 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:256 builtin/notes.c:787 builtin/pull.c:178 builtin/rebase.c:1124 builtin/rebase--interactive.c:188 -#: builtin/revert.c:111 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "estratègia" -#: builtin/merge.c:257 builtin/pull.c:179 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "estratègia de fusió a usar" -#: builtin/merge.c:258 builtin/pull.c:182 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "opció=valor" -#: builtin/merge.c:259 builtin/pull.c:183 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "opció per a l'estratègia de fusió seleccionada" -#: builtin/merge.c:261 +#: builtin/merge.c:271 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:268 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "avorta la fusió en curs actual" -#: builtin/merge.c:270 +#: builtin/merge.c:280 +#, fuzzy +msgid "--abort but leave index and working tree alone" +msgstr "restableix HEAD, l'Ãndex i l'arbre de treball" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "continua la fusió en curs actual" -#: builtin/merge.c:272 builtin/pull.c:190 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "permet fusionar històries no relacionades" -#: builtin/merge.c:278 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "verifica el lligam de missatge de comissió" -#: builtin/merge.c:303 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "no s'ha pogut executar «stash»." -#: builtin/merge.c:308 +#: builtin/merge.c:312 msgid "stash failed" msgstr "l'«stash» ha fallat" -#: builtin/merge.c:313 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "no és un objecte và lid: %s" -#: builtin/merge.c:335 builtin/merge.c:352 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree ha fallat" -#: builtin/merge.c:382 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (res a fer «squash»)" -#: builtin/merge.c:393 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Comissió «squash» -- no s'està actualitzant HEAD\n" -#: builtin/merge.c:443 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Cap missatge de fusió -- no s'està actualitzant HEAD\n" -#: builtin/merge.c:494 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "«%s» no assenyala una comissió" -#: builtin/merge.c:581 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Cadena branch.%s.mergeoptions incorrecta: %s" -#: builtin/merge.c:702 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "No s'està gestionant res a part de la fusió de dos caps." -#: builtin/merge.c:716 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Opció desconeguda de merge-recursive: -X%s" -#: builtin/merge.c:731 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "no s'ha pogut escriure %s" -#: builtin/merge.c:783 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "No s'ha pogut llegir de «%s»" -#: builtin/merge.c:792 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" -msgstr "No s'està 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:798 -#, c-format +#: builtin/merge.c:804 +#, fuzzy msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" "\n" -"Lines starting with '%c' will be ignored, and an empty message aborts\n" -"the commit.\n" msgstr "" "Introduïu un missatge de comissió per a explicar per què\n" "aquesta fusió és necessà ria, especialment si fusiona una font\n" @@ -13468,68 +15128,90 @@ msgstr "" "S'ignoraran les lÃnies que comencin amb «%c», i un missatge buit\n" "avorta la comissió.\n" -#: builtin/merge.c:834 +#: builtin/merge.c:809 +#, fuzzy +msgid "An empty message aborts the commit.\n" +msgstr "edita el missatge abans de cometre" + +#: builtin/merge.c:812 +#, fuzzy, c-format +msgid "" +"Lines starting with '%c' will be ignored, and an empty message aborts\n" +"the commit.\n" +msgstr "" +"Introduïu el missatge de comissió dels vostres canvis.\n" +"S'ignoraran les lÃnies que comencin amb «%c», i un missatge de\n" +"comissió buit avorta la comissió.\n" + +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "El missatge de comissió és buit." -#: builtin/merge.c:853 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Meravellós.\n" -#: builtin/merge.c:906 +#: builtin/merge.c:933 #, 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" +msgstr "" +"La fusió automà tica ha fallat; arregleu els conflictes i després cometeu el " +"resultat.\n" -#: builtin/merge.c:945 +#: builtin/merge.c:972 msgid "No current branch." msgstr "No hi ha cap branca actual." -#: builtin/merge.c:947 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "No hi ha cap remot per a la branca actual." -#: builtin/merge.c:949 +#: builtin/merge.c:976 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:954 +#: builtin/merge.c:981 #, 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:1011 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Valor incorrecte «%s» en l'entorn «%s»" -#: builtin/merge.c:1114 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "no és quelcom que puguem fusionar en %s: %s" -#: builtin/merge.c:1148 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "no és quelcom que puguem fusionar" -#: builtin/merge.c:1251 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort no accepta parà metres" -#: builtin/merge.c:1255 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "No hi ha fusió a avortar (manca MERGE_HEAD)." -#: builtin/merge.c:1267 +#: builtin/merge.c:1291 +#, fuzzy +msgid "--quit expects no arguments" +msgstr "--abort no accepta parà metres" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue no accepta parà metres" -#: builtin/merge.c:1271 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "No hi ha cap fusió en curs (manca MERGE_HEAD)." -#: builtin/merge.c:1287 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -13537,7 +15219,7 @@ msgstr "" "No heu conclòs la vostra fusió (MERGE_HEAD existeix).\n" "Cometeu els vostres canvis abans de fusionar." -#: builtin/merge.c:1294 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -13545,95 +15227,104 @@ msgstr "" "No heu conclòs el vostre «cherry pick» (CHERRY_PICK_HEAD existeix).\n" "Cometeu els vostres canvis abans de fusionar." -#: builtin/merge.c:1297 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "No heu conclòs el vostre «cherry pick» (CHERRY_PICK_HEAD existeix)." -#: builtin/merge.c:1306 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "No podeu combinar --squash amb --no-ff." -#: builtin/merge.c:1314 +#: builtin/merge.c:1350 +#, fuzzy +msgid "You cannot combine --squash with --commit." +msgstr "No podeu combinar --squash amb --no-ff." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." -msgstr "No hi ha una comissió especificada i merge.defaultToUpstream no està establert." +msgstr "" +"No hi ha una comissió especificada i merge.defaultToUpstream no està " +"establert." -#: builtin/merge.c:1331 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Una comissió «squash» a un HEAD buit encara no es permet" -#: builtin/merge.c:1333 +#: builtin/merge.c:1385 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 HEAD buit" -#: builtin/merge.c:1338 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - no és una cosa que puguem fusionar" -#: builtin/merge.c:1340 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Es pot fusionar només una comissió a un HEAD buit" -#: builtin/merge.c:1422 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "s'està refusant fusionar històries no relacionades" -#: builtin/merge.c:1431 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Ja està al dia." -#: builtin/merge.c:1441 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "S'estan actualitzant %s..%s\n" -#: builtin/merge.c:1483 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "S'està intentant una fusió molt trivial en l'Ãndex...\n" -#: builtin/merge.c:1490 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "No.\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Ja està al dia. Estupend!" -#: builtin/merge.c:1521 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "No és possible avançar rà pidament, s'està avortant." -#: builtin/merge.c:1544 builtin/merge.c:1623 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "S'està rebobinant l'arbre a la pristina...\n" -#: builtin/merge.c:1548 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "S'està intentant l'estratègia de fusió %s...\n" -#: builtin/merge.c:1614 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Cap estratègia de fusió ha gestionat la fusió.\n" -#: builtin/merge.c:1616 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "L'estratègia de fusió %s ha fallat.\n" -#: builtin/merge.c:1625 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "S'està usant el %s per a preparar la resolució a mà .\n" -#: builtin/merge.c:1637 +#: builtin/merge.c:1672 #, 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 com s'havia demanat\n" +msgstr "" +"La fusió automà tica ha sortit bé; s'ha aturat abans de cometre com s'havia " +"demanat\n" #: builtin/merge-base.c:32 msgid "git merge-base [-a | --all] <commit> <commit>..." @@ -13673,11 +15364,16 @@ msgstr "és la primera un avantpassat de l'altre?" #: builtin/merge-base.c:161 msgid "find where <commit> forked from reflog of <ref>" -msgstr "troba on <comissió> s'ha bifurcat del registre de referències de <referència>" +msgstr "" +"troba on <comissió> s'ha bifurcat del registre de referències de <referència>" #: builtin/merge-file.c:9 -msgid "git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> <orig-file> <file2>" -msgstr "git merge-file [<opcions>] [-L <nom1> [-L <original> [-L <nom2>]]] <fitxer1> <fitxer-original> <fitxer2>" +msgid "" +"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> " +"<orig-file> <file2>" +msgstr "" +"git merge-file [<opcions>] [-L <nom1> [-L <original> [-L <nom2>]]] <fitxer1> " +"<fitxer-original> <fitxer2>" #: builtin/merge-file.c:35 msgid "send results to standard output" @@ -13758,22 +15454,34 @@ msgstr "permet els objectes absents" msgid "allow creation of more than one tree" msgstr "permet la creació de més d'un arbre" -#: builtin/multi-pack-index.c:8 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" +#: builtin/multi-pack-index.c:9 +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" msgstr "" -#: builtin/multi-pack-index.c:21 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" -#: builtin/multi-pack-index.c:39 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "hi ha massa parà metres" -#: builtin/multi-pack-index.c:48 -#, c-format -msgid "unrecognized verb: %s" -msgstr "parà metre no reconegut: %s" +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "" + +#: builtin/multi-pack-index.c:61 +#, fuzzy, c-format +msgid "unrecognized subcommand: %s" +msgstr "subordre desconeguda: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -13786,7 +15494,9 @@ msgstr "El directori %s és en l'Ãndex i no hi ha cap submòdul?" #: builtin/mv.c:85 msgid "Please stage your changes to .gitmodules or stash them to proceed" -msgstr "Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos per a procedir" +msgstr "" +"Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos " +"per a procedir" #: builtin/mv.c:103 #, c-format @@ -13862,52 +15572,52 @@ msgstr "%s, origen=%s, destÃ=%s" msgid "Renaming %s to %s\n" msgstr "S'està canviant el nom de %s a %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:513 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:520 #, c-format msgid "renaming '%s' failed" msgstr "el canvi del nom de «%s» ha fallat" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<opcions>] <comissió>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<opcions>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<opcions>] --stdin" -#: builtin/name-rev.c:413 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "imprimeix només els noms (sense SHA-1)" -#: builtin/name-rev.c:414 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "només usa les etiquetes per a anomenar les comissions" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "només usa les referències que coincideixin amb <patró>" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignora les referències que coincideixin amb <patró>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "llista totes les comissions abastables de totes les referències" -#: builtin/name-rev.c:421 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "llegeix de stdin" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "permet imprimir els noms `undefined` (per defecte)" -#: builtin/name-rev.c:428 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "desreferencia les etiquetes en l'entrada (ús intern)" @@ -13916,32 +15626,41 @@ msgid "git notes [--ref <notes-ref>] [list [<object>]]" msgstr "git notes [--ref <referència-de-notes>] [llista [<objecte>]]" #: builtin/notes.c:29 -msgid "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> | (-c | -C) <object>] [<object>]" +msgid "" +"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> " +"| (-c | -C) <object>] [<object>]" msgstr "" -"git notes [--ref <referència-de-notes>] add [-f] [--allow-empty] [-m <missatge> | -F <fitxer> | (-c | -C) " -"<objecte>] [<objecte>]" +"git notes [--ref <referència-de-notes>] add [-f] [--allow-empty] [-m " +"<missatge> | -F <fitxer> | (-c | -C) <objecte>] [<objecte>]" #: builtin/notes.c:30 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>" -msgstr "git notes [--ref <referència-de-notes>] copy [-f] <d'objecte> <a-objecte>" +msgstr "" +"git notes [--ref <referència-de-notes>] copy [-f] <d'objecte> <a-objecte>" #: builtin/notes.c:31 -msgid "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | (-c | -C) <object>] [<object>]" +msgid "" +"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | " +"(-c | -C) <object>] [<object>]" msgstr "" -"git notes [--ref <referència-de-notes>] append [--allow-empty] [-m <missatge> | -F <fitxer> | (-c | -C) <objecte>] " -"[<objecte>]" +"git notes [--ref <referència-de-notes>] append [--allow-empty] [-m " +"<missatge> | -F <fitxer> | (-c | -C) <objecte>] [<objecte>]" #: builtin/notes.c:32 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]" -msgstr "git notes [--ref <referència-de-notes>] edit [--allow-empty] [<objecte>]" +msgstr "" +"git notes [--ref <referència-de-notes>] edit [--allow-empty] [<objecte>]" #: builtin/notes.c:33 msgid "git notes [--ref <notes-ref>] show [<object>]" msgstr "git notes [--ref <referència-de-notes>] show [<objecte>]" #: builtin/notes.c:34 -msgid "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>" -msgstr "git notes [--ref <referència-de-notes>] merge [-v | -q] [-s <estratègia>] <referència-de-notes>" +msgid "" +"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>" +msgstr "" +"git notes [--ref <referència-de-notes>] merge [-v | -q] [-s <estratègia>] " +"<referència-de-notes>" #: builtin/notes.c:35 msgid "git notes merge --commit [-v | -q]" @@ -14035,7 +15754,8 @@ msgstr "S'ha produït un error en finalitzar 'show' per a l'objecte «%s»" #: builtin/notes.c:197 msgid "please supply the note contents using either -m or -F option" -msgstr "especifiqueu el contingut de la nota fent servir l'opció -m o l'opció -F" +msgstr "" +"especifiqueu el contingut de la nota fent servir l'opció -m o l'opció -F" #: builtin/notes.c:206 msgid "unable to write note object" @@ -14046,13 +15766,14 @@ msgstr "no s'ha pogut escriure l'objecte de nota" msgid "the note contents have been left in %s" msgstr "s'han deixat els continguts de la nota en %s" -#: builtin/notes.c:242 builtin/tag.c:513 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "no s'ha pogut obrir o llegir «%s»" -#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315 builtin/notes.c:383 builtin/notes.c:438 -#: builtin/notes.c:526 builtin/notes.c:531 builtin/notes.c:610 builtin/notes.c:672 +#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315 +#: builtin/notes.c:383 builtin/notes.c:438 builtin/notes.c:526 +#: builtin/notes.c:531 builtin/notes.c:610 builtin/notes.c:672 #, c-format msgid "failed to resolve '%s' as a valid ref." msgstr "s'ha produït un error en resoldre «%s» com a referència và lida." @@ -14085,8 +15806,9 @@ msgstr "s'ha produït un error en copiar les notes de «%s» a «%s»" msgid "refusing to %s notes in %s (outside of refs/notes/)" msgstr "s'està refusant %s les notes en %s (fora de refs/notes/)" -#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509 builtin/notes.c:521 builtin/notes.c:598 -#: builtin/notes.c:665 builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985 +#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509 +#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665 +#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985 msgid "too many parameters" msgstr "massa parà metres" @@ -14121,10 +15843,12 @@ msgstr "reemplaça les notes existents" #: builtin/notes.c:448 #, c-format -msgid "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite existing notes" +msgid "" +"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " +"existing notes" msgstr "" -"No es poden afegir les notes. S'han trobat notes existents de l'objecte %s. Useu '-f' per a sobreescriure les " -"notes existents." +"No es poden afegir les notes. S'han trobat notes existents de l'objecte %s. " +"Useu '-f' per a sobreescriure les notes existents." #: builtin/notes.c:463 builtin/notes.c:544 #, c-format @@ -14142,7 +15866,8 @@ msgstr "llegeix els objectes des de stdin" #: builtin/notes.c:499 msgid "load rewriting config for <command> (implies --stdin)" -msgstr "carrega la configuració de reescriptura per a <ordre> (implica --stdin)" +msgstr "" +"carrega la configuració de reescriptura per a <ordre> (implica --stdin)" #: builtin/notes.c:517 msgid "too few parameters" @@ -14150,10 +15875,12 @@ msgstr "hi ha massa pocs parà metres" #: builtin/notes.c:538 #, c-format -msgid "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite existing notes" +msgid "" +"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " +"existing notes" msgstr "" -"No es poden copiar les notes. S'han trobat notes existents de l'objecte %s. Useu '-f' per a sobreescriure les " -"notes existents." +"No es poden copiar les notes. S'han trobat notes existents de l'objecte %s. " +"Useu '-f' per a sobreescriure les notes existents." #: builtin/notes.c:550 #, c-format @@ -14179,7 +15906,8 @@ msgstr "s'ha produït un error en suprimir la referència NOTES_MERGE_REF" #: builtin/notes.c:702 msgid "failed to remove 'git notes merge' worktree" -msgstr "s'ha produït un error en eliminar l'arbre de treball de 'git notes merge'" +msgstr "" +"s'ha produït un error en eliminar l'arbre de treball de 'git notes merge'" #: builtin/notes.c:722 msgid "failed to read ref NOTES_MERGE_PARTIAL" @@ -14215,8 +15943,12 @@ msgid "Merge options" msgstr "Opcions de fusió" #: builtin/notes.c:788 -msgid "resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)" -msgstr "resol els conflictes de nota usant l'estratègia donada (manual/ours/theirs/union/cat_sort_uniq)" +msgid "" +"resolve notes conflicts using the given strategy (manual/ours/theirs/union/" +"cat_sort_uniq)" +msgstr "" +"resol els conflictes de nota usant l'estratègia donada (manual/ours/theirs/" +"union/cat_sort_uniq)" #: builtin/notes.c:790 msgid "Committing unmerged notes" @@ -14255,16 +15987,25 @@ msgstr "una fusió de notes a %s ja està en curs a %s" #: builtin/notes.c:876 #, c-format msgid "failed to store link to current notes ref (%s)" -msgstr "s'ha produït un error en emmagatzemar l'enllaç a la referència de notes actual (%s)" +msgstr "" +"s'ha produït un error en emmagatzemar l'enllaç a la referència de notes " +"actual (%s)" #: builtin/notes.c:878 #, 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" +"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" +"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:897 builtin/tag.c:545 +#, c-format +msgid "Failed to resolve '%s' as a valid ref." +msgstr "S'ha produït un error en resoldre «%s» com a referència và lida." #: builtin/notes.c:900 #, c-format @@ -14279,7 +16020,7 @@ msgstr "l'intent d'eliminar una nota no existent no és un error" msgid "read object names from the standard input" msgstr "llegeix els noms d'objecte des de l'entrada està ndard" -#: builtin/notes.c:954 builtin/prune.c:108 builtin/worktree.c:165 +#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165 msgid "do not remove, show only" msgstr "no eliminis, només mostra" @@ -14295,403 +16036,425 @@ msgstr "referència de notes" msgid "use notes from <notes-ref>" msgstr "usa les notes de <referència-de-notes>" -#: builtin/notes.c:1034 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "subordre desconeguda: %s" -#: builtin/pack-objects.c:51 -msgid "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]" -msgstr "git pack-objects --stdout [<opcions>...] [< <llista-de-referències> | < <llista-de-objectes>]" - #: builtin/pack-objects.c:52 -msgid "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" -msgstr "git pack-objects [<opcions>...] <nom-base> [< <llista-de-referències> | < <llista-de-objectes>]" +msgid "" +"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]" +msgstr "" +"git pack-objects --stdout [<opcions>...] [< <llista-de-referències> | < " +"<llista-de-objectes>]" -#: builtin/pack-objects.c:423 +#: builtin/pack-objects.c:53 +msgid "" +"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" +msgstr "" +"git pack-objects [<opcions>...] <nom-base> [< <llista-de-referències> | < " +"<llista-de-objectes>]" + +#: builtin/pack-objects.c:424 #, fuzzy, c-format msgid "bad packed object CRC for %s" msgstr "ignora els objectes empaquetats" -#: builtin/pack-objects.c:434 +#: builtin/pack-objects.c:435 #, fuzzy, c-format msgid "corrupt packed object for %s" msgstr "ignora els objectes empaquetats" -#: builtin/pack-objects.c:565 +#: builtin/pack-objects.c:566 #, fuzzy, c-format msgid "recursive delta detected for object %s" msgstr "no s'ha rebut l'objecte esperat %s" -#: builtin/pack-objects.c:776 +#: builtin/pack-objects.c:777 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:789 +#: builtin/pack-objects.c:790 #, fuzzy, c-format msgid "packfile is invalid: %s" msgstr "%s no và lid" -#: builtin/pack-objects.c:793 +#: builtin/pack-objects.c:794 #, fuzzy, c-format msgid "unable to open packfile for reuse: %s" msgstr "no s'ha pogut obrir o llegir %s" -#: builtin/pack-objects.c:797 +#: builtin/pack-objects.c:798 #, fuzzy msgid "unable to seek in reused packfile" msgstr "no es pot llegir el fitxer d'Ãndex" -#: builtin/pack-objects.c:808 +#: builtin/pack-objects.c:809 #, fuzzy msgid "unable to read from reused packfile" msgstr "no es pot llegir el fitxer d'Ãndex" -#: builtin/pack-objects.c:836 +#: builtin/pack-objects.c:837 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" +msgstr "" +"s'està inhabilitant l'escriptura de mapes de bits, es divideixen els paquets " +"a causa de pack.packSizeLimit" -#: builtin/pack-objects.c:849 +#: builtin/pack-objects.c:850 msgid "Writing objects" msgstr "S'estan escrivint els objectes" -#: builtin/pack-objects.c:911 builtin/update-index.c:89 +#: builtin/pack-objects.c:912 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "s'ha produït un error en fer stat a %s" -#: builtin/pack-objects.c:964 +#: builtin/pack-objects.c:965 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:1158 +#: builtin/pack-objects.c:1161 msgid "disabling bitmap writing, as some objects are not being packed" -msgstr "s'està inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no s'empaqueten" +msgstr "" +"s'està inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no " +"s'empaqueten" -#: builtin/pack-objects.c:1586 +#: builtin/pack-objects.c:1591 #, fuzzy, c-format msgid "delta base offset overflow in pack for %s" msgstr "el desplaçament de base de diferències està fora de lÃmits" -#: builtin/pack-objects.c:1595 +#: builtin/pack-objects.c:1600 #, fuzzy, c-format msgid "delta base offset out of bound for %s" msgstr "el desplaçament de base de diferències està fora de lÃmits" -#: builtin/pack-objects.c:1864 +#: builtin/pack-objects.c:1869 msgid "Counting objects" msgstr "S'estan comptant els objectes" -#: builtin/pack-objects.c:1994 +#: builtin/pack-objects.c:1999 #, fuzzy, c-format msgid "unable to get size of %s" msgstr "no s'ha pogut moure %s a %s" -#: builtin/pack-objects.c:2009 +#: builtin/pack-objects.c:2014 #, fuzzy, c-format msgid "unable to parse object header of %s" msgstr "no s'ha pogut analitzar l'objecte: %s" -#: builtin/pack-objects.c:2079 builtin/pack-objects.c:2095 builtin/pack-objects.c:2105 +#: builtin/pack-objects.c:2084 builtin/pack-objects.c:2100 +#: builtin/pack-objects.c:2110 #, fuzzy, c-format msgid "object %s cannot be read" msgstr "objecte %s no trobat" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2109 +#: builtin/pack-objects.c:2087 builtin/pack-objects.c:2114 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" -#: builtin/pack-objects.c:2119 +#: builtin/pack-objects.c:2124 msgid "suboptimal pack - out of memory" msgstr "" -#: builtin/pack-objects.c:2445 +#: builtin/pack-objects.c:2450 #, c-format msgid "Delta compression using up to %d threads" msgstr "" -#: builtin/pack-objects.c:2577 +#: builtin/pack-objects.c:2582 #, fuzzy, c-format msgid "unable to pack objects reachable from tag %s" msgstr "inclou els objectes abastables de qualsevol referència" -#: builtin/pack-objects.c:2664 +#: builtin/pack-objects.c:2669 msgid "Compressing objects" msgstr "S'estan comprimint els objectes" -#: builtin/pack-objects.c:2670 +#: builtin/pack-objects.c:2675 msgid "inconsistency with delta count" msgstr "" -#: builtin/pack-objects.c:2751 +#: builtin/pack-objects.c:2756 #, c-format msgid "" "expected edge object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2757 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2855 +#: builtin/pack-objects.c:2860 msgid "invalid value for --missing" msgstr "valor no và lid per a --missing" -#: builtin/pack-objects.c:2914 builtin/pack-objects.c:3022 +#: builtin/pack-objects.c:2919 builtin/pack-objects.c:3027 #, fuzzy msgid "cannot open pack index" msgstr "no es pot fer pread en el fitxer de paquet" -#: builtin/pack-objects.c:2945 +#: builtin/pack-objects.c:2950 #, c-format msgid "loose object at %s could not be examined" msgstr "" -#: builtin/pack-objects.c:3030 +#: builtin/pack-objects.c:3035 #, fuzzy msgid "unable to force loose object" msgstr "no s'ha pogut escriure l'objecte de nota" -#: builtin/pack-objects.c:3122 +#: builtin/pack-objects.c:3127 #, fuzzy, c-format msgid "not a rev '%s'" msgstr "no es pot llegir «%s»" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3130 #, c-format msgid "bad revision '%s'" msgstr "revisió incorrecte «%s»" -#: builtin/pack-objects.c:3150 +#: builtin/pack-objects.c:3155 msgid "unable to add recent objects" msgstr "no s'han pogut afegir els objectes recents" -#: builtin/pack-objects.c:3203 +#: builtin/pack-objects.c:3208 #, c-format msgid "unsupported index version %s" msgstr "versió d'Ãndex no compatible %s" -#: builtin/pack-objects.c:3207 +#: builtin/pack-objects.c:3212 #, c-format msgid "bad index version '%s'" msgstr "versió d'Ãndex incorrecta «%s»" -#: builtin/pack-objects.c:3237 +#: builtin/pack-objects.c:3242 msgid "do not show progress meter" msgstr "no mostris l'indicador de progrés" -#: builtin/pack-objects.c:3239 +#: builtin/pack-objects.c:3244 msgid "show progress meter" msgstr "mostra l'indicador de progrés" -#: builtin/pack-objects.c:3241 +#: builtin/pack-objects.c:3246 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:3244 +#: builtin/pack-objects.c:3249 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:3245 +#: builtin/pack-objects.c:3250 msgid "<version>[,<offset>]" msgstr "<versió>[,<desplaçament>]" -#: builtin/pack-objects.c:3246 +#: builtin/pack-objects.c:3251 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" +msgstr "" +"escriu el fitxer d'Ãndex de paquet en la versió de format d'Ãndex " +"especificada" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3254 msgid "maximum size of each output pack file" -msgstr "mida mà xima de cada fitxer de paquet de sortida" +msgstr "mida mà xima de cada fitxer empaquetat de sortida" -#: builtin/pack-objects.c:3251 +#: builtin/pack-objects.c:3256 msgid "ignore borrowed objects from alternate object store" msgstr "ignora els objectes prestats d'un emmagatzematge d'objectes alternatiu" -#: builtin/pack-objects.c:3253 +#: builtin/pack-objects.c:3258 msgid "ignore packed objects" msgstr "ignora els objectes empaquetats" -#: builtin/pack-objects.c:3255 +#: builtin/pack-objects.c:3260 msgid "limit pack window by objects" msgstr "limita la finestra d'empaquetament per objectes" -#: builtin/pack-objects.c:3257 +#: builtin/pack-objects.c:3262 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" +msgstr "" +"limita la finestra d'empaquetament per memòria a més del lÃmit d'objectes" -#: builtin/pack-objects.c:3259 +#: builtin/pack-objects.c:3264 msgid "maximum length of delta chain allowed in the resulting pack" -msgstr "longitud mà xima de la cadena de diferències permesa en el paquet resultant" +msgstr "" +"longitud mà xima de la cadena de diferències permesa en el paquet resultant" -#: builtin/pack-objects.c:3261 +#: builtin/pack-objects.c:3266 msgid "reuse existing deltas" msgstr "reusa les diferències existents" -#: builtin/pack-objects.c:3263 +#: builtin/pack-objects.c:3268 msgid "reuse existing objects" msgstr "reusa els objectes existents" -#: builtin/pack-objects.c:3265 +#: builtin/pack-objects.c:3270 msgid "use OFS_DELTA objects" msgstr "usa objectes OFS_DELTA" -#: builtin/pack-objects.c:3267 +#: builtin/pack-objects.c:3272 msgid "use threads when searching for best delta matches" msgstr "usa fils en cercar les millores coincidències de diferències" -#: builtin/pack-objects.c:3269 +#: builtin/pack-objects.c:3274 msgid "do not create an empty pack output" msgstr "no creïs una emissió de paquet buida" -#: builtin/pack-objects.c:3271 +#: builtin/pack-objects.c:3276 msgid "read revision arguments from standard input" msgstr "llegeix els parà metres de revisió des de l'entrada està ndard" -#: builtin/pack-objects.c:3273 +#: builtin/pack-objects.c:3278 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:3276 +#: builtin/pack-objects.c:3281 msgid "include objects reachable from any reference" msgstr "inclou els objectes abastables de qualsevol referència" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3284 msgid "include objects referred by reflog entries" -msgstr "inclou els objectes als quals facin referència les entrades del registre de referències" +msgstr "" +"inclou els objectes als quals facin referència les entrades del registre de " +"referències" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3287 msgid "include objects referred to by the index" msgstr "inclou els objectes als quals faci referència l'Ãndex" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3290 msgid "output pack to stdout" msgstr "emet el paquet a stdout" -#: builtin/pack-objects.c:3287 +#: builtin/pack-objects.c:3292 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" +msgstr "" +"inclou els objectes d'etiqueta que facin referència als objectes a empaquetar" -#: builtin/pack-objects.c:3289 +#: builtin/pack-objects.c:3294 msgid "keep unreachable objects" msgstr "retén els objectes inabastables" -#: builtin/pack-objects.c:3291 +#: builtin/pack-objects.c:3296 msgid "pack loose unreachable objects" msgstr "empaqueta els objectes inabastables solts" -#: builtin/pack-objects.c:3293 +#: builtin/pack-objects.c:3298 msgid "unpack unreachable objects newer than <time>" msgstr "desempaqueta els objectes inabastables més nous que <hora>" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3301 msgid "use the sparse reachability algorithm" msgstr "" -#: builtin/pack-objects.c:3298 +#: builtin/pack-objects.c:3303 msgid "create thin packs" msgstr "crea paquets prims" -#: builtin/pack-objects.c:3300 +#: builtin/pack-objects.c:3305 msgid "create packs suitable for shallow fetches" msgstr "crea paquets adequats per a les obtencions superficials" -#: builtin/pack-objects.c:3302 +#: builtin/pack-objects.c:3307 msgid "ignore packs that have companion .keep file" msgstr "ignora els paquets que tinguin un fitxer .keep corresponent" -#: builtin/pack-objects.c:3304 +#: builtin/pack-objects.c:3309 #, fuzzy msgid "ignore this pack" msgstr "usa el paquet prim" -#: builtin/pack-objects.c:3306 +#: builtin/pack-objects.c:3311 msgid "pack compression level" msgstr "nivell de compressió de paquet" -#: builtin/pack-objects.c:3308 +#: builtin/pack-objects.c:3313 msgid "do not hide commits by grafts" msgstr "no amaguis les comissions per empelt" -#: builtin/pack-objects.c:3310 +#: builtin/pack-objects.c:3315 msgid "use a bitmap index if available to speed up counting objects" -msgstr "usa un Ãndex de mapa de bits, si està disponible, per a accelerar el recompte d'objectes" +msgstr "" +"usa un Ãndex de mapa de bits, si està disponible, per a accelerar el " +"recompte d'objectes" -#: builtin/pack-objects.c:3312 +#: builtin/pack-objects.c:3317 msgid "write a bitmap index together with the pack index" msgstr "escriu un Ãndex de mapa de bits juntament amb l'Ãndex de paquet" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3320 msgid "handling for missing objects" msgstr "gestió dels objectes absents" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3323 msgid "do not pack objects in promisor packfiles" msgstr "" -#: builtin/pack-objects.c:3320 +#: builtin/pack-objects.c:3325 #, fuzzy msgid "respect islands during delta compression" msgstr "mida de la finestra que s'usa per a compressió de diferències" -#: builtin/pack-objects.c:3345 +#: builtin/pack-objects.c:3350 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "" -#: builtin/pack-objects.c:3350 +#: builtin/pack-objects.c:3355 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "" -#: builtin/pack-objects.c:3404 +#: builtin/pack-objects.c:3409 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" -#: builtin/pack-objects.c:3406 +#: builtin/pack-objects.c:3411 msgid "minimum pack size limit is 1 MiB" msgstr "" -#: builtin/pack-objects.c:3411 +#: builtin/pack-objects.c:3416 #, fuzzy msgid "--thin cannot be used to build an indexable pack" msgstr "--fix-thin no es pot usar sense --stdin" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3419 #, fuzzy msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable i -A són incompatibles" -#: builtin/pack-objects.c:3420 +#: builtin/pack-objects.c:3425 #, fuzzy msgid "cannot use --filter without --stdout" msgstr "no es pot usar -a amb -d" -#: builtin/pack-objects.c:3479 +#: builtin/pack-objects.c:3486 msgid "Enumerating objects" msgstr "S'estan enumerant els objectes" -#: builtin/pack-objects.c:3498 +#: builtin/pack-objects.c:3516 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" -msgstr "Total %<PRIu32> (diferències %<PRIu32>), reusat %<PRIu32> (diferències %<PRIu32>)" +msgstr "" +"Total %<PRIu32> (diferències %<PRIu32>), reusat %<PRIu32> (diferències " +"%<PRIu32>)" -#: builtin/pack-refs.c:7 +#: builtin/pack-refs.c:8 msgid "git pack-refs [<options>]" msgstr "git pack-refs [<opcions>]" -#: builtin/pack-refs.c:15 +#: builtin/pack-refs.c:16 msgid "pack everything" msgstr "empaqueta-ho tot" -#: builtin/pack-refs.c:16 +#: builtin/pack-refs.c:17 msgid "prune loose refs (default)" msgstr "poda les referències soltes (per defecte)" @@ -14707,77 +16470,84 @@ msgstr "S'estan eliminant objectes duplicats" msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]" msgstr "git prune [-n] [-v] [--progress] [--expire <hora>] [--] [<head>...]" -#: builtin/prune.c:109 +#: builtin/prune.c:131 msgid "report pruned objects" msgstr "informa d'objectes podats" -#: builtin/prune.c:112 +#: builtin/prune.c:134 msgid "expire objects older than <time>" msgstr "fes caducar els objectes més vells que <hora>" -#: builtin/prune.c:114 +#: builtin/prune.c:136 msgid "limit traversal to objects outside promisor packfiles" msgstr "" -#: builtin/prune.c:128 +#: builtin/prune.c:150 msgid "cannot prune in a precious-objects repo" msgstr "no es pot podar en un dipòsit d'objectes preciosos" -#: builtin/pull.c:61 builtin/pull.c:63 +#: builtin/pull.c:66 builtin/pull.c:68 #, c-format msgid "Invalid value for %s: %s" msgstr "Valor no và lid per a %s: %s" -#: builtin/pull.c:83 +#: builtin/pull.c:88 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<opcions>] [<dipòsit> [<especificació-de-referència>...]]" -#: builtin/pull.c:134 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "controla l'obtenció recursiva de submòduls" -#: builtin/pull.c:138 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Opcions relacionades amb fusionar" -#: builtin/pull.c:141 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "incorpora els canvis fent «rebase» en lloc de fusionar" -#: builtin/pull.c:168 builtin/rebase--interactive.c:149 builtin/revert.c:123 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "permet l'avanç rà pid" -#: builtin/pull.c:177 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" -msgstr "fes «stash» i «stash pop» automà ticament abans i després de fer «rebase»" +msgstr "" +"fes «stash» i «stash pop» automà ticament abans i després de fer «rebase»" -#: builtin/pull.c:193 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Opcions relacionades amb obtenir" -#: builtin/pull.c:203 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "força la sobreescriptura de la branca local" -#: builtin/pull.c:211 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "nombre de submòduls baixats en paral·lel" -#: builtin/pull.c:306 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valor no và lid per a pull.ff: %s" -#: builtin/pull.c:422 -msgid "There is no candidate for rebasing against among the refs that you just fetched." -msgstr "No hi ha cap candidat sobre el qual fer «rebase» entre les referències que acabeu d'obtenir." +#: builtin/pull.c:433 +msgid "" +"There is no candidate for rebasing against among the refs that you just " +"fetched." +msgstr "" +"No hi ha cap candidat sobre el qual fer «rebase» entre les referències que " +"acabeu d'obtenir." -#: builtin/pull.c:424 -msgid "There are no candidates for merging among the refs that you just fetched." -msgstr "No hi ha candidats per a fusionar entre les referències que acabeu d'obtenir." +#: builtin/pull.c:435 +msgid "" +"There are no candidates for merging among the refs that you just fetched." +msgstr "" +"No hi ha candidats per a fusionar entre les referències que acabeu d'obtenir." -#: builtin/pull.c:425 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -14785,7 +16555,7 @@ msgstr "" "Generalment això vol dir que heu proveït una especificació de\n" "referència de comodà que no tenia cap coincidència en el costat remot." -#: builtin/pull.c:428 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -14796,39 +16566,44 @@ msgstr "" "Perquè aquest no és el remot configurat per defecte per a la vostra\n" "branca actual, heu d'especificar una branca en la lÃnia d'ordres." -#: builtin/pull.c:433 builtin/rebase.c:956 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Actualment no sou en cap branca." -#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Especifiqueu sobre què branca voleu fer «rebase»." -#: builtin/pull.c:437 builtin/pull.c:452 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Especifiqueu amb quina branca voleu fusionar." -#: builtin/pull.c:438 builtin/pull.c:453 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Vegeu git-pull(1) per detalls." -#: builtin/pull.c:440 builtin/pull.c:446 builtin/pull.c:455 builtin/rebase.c:962 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<remot>" -#: builtin/pull.c:440 builtin/pull.c:455 builtin/pull.c:460 git-legacy-rebase.sh:564 git-parse-remote.sh:65 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 +#: git-parse-remote.sh:65 msgid "<branch>" msgstr "<branca>" -#: builtin/pull.c:448 builtin/rebase.c:954 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "No hi ha cap informació de seguiment per a la branca actual." -#: builtin/pull.c:457 git-parse-remote.sh:95 -msgid "If you wish to set tracking information for this branch you can do so with:" -msgstr "Si voleu establir informació de seguiment per a aquesta branca, podeu fer-ho amb:" +#: builtin/pull.c:468 git-parse-remote.sh:95 +msgid "" +"If you wish to set tracking information for this branch you can do so with:" +msgstr "" +"Si voleu establir informació de seguiment per a aquesta branca, podeu fer-ho " +"amb:" -#: builtin/pull.c:462 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -14837,32 +16612,33 @@ msgstr "" "La vostra configuració especifica fusionar amb la referència «%s»\n" "del remot, però no s'ha obtingut tal referència." -#: builtin/pull.c:566 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "no s'ha pogut accedir a la comissió %s" -#: builtin/pull.c:844 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "s'està ignorant --verify-signatures en fer «rebase»" -#: builtin/pull.c:892 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "l'opció --[no-]-autostash és và lid només amb --rebase." -#: builtin/pull.c:900 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." -msgstr "S'està actualitzant una branca no nascuda amb canvis afegits a l'Ãndex." +msgstr "" +"S'està actualitzant una branca no nascuda amb canvis afegits a l'Ãndex." -#: builtin/pull.c:904 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "baixar fent «rebase»" -#: builtin/pull.c:905 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "cometeu-los o emmagatzemeu-los." -#: builtin/pull.c:930 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -14873,7 +16649,7 @@ msgstr "" "s'està avançant rà pidament el vostre arbre de treball des de\n" "la comissió %s." -#: builtin/pull.c:936 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -14884,23 +16660,26 @@ msgid "" "to recover." msgstr "" "No es pot avançar rà pidament el vostre arbre de treball.\n" -"Després d'assegurar que hà giu desat qualsevol cosa preciosa de la sortida de\n" +"Després d'assegurar que hà giu desat qualsevol cosa preciosa de la sortida " +"de\n" "$ git diff %s\n" "executeu\n" "$ git reset --hard\n" "per a recuperar." -#: builtin/pull.c:951 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "No es poden fusionar múltiples branques a un HEAD buit." -#: builtin/pull.c:955 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "No es pot fer «rebase» sobre múltiples branques." -#: builtin/pull.c:962 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" -msgstr "no es pot fer «rebase» amb modificacions als submòduls enregistrades localment" +msgstr "" +"no es pot fer «rebase» amb modificacions als submòduls enregistrades " +"localment" #: builtin/push.c:19 msgid "git push [<options>] [<repository> [<refspec>...]]" @@ -14920,7 +16699,8 @@ msgid "" "To choose either option permanently, see push.default in 'git help config'." msgstr "" "\n" -"Per a triar qualsevol opció permanentment, vegeu push.default a 'git help config'." +"Per a triar qualsevol opció permanentment, vegeu push.default a 'git help " +"config'." #: builtin/push.c:170 #, c-format @@ -14978,7 +16758,8 @@ msgstr "" #: builtin/push.c:207 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." -msgstr "La branca actual %s té múltiples branques fonts, s'està refusant pujar." +msgstr "" +"La branca actual %s té múltiples branques fonts, s'està refusant pujar." #: builtin/push.c:210 #, c-format @@ -14992,8 +16773,11 @@ msgstr "" "quina branca remota." #: builtin/push.c:269 -msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"." -msgstr "No heu especificat cap especificació de referència a pujar, i push.default és \"nothing\"." +msgid "" +"You didn't specify any refspecs to push, and push.default is \"nothing\"." +msgstr "" +"No heu especificat cap especificació de referència a pujar, i push.default " +"és \"nothing\"." #: builtin/push.c:276 msgid "" @@ -15037,7 +16821,8 @@ msgstr "" #: builtin/push.c:295 msgid "Updates were rejected because the tag already exists in the remote." -msgstr "S'han rebutjat les actualitzacions perquè l'etiqueta ja existeix en el remot." +msgstr "" +"S'han rebutjat les actualitzacions perquè l'etiqueta ja existeix en el remot." #: builtin/push.c:298 msgid "" @@ -15068,7 +16853,8 @@ msgstr "dipòsit incorrecte «%s»" #: builtin/push.c:399 msgid "" "No configured push destination.\n" -"Either specify the URL from the command-line or configure a remote repository using\n" +"Either specify the URL from the command-line or configure a remote " +"repository using\n" "\n" " git remote add <name> <url>\n" "\n" @@ -15077,7 +16863,8 @@ msgid "" " git push <name>\n" msgstr "" "No hi ha cap destà de pujada configurat.\n" -"Especifiqueu l'URL des de la lÃnia d'ordres o bé configureu un dipòsit remot fent servir\n" +"Especifiqueu l'URL des de la lÃnia d'ordres o bé configureu un dipòsit remot " +"fent servir\n" "\n" " git remote add <nom> <url>\n" "\n" @@ -15125,7 +16912,8 @@ msgstr "controla la pujada recursiva dels submòduls" msgid "use thin pack" msgstr "usa el paquet prim" -#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161 builtin/send-pack.c:162 +#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161 +#: builtin/send-pack.c:162 msgid "receive pack program" msgstr "programa que rep els paquets" @@ -15207,28 +16995,28 @@ msgstr "" msgid "use simple diff colors" msgstr "utilitza colors simples de diff" -#: builtin/range-diff.c:61 builtin/range-diff.c:65 +#: builtin/range-diff.c:46 builtin/range-diff.c:50 #, c-format msgid "no .. in range: '%s'" msgstr "cap .. en rang: «%s»" -#: builtin/range-diff.c:75 +#: builtin/range-diff.c:60 msgid "single arg format must be symmetric range" msgstr "el format de l'argument únic ha de ser de rang simètric" -#: builtin/range-diff.c:90 +#: builtin/range-diff.c:75 msgid "need two commit ranges" msgstr "calen dos rangs de comissió" #: builtin/read-tree.c:41 msgid "" -"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) [-u [--exclude-per-" -"directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> " -"[<tree-ish3>]])" +"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) " +"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--" +"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])" msgstr "" -"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) [-u [--exclude-per-" -"directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<fitxer>] (--empty | <arbre1> [<arbre2> " -"[<arbre3>]])" +"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) " +"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--" +"index-output=<fitxer>] (--empty | <arbre1> [<arbre2> [<arbre3>]])" #: builtin/read-tree.c:124 msgid "write resulting index to <file>" @@ -15294,66 +17082,265 @@ msgstr "omet l'aplicació del filtre d'agafament parcial" msgid "debug unpack-trees" msgstr "depura unpack-trees" -#: builtin/rebase.c:30 +#: builtin/read-tree.c:157 #, fuzzy -msgid "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] [<branch>]" -msgstr "git archive --remote <dipòsit> [--exec <ordre>] [<opcions>] <arbre> [<camÃ>...]" +msgid "suppress feedback messages" +msgstr "omet els missatges informatius" #: builtin/rebase.c:32 -msgid "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]" +#, fuzzy +msgid "" +"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] " +"[<branch>]" msgstr "" +"git archive --remote <dipòsit> [--exec <ordre>] [<opcions>] <arbre> " +"[<camÃ>...]" #: builtin/rebase.c:34 +msgid "" +"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]" +msgstr "" + +#: builtin/rebase.c:36 msgid "git rebase --continue | --abort | --skip | --edit-todo" msgstr "git rebase --continue | --abort | --skip | --edit-todo" -#: builtin/rebase.c:121 builtin/rebase.c:1437 +#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209 +#, c-format +msgid "unusable todo list: '%s'" +msgstr "llista per a fer inestable: «%s»" + +#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217 +#, c-format +msgid "could not write '%s'." +msgstr "no s'ha pogut escriure a «%s»." + +#: builtin/rebase.c:252 +msgid "no HEAD?" +msgstr "no hi ha cap HEAD?" + +#: builtin/rebase.c:279 +#, c-format +msgid "could not create temporary %s" +msgstr "no s'ha pogut crear el fitxer temporal %s" + +#: builtin/rebase.c:285 +msgid "could not mark as interactive" +msgstr "no s'ha pogut marcar com a interactiu" + +#: builtin/rebase.c:343 +msgid "could not generate todo list" +msgstr "no s'ha pogut generar la llista per a fer" + +#: builtin/rebase.c:382 +msgid "a base commit must be provided with --upstream or --onto" +msgstr "" + +#: builtin/rebase.c:437 +msgid "git rebase--interactive [<options>]" +msgstr "git rebase--interactive [<opcions>]" + +#: builtin/rebase.c:449 +msgid "keep empty commits" +msgstr "mantén les comissions buides" + +#: builtin/rebase.c:451 builtin/revert.c:128 +msgid "allow commits with empty messages" +msgstr "permet les comissions amb missatges buits" + +#: builtin/rebase.c:452 +msgid "rebase merge commits" +msgstr "fes «rebase» de les comissions de fusió" + +#: builtin/rebase.c:454 +msgid "keep original branch points of cousins" +msgstr "" + +#: builtin/rebase.c:456 +msgid "move commits that begin with squash!/fixup!" +msgstr "" + +#: builtin/rebase.c:457 +msgid "sign commits" +msgstr "signa les comissions" + +#: builtin/rebase.c:459 builtin/rebase.c:1403 +msgid "display a diffstat of what changed upstream" +msgstr "" + +#: builtin/rebase.c:461 +msgid "continue rebase" +msgstr "continua el «rebase»" + +#: builtin/rebase.c:463 +msgid "skip commit" +msgstr "omet la comissió" + +#: builtin/rebase.c:464 +msgid "edit the todo list" +msgstr "edita la llista a fer" + +#: builtin/rebase.c:466 +msgid "show the current patch" +msgstr "mostra el pedaç actual" + +#: builtin/rebase.c:469 +msgid "shorten commit ids in the todo list" +msgstr "escurça els ids de les comissions en la llista per a fer" + +#: builtin/rebase.c:471 +msgid "expand commit ids in the todo list" +msgstr "expandeix els ids de les comissions en la llista per a fer" + +#: builtin/rebase.c:473 +msgid "check the todo list" +msgstr "comprova la llista a fer" + +#: builtin/rebase.c:475 +msgid "rearrange fixup/squash lines" +msgstr "reorganitza les lÃnies «fixup/pick»" + +#: builtin/rebase.c:477 +msgid "insert exec commands in todo list" +msgstr "expandeix les ordres exec en la llista per a fer" + +#: builtin/rebase.c:478 +msgid "onto" +msgstr "" + +#: builtin/rebase.c:481 +#, fuzzy +msgid "restrict-revision" +msgstr "revisió" + +#: builtin/rebase.c:481 +#, fuzzy +msgid "restrict revision" +msgstr "revisió" + +#: builtin/rebase.c:483 +msgid "squash-onto" +msgstr "" + +#: builtin/rebase.c:484 +msgid "squash onto" +msgstr "" + +#: builtin/rebase.c:486 +#, fuzzy +msgid "the upstream commit" +msgstr "Desassigna la informació de font" + +#: builtin/rebase.c:488 +#, fuzzy +msgid "head-name" +msgstr "canvi de nom" + +#: builtin/rebase.c:488 +#, fuzzy +msgid "head name" +msgstr "davant per " + +#: builtin/rebase.c:493 +#, fuzzy +msgid "rebase strategy" +msgstr "estratègia de fusió" + +#: builtin/rebase.c:494 +#, fuzzy +msgid "strategy-opts" +msgstr "estratègia" + +#: builtin/rebase.c:495 +#, fuzzy +msgid "strategy options" +msgstr "opcions de decoració" + +#: builtin/rebase.c:496 +msgid "switch-to" +msgstr "" + +#: builtin/rebase.c:497 +msgid "the branch or commit to checkout" +msgstr "" + +#: builtin/rebase.c:498 +#, fuzzy +msgid "onto-name" +msgstr "nom" + +#: builtin/rebase.c:498 +#, fuzzy +msgid "onto name" +msgstr "nom del remot" + +#: builtin/rebase.c:499 +#, fuzzy +msgid "cmd" +msgstr "ordre" + +#: builtin/rebase.c:499 +msgid "the command to run" +msgstr "l'ordre a executar" + +#: builtin/rebase.c:502 builtin/rebase.c:1486 +msgid "automatically re-schedule any `exec` that fails" +msgstr "" + +#: builtin/rebase.c:518 +msgid "--[no-]rebase-cousins has no effect without --rebase-merges" +msgstr "" + +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s requereix un «rebase» interactiu" -#: builtin/rebase.c:173 +#: builtin/rebase.c:586 #, fuzzy, c-format msgid "could not get 'onto': '%s'" msgstr "no s'ha pogut establir «%s» a «%s»" -#: builtin/rebase.c:188 +#: builtin/rebase.c:601 #, fuzzy, c-format msgid "invalid orig-head: '%s'" msgstr "fitxer no và lid: «%s»" -#: builtin/rebase.c:213 +#: builtin/rebase.c:626 #, c-format msgid "ignoring invalid allow_rerere_autoupdate: '%s'" msgstr "" -#: builtin/rebase.c:289 +#: builtin/rebase.c:702 #, c-format msgid "Could not read '%s'" msgstr "No s'ha pogut llegir «%s»" -#: builtin/rebase.c:307 +#: builtin/rebase.c:720 #, c-format msgid "Cannot store %s" msgstr "No es pot emmagatzemar %s" -#: builtin/rebase.c:402 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "no s'ha pogut determinar la revisió de HEAD" -#: builtin/rebase.c:522 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" "You can instead skip this commit: run \"git rebase --skip\".\n" -"To abort and get back to the state before \"git rebase\", run \"git rebase --abort\"." +"To abort and get back to the state before \"git rebase\", run \"git rebase --" +"abort\"." msgstr "" "Resoleu tots els conflictes manualment, marqueu-los com a resolts amb\n" -"«git add/rm <fitxers amb conflicte>», llavors executeu «git rebase --continue».\n" +"«git add/rm <fitxers amb conflicte>», llavors executeu «git rebase --" +"continue».\n" "Podeu en comptes ometre aquesta comissió: executeu «git rebase --skip».\n" -"Per a avortar i tornar a l'estat anterior abans de l'ordre «git rebase», executeu «git rebase --abort»." +"Per a avortar i tornar a l'estat anterior abans de l'ordre «git rebase», " +"executeu «git rebase --abort»." -#: builtin/rebase.c:603 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -15365,7 +17352,7 @@ msgid "" "As a result, git cannot rebase them." msgstr "" -#: builtin/rebase.c:948 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -15382,7 +17369,7 @@ msgstr "" " git rebase '<branca>'\n" "\n" -#: builtin/rebase.c:964 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -15390,173 +17377,171 @@ msgid "" " git branch --set-upstream-to=%s/<branch> %s\n" "\n" msgstr "" -"Si voleu establir informació de seguiment per a aquesta branca, podeu fer-ho amb:\n" +"Si voleu establir informació de seguiment per a aquesta branca, podeu fer-ho " +"amb:\n" "\n" " git branch --set-upstream-to=%s/<branch> %s\n" "\n" -#: builtin/rebase.c:994 +#: builtin/rebase.c:1364 #, fuzzy msgid "exec commands cannot contain newlines" msgstr "expandeix les ordres exec en la llista per a fer" -#: builtin/rebase.c:998 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "" -#: builtin/rebase.c:1040 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "fes un «rebase» en la branca donada en comptes de la font" -#: builtin/rebase.c:1042 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "permet al lligam pre-rebase executar-se" -#: builtin/rebase.c:1044 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "silenciós. Implica --no-stat" -#: builtin/rebase.c:1047 -msgid "display a diffstat of what changed upstream" -msgstr "" - -#: builtin/rebase.c:1050 +#: builtin/rebase.c:1406 #, fuzzy msgid "do not show diffstat of what changed upstream" msgstr "no mostris les estadÃstiques de diferència al final de la fusió" -#: builtin/rebase.c:1053 +#: builtin/rebase.c:1409 #, fuzzy msgid "add a Signed-off-by: line to each commit" msgstr "afegeix una lÃnia «Signed-off-by» al missatge de comissió" -#: builtin/rebase.c:1055 builtin/rebase.c:1059 builtin/rebase.c:1061 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "passa-ho a «git am»" -#: builtin/rebase.c:1063 builtin/rebase.c:1065 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "passa-ho a «git-apply»" -#: builtin/rebase.c:1067 builtin/rebase.c:1070 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "«cherry pick» totes les comissions, inclús les no canviades" -#: builtin/rebase.c:1072 +#: builtin/rebase.c:1428 msgid "continue" msgstr "continua" -#: builtin/rebase.c:1075 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "omet el pedaç actual i continua" -#: builtin/rebase.c:1077 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "interromp i agafa la branca original" -#: builtin/rebase.c:1080 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "interromp però manté HEAD on és" -#: builtin/rebase.c:1081 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "edita la llista de coses a fer durant un «rebase» interactiu" -#: builtin/rebase.c:1084 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "mostra el pedaç que s'està aplicant o fusionant" -#: builtin/rebase.c:1087 +#: builtin/rebase.c:1443 #, fuzzy msgid "use merging strategies to rebase" msgstr "estratègia de fusió a usar" -#: builtin/rebase.c:1091 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "" -#: builtin/rebase.c:1095 -msgid "try to recreate merges instead of ignoring them" +#: builtin/rebase.c:1451 +#, fuzzy +msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "intenta recrear les " -#: builtin/rebase.c:1099 -msgid "allow rerere to update index with resolved conflict" -msgstr "" - -#: builtin/rebase.c:1102 +#: builtin/rebase.c:1455 #, fuzzy msgid "preserve empty commits during rebase" msgstr "preserva les comissions inicialment buides" -#: builtin/rebase.c:1104 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "" -#: builtin/rebase.c:1110 +#: builtin/rebase.c:1463 #, fuzzy msgid "automatically stash/stash pop before and after" -msgstr "fes «stash» i «stash pop» automà ticament abans i després de fer «rebase»" +msgstr "" +"fes «stash» i «stash pop» automà ticament abans i després de fer «rebase»" -#: builtin/rebase.c:1112 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "" -#: builtin/rebase.c:1116 +#: builtin/rebase.c:1469 #, fuzzy msgid "allow rebasing commits with empty messages" msgstr "permet les comissions amb missatges buits" -#: builtin/rebase.c:1119 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "" -#: builtin/rebase.c:1122 +#: builtin/rebase.c:1475 #, fuzzy msgid "use 'merge-base --fork-point' to refine upstream" msgstr "git merge-base --fork-point <referència> [<comissió>]" -#: builtin/rebase.c:1124 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" -msgstr "utiliza l'estratègia de fusió donada" +msgstr "utilitza l'estratègia de fusió donada" -#: builtin/rebase.c:1126 builtin/revert.c:112 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "opció" -#: builtin/rebase.c:1127 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" -msgstr "passa l'argument a l'estratègia de fussió" +msgstr "passa l'argument a l'estratègia de fusió" -#: builtin/rebase.c:1130 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "fes «rebase» de totes les comissions accessibles fins l'arrel" -#: builtin/rebase.c:1133 builtin/rebase--interactive.c:198 -msgid "automatically re-schedule any `exec` that fails" +#: builtin/rebase.c:1500 +msgid "" +"the rebase.useBuiltin support has been removed!\n" +"See its entry in 'git help config' for details." msgstr "" -#: builtin/rebase.c:1149 -#, c-format -msgid "could not exec %s" -msgstr "no s'ha pogut executar %s" - -#: builtin/rebase.c:1167 git-legacy-rebase.sh:220 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "Sembla que «git am» està en curs. No es pot fer «rebase»." -#: builtin/rebase.c:1208 git-legacy-rebase.sh:406 +#: builtin/rebase.c:1547 +#, fuzzy +msgid "" +"git rebase --preserve-merges is deprecated. Use --rebase-merges instead." +msgstr "error: no es pot combinar «--preserve-merges» amb «--rebase-merges»" + +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "No hi ha un «rebase» en curs?" -#: builtin/rebase.c:1212 git-legacy-rebase.sh:417 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "L'acció --edit-todo només es pot usar durant un «rebase» interactiu." -#: builtin/rebase.c:1226 git-legacy-rebase.sh:424 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "No es pot llegir HEAD" -#: builtin/rebase.c:1238 git-legacy-rebase.sh:427 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -15564,21 +17549,16 @@ msgstr "" "Heu d'editar tots els conflictes de fusió i després\n" "marcar-los com a resolts fent servir git add" -#: builtin/rebase.c:1257 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "no s'han pogut descartar els canvis de l'arbre de treball" -#: builtin/rebase.c:1276 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "no s'ha pogut tornar a %s" -#: builtin/rebase.c:1287 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "no s'ha pogut suprimir «%s»" - -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1673 #, fuzzy, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -15599,349 +17579,180 @@ msgstr "" "i executeu-me de nou. M'aturo per si encara hi teniu alguna cosa\n" "de valor." -#: builtin/rebase.c:1334 -#, fuzzy +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" -msgstr "l'opció «c» espera un valor numèric" +msgstr "«switch» «c» espera un valor numèric" -#: builtin/rebase.c:1375 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Mode desconegut: %s" -#: builtin/rebase.c:1397 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy requereix --merge o --interactive" -#: builtin/rebase.c:1446 +#: builtin/rebase.c:1797 +#, fuzzy +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--strategy requereix --merge o --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" -#: builtin/rebase.c:1465 +#: builtin/rebase.c:1828 #, fuzzy msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "error: no es pot combinar «--preserve-merges» amb «--rebase-merges»" -#: builtin/rebase.c:1469 git-legacy-rebase.sh:544 +#: builtin/rebase.c:1832 #, fuzzy -msgid "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" +msgid "" +"error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "error: no es pot combinar «--preserve-merges» amb «--rebase-merges»" -#: builtin/rebase.c:1475 +#: builtin/rebase.c:1838 #, fuzzy msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "error: no es pot combinar «--rebase-merges» amb «--strategy-option»" -#: builtin/rebase.c:1478 +#: builtin/rebase.c:1841 #, fuzzy msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "error: no es pot combinar «--rebase-merges» amb «--strategy»" -#: builtin/rebase.c:1502 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "font no và lida: «%s»" -#: builtin/rebase.c:1508 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "no s'ha pogut crear una comissió arrel nova" -#: builtin/rebase.c:1526 +#: builtin/rebase.c:1889 #, fuzzy, c-format msgid "'%s': need exactly one merge base" msgstr "Cal exactament un rang." -#: builtin/rebase.c:1533 +#: builtin/rebase.c:1896 #, fuzzy, c-format msgid "Does not point to a valid commit '%s'" msgstr "No assenyala una comissió và lida: $onto_name" -#: builtin/rebase.c:1558 +#: builtin/rebase.c:1921 #, fuzzy, c-format msgid "fatal: no such branch/commit '%s'" msgstr "fatal: no hi ha tal branca: $branch_name" -#: builtin/rebase.c:1566 builtin/submodule--helper.c:38 builtin/submodule--helper.c:1934 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "No hi ha tal referència: %s" -#: builtin/rebase.c:1578 +#: builtin/rebase.c:1940 #, fuzzy msgid "Could not resolve HEAD to a revision" msgstr "no s'ha pogut resoldre la comissió HEAD" -#: builtin/rebase.c:1619 git-legacy-rebase.sh:673 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "No es pot emmagatzemar automà ticament" -#: builtin/rebase.c:1622 +#: builtin/rebase.c:1984 #, fuzzy, c-format msgid "Unexpected stash response: '%s'" msgstr "final de fitxer inesperat" -#: builtin/rebase.c:1628 +#: builtin/rebase.c:1990 #, fuzzy, c-format msgid "Could not create directory for '%s'" msgstr "No s'ha pogut crear el directori «%s»" -#: builtin/rebase.c:1631 +#: builtin/rebase.c:1993 #, fuzzy, c-format msgid "Created autostash: %s\n" msgstr "S'ha creat un magatzem automà tic: $stash_abbrev" -#: builtin/rebase.c:1634 +#: builtin/rebase.c:1996 #, fuzzy msgid "could not reset --hard" msgstr "No s'ha pogut llegir orig-head" -#: builtin/rebase.c:1635 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD ara és a %s" -#: builtin/rebase.c:1651 git-legacy-rebase.sh:682 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Cometeu-los o emmagatzemeu-los." -#: builtin/rebase.c:1678 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "no s'ha pogut analitzar «%s»" -#: builtin/rebase.c:1691 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "no s'ha pogut commutar a %s" -#: builtin/rebase.c:1702 git-legacy-rebase.sh:705 -#, sh-format +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD està al dia." -#: builtin/rebase.c:1704 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "La branca actual %s està al dia.\n" -#: builtin/rebase.c:1712 git-legacy-rebase.sh:715 -#, sh-format +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "La branca actual està al dia, «rebase» forçat." -#: builtin/rebase.c:1714 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "La branca actual %s està al dia; «rebase» forçat.\n" -#: builtin/rebase.c:1722 git-legacy-rebase.sh:215 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "El lligam pre-«rebase» ha refusat a fer «rebase»." -#: builtin/rebase.c:1729 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Canvis a %s:\n" -#: builtin/rebase.c:1732 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Canvis de %s a %s:\n" -#: builtin/rebase.c:1757 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" -msgstr "Primer, s'està rebobinant HEAD per a reproduir el vostre treball al damunt...\n" +msgstr "" +"Primer, s'està rebobinant HEAD per a reproduir el vostre treball al " +"damunt...\n" -#: builtin/rebase.c:1765 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "No s'ha pogut separar HEAD" -#: builtin/rebase.c:1774 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Avanç rà pid %s a %s.\n" -#: builtin/rebase--interactive.c:25 -msgid "no HEAD?" -msgstr "no hi ha cap HEAD?" - -#: builtin/rebase--interactive.c:52 -#, c-format -msgid "could not create temporary %s" -msgstr "no s'ha pogut crear el fitxer temporal %s" - -#: builtin/rebase--interactive.c:58 -msgid "could not mark as interactive" -msgstr "no s'ha pogut marcar com a interactiu" - -#: builtin/rebase--interactive.c:102 -#, c-format -msgid "could not open %s" -msgstr "no s'ha pogut obrir «%s»" - -#: builtin/rebase--interactive.c:115 -msgid "could not generate todo list" -msgstr "no s'ha pogut generar la llista per a fer" - -#: builtin/rebase--interactive.c:131 -msgid "git rebase--interactive [<options>]" -msgstr "git rebase--interactive [<opcions>]" - -#: builtin/rebase--interactive.c:150 -msgid "keep empty commits" -msgstr "mantén les comissions buides" - -#: builtin/rebase--interactive.c:152 builtin/revert.c:125 -msgid "allow commits with empty messages" -msgstr "permet les comissions amb missatges buits" - -#: builtin/rebase--interactive.c:153 -#, fuzzy -msgid "rebase merge commits" -msgstr "etiqueta de fusió incorrecta en la comissió «%s»" - -#: builtin/rebase--interactive.c:155 -msgid "keep original branch points of cousins" -msgstr "" - -#: builtin/rebase--interactive.c:157 -msgid "move commits that begin with squash!/fixup!" -msgstr "" - -#: builtin/rebase--interactive.c:158 -msgid "sign commits" -msgstr "signa les comissions" - -#: builtin/rebase--interactive.c:160 -msgid "continue rebase" -msgstr "continua el «rebase»" - -#: builtin/rebase--interactive.c:162 -msgid "skip commit" -msgstr "omet la comissió" - -#: builtin/rebase--interactive.c:163 -msgid "edit the todo list" -msgstr "edita la llista a fer" - -#: builtin/rebase--interactive.c:165 -msgid "show the current patch" -msgstr "mostra el pedaç actual" - -#: builtin/rebase--interactive.c:168 -msgid "shorten commit ids in the todo list" -msgstr "escurça els ids de les comissions en la llista per a fer" - -#: builtin/rebase--interactive.c:170 -msgid "expand commit ids in the todo list" -msgstr "expandeix els ids de les comissions en la llista per a fer" - -#: builtin/rebase--interactive.c:172 -msgid "check the todo list" -msgstr "comprova la llista a fer" - -#: builtin/rebase--interactive.c:174 -msgid "rearrange fixup/squash lines" -msgstr "reorganitza les lÃnies «fixup/pick»" - -#: builtin/rebase--interactive.c:176 -msgid "insert exec commands in todo list" -msgstr "expandeix les ordres exec en la llista per a fer" - -#: builtin/rebase--interactive.c:177 -msgid "onto" -msgstr "" - -#: builtin/rebase--interactive.c:179 -#, fuzzy -msgid "restrict-revision" -msgstr "revisió" - -#: builtin/rebase--interactive.c:179 -#, fuzzy -msgid "restrict revision" -msgstr "revisió" - -#: builtin/rebase--interactive.c:180 -msgid "squash-onto" -msgstr "" - -#: builtin/rebase--interactive.c:181 -msgid "squash onto" -msgstr "" - -#: builtin/rebase--interactive.c:183 -#, fuzzy -msgid "the upstream commit" -msgstr "Desassigna la informació de font" - -#: builtin/rebase--interactive.c:184 -#, fuzzy -msgid "head-name" -msgstr "canvi de nom" - -#: builtin/rebase--interactive.c:184 -#, fuzzy -msgid "head name" -msgstr "davant per " - -#: builtin/rebase--interactive.c:189 -#, fuzzy -msgid "rebase strategy" -msgstr "estratègia de fusió" - -#: builtin/rebase--interactive.c:190 -#, fuzzy -msgid "strategy-opts" -msgstr "estratègia" - -#: builtin/rebase--interactive.c:191 -#, fuzzy -msgid "strategy options" -msgstr "opcions de decoració" - -#: builtin/rebase--interactive.c:192 -msgid "switch-to" -msgstr "" - -#: builtin/rebase--interactive.c:193 -msgid "the branch or commit to checkout" -msgstr "" - -#: builtin/rebase--interactive.c:194 -#, fuzzy -msgid "onto-name" -msgstr "nom" - -#: builtin/rebase--interactive.c:194 -#, fuzzy -msgid "onto name" -msgstr "nom del remot" - -#: builtin/rebase--interactive.c:195 -#, fuzzy -msgid "cmd" -msgstr "ordre" - -#: builtin/rebase--interactive.c:195 -#, fuzzy -msgid "the command to run" -msgstr "No s'ha fet cap ordre." - -#: builtin/rebase--interactive.c:224 -msgid "--[no-]rebase-cousins has no effect without --rebase-merges" -msgstr "" - -#: builtin/rebase--interactive.c:230 -msgid "a base commit must be provided with --upstream or --onto" -msgstr "" - -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <git-dir>" -#: builtin/receive-pack.c:830 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -15972,7 +17783,7 @@ msgstr "" "predeterminat, establiu la variable de configuració\n" "'receive.denyCurrentBranch' a 'refuse'." -#: builtin/receive-pack.c:850 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -15994,22 +17805,25 @@ msgstr "" "\n" "Per a silenciar aquest missatge, podeu establir-la a 'refuse'." -#: builtin/receive-pack.c:1929 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "silenciós" -#: builtin/receive-pack.c:1943 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Heu d'especificar un directori." #: builtin/reflog.c:17 msgid "" -"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--rewrite] [--updateref] [--stale-fix] [--dry-" -"run | -n] [--verbose] [--all] <refs>..." +"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--" +"rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all] " +"<refs>..." msgstr "" #: builtin/reflog.c:22 -msgid "git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] <refs>..." +msgid "" +"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] " +"<refs>..." msgstr "" #: builtin/reflog.c:25 @@ -16047,9 +17861,9 @@ msgid "no reflog for '%s'" msgstr "no s'ha pogut llegir el fitxer de registre per «%s»" #: builtin/reflog.c:755 -#, fuzzy, c-format +#, c-format msgid "invalid ref format: %s" -msgstr "format de data no và lid: %s" +msgstr "format de referència no và lid: %s" #: builtin/reflog.c:764 msgid "git reflog [ show | expire | delete | exists ]" @@ -16060,8 +17874,12 @@ msgid "git remote [-v | --verbose]" msgstr "git remote [-v | --verbose]" #: builtin/remote.c:17 -msgid "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>" -msgstr "git remote add [-t <branca>] [-m <mestra>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <nom> <url>" +msgid "" +"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--" +"mirror=<fetch|push>] <name> <url>" +msgstr "" +"git remote add [-t <branca>] [-m <mestra>] [-f] [--tags | --no-tags] [--" +"mirror=<fetch|push>] <nom> <url>" #: builtin/remote.c:18 builtin/remote.c:38 msgid "git remote rename <old> <new>" @@ -16084,8 +17902,10 @@ msgid "git remote prune [-n | --dry-run] <name>" msgstr "git remote prune [-n | --dry-run] <nom>" #: builtin/remote.c:23 -msgid "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]" -msgstr "git remote [-v | --verbose] update [-p | --prune] [(<grup> | <remot>)...]" +msgid "" +"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]" +msgstr "" +"git remote [-v | --verbose] update [-p | --prune] [(<grup> | <remot>)...]" #: builtin/remote.c:24 msgid "git remote set-branches [--add] <name> <branch>..." @@ -16180,7 +18000,8 @@ msgstr "especificar una branca mestra no té sentit amb --mirror" #: builtin/remote.c:187 msgid "specifying branches to track makes sense only with fetch mirrors" -msgstr "especificar les branques a seguir té sentit només amb miralls d'obtenció" +msgstr "" +"especificar les branques a seguir té sentit només amb miralls d'obtenció" #: builtin/remote.c:194 builtin/remote.c:636 #, c-format @@ -16200,7 +18021,8 @@ msgstr "No s'ha pogut configurar la mestra «%s»" #: builtin/remote.c:344 #, c-format msgid "Could not get fetch map for refspec %s" -msgstr "No s'ha pogut obtenir el mapa d'obtenció de l'especificació de referència %s" +msgstr "" +"No s'ha pogut obtenir el mapa d'obtenció de l'especificació de referència %s" #: builtin/remote.c:443 builtin/remote.c:451 msgid "(matching)" @@ -16227,7 +18049,8 @@ msgid "" "\t%s\n" "\tPlease update the configuration manually if necessary." msgstr "" -"No s'està actualitzant l'especificació de referències d'obtenció no per defecte\n" +"No s'està actualitzant l'especificació de referències d'obtenció no per " +"defecte\n" "\t%s\n" "\tActualitzeu la configuració manualment si és necessari." @@ -16252,7 +18075,8 @@ msgstr[0] "" "Nota: Una branca fora de la jerarquia refs/remotes/ no s'ha eliminat;\n" "per a suprimir-la, useu:" msgstr[1] "" -"Nota: Algunes branques fora de la jerarquia refs/remotes/ no s'han eliminat;\n" +"Nota: Algunes branques fora de la jerarquia refs/remotes/ no s'han " +"eliminat;\n" "per a suprimir-les, useu:" #: builtin/remote.c:816 @@ -16394,8 +18218,10 @@ msgstr "(desconegut)" #: builtin/remote.c:1183 #, c-format -msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" -msgstr " Branca de HEAD (la HEAD remot és ambigua, pot ser un dels següents):\n" +msgid "" +" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" +msgstr "" +" Branca de HEAD (la HEAD remot és ambigua, pot ser un dels següents):\n" #: builtin/remote.c:1195 #, c-format @@ -16548,7 +18374,7 @@ msgstr "No se suprimiran tots els URL no de pujada" #: builtin/remote.c:1610 msgid "be verbose; must be placed before a subcommand" -msgstr "sigues detallat; s'ha de col·locar abans d'una subordre" +msgstr "sigues detallat; s'ha de col·locar abans d'un subordre" #: builtin/remote.c:1641 #, c-format @@ -16564,117 +18390,121 @@ msgid "" "Incremental repacks are incompatible with bitmap indexes. Use\n" "--no-write-bitmap-index or disable the pack.writebitmaps configuration." msgstr "" -"Els reempaquetaments incrementals són incompatibles amb els Ãndexs de bitmaps. Useu\n" -"--no-write-bitmap-index o inhabiliteu el parà metre de configuració pack.writebitmaps." +"Els reempaquetaments incrementals són incompatibles amb els Ãndexs de " +"bitmaps. Useu\n" +"--no-write-bitmap-index o inhabiliteu el parà metre de configuració pack." +"writebitmaps." -#: builtin/repack.c:200 +#: builtin/repack.c:201 msgid "could not start pack-objects to repack promisor objects" msgstr "" -#: builtin/repack.c:239 builtin/repack.c:411 +#: builtin/repack.c:240 builtin/repack.c:418 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" -#: builtin/repack.c:256 +#: builtin/repack.c:257 msgid "could not finish pack-objects to repack promisor objects" msgstr "" -#: builtin/repack.c:294 +#: builtin/repack.c:295 msgid "pack everything in a single pack" msgstr "empaqueta-ho tot en un únic paquet" -#: builtin/repack.c:296 +#: builtin/repack.c:297 msgid "same as -a, and turn unreachable objects loose" msgstr "el mateix que -a, i solta els objectes inabastables" -#: builtin/repack.c:299 +#: builtin/repack.c:300 msgid "remove redundant packs, and run git-prune-packed" msgstr "elimina els paquets redundants, i executeu git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:302 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "passa --no-reuse-delta a git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:304 msgid "pass --no-reuse-object to git-pack-objects" msgstr "passa --no-reuse-object a git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:306 msgid "do not run git-update-server-info" msgstr "no executis git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:309 msgid "pass --local to git-pack-objects" msgstr "passa --local a git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:311 msgid "write bitmap index" msgstr "escriu Ãndex de mapa de bits" -#: builtin/repack.c:312 +#: builtin/repack.c:313 #, fuzzy msgid "pass --delta-islands to git-pack-objects" msgstr "passa --local a git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:314 msgid "approxidate" msgstr "data aproximada" -#: builtin/repack.c:314 +#: builtin/repack.c:315 msgid "with -A, do not loosen objects older than this" msgstr "amb -A, no soltis els objectes més vells que aquest" -#: builtin/repack.c:316 +#: builtin/repack.c:317 msgid "with -a, repack unreachable objects" msgstr "amb -a, reempaqueta els objectes inabastables" -#: builtin/repack.c:318 +#: builtin/repack.c:319 msgid "size of the window used for delta compression" msgstr "mida de la finestra que s'usa per a compressió de diferències" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:320 builtin/repack.c:326 msgid "bytes" msgstr "octets" -#: builtin/repack.c:320 +#: builtin/repack.c:321 msgid "same as the above, but limit memory size instead of entries count" -msgstr "el mateix que l'anterior, però limita la mida de memòria en lloc del nombre d'entrades" +msgstr "" +"el mateix que l'anterior, però limita la mida de memòria en lloc del nombre " +"d'entrades" -#: builtin/repack.c:322 +#: builtin/repack.c:323 msgid "limits the maximum delta depth" msgstr "limita la profunditat mà xima de les diferències" -#: builtin/repack.c:324 +#: builtin/repack.c:325 msgid "limits the maximum number of threads" msgstr "limita el nombre mà xim de fils" -#: builtin/repack.c:326 +#: builtin/repack.c:327 msgid "maximum size of each packfile" msgstr "mida mà xima de cada fitxer de paquet" -#: builtin/repack.c:328 +#: builtin/repack.c:329 msgid "repack objects in packs marked with .keep" msgstr "reempaqueta els objectes en paquets marcats amb .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:331 #, fuzzy msgid "do not repack this pack" msgstr "crea paquets prims" -#: builtin/repack.c:340 +#: builtin/repack.c:341 msgid "cannot delete packs in a precious-objects repo" msgstr "no es poden suprimir paquets en un dipòsit d'objectes preciosos" -#: builtin/repack.c:344 +#: builtin/repack.c:345 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable i -A són incompatibles" -#: builtin/repack.c:420 +#: builtin/repack.c:427 #, fuzzy msgid "Nothing new to pack." msgstr "usa el paquet prim" -#: builtin/repack.c:481 +#: builtin/repack.c:488 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -16686,7 +18516,7 @@ msgid "" "WARNING: Please rename them in %s manually:\n" msgstr "" -#: builtin/repack.c:529 +#: builtin/repack.c:536 #, c-format msgid "failed to remove '%s'" msgstr "s'ha produït un error en eliminar «%s»" @@ -16715,39 +18545,34 @@ msgstr "git replace -d <objecte>..." msgid "git replace [--format=<format>] [-l [<pattern>]]" msgstr "git replace [--format=<format>] [-l [<patró>]]" -#: builtin/replace.c:58 builtin/replace.c:203 builtin/replace.c:206 -#, c-format -msgid "failed to resolve '%s' as a valid ref" -msgstr "s'ha produït un error en resoldre «%s» com a referència và lida" - -#: builtin/replace.c:86 +#: builtin/replace.c:90 #, c-format msgid "" "invalid replace format '%s'\n" "valid formats are 'short', 'medium' and 'long'" msgstr "" -#: builtin/replace.c:121 +#: builtin/replace.c:125 #, fuzzy, c-format msgid "replace ref '%s' not found" msgstr "no s'ha trobat la branca «%s»." -#: builtin/replace.c:137 +#: builtin/replace.c:141 #, fuzzy, c-format msgid "Deleted replace ref '%s'" msgstr "suprimeix les referències reemplaçades" -#: builtin/replace.c:149 +#: builtin/replace.c:153 #, fuzzy, c-format msgid "'%s' is not a valid ref name" msgstr "«%s» no és un nom de remot và lid" -#: builtin/replace.c:154 +#: builtin/replace.c:158 #, fuzzy, c-format msgid "replace ref '%s' already exists" msgstr "el destà «%s» ja existeix" -#: builtin/replace.c:174 +#: builtin/replace.c:178 #, c-format msgid "" "Objects must be of the same type.\n" @@ -16755,190 +18580,196 @@ msgid "" "while '%s' points to a replacement object of type '%s'." msgstr "" -#: builtin/replace.c:225 +#: builtin/replace.c:229 #, fuzzy, c-format msgid "unable to open %s for writing" msgstr "No s'ha pogut obrir «%s» per a escriptura" -#: builtin/replace.c:238 +#: builtin/replace.c:242 msgid "cat-file reported failure" msgstr "" -#: builtin/replace.c:254 +#: builtin/replace.c:258 #, fuzzy, c-format msgid "unable to open %s for reading" msgstr "no s'ha pogut obrir o llegir %s" -#: builtin/replace.c:268 +#: builtin/replace.c:272 #, fuzzy msgid "unable to spawn mktree" msgstr "no s'ha pogut llegir l'arbre (%s)" -#: builtin/replace.c:272 +#: builtin/replace.c:276 #, fuzzy msgid "unable to read from mktree" msgstr "no s'ha pogut llegir l'arbre (%s)" -#: builtin/replace.c:281 +#: builtin/replace.c:285 #, fuzzy msgid "mktree reported failure" msgstr "la reversió ha fallat" -#: builtin/replace.c:285 +#: builtin/replace.c:289 #, fuzzy msgid "mktree did not return an object name" msgstr "el remot no ha enviat tots els objectes necessaris" -#: builtin/replace.c:294 +#: builtin/replace.c:298 #, fuzzy, c-format msgid "unable to fstat %s" msgstr "no s'ha pogut actualitzar %s" -#: builtin/replace.c:299 +#: builtin/replace.c:303 #, fuzzy msgid "unable to write object to database" msgstr "no s'ha pogut escriure l'objecte de nota" -#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415 builtin/replace.c:445 +#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422 +#: builtin/replace.c:452 #, fuzzy, c-format msgid "not a valid object name: '%s'" msgstr "No és un nom d'objecte và lid: «%s»" -#: builtin/replace.c:322 +#: builtin/replace.c:326 #, fuzzy, c-format msgid "unable to get object type for %s" msgstr "no es pot fer grep des d'un objecte de tipus %s" -#: builtin/replace.c:338 +#: builtin/replace.c:342 #, fuzzy msgid "editing object file failed" msgstr "la lectura de les referències de bisecció ha fallat" -#: builtin/replace.c:347 +#: builtin/replace.c:351 #, c-format msgid "new object is the same as the old one: '%s'" msgstr "" -#: builtin/replace.c:407 +#: builtin/replace.c:383 +#, fuzzy, c-format +msgid "could not parse %s as a commit" +msgstr "no s'ha pogut analitzar la comissió HEAD" + +#: builtin/replace.c:414 #, c-format msgid "bad mergetag in commit '%s'" msgstr "etiqueta de fusió incorrecta en la comissió «%s»" -#: builtin/replace.c:409 +#: builtin/replace.c:416 #, c-format msgid "malformed mergetag in commit '%s'" msgstr "etiqueta de fusió mal formada en la comissió «%s»" -#: builtin/replace.c:421 +#: builtin/replace.c:428 #, c-format -msgid "original commit '%s' contains mergetag '%s' that is discarded; use --edit instead of --graft" -msgstr "la comissió original «%s» conté l'etiqueta de fusió «%s» que es descarta; useu --edit en lloc de --graft" +msgid "" +"original commit '%s' contains mergetag '%s' that is discarded; use --edit " +"instead of --graft" +msgstr "" +"la comissió original «%s» conté l'etiqueta de fusió «%s» que es descarta; " +"useu --edit en lloc de --graft" -#: builtin/replace.c:460 -#, fuzzy, c-format +#: builtin/replace.c:467 +#, c-format msgid "the original commit '%s' has a gpg signature" -msgstr "la comissió original «%s» té una signatura gpg." +msgstr "la comissió original «%s» té una signatura gpg" -#: builtin/replace.c:461 +#: builtin/replace.c:468 msgid "the signature will be removed in the replacement commit!" msgstr "s'eliminarà la signatura en la comissió de reemplaçament!" -#: builtin/replace.c:471 +#: builtin/replace.c:478 #, c-format msgid "could not write replacement commit for: '%s'" msgstr "no s'ha pogut escriure la comissió de reemplaçament per a: «%s»" -#: builtin/replace.c:479 +#: builtin/replace.c:486 #, c-format msgid "graft for '%s' unnecessary" msgstr "" -#: builtin/replace.c:482 +#: builtin/replace.c:490 #, c-format msgid "new commit is the same as the old one: '%s'" -msgstr "" +msgstr "la comissió nova és la mateixa que l'antiga: «%s»" -#: builtin/replace.c:515 +#: builtin/replace.c:525 #, fuzzy, c-format msgid "" "could not convert the following graft(s):\n" "%s" msgstr "Eliminaria l'Ãtem següent:" -#: builtin/replace.c:536 +#: builtin/replace.c:546 msgid "list replace refs" msgstr "llista les referències reemplaçades" -#: builtin/replace.c:537 +#: builtin/replace.c:547 msgid "delete replace refs" msgstr "suprimeix les referències reemplaçades" -#: builtin/replace.c:538 +#: builtin/replace.c:548 msgid "edit existing object" msgstr "edita un objecte existent" -#: builtin/replace.c:539 +#: builtin/replace.c:549 msgid "change a commit's parents" msgstr "canvia les mares d'una comissió" -#: builtin/replace.c:540 +#: builtin/replace.c:550 #, fuzzy msgid "convert existing graft file" msgstr "força la sobreescriptura de fitxers existents" -#: builtin/replace.c:541 +#: builtin/replace.c:551 msgid "replace the ref if it exists" msgstr "reemplaça la referència si existeix" -#: builtin/replace.c:543 +#: builtin/replace.c:553 msgid "do not pretty-print contents for --edit" msgstr "no imprimeixis bellament els continguts per a --edit" -#: builtin/replace.c:544 +#: builtin/replace.c:554 msgid "use this format" msgstr "usa aquest format" -#: builtin/replace.c:557 +#: builtin/replace.c:567 #, fuzzy msgid "--format cannot be used when not listing" msgstr "--fix-thin no es pot usar sense --stdin" -#: builtin/replace.c:565 +#: builtin/replace.c:575 #, fuzzy msgid "-f only makes sense when writing a replacement" msgstr "-z només té sentit amb --stdin" -#: builtin/replace.c:569 -#, fuzzy +#: builtin/replace.c:579 msgid "--raw only makes sense with --edit" -msgstr "-z només té sentit amb --stdin" +msgstr "--raw només té sentit amb --edit" -#: builtin/replace.c:575 +#: builtin/replace.c:585 msgid "-d needs at least one argument" msgstr "" -#: builtin/replace.c:581 +#: builtin/replace.c:591 msgid "bad number of arguments" -msgstr "" +msgstr "nombre incorrecte d'arguments" -#: builtin/replace.c:587 -#, fuzzy +#: builtin/replace.c:597 msgid "-e needs exactly one argument" -msgstr "Cal exactament un rang." +msgstr "-e necessita exactament un argument" -#: builtin/replace.c:593 +#: builtin/replace.c:603 msgid "-g needs at least one argument" -msgstr "" +msgstr "-g necessita almenys un argument" -#: builtin/replace.c:599 -#, fuzzy +#: builtin/replace.c:609 msgid "--convert-graft-file takes no argument" -msgstr "--continue no accepta parà metres" +msgstr "--convert-graft-file arguments" -#: builtin/replace.c:605 -#, fuzzy +#: builtin/replace.c:615 msgid "only one pattern can be given with -l" -msgstr "combina els patrons especificats amb -e" +msgstr "només es pot especificar un patró amb -l" #: builtin/rerere.c:13 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]" @@ -16953,13 +18784,15 @@ msgid "'git rerere forget' without paths is deprecated" msgstr "" #: builtin/rerere.c:113 -#, fuzzy, c-format +#, c-format msgid "unable to generate diff for '%s'" -msgstr "s'ha produït un error en executar «%s»" +msgstr "s'ha pogut generar el diff per a «%s»" #: builtin/reset.c:32 -msgid "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]" -msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<comissió>]" +msgid "" +"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]" +msgstr "" +"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<comissió>]" #: builtin/reset.c:33 msgid "git reset [-q] [<tree-ish>] [--] <paths>..." @@ -17007,7 +18840,8 @@ msgstr "S'ha produït un error en cercar l'arbre de %s." msgid "Cannot do a %s reset in the middle of a merge." msgstr "No es pot fer un restabliment de %s enmig d'una fusió." -#: builtin/reset.c:293 +#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589 +#: builtin/stash.c:613 msgid "be quiet, only report errors" msgstr "sigues silenciós, només informa d'errors" @@ -17045,29 +18879,31 @@ msgstr "S'ha produït un error en resoldre «%s» com a arbre và lid." msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch és incompatible amb --{hard,mixed,soft}" -#: builtin/reset.c:352 +#: builtin/reset.c:353 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." -msgstr "--mixed amb camins està en desús; useu 'git reset -- <camins>' en lloc d'això." +msgstr "" +"--mixed amb camins està en desús; useu 'git reset -- <camins>' en lloc " +"d'això." -#: builtin/reset.c:354 +#: builtin/reset.c:355 #, c-format msgid "Cannot do %s reset with paths." msgstr "No es pot restablir de %s amb camins." -#: builtin/reset.c:364 +#: builtin/reset.c:370 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "el restabliment de %s no es permet en un dipòsit nu" -#: builtin/reset.c:368 +#: builtin/reset.c:374 msgid "-N can only be used with --mixed" msgstr "-N només es pot usar amb --mixed" -#: builtin/reset.c:388 +#: builtin/reset.c:395 msgid "Unstaged changes after reset:" msgstr "Canvis «unstaged» després del restabliment:" -#: builtin/reset.c:391 +#: builtin/reset.c:398 #, c-format msgid "" "\n" @@ -17076,33 +18912,33 @@ msgid "" "to make this the default.\n" msgstr "" -#: builtin/reset.c:401 +#: builtin/reset.c:408 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "No s'ha pogut restablir el fitxer d'Ãndex a la revisió «%s»." -#: builtin/reset.c:405 +#: builtin/reset.c:412 msgid "Could not write new index file." msgstr "No s'ha pogut escriure el fitxer d'Ãndex nou." -#: builtin/rev-list.c:406 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" -msgstr "" +msgstr "no es pot combinar --exclude-promisor-objects i --missing" -#: builtin/rev-list.c:464 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "el filtratge d'objectes requereix --objects" -#: builtin/rev-list.c:467 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "valor parcial no và lid: «%s»" -#: builtin/rev-list.c:508 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "el rev-list no permet mostrar notes" -#: builtin/rev-list.c:511 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "no es pot combinar --use-bitmap-index amb el filtratge d'objectes" @@ -17134,7 +18970,8 @@ msgstr "" " or: git rev-parse --sq-quote [<parà metre>...]\n" " or: git rev-parse [<opcions>] [<parà metre>...]\n" "\n" -"Executeu \"git rev-parse --parseopt -h\" per més informació sobre l'ús inicial." +"Executeu \"git rev-parse --parseopt -h\" per més informació sobre l'ús " +"inicial." #: builtin/revert.c:24 msgid "git revert [<options>] <commit-ish>..." @@ -17162,59 +18999,63 @@ msgstr "l'opció «%s» espera un nombre major que zero" msgid "%s: %s cannot be used with %s" msgstr "%s: %s no es pot usar amb %s" -#: builtin/revert.c:101 +#: builtin/revert.c:102 msgid "end revert or cherry-pick sequence" msgstr "acaba la seqüència de reversió o el «cherry pick»" -#: builtin/revert.c:102 +#: builtin/revert.c:103 msgid "resume revert or cherry-pick sequence" msgstr "reprèn la seqüència de reversió o el «cherry pick»" -#: builtin/revert.c:103 +#: builtin/revert.c:104 msgid "cancel revert or cherry-pick sequence" msgstr "cancel·la la seqüència de reversió o el «cherry pick»" -#: builtin/revert.c:104 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "omet la comissió actual i continua" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "no cometis automà ticament" -#: builtin/revert.c:105 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "edita el missatge de comissió" -#: builtin/revert.c:108 +#: builtin/revert.c:111 msgid "parent-number" msgstr "número del pare" -#: builtin/revert.c:109 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "selecciona la lÃnia principal del pare" -#: builtin/revert.c:111 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "estratègia de fusió" -#: builtin/revert.c:113 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "opció d'estratègia de fusió" -#: builtin/revert.c:122 +#: builtin/revert.c:125 msgid "append commit name" msgstr "nom de la comissió a annexar" -#: builtin/revert.c:124 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "preserva les comissions inicialment buides" -#: builtin/revert.c:126 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "retén les comissions redundants i buides" -#: builtin/revert.c:220 +#: builtin/revert.c:232 msgid "revert failed" msgstr "la reversió ha fallat" -#: builtin/revert.c:233 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "el «cherry pick» ha fallat" @@ -17287,7 +19128,9 @@ msgstr "surt amb estat zero encara que res hagi coincidit" #: builtin/rm.c:289 #, fuzzy msgid "please stage your changes to .gitmodules or stash them to proceed" -msgstr "Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos per a procedir" +msgstr "" +"Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos " +"per a procedir" #: builtin/rm.c:307 #, c-format @@ -17301,12 +19144,14 @@ msgstr "git rm: no s'ha pogut eliminar %s" #: builtin/send-pack.c:20 msgid "" -"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--" -"atomic] [<host>:]<directory> [<ref>...]\n" +"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-" +"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> " +"[<ref>...]\n" " --all and explicit <ref> specification are mutually exclusive." msgstr "" -"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<paquet-del-git-receive>] [--verbose] [--" -"thin] [--atomic] [<mà quina>:]<directori> [<referència>...]\n" +"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-" +"pack=<paquet-del-git-receive>] [--verbose] [--thin] [--atomic] " +"[<mà quina>:]<directori> [<referència>...]\n" " --all i especificació <referència> explÃcita són mútuament excloents." #: builtin/send-pack.c:163 @@ -17325,19 +19170,6 @@ msgstr "llegeix les referències des de stdin" msgid "print status from remote helper" msgstr "imprimeix l'estat des de l'ajudant remot" -#: builtin/serve.c:7 -msgid "git serve [<options>]" -msgstr "git serve [<opcions>]" - -#: builtin/serve.c:17 builtin/upload-pack.c:23 -msgid "quit after a single request/response exchange" -msgstr "surt després d'un sol intercanvi de sol·licitud/resposta" - -#: builtin/serve.c:19 -#, fuzzy -msgid "exit immediately after advertising capabilities" -msgstr "surt immediatament després de l'anunci inicial de referència" - #: builtin/shortlog.c:14 #, fuzzy msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]" @@ -17358,7 +19190,8 @@ msgstr "ordena la sortida segons el nombre de comissions per autor" #: builtin/shortlog.c:268 msgid "Suppress commit descriptions, only provides commit count" -msgstr "Omet les descripcions de comissió, només proveeix el recompte de comissions" +msgstr "" +"Omet les descripcions de comissió, només proveeix el recompte de comissions" #: builtin/shortlog.c:270 msgid "Show the email address of each author" @@ -17400,160 +19233,400 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "s'està ignorant %s; no es pot gestionar més de %d referència" msgstr[1] "s'està ignorant %s; no es poden gestionar més de %d referències" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "no hi ha referències coincidents amb %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "mostra les branques amb seguiment remot i les locals" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "mostra les branques amb seguiment remot" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "colora '*!+-' corresponent a la branca" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "mostra <n> comissions després de l'avantpassat comú" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "sinònim de more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "omet anomenar cadenes" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "inclou la branca actual" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "anomena les comissions amb els seus noms d'objecte" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "mostra les bases de fusió possibles" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "mostra les referències inabastables de qualsevol altra referència" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "mostra les comissions en ordre topològic" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "mostra només les comissions que no siguin en la primera branca" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "mostra les fusions abastables de només una punta" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "ordena topològicament, mantenint l'ordre de dates on sigui possible" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<base>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "mostra les <n> entrades més recents començant a la base" -#: builtin/show-branch.c:712 -msgid "--reflog is incompatible with --all, --remotes, --independent or --merge-base" -msgstr "--reflog és incompatible amb --all, --remotes, --independent o --merge-base" +#: builtin/show-branch.c:711 +msgid "" +"--reflog is incompatible with --all, --remotes, --independent or --merge-base" +msgstr "" +"--reflog és incompatible amb --all, --remotes, --independent o --merge-base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "no s'ha donat cap branca, i HEAD no és và lid" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "l'opció --reflog necessita un nom de branca" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "es pot mostrar només %d entrada a la vegada." msgstr[1] "es poden mostrar només %d entrades a la vegada." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "no hi ha tal referència %s" -#: builtin/show-branch.c:830 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "no es pot gestionar més d'%d revisió." msgstr[1] "no es poden gestionar més de %d revisions." -#: builtin/show-branch.c:834 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "«%s» no és una referència và lida." -#: builtin/show-branch.c:837 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "no es pot trobar la comissió %s (%s)" -#: builtin/show-ref.c:11 +#: builtin/show-ref.c:12 msgid "" -"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags] " -"[--heads] [--] [<pattern>...]" +"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]" msgstr "" -"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags] " -"[--heads] [--] [<patró>...]" +"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<patró>...]" -#: builtin/show-ref.c:12 +#: builtin/show-ref.c:13 msgid "git show-ref --exclude-existing[=<pattern>]" msgstr "git show-ref --exclude-existing[=<patró>]" -#: builtin/show-ref.c:161 +#: builtin/show-ref.c:162 msgid "only show tags (can be combined with heads)" msgstr "mostra només les etiquetes (es pot combinar amb heads)" -#: builtin/show-ref.c:162 +#: builtin/show-ref.c:163 msgid "only show heads (can be combined with tags)" msgstr "mostra només els caps (es pot combinar amb tags)" -#: builtin/show-ref.c:163 +#: builtin/show-ref.c:164 msgid "stricter reference checking, requires exact ref path" -msgstr "comprovació de referència més estricta, requereix el camà de referència exacte" +msgstr "" +"comprovació de referència més estricta, requereix el camà de referència " +"exacte" -#: builtin/show-ref.c:166 builtin/show-ref.c:168 +#: builtin/show-ref.c:167 builtin/show-ref.c:169 msgid "show the HEAD reference, even if it would be filtered out" msgstr "mostra la referència HEAD, encara que es filtrés" -#: builtin/show-ref.c:170 +#: builtin/show-ref.c:171 msgid "dereference tags into object IDs" msgstr "desreferencia les etiquetes a ID d'objecte" -#: builtin/show-ref.c:172 +#: builtin/show-ref.c:173 msgid "only show SHA1 hash using <n> digits" msgstr "mostra el hash SHA1 usant només <n> xifres" -#: builtin/show-ref.c:176 +#: builtin/show-ref.c:177 msgid "do not print results to stdout (useful with --verify)" msgstr "no imprimeixis els resultats a stdout (útil amb --verify)" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:179 msgid "show refs from stdin that aren't in local repository" msgstr "mostra les referències de stdin que no siguin en el dipòsit local" +#: builtin/stash.c:22 builtin/stash.c:37 +#, fuzzy +msgid "git stash list [<options>]" +msgstr "git worktree list [<opcions>]" + +#: builtin/stash.c:23 builtin/stash.c:42 +#, fuzzy +msgid "git stash show [<options>] [<stash>]" +msgstr "git remote show [<opcions>] <nom>" + +#: builtin/stash.c:24 builtin/stash.c:47 +msgid "git stash drop [-q|--quiet] [<stash>]" +msgstr "" + +#: builtin/stash.c:25 +msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]" +msgstr "" + +#: builtin/stash.c:26 builtin/stash.c:62 +#, fuzzy +msgid "git stash branch <branchname> [<stash>]" +msgstr "git branch [<opcions>] [-l] [-f] <nom-de-branca> [<punt-inicial>]" + +#: builtin/stash.c:27 builtin/stash.c:67 +msgid "git stash clear" +msgstr "" + +#: builtin/stash.c:28 builtin/stash.c:77 +msgid "" +"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n" +" [--] [<pathspec>...]]" +msgstr "" + +#: builtin/stash.c:31 builtin/stash.c:84 +msgid "" +"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +" [-u|--include-untracked] [-a|--all] [<message>]" +msgstr "" + +#: builtin/stash.c:52 +msgid "git stash pop [--index] [-q|--quiet] [<stash>]" +msgstr "" + +#: builtin/stash.c:57 +msgid "git stash apply [--index] [-q|--quiet] [<stash>]" +msgstr "" + +#: builtin/stash.c:72 +msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>" +msgstr "" + +#: builtin/stash.c:127 +#, fuzzy, c-format +msgid "'%s' is not a stash-like commit" +msgstr "'$args' no és una comissió de tipus magatzem" + +#: builtin/stash.c:147 +#, fuzzy, c-format +msgid "Too many revisions specified:%s" +msgstr "S'han especificat massa revisions: $REV" + +#: builtin/stash.c:161 git-legacy-stash.sh:548 +msgid "No stash entries found." +msgstr "No s'ha trobat cap «stash»." + +#: builtin/stash.c:175 +#, fuzzy, c-format +msgid "%s is not a valid reference" +msgstr "«%s» no és un nom de remot và lid" + +#: builtin/stash.c:224 git-legacy-stash.sh:75 +msgid "git stash clear with parameters is unimplemented" +msgstr "git stash clear amb parà metres no està implementat" + +#: builtin/stash.c:403 +#, fuzzy +msgid "cannot apply a stash in the middle of a merge" +msgstr "No es pot aplicar un magatzem enmig d'una fusió" + +#: builtin/stash.c:414 +#, fuzzy, c-format +msgid "could not generate diff %s^!." +msgstr "no s'ha pogut generar la llista per a fer" + +#: builtin/stash.c:421 +#, fuzzy +msgid "conflicts in index.Try without --index." +msgstr "Hi ha conflictes en l'Ãndex. Proveu-ho sense --index." + +#: builtin/stash.c:427 +#, fuzzy +msgid "could not save index tree" +msgstr "No s'ha pogut desar l'arbre d'Ãndex" + +#: builtin/stash.c:434 +#, fuzzy +msgid "could not restore untracked files from stash" +msgstr "No s'han pogut restaurar els fitxers no seguits des del «stash»" + +#: builtin/stash.c:448 +#, fuzzy, c-format +msgid "Merging %s with %s" +msgstr "S'està fusionant %s amb %s\n" + +#: builtin/stash.c:458 git-legacy-stash.sh:680 +msgid "Index was not unstashed." +msgstr "L'Ãndex no estava sense emmagatzemar." + +#: builtin/stash.c:516 builtin/stash.c:615 +#, fuzzy +msgid "attempt to recreate the index" +msgstr "S'ha produït un error en llegir l'Ãndex" + +#: builtin/stash.c:549 +#, fuzzy, c-format +msgid "Dropped %s (%s)" +msgstr "${REV} ($s) descartada" + +#: builtin/stash.c:552 +#, fuzzy, c-format +msgid "%s: Could not drop stash entry" +msgstr "${REV}: No s'ha pogut descartar l'entrada de magatzem" + +#: builtin/stash.c:577 +#, fuzzy, c-format +msgid "'%s' is not a stash reference" +msgstr "'$args' no és una referència de magatzem" + +#: builtin/stash.c:627 git-legacy-stash.sh:694 +msgid "The stash entry is kept in case you need it again." +msgstr "Es conserva l'entrada «stash» en cas que la necessiteu altra vegada." + +#: builtin/stash.c:650 git-legacy-stash.sh:712 +msgid "No branch name specified" +msgstr "Cap nom de branca especificat" + +#: builtin/stash.c:790 builtin/stash.c:827 +#, fuzzy, c-format +msgid "Cannot update %s with %s" +msgstr "No es pot actualitzar $ref_stash amb $w_commit" + +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 +#, fuzzy +msgid "stash message" +msgstr "missatge d'etiqueta" + +#: builtin/stash.c:818 +#, fuzzy +msgid "\"git stash store\" requires one <commit> argument" +msgstr "--bisect-clean-state no accepta parà metres" + +#: builtin/stash.c:1040 git-legacy-stash.sh:217 +msgid "No changes selected" +msgstr "No hi ha canvis seleccionats" + +#: builtin/stash.c:1136 git-legacy-stash.sh:150 +msgid "You do not have the initial commit yet" +msgstr "Encara no teniu la comissió inicial" + +#: builtin/stash.c:1163 git-legacy-stash.sh:165 +msgid "Cannot save the current index state" +msgstr "No es pot desar l'estat d'Ãndex actual" + +#: builtin/stash.c:1172 git-legacy-stash.sh:180 +msgid "Cannot save the untracked files" +msgstr "No es poden desar els fitxers no seguits" + +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 +#: git-legacy-stash.sh:213 +msgid "Cannot save the current worktree state" +msgstr "No es pot desar l'estat d'arbre de treball actual" + +#: builtin/stash.c:1220 git-legacy-stash.sh:233 +msgid "Cannot record working tree state" +msgstr "No es pot registrar l'estat de l'arbre de treball" + +#: builtin/stash.c:1269 git-legacy-stash.sh:337 +msgid "Can't use --patch and --include-untracked or --all at the same time" +msgstr "No es poden usar --patch i --include-untracked o --all a la vegada." + +#: builtin/stash.c:1285 +#, fuzzy +msgid "Did you forget to 'git add'?" +msgstr "Potser volÃeu dir «git add .»?\n" + +#: builtin/stash.c:1300 git-legacy-stash.sh:345 +msgid "No local changes to save" +msgstr "No hi ha canvis locals a desar" + +#: builtin/stash.c:1307 git-legacy-stash.sh:350 +msgid "Cannot initialize stash" +msgstr "No es pot inicialitzar el magatzem" + +#: builtin/stash.c:1322 git-legacy-stash.sh:354 +msgid "Cannot save the current status" +msgstr "No es pot desar l'estat actual" + +#: builtin/stash.c:1327 +#, fuzzy, c-format +msgid "Saved working directory and index state %s" +msgstr "S'han desat el directori de treball i l'estat d'Ãndex $stash_msg" + +#: builtin/stash.c:1417 git-legacy-stash.sh:384 +msgid "Cannot remove worktree changes" +msgstr "No es poden eliminar els canvis de l'arbre de treball" + +#: builtin/stash.c:1452 builtin/stash.c:1488 +#, fuzzy +msgid "keep index" +msgstr "Actualitza l'Ãndex" + +#: builtin/stash.c:1454 builtin/stash.c:1490 +msgid "stash in patch mode" +msgstr "" + +#: builtin/stash.c:1455 builtin/stash.c:1491 +#, fuzzy +msgid "quiet mode" +msgstr "silenciós" + +#: builtin/stash.c:1457 builtin/stash.c:1493 +#, fuzzy +msgid "include untracked files in stash" +msgstr "mostra els fitxers no seguits en columnes" + +#: builtin/stash.c:1459 builtin/stash.c:1495 +#, fuzzy +msgid "include ignore files" +msgstr "elimina només els fitxers ignorats" + +#: builtin/stash.c:1555 +#, c-format +msgid "could not exec %s" +msgstr "no s'ha pogut executar %s" + #: builtin/stripspace.c:18 msgid "git stripspace [-s | --strip-comments]" msgstr "git stripspace [-s | --strip-comments]" @@ -17564,7 +19637,8 @@ msgstr "git stripspace [-c | --comment-lines]" #: builtin/stripspace.c:37 msgid "skip and remove all lines starting with comment character" -msgstr "omet i elimina totes les lÃnies que comencin amb el carà cter de comentari" +msgstr "" +"omet i elimina totes les lÃnies que comencin amb el carà cter de comentari" #: builtin/stripspace.c:40 msgid "prepend comment character and space to each line" @@ -17584,7 +19658,7 @@ msgstr "" msgid "cannot strip one component off url '%s'" msgstr "no es pot despullar un component de l'url «%s»" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "à ncora alternativa per als camins relatius" @@ -17592,7 +19666,8 @@ msgstr "à ncora alternativa per als camins relatius" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<camÃ>] [<camÃ>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "No s'ha trobat cap url per al camà de submòdul «%s» a .gitmodules" @@ -17609,259 +19684,282 @@ msgid "" "." msgstr "" -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" -"run_command returned non-zero status while recursing in the nested submodules of %s\n" +"run_command returned non-zero status while recursing in the nested " +"submodules of %s\n" "." msgstr "" -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Omet la sortida en entrar l'ordre de cada submòdul" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Inclou recursivament els submòduls imbrincats" -#: builtin/submodule--helper.c:569 -msgid "git submodule--helper foreach [--quiet] [--recursive] <command>" +#: builtin/submodule--helper.c:570 +#, fuzzy +msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [<ordre>]" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format -msgid "could not look up configuration '%s'. Assuming this repository is its own authoritative upstream." -msgstr "no s'ha pogut trobar la configuració «%s». S'assumeix que aquest dipòsit és el seu dipòsit font autoritzat." +msgid "" +"could not look up configuration '%s'. Assuming this repository is its own " +"authoritative upstream." +msgstr "" +"no s'ha pogut trobar la configuració «%s». S'assumeix que aquest dipòsit és " +"el seu dipòsit font autoritzat." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "S'ha produït un error en registrar l'url per al camà de submòdul «%s»" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "S'ha registrat el submòdul «%s» (%s) per al camà «%s»\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" -msgstr "advertència: se suggereix el mode d'actualització per ordre per al submòdul «%s»\n" +msgstr "" +"advertència: se suggereix el mode d'actualització per ordre per al submòdul " +"«%s»\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" -msgstr "S'ha produït un error en registrar el mode d'actualització per al camà de submòdul «%s»" +msgstr "" +"S'ha produït un error en registrar el mode d'actualització per al camà de " +"submòdul «%s»" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Omet la sortida d'inicialitzar un submòdul" -#: builtin/submodule--helper.c:712 -msgid "git submodule--helper init [<path>]" +#: builtin/submodule--helper.c:713 +#, fuzzy +msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<camÃ>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "No s'ha trobat cap mapatge de submòdul a .gitmodules per al camà «%s»" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "no s'ha pogut resoldre la referència a HEAD dins del submòdul «%s»" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "s'ha produït un error en cercar recursivament al submòdul «%s»" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Suprimeix la sortida de l'estat del submòdul" -#: builtin/submodule--helper.c:875 -msgid "Use commit stored in the index instead of the one stored in the submodule HEAD" +#: builtin/submodule--helper.c:876 +msgid "" +"Use commit stored in the index instead of the one stored in the submodule " +"HEAD" msgstr "" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "inclou recursivament els submòduls imbrincats" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<camÃ>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <camÃ>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "S'està sincronitzant l'url del submòdul per a «%s»\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "s'ha produït un error en registrar l'url per al camà del submòdul «%s»" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" -msgstr "s'ha produït un error en obtenir el remot per defecte pel submòdul «%s»" +msgstr "" +"s'ha produït un error en obtenir el remot per defecte pel submòdul «%s»" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "s'ha produït un error en actualitzar el remot pel submòdul «%s»" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Omet la sortida de la sincronització de l'url del submòdul" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<camÃ>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" -"Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you really want to remove it including all of " -"its history)" +"Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " +"really want to remove it including all of its history)" msgstr "" "L'arbre de treball de submòdul «%s» conté un directori .git\n" "(useu 'rm -rf' si realment voleu eliminar-lo, incloent tota la seva història)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format -msgid "Submodule work tree '%s' contains local modifications; use '-f' to discard them" -msgstr "L'arbre de treball del submòdul «%s» conté modificacions locals; useu '-f' per a descartar-les" +msgid "" +"Submodule work tree '%s' contains local modifications; use '-f' to discard " +"them" +msgstr "" +"L'arbre de treball del submòdul «%s» conté modificacions locals; useu '-f' " +"per a descartar-les" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "S'ha netejat el directori «%s»\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "No s'ha pogut eliminar l'arbre de treball de submòdul «%s»\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "no s'ha pogut crear el directori de submòdul buit %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "S'ha desregistrat el submòdul «%s» (%s) per al camà «%s»\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" -msgstr "Suprimeix els arbres de treball dels submòduls fins i tot si contenen canvis locals" +msgstr "" +"Suprimeix els arbres de treball dels submòduls fins i tot si contenen canvis " +"locals" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "Desregistra recursivament tots els submòduls" -#: builtin/submodule--helper.c:1192 -msgid "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" -msgstr "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<camÃ>...]]" +#: builtin/submodule--helper.c:1193 +msgid "" +"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" +msgstr "" +"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<camÃ>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "Useu '--all' si realment voleu desinicialitzar tots els submòduls" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "el submòdul «%s» no pot afegir un alternatiu: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "No es reconeix el valor «%s» per a submodule.alternateErrorStrategy" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "No es reconeix el valor «%s» per a submodule.alternateLocation" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "a on es clonarà el submòdul nou" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "nom del submòdul nou" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "url del qual clonar el submòdul" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "profunditat dels clons superficials" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1872 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "força el progrés del clonatge" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" -"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference <repository>] [--name <name>] [--depth " -"<depth>] --url <url> --path <path>" +"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " +"<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" msgstr "" -"git submodule--helper clone [--prefix=<camÃ>] [--quiet] [--reference <dipòsit>] [--name <nom>] [--depth " -"<profunditat>] --url <url> --path <camÃ>" +"git submodule--helper clone [--prefix=<camÃ>] [--quiet] [--reference " +"<dipòsit>] [--name <nom>] [--depth <profunditat>] --url <url> --path <camÃ>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "el clonatge de «%s» al camà de submòdul «%s» ha fallat" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "no s'ha pogut obtenir el directori de submòdul per a «%s»" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "Mode d'actualització «%s» no và lid per al camà de submòdul «%s»" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" -msgstr "Mode d'actualització «%s» configurat no và lid per al camà de submòdul «%s»" +msgstr "" +"Mode d'actualització «%s» configurat no và lid per al camà de submòdul «%s»" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "El camà de submòdul «%s» no està inicialitzat" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "Potser voleu usar 'update --init'?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "S'està ometent el submòdul no fusionat %s" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "S'està ometent el submòdul «%s»" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "S'ha produït un error en clonar «%s». S'ha programat un reintent" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "S'ha produït un error per segon cop en clonar «%s», s'està avortant" @@ -17905,10 +20003,11 @@ msgstr "valor incorrecte per al parà metre update" #: builtin/submodule--helper.c:1938 #, c-format msgid "" -"Submodule (%s) branch configured to inherit branch from superproject, but the superproject is not on any branch" +"Submodule (%s) branch configured to inherit branch from superproject, but " +"the superproject is not on any branch" msgstr "" -"La branca de submòdul (%s) està configurada per a heretar la branca del superprojecte, però el superprojecte no és " -"en cap branca" +"La branca de submòdul (%s) està configurada per a heretar la branca del " +"superprojecte, però el superprojecte no és en cap branca" #: builtin/submodule--helper.c:2061 #, c-format @@ -17920,35 +20019,49 @@ msgid "recurse into submodules" msgstr "inclou recursivament als submòduls" #: builtin/submodule--helper.c:2100 -msgid "git submodule--helper embed-git-dir [<path>...]" +#, fuzzy +msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper embed-git-dir [<camÃ>...]" #: builtin/submodule--helper.c:2156 msgid "check if it is safe to write to the .gitmodules file" msgstr "comprova si és segur escriure al fitxer .gitmodules" -#: builtin/submodule--helper.c:2161 -msgid "git submodule--helper config name [value]" +#: builtin/submodule--helper.c:2159 +#, fuzzy +msgid "unset the config in the .gitmodules file" +msgstr "l'allistament del .gitmodules actualitzat ha fallat" + +#: builtin/submodule--helper.c:2164 +#, fuzzy +msgid "git submodule--helper config <name> [<value>]" +msgstr "git submodule--helper config name [valor]" + +#: builtin/submodule--helper.c:2165 +#, fuzzy +msgid "git submodule--helper config --unset <name>" msgstr "git submodule--helper config name [valor]" -#: builtin/submodule--helper.c:2162 +#: builtin/submodule--helper.c:2166 msgid "git submodule--helper config --check-writeable" msgstr "git submodule--helper config --check-writeable" -#: builtin/submodule--helper.c:2179 git-submodule.sh:169 +#: builtin/submodule--helper.c:2185 git-submodule.sh:171 #, fuzzy, sh-format msgid "please make sure that the .gitmodules file is in the working tree" -msgstr "Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos per a procedir" +msgstr "" +"Feu «stage» dels vostres canvis a .gitmodules o feu «stash» dels mateixos " +"per a procedir" -#: builtin/submodule--helper.c:2229 git.c:413 git.c:658 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s no admet --super-prefix" -#: builtin/submodule--helper.c:2235 +#: builtin/submodule--helper.c:2241 #, c-format msgid "'%s' is not a valid submodule--helper subcommand" -msgstr "«%s» no és una subordre và lida de submodule--helper" +msgstr "«%s» no és un subordre và lid de submodule--helper" #: builtin/symbolic-ref.c:8 msgid "git symbolic-ref [<options>] <name> [<ref>]" @@ -17979,36 +20092,43 @@ msgid "reason of the update" msgstr "raó de l'actualització" #: builtin/tag.c:25 -msgid "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> [<head>]" -msgstr "git tag [-a | -s | -u <id-de-clau>] [-f] [-m <missatge> | -F <fitxer>] <nom-d'etiqueta> [<cap>]" +#, fuzzy +msgid "" +"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n" +"\t\t<tagname> [<head>]" +msgstr "" +"git tag [-a | -s | -u <id-de-clau>] [-f] [-m <missatge> | -F <fitxer>] <nom-" +"d'etiqueta> [<cap>]" -#: builtin/tag.c:26 +#: builtin/tag.c:27 msgid "git tag -d <tagname>..." msgstr "git tag -d <nom-d'etiqueta>..." -#: builtin/tag.c:27 +#: builtin/tag.c:28 msgid "" -"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <object>]\n" +"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--" +"points-at <object>]\n" "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]" msgstr "" -"git tag -l [-n[<nombre>]] [--contains <comissió>] [--no-contains <comissió>] [--points-at <objecte>]\n" +"git tag -l [-n[<nombre>]] [--contains <comissió>] [--no-contains <comissió>] " +"[--points-at <objecte>]\n" "\t\t[--format=<format>] [--[no-]merged [<comissió>]] [<patró>...]" -#: builtin/tag.c:29 +#: builtin/tag.c:30 msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<format>] <nom-d'etiqueta>..." -#: builtin/tag.c:87 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "no s'ha trobat l'etiqueta «%s»." -#: builtin/tag.c:103 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "S'ha suprimit l'etiqueta «%s» (era %s)\n" -#: builtin/tag.c:133 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -18021,159 +20141,170 @@ msgstr "" " %s\n" "Les lÃnies que comencin amb «%c» s'ignoraran.\n" -#: builtin/tag.c:137 +#: builtin/tag.c:139 #, c-format msgid "" "\n" "Write a message for tag:\n" " %s\n" -"Lines starting with '%c' will be kept; you may remove them yourself if you want to.\n" +"Lines starting with '%c' will be kept; you may remove them yourself if you " +"want to.\n" msgstr "" "\n" "Escriviu el missatge de l'etiqueta:\n" " %s\n" -"Les lÃnies que comencin amb «%c» es retindran; podeu eliminar-les per vós mateix si voleu.\n" +"Les lÃnies que comencin amb «%c» es retindran; podeu eliminar-les per vós " +"mateix si voleu.\n" -#: builtin/tag.c:191 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "no s'ha pogut signar l'etiqueta" -#: builtin/tag.c:193 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "no s'ha pogut escriure el fitxer d'etiqueta" -#: builtin/tag.c:218 +#: builtin/tag.c:216 +#, c-format +msgid "" +"You have created a nested tag. The object referred to by your new tag is\n" +"already a tag. If you meant to tag the object that it points to, use:\n" +"\n" +"\tgit tag -f %s %s^{}" +msgstr "" + +#: builtin/tag.c:232 msgid "bad object type." msgstr "el tipus d'objecte és incorrecte." -#: builtin/tag.c:267 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "no hi ha cap missatge d'etiqueta?" -#: builtin/tag.c:274 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "S'ha deixat el missatge de l'etiqueta en %s\n" -#: builtin/tag.c:385 +#: builtin/tag.c:402 msgid "list tag names" msgstr "llista els noms d'etiqueta" -#: builtin/tag.c:387 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "imprimeix <n> lÃnies de cada missatge d'etiqueta" -#: builtin/tag.c:389 +#: builtin/tag.c:406 msgid "delete tags" msgstr "suprimeix les etiquetes" -#: builtin/tag.c:390 +#: builtin/tag.c:407 msgid "verify tags" msgstr "verifica les etiquetes" -#: builtin/tag.c:392 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Opcions de creació d'etiquetes" -#: builtin/tag.c:394 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "etiqueta anotada, necessita un missatge" -#: builtin/tag.c:396 +#: builtin/tag.c:413 msgid "tag message" msgstr "missatge d'etiqueta" -#: builtin/tag.c:398 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "força l'edició del missatge de l'etiqueta" -#: builtin/tag.c:399 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "etiqueta anotada i signada per GPG" -#: builtin/tag.c:403 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "usa una altra clau per a signar l'etiqueta" -#: builtin/tag.c:404 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "reemplaça l'etiqueta si existeix" -#: builtin/tag.c:405 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "crea un registre de referències" -#: builtin/tag.c:407 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Opcions de llistat d'etiquetes" -#: builtin/tag.c:408 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "mostra la llista d'etiquetes en columnes" -#: builtin/tag.c:409 builtin/tag.c:411 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "imprimeix només les etiquetes que continguin la comissió" -#: builtin/tag.c:410 builtin/tag.c:412 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "imprimeix només les etiquetes que no continguin la comissió" -#: builtin/tag.c:413 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "imprimeix només les etiquetes que s'han fusionat" -#: builtin/tag.c:414 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "imprimeix només les etiquetes que no s'han fusionat" -#: builtin/tag.c:419 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "imprimeix només les etiquetes de l'objecte" -#: builtin/tag.c:463 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column i -n són incompatibles" -#: builtin/tag.c:485 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "es permet l'opció -n només amb mode llista" -#: builtin/tag.c:487 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "es permet l'opció --contains només amb mode llista" -#: builtin/tag.c:489 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "es permet l'opció --no-contains només amb mode llista" -#: builtin/tag.c:491 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "es permet --points-at option només amb mode llista" -#: builtin/tag.c:493 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "es permeten les opcions --merged i --no-merged només amb mode llista" -#: builtin/tag.c:504 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "només es permet una opció -F o -m." -#: builtin/tag.c:523 +#: builtin/tag.c:542 msgid "too many params" msgstr "massa parà metres" -#: builtin/tag.c:529 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "«%s» no és un nom d'etiqueta và lid." -#: builtin/tag.c:534 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "l'etiqueta «%s» ja existeix" -#: builtin/tag.c:565 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Etiqueta «%s» actualitzada (era %s)\n" @@ -18209,27 +20340,34 @@ msgstr "S'està provant mtime en «%s» " #: builtin/update-index.c:153 msgid "directory stat info does not change after adding a new file" -msgstr "la informació d'stat de directori no canvia després d'afegir un fitxer nou" +msgstr "" +"la informació d'stat de directori no canvia després d'afegir un fitxer nou" #: builtin/update-index.c:166 msgid "directory stat info does not change after adding a new directory" -msgstr "la informació d'stat de directori no canvia després d'afegir un directori nou" +msgstr "" +"la informació d'stat de directori no canvia després d'afegir un directori nou" #: builtin/update-index.c:179 msgid "directory stat info changes after updating a file" -msgstr "la informació d'stat de directori canvia després d'actualitzar un fitxer" +msgstr "" +"la informació d'stat de directori canvia després d'actualitzar un fitxer" #: builtin/update-index.c:190 msgid "directory stat info changes after adding a file inside subdirectory" -msgstr "la informació d'stat de directori canvia després d'afegir un fitxer dins d'un subdirectori" +msgstr "" +"la informació d'stat de directori canvia després d'afegir un fitxer dins " +"d'un subdirectori" #: builtin/update-index.c:201 msgid "directory stat info does not change after deleting a file" -msgstr "la informació d'stat de directori no canvia després de suprimir un fitxer" +msgstr "" +"la informació d'stat de directori no canvia després de suprimir un fitxer" #: builtin/update-index.c:214 msgid "directory stat info does not change after deleting a directory" -msgstr "la informació d'stat de directori no canvia després de suprimir un directori" +msgstr "" +"la informació d'stat de directori no canvia després de suprimir un directori" #: builtin/update-index.c:221 msgid " OK" @@ -18239,179 +20377,202 @@ msgstr " D'acord" msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<opcions>] [--] [<fitxer>...]" -#: builtin/update-index.c:962 +#: builtin/update-index.c:971 msgid "continue refresh even when index needs update" -msgstr "continua l'actualització encara que l'Ãndex necessiti una actualització" +msgstr "" +"continua l'actualització encara que l'Ãndex necessiti una actualització" -#: builtin/update-index.c:965 +#: builtin/update-index.c:974 msgid "refresh: ignore submodules" msgstr "actualitza: ignora els submòduls" -#: builtin/update-index.c:968 +#: builtin/update-index.c:977 msgid "do not ignore new files" msgstr "no ignoris els fitxers nous" -#: builtin/update-index.c:970 +#: builtin/update-index.c:979 msgid "let files replace directories and vice-versa" msgstr "deixa que els fitxers reemplacin els directoris i viceversa" -#: builtin/update-index.c:972 +#: builtin/update-index.c:981 msgid "notice files missing from worktree" msgstr "tingues en compte els fitxers absents de l'arbre de treball" -#: builtin/update-index.c:974 +#: builtin/update-index.c:983 msgid "refresh even if index contains unmerged entries" msgstr "actualitza encara que l'Ãndex contingui entrades no fusionades" -#: builtin/update-index.c:977 +#: builtin/update-index.c:986 msgid "refresh stat information" msgstr "actualitza la informació d'estadÃstiques" -#: builtin/update-index.c:981 +#: builtin/update-index.c:990 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "com --refresh, però ignora el parà metre assume-unchanged" -#: builtin/update-index.c:985 +#: builtin/update-index.c:994 msgid "<mode>,<object>,<path>" msgstr "<mode>,<objecte>,<camÃ>" -#: builtin/update-index.c:986 +#: builtin/update-index.c:995 msgid "add the specified entry to the index" msgstr "afegeix l'entrada especificada a l'Ãndex" -#: builtin/update-index.c:995 +#: builtin/update-index.c:1005 msgid "mark files as \"not changing\"" msgstr "marca els fitxers com a \"no canviant\"" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1008 msgid "clear assumed-unchanged bit" msgstr "neteja el bit assumed-unchanged" -#: builtin/update-index.c:1001 +#: builtin/update-index.c:1011 msgid "mark files as \"index-only\"" msgstr "marca els fitxers com a \"només Ãndex\"" -#: builtin/update-index.c:1004 +#: builtin/update-index.c:1014 msgid "clear skip-worktree bit" msgstr "neteja el bit skip-worktree" -#: builtin/update-index.c:1007 +#: builtin/update-index.c:1017 msgid "add to index only; do not add content to object database" -msgstr "només afegeix a l'Ãndex; no afegeixis el contingut a la base de dades d'objectes" +msgstr "" +"només afegeix a l'Ãndex; no afegeixis el contingut a la base de dades " +"d'objectes" -#: builtin/update-index.c:1009 +#: builtin/update-index.c:1019 msgid "remove named paths even if present in worktree" -msgstr "elimina els camins anomenats encara que estiguin presents en l'arbre de treball" +msgstr "" +"elimina els camins anomenats encara que estiguin presents en l'arbre de " +"treball" -#: builtin/update-index.c:1011 +#: builtin/update-index.c:1021 msgid "with --stdin: input lines are terminated by null bytes" msgstr "amb --stdin: les lÃnies d'entrada acaben amb octets nuls" -#: builtin/update-index.c:1013 +#: builtin/update-index.c:1023 msgid "read list of paths to be updated from standard input" msgstr "llegeix la llista de camins a actualitzar des de l'entrada està ndard" -#: builtin/update-index.c:1017 +#: builtin/update-index.c:1027 msgid "add entries from standard input to the index" msgstr "afegeix les entrades de l'entrada està ndard a l'Ãndex" -#: builtin/update-index.c:1021 +#: builtin/update-index.c:1031 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "reemplena les «stage» #2 i #3 per als camins llistats" -#: builtin/update-index.c:1025 +#: builtin/update-index.c:1035 msgid "only update entries that differ from HEAD" msgstr "només actualitza les entrades que difereixin de HEAD" -#: builtin/update-index.c:1029 +#: builtin/update-index.c:1039 msgid "ignore files missing from worktree" msgstr "ignora els fitxers absents de l'arbre de treball" -#: builtin/update-index.c:1032 +#: builtin/update-index.c:1042 msgid "report actions to standard output" msgstr "informa de les accions en la sortida està ndard" -#: builtin/update-index.c:1034 +#: builtin/update-index.c:1044 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(per a porcellanes) oblida't dels conflictes no resolts ni desats" -#: builtin/update-index.c:1038 +#: builtin/update-index.c:1048 msgid "write index in this format" msgstr "escriu l'Ãndex en aquest format" -#: builtin/update-index.c:1040 +#: builtin/update-index.c:1050 msgid "enable or disable split index" msgstr "habilita o inhabilita l'Ãndex dividit" -#: builtin/update-index.c:1042 +#: builtin/update-index.c:1052 msgid "enable/disable untracked cache" msgstr "habilita/inhabilita la memòria cau no seguida" -#: builtin/update-index.c:1044 +#: builtin/update-index.c:1054 msgid "test if the filesystem supports untracked cache" msgstr "prova si el sistema de fitxers admet la memòria cau no seguida" -#: builtin/update-index.c:1046 +#: builtin/update-index.c:1056 msgid "enable untracked cache without testing the filesystem" msgstr "habilita la memòria cau no seguida sense provar el sistema de fitxers" -#: builtin/update-index.c:1048 +#: builtin/update-index.c:1058 msgid "write out the index even if is not flagged as changed" msgstr "" -#: builtin/update-index.c:1050 +#: builtin/update-index.c:1060 msgid "enable or disable file system monitor" msgstr "habilita o inhabilita el monitor del sistema de fitxers" -#: builtin/update-index.c:1052 +#: builtin/update-index.c:1062 msgid "mark files as fsmonitor valid" msgstr "marca els fitxers com a và lids pel fsmonitor" -#: builtin/update-index.c:1055 +#: builtin/update-index.c:1065 msgid "clear fsmonitor valid bit" msgstr "neteja el bit de validesa del fsmonitor" -#: builtin/update-index.c:1156 -msgid "core.splitIndex is set to false; remove or change it, if you really want to enable split index" -msgstr "core.splitIndex està establert a fals; elimineu-lo o canviar-lo, si realment voleu habilitar l'Ãndex dividit" +#: builtin/update-index.c:1168 +msgid "" +"core.splitIndex is set to false; remove or change it, if you really want to " +"enable split index" +msgstr "" +"core.splitIndex està establert a fals; elimineu-lo o canviar-lo, si realment " +"voleu habilitar l'Ãndex dividit" -#: builtin/update-index.c:1165 -msgid "core.splitIndex is set to true; remove or change it, if you really want to disable split index" +#: builtin/update-index.c:1177 +msgid "" +"core.splitIndex is set to true; remove or change it, if you really want to " +"disable split index" msgstr "" -"core.splitIndex està establert a cert; elimineu-lo o canvieu-lo, si realment voleu inhabilitar l'Ãndex dividit" +"core.splitIndex està establert a cert; elimineu-lo o canvieu-lo, si realment " +"voleu inhabilitar l'Ãndex dividit" -#: builtin/update-index.c:1176 -msgid "core.untrackedCache is set to true; remove or change it, if you really want to disable the untracked cache" +#: builtin/update-index.c:1188 +msgid "" +"core.untrackedCache is set to true; remove or change it, if you really want " +"to disable the untracked cache" msgstr "" -"core.untrackedCache està establert a cert; elimineu-lo o canvieu-lo, si realment voleu inhabilitar el cau no seguit" +"core.untrackedCache està establert a cert; elimineu-lo o canvieu-lo, si " +"realment voleu inhabilitar el cau no seguit" -#: builtin/update-index.c:1180 +#: builtin/update-index.c:1192 msgid "Untracked cache disabled" msgstr "La memòria cau no seguida està inhabilitada" -#: builtin/update-index.c:1188 -msgid "core.untrackedCache is set to false; remove or change it, if you really want to enable the untracked cache" +#: builtin/update-index.c:1200 +msgid "" +"core.untrackedCache is set to false; remove or change it, if you really want " +"to enable the untracked cache" msgstr "" -"core.untrackedCache està establert a fals; elimineu-lo o canviar-lo, si realment voleu habilitar el cau no seguit" +"core.untrackedCache està establert a fals; elimineu-lo o canviar-lo, si " +"realment voleu habilitar el cau no seguit" -#: builtin/update-index.c:1192 +#: builtin/update-index.c:1204 #, c-format msgid "Untracked cache enabled for '%s'" msgstr "La memòria cau no seguida està habilitada per a «%s»" -#: builtin/update-index.c:1200 +#: builtin/update-index.c:1212 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor" -msgstr "core.fsmonitor està establert a fals; establiu-lo a cert si realment voleu habilitar fsmonitor" +msgstr "" +"core.fsmonitor està establert a fals; establiu-lo a cert si realment voleu " +"habilitar fsmonitor" -#: builtin/update-index.c:1204 +#: builtin/update-index.c:1216 msgid "fsmonitor enabled" msgstr "fsmonitor habilitat" -#: builtin/update-index.c:1207 -msgid "core.fsmonitor is set; remove it if you really want to disable fsmonitor" -msgstr "core.fsmonitor està establert a cert; elimineu-lo si realment voleu inhabilitar fsmonitor" +#: builtin/update-index.c:1219 +msgid "" +"core.fsmonitor is set; remove it if you really want to disable fsmonitor" +msgstr "" +"core.fsmonitor està establert a cert; elimineu-lo si realment voleu " +"inhabilitar fsmonitor" -#: builtin/update-index.c:1211 +#: builtin/update-index.c:1223 msgid "fsmonitor disabled" msgstr "fsmonitor inhabilitat" @@ -18421,7 +20582,8 @@ msgstr "git update-ref [<opcions>] -d <nom-de-referència> [<valor-antic>]" #: builtin/update-ref.c:11 msgid "git update-ref [<options>] <refname> <new-val> [<old-val>]" -msgstr "git update-ref [<opcions>] <nom-de-referència> <valor-nou> [<valor-antic>]" +msgstr "" +"git update-ref [<opcions>] <nom-de-referència> <valor-nou> [<valor-antic>]" #: builtin/update-ref.c:12 msgid "git update-ref [<options>] --stdin [-z]" @@ -18433,7 +20595,7 @@ msgstr "suprimeix la referència" #: builtin/update-ref.c:366 msgid "update <refname> not the one it points to" -msgstr "actualitza <nom de referència>, no la que assenyali" +msgstr "actualitza <nom de referència>, no la que apunti" #: builtin/update-ref.c:367 msgid "stdin has NUL-terminated arguments" @@ -18455,13 +20617,18 @@ msgstr "actualitza els fitxers d'informació des de zero" msgid "git upload-pack [<options>] <dir>" msgstr "git upload-pack [<opcions>] <directori>" +#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17 +msgid "quit after a single request/response exchange" +msgstr "surt després d'un sol intercanvi de sol·licitud/resposta" + #: builtin/upload-pack.c:25 msgid "exit immediately after initial ref advertisement" msgstr "surt immediatament després de l'anunci inicial de referència" #: builtin/upload-pack.c:27 msgid "do not try <directory>/.git/ if <directory> is no Git directory" -msgstr "no intentis <directori>/.git/ si <directori> no és cap directori del Git" +msgstr "" +"no intentis <directori>/.git/ si <directori> no és cap directori del Git" #: builtin/upload-pack.c:29 msgid "interrupt transfer after <n> seconds of inactivity" @@ -18471,11 +20638,11 @@ msgstr "interromp la transferència després de <n> segons d'inactivitat" msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <comissió>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:69 msgid "print commit contents" msgstr "imprimeix els continguts de la comissió" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:70 builtin/verify-tag.c:38 msgid "print raw gpg status output" msgstr "imprimeix la sortida crua de l'estat gpg" @@ -18527,7 +20694,7 @@ msgstr "git worktree lock [<opcions>] <arbre de treball>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <camÃ>" -#: builtin/worktree.c:61 builtin/worktree.c:888 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "s'ha produït un error en suprimir «%s»" @@ -18549,8 +20716,12 @@ msgstr "Eliminació de worktrees/%s: no s'ha pogut llegir el fitxer gitdir (%s)" #: builtin/worktree.c:110 #, c-format -msgid "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)" -msgstr "S'estan suprimint els arbres de treball/%s: lectura curta (s'esperaven %<PRIuMAX> bytes, llegits %<PRIuMAX>)" +msgid "" +"Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read " +"%<PRIuMAX>)" +msgstr "" +"S'estan suprimint els arbres de treball/%s: lectura curta (s'esperaven " +"%<PRIuMAX> bytes, llegits %<PRIuMAX>)" #: builtin/worktree.c:118 #, c-format @@ -18560,7 +20731,9 @@ msgstr "Eliminació de worktrees/%s: fitxer gitdir no và lid" #: builtin/worktree.c:127 #, c-format msgid "Removing worktrees/%s: gitdir file points to non-existent location" -msgstr "Eliminació de worktrees/%s: el fitxer gitdir es refereix a una ubicació no existent" +msgstr "" +"Eliminació de worktrees/%s: el fitxer gitdir es refereix a una ubicació no " +"existent" #: builtin/worktree.c:166 msgid "report pruned working trees" @@ -18576,9 +20749,9 @@ msgid "'%s' already exists" msgstr "«%s» ja existeix" #: builtin/worktree.c:252 -#, fuzzy, c-format +#, c-format msgid "unable to re-add worktree '%s'" -msgstr "no s'ha pogut llegir l'arbre (%s)" +msgstr "no s'ha pogut tornar a afegir a l'arbre de treball «%s»" #: builtin/worktree.c:257 #, c-format @@ -18594,178 +20767,181 @@ msgid "" "use 'add -f' to override, or 'prune' or 'remove' to clear" msgstr "" -#: builtin/worktree.c:310 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "no s'ha pogut crear directori de «%s»" -#: builtin/worktree.c:429 builtin/worktree.c:435 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "S'està preparant l'arbre de treball (branca nova «%s»)" -#: builtin/worktree.c:431 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" -#: builtin/worktree.c:440 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "S'està preparant l'arbre de treball (s'està agafant «%s»)" -#: builtin/worktree.c:446 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "S'està preparant l'arbre de treball (HEAD %s separat)" -#: builtin/worktree.c:487 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "agafa <branca> encara que sigui agafada en altre arbre de treball" -#: builtin/worktree.c:490 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "crea una branca nova" -#: builtin/worktree.c:492 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "crea o restableix una branca" -#: builtin/worktree.c:494 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "emplena l'arbre de treball nou" -#: builtin/worktree.c:495 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "mantén l'arbre de treball nou bloquejat" -#: builtin/worktree.c:498 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "configura el mode de seguiment (vegeu git-branch(1))" -#: builtin/worktree.c:501 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" -msgstr "prova de fer coincidir el nom de la branca nova amb una branca amb seguiment remot" +msgstr "" +"prova de fer coincidir el nom de la branca nova amb una branca amb seguiment " +"remot" -#: builtin/worktree.c:509 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B i --detach són mútuament excloents" -#: builtin/worktree.c:570 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "--[no-]track només es pot usar si es crea una branca nova" -#: builtin/worktree.c:670 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "raó per bloquejar" -#: builtin/worktree.c:682 builtin/worktree.c:715 builtin/worktree.c:789 builtin/worktree.c:916 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "«%s» no és un arbre de treball" -#: builtin/worktree.c:684 builtin/worktree.c:717 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "No es pot bloquejar ni desbloquejar l'arbre de treball principal" -#: builtin/worktree.c:689 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "«%s» ja està bloquejat, raó: «%s»" -#: builtin/worktree.c:691 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "«%s» ja està bloquejat" -#: builtin/worktree.c:719 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "«%s» no està bloquejat" -#: builtin/worktree.c:760 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" -#: builtin/worktree.c:768 +#: builtin/worktree.c:779 #, fuzzy msgid "force move even if worktree is dirty or locked" msgstr "força el moviment / canvi de nom encara que el destà existeixi" -#: builtin/worktree.c:791 builtin/worktree.c:918 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "«%s» és un arbre de treball principal" -#: builtin/worktree.c:796 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "no s'ha pogut deduir el nom de destà des de «%s»" -#: builtin/worktree.c:802 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "el destà «%s» ja existeix" -#: builtin/worktree.c:810 +#: builtin/worktree.c:821 #, fuzzy, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" "use 'move -f -f' to override or unlock first" msgstr "No es poden eliminar els canvis de l'arbre de treball" -#: builtin/worktree.c:812 +#: builtin/worktree.c:823 #, fuzzy msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" msgstr "No es poden eliminar els canvis de l'arbre de treball" -#: builtin/worktree.c:815 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "la validació ha fallat, no es pot moure l'arbre de treball: %s" -#: builtin/worktree.c:820 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "s'ha produït un error en moure «%s» a «%s»" -#: builtin/worktree.c:868 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "no s'ha pogut executar «git status» a «%s»" -#: builtin/worktree.c:872 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "" -#: builtin/worktree.c:877 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "no s'ha pogut executar «git status» a «%s», codi %d" -#: builtin/worktree.c:900 +#: builtin/worktree.c:911 #, fuzzy msgid "force removal even if worktree is dirty or locked" msgstr "força el moviment / canvi de nom encara que el destà existeixi" -#: builtin/worktree.c:923 +#: builtin/worktree.c:934 #, fuzzy, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" "use 'remove -f -f' to override or unlock first" msgstr "No es poden eliminar els canvis de l'arbre de treball" -#: builtin/worktree.c:925 +#: builtin/worktree.c:936 #, fuzzy msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" msgstr "No es poden eliminar els canvis de l'arbre de treball" -#: builtin/worktree.c:928 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "" @@ -18813,11 +20989,22 @@ msgstr "la comissió %s no està marcada com abastable" msgid "too many commits marked reachable" msgstr "masses comission marcades com abastable" +#: t/helper/test-serve-v2.c:7 +#, fuzzy +msgid "test-tool serve-v2 [<options>]" +msgstr "git serve [<opcions>]" + +#: t/helper/test-serve-v2.c:19 +#, fuzzy +msgid "exit immediately after advertising capabilities" +msgstr "surt immediatament després de l'anunci inicial de referència" + #: git.c:27 msgid "" "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n" " [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n" -" [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]\n" +" [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--" +"bare]\n" " [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" " <command> [<args>]" msgstr "" @@ -18826,105 +21013,108 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" -"'git help -a' i 'git help -g' llisten subordres disponibles i\n" -"algunes guies de concepte. Vegeu 'git help <ordre>' o\n" -"'git help <concepte>' per a llegir sobre una subordre o concepte especÃfic." +"«git help -a» i «git help -g» llisten subordres disponibles i\n" +"algunes guies de concepte. Vegeu «git help <ordre>» o\n" +"«git help <concepte>» per a llegir sobre un subordre o concepte especÃfic.\n" +"Vegeu «git help git» per a una visió general del sistema." -#: git.c:174 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "no s'ha especificat un directori per --git-dir\n" -#: git.c:188 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "no s'ha especificat un nom d'espai per --namespace\n" -#: git.c:202 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "no s'ha especificat un directori per --work-tree\n" -#: git.c:216 +#: git.c:228 #, fuzzy, c-format msgid "no prefix given for --super-prefix\n" msgstr "%s no admet --super-prefix" -#: git.c:238 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c espera una cadena de configuració\n" -#: git.c:276 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "no s'ha especificat un directori per -C\n" -#: git.c:301 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "opció desconeguda: %s\n" -#: git.c:342 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "" -#: git.c:351 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" "You can use '!git' in the alias to do this" msgstr "" -#: git.c:359 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "" -#: git.c:362 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "à lies recursiu: %s" -#: git.c:437 +#: git.c:460 msgid "write failure on standard output" msgstr "fallada d'escriptura en la sortida està ndard" -#: git.c:439 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "fallada d'escriptura desconeguda en la sortida està ndard" -#: git.c:441 +#: git.c:464 msgid "close failed on standard output" msgstr "ha fallat el tancament en la sortida està ndard" -#: git.c:720 +#: git.c:796 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "" -#: git.c:770 +#: git.c:846 #, fuzzy, c-format msgid "cannot handle %s as a builtin" msgstr "no es pot usar %s com a fitxer d'exclusió" -#: git.c:783 +#: git.c:859 #, c-format msgid "" "usage: %s\n" "\n" -msgstr "ús: %s\n" +msgstr "" +"ús: %s\n" "\n" -#: git.c:803 +#: git.c:879 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" -#: git.c:815 +#: git.c:891 #, c-format msgid "failed to run command '%s': %s\n" msgstr "s'ha produït un error en executar l'ordre «%s»: %s\n" @@ -18967,7 +21157,7 @@ msgstr "" msgid "Could not set SSL backend to '%s': already set" msgstr "No s'ha pogut tornar a $head_name" -#: http.c:1959 +#: http.c:1965 #, c-format msgid "" "unable to update url base from redirection:\n" @@ -18978,31 +21168,174 @@ msgstr "" " petició: %s\n" " redirecció: %s" -#: remote-curl.c:455 +#: remote-curl.c:157 +#, fuzzy, c-format +msgid "invalid quoting in push-option value: '%s'" +msgstr "valor parcial no và lid: «%s»" + +#: remote-curl.c:254 +#, fuzzy, c-format +msgid "%sinfo/refs not valid: is this a git repository?" +msgstr "«%s» no reconegut com un dipòsit git" + +#: remote-curl.c:355 +#, fuzzy +msgid "invalid server response; expected service, got flush packet" +msgstr "git archive: s'esperava ACK/NAK, s'ha rebut un paquet de neteja" + +#: remote-curl.c:386 +#, fuzzy, c-format +msgid "invalid server response; got '%s'" +msgstr "referència no và lida: %s" + +#: remote-curl.c:446 +#, fuzzy, c-format +msgid "repository '%s' not found" +msgstr "no s'ha trobat la branca «%s»." + +#: remote-curl.c:450 +#, fuzzy, c-format +msgid "Authentication failed for '%s'" +msgstr "falta el valor per «%s»" + +#: remote-curl.c:454 +#, fuzzy, c-format +msgid "unable to access '%s': %s" +msgstr "no s'ha pogut accedir a '%s': %s" + +#: remote-curl.c:460 #, c-format msgid "redirecting to %s" msgstr "s'està redirigint a %s" -#: parse-options.h:154 +#: remote-curl.c:584 +msgid "shouldn't have EOF when not gentle on EOF" +msgstr "" + +#: remote-curl.c:664 +msgid "unable to rewind rpc post data - try increasing http.postBuffer" +msgstr "" + +#: remote-curl.c:724 +#, fuzzy, c-format +msgid "RPC failed; %s" +msgstr "STARTTLS ha fallat! %s" + +#: remote-curl.c:764 +#, fuzzy +msgid "cannot handle pushes this big" +msgstr "no es pot usar %s com a fitxer d'exclusió" + +#: remote-curl.c:879 +#, c-format +msgid "cannot deflate request; zlib deflate error %d" +msgstr "" + +#: remote-curl.c:883 +#, c-format +msgid "cannot deflate request; zlib end error %d" +msgstr "" + +#: remote-curl.c:1014 +#, fuzzy +msgid "dumb http transport does not support shallow capabilities" +msgstr "El servidor no permet clients superficials" + +#: remote-curl.c:1028 +#, fuzzy +msgid "fetch failed." +msgstr "l'«stash» ha fallat" + +#: remote-curl.c:1076 +msgid "cannot fetch by sha1 over smart http" +msgstr "" + +#: remote-curl.c:1120 remote-curl.c:1126 +#, fuzzy, c-format +msgid "protocol error: expected sha/ref, got '%s'" +msgstr "" +"s'ha produït un error de protocol: s'esperava shallow sha-1, s'ha rebut «%s»" + +#: remote-curl.c:1138 remote-curl.c:1252 +#, fuzzy, c-format +msgid "http transport does not support %s" +msgstr "la variant «simple» d'ssh no és compatible amb -4" + +#: remote-curl.c:1174 +#, fuzzy +msgid "git-http-push failed" +msgstr "l'«stash» ha fallat" + +#: remote-curl.c:1360 +msgid "remote-curl: usage: git remote-curl <remote> [<url>]" +msgstr "" + +#: remote-curl.c:1392 +msgid "remote-curl: error reading command stream from git" +msgstr "" + +#: remote-curl.c:1399 +msgid "remote-curl: fetch attempted without a local repo" +msgstr "" + +#: remote-curl.c:1439 +#, c-format +msgid "remote-curl: unknown command '%s' from git" +msgstr "" + +#: list-objects-filter-options.h:61 +msgid "args" +msgstr "args" + +#: list-objects-filter-options.h:62 +msgid "object filtering" +msgstr "filtratge d'objecte" + +#: parse-options.h:170 msgid "expiry-date" msgstr "data-de-caducitat" -#: parse-options.h:169 +#: parse-options.h:184 msgid "no-op (backward compatibility)" msgstr "operació nul·la (per a compatibilitat amb versions anteriors)" -#: parse-options.h:259 +#: parse-options.h:305 msgid "be more verbose" msgstr "sigues més detallat" -#: parse-options.h:261 +#: parse-options.h:307 msgid "be more quiet" msgstr "sigues més callat" -#: parse-options.h:267 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "usa <n> xifres per presentar els SHA-1" +#: parse-options.h:332 +msgid "how to strip spaces and #comments from message" +msgstr "com suprimir els espais i #comentaris del missatge" + +#: ref-filter.h:101 +msgid "key" +msgstr "clau" + +#: ref-filter.h:101 +msgid "field name to sort on" +msgstr "nom del camp en el qual ordenar" + +#: rerere.h:44 +msgid "update the index with reused conflict resolution if possible" +msgstr "" +"actualitza l'Ãndex amb la resolució de conflicte reusada si és possible" + +#: wt-status.h:68 +msgid "HEAD detached at " +msgstr "HEAD separat a " + +#: wt-status.h:69 +msgid "HEAD detached from " +msgstr "HEAD separat de " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Afegeix els continguts dels fitxers a l'Ãndex" @@ -19033,7 +21366,9 @@ msgstr "Troba per cerca binà ria el canvi que hagi introduït un defecte" #: command-list.h:57 msgid "Show what revision and author last modified each line of a file" -msgstr "Mostra quina revisió i autor ha modificat per últim cop cada lÃnia d'un fitxer" +msgstr "" +"Mostra quina revisió i autor ha modificat per últim cop cada lÃnia d'un " +"fitxer" #: command-list.h:58 msgid "List, create, or delete branches" @@ -19045,7 +21380,8 @@ msgstr "" #: command-list.h:60 msgid "Provide content or type and size information for repository objects" -msgstr "Proveeix contingut o informació del tipus i mida per als objectes del dipòsit" +msgstr "" +"Proveeix contingut o informació del tipus i mida per als objectes del dipòsit" #: command-list.h:61 msgid "Display gitattributes information" @@ -19065,10 +21401,8 @@ msgid "Switch branches or restore working tree files" msgstr "Canvia de branca o restaura els fitxers de l'arbre de treball" #: command-list.h:65 -#, - msgid "Copy files from the index to the working tree" -msgstr "camà a l'arbre de treball" +msgstr "Copia fitxers des de l'Ãndex a l'arbre de treball" #: command-list.h:66 msgid "Ensures that a reference name is well formed" @@ -19076,11 +21410,11 @@ msgstr "Assegura que un nom de referència està ben format" #: command-list.h:67 msgid "Find commits yet to be applied to upstream" -msgstr "" +msgstr "Troba les comissions que encara s'han d'aplicar a la font" #: command-list.h:68 msgid "Apply the changes introduced by some existing commits" -msgstr "Aplica els canvis introduït per algunes comissions existents" +msgstr "Aplica els canvis introduïts per algunes comissions existents" #: command-list.h:69 msgid "Graphical alternative to git-commit" @@ -19128,7 +21462,7 @@ msgstr "" #: command-list.h:80 msgid "Helper to store credentials on disk" -msgstr "" +msgstr "Ajudant per a emmagatzemar credencials a disc" #: command-list.h:81 msgid "Export a single commit to a CVS checkout" @@ -19140,19 +21474,20 @@ msgstr "" #: command-list.h:83 msgid "A CVS server emulator for Git" -msgstr "" +msgstr "Un emulador de servidor CVS per al Git" #: command-list.h:84 msgid "A really simple server for Git repositories" -msgstr "" +msgstr "Un servidor realment senzill per a dipòsits Git" #: command-list.h:85 msgid "Give an object a human readable name based on an available ref" -msgstr "" +msgstr "Dóna un nom llegible per humans basant-se en les referències disponibles" #: command-list.h:86 msgid "Show changes between commits, commit and working tree, etc" -msgstr "Mostra els canvis entre comissions, la comissió i l'arbre de treball, etc." +msgstr "" +"Mostra els canvis entre comissions, la comissió i l'arbre de treball, etc." #: command-list.h:87 msgid "Compares files in the working tree and the index" @@ -19168,7 +21503,7 @@ msgstr "" #: command-list.h:90 msgid "Show changes using common diff tools" -msgstr "" +msgstr "Mostra els canvis usant eines diff comunes" #: command-list.h:91 msgid "Git data exporter" @@ -19176,43 +21511,39 @@ msgstr "Explorador de dades del Git" #: command-list.h:92 msgid "Backend for fast Git data importers" -msgstr "" +msgstr "Rerefons per a importadors rà pids de dades de Git" #: command-list.h:93 msgid "Download objects and refs from another repository" msgstr "Baixa objectes i referències d'un altre dipòsit" #: command-list.h:94 -#, fuzzy msgid "Receive missing objects from another repository" -msgstr "Baixa objectes i referències d'un altre dipòsit" +msgstr "Rep els objectes que manquen des d'un altre dipòsit" #: command-list.h:95 msgid "Rewrite branches" msgstr "Torna a escriure les branques" #: command-list.h:96 -#, fuzzy msgid "Produce a merge commit message" -msgstr "edita el missatge de comissió" +msgstr "Produeix un missatge de comissió de fusió" #: command-list.h:97 -#, fuzzy msgid "Output information on each ref" -msgstr "actualitza la informació d'estadÃstiques en el fitxer d'Ãndex" +msgstr "Mostra la informació en cada referència" #: command-list.h:98 msgid "Prepare patches for e-mail submission" -msgstr "" +msgstr "Prepara pedaços per enviar-los per correu electrònic" #: command-list.h:99 -#, fuzzy msgid "Verifies the connectivity and validity of the objects in the database" -msgstr "escriu l'objecte a la base de dades d'objectes" +msgstr "Verifica la connectivitat i validesa del objectes a la base de dades" #: command-list.h:100 msgid "Cleanup unnecessary files and optimize the local repository" -msgstr "" +msgstr "Neteja els fitxers innecessaris i optimitza el dipòsit local" #: command-list.h:101 msgid "Extract commit ID from an archive created using git-archive" @@ -19224,24 +21555,23 @@ msgstr "Imprimeix les lÃnies coincidents amb un patró" #: command-list.h:103 msgid "A portable graphical interface to Git" -msgstr "" +msgstr "Una interfÃcie grà fic portable per al Git" #: command-list.h:104 msgid "Compute object ID and optionally creates a blob from a file" -msgstr "" +msgstr "Calcula l'ID de l'objecte i opcionalment crea un blob des del fitxer" #: command-list.h:105 msgid "Display help information about Git" -msgstr "" +msgstr "Mostra informació d'ajuda del Git" #: command-list.h:106 msgid "Server side implementation of Git over HTTP" msgstr "" #: command-list.h:107 -#, fuzzy msgid "Download from a remote Git repository via HTTP" -msgstr "Baixa objectes i referències d'un altre dipòsit" +msgstr "Baixa des d'un dipòsit Git remot via HTTP" #: command-list.h:108 #, fuzzy @@ -19265,32 +21595,28 @@ msgid "Instantly browse your working repository in gitweb" msgstr "" #: command-list.h:113 -msgid "add or parse structured information in commit messages" +msgid "Add or parse structured information in commit messages" msgstr "" #: command-list.h:114 -#, fuzzy msgid "The Git repository browser" -msgstr "no és un dipòsit de git: %s" +msgstr "El navegador de dipòsits Git" #: command-list.h:115 msgid "Show commit logs" msgstr "Mostra els registres de comissió" #: command-list.h:116 -#, fuzzy msgid "Show information about files in the index and the working tree" -msgstr "i ha fet canvis a l'Ãndex o l'arbre de treball" +msgstr "Mostra informació sobre els fitxer a l'Ãndex i a l'arbre de treball" #: command-list.h:117 -#, fuzzy msgid "List references in a remote repository" -msgstr "dipòsit de referència" +msgstr "Mostra les referències d'un dipòsit remot" #: command-list.h:118 -#, fuzzy msgid "List the contents of a tree object" -msgstr "imprimeix només les etiquetes de l'objecte" +msgstr "Mostra els continguts d'un objecte de l'arbre" #: command-list.h:119 msgid "Extracts patch and authorship from a single e-mail message" @@ -19325,7 +21651,7 @@ msgstr "" #: command-list.h:126 msgid "Run merge conflict resolution tools to resolve merge conflicts" -msgstr "" +msgstr "Executa eines de resolució de conflictes per a resoldre conflictes de fussió" #: command-list.h:127 msgid "Show three-way merge without touching index" @@ -19336,9 +21662,8 @@ msgid "Write and verify multi-pack-indexes" msgstr "" #: command-list.h:129 -#, fuzzy msgid "Creates a tag object" -msgstr "edita un objecte existent" +msgstr "Crea un objecte etiqueta" #: command-list.h:130 msgid "Build a tree-object from ls-tree formatted text" @@ -19353,23 +21678,20 @@ msgid "Find symbolic names for given revs" msgstr "" #: command-list.h:133 -#, fuzzy msgid "Add or inspect object notes" -msgstr "no s'ha rebut l'objecte esperat %s" +msgstr "Afegeix o inspecciona notes de l'objecte" #: command-list.h:134 msgid "Import from and submit to Perforce repositories" -msgstr "" +msgstr "Importa des de i envia a dipòsits Perforce" #: command-list.h:135 -#, fuzzy msgid "Create a packed archive of objects" -msgstr "ignora els objectes empaquetats" +msgstr "Crea un arxiu empaquetat d'objectes" #: command-list.h:136 -#, fuzzy msgid "Find redundant pack files" -msgstr "no es pot fer pread en el fitxer de paquet" +msgstr "Troba fitxers empaquetats redundants" #: command-list.h:137 msgid "Pack heads and tags for efficient repository access" @@ -19397,7 +21719,8 @@ msgstr "Obtén i integra amb un altre dipòsit o una branca local" #: command-list.h:143 msgid "Update remote refs along with associated objects" -msgstr "Actualitza les referències remotes juntament amb els objectes associats" +msgstr "" +"Actualitza les referències remotes juntament amb els objectes associats" #: command-list.h:144 #, fuzzy @@ -19440,7 +21763,8 @@ msgstr "--cached fora d'un dipòsit" #: command-list.h:152 #, fuzzy msgid "Create, list, delete refs to replace objects" -msgstr "Crea, llista, suprimeix o verifica un objecte d'etiqueta signat amb GPG" +msgstr "" +"Crea, llista, suprimeix o verifica un objecte d'etiqueta signat amb GPG" #: command-list.h:153 msgid "Generates a summary of pending changes" @@ -19455,236 +21779,230 @@ msgid "Reset current HEAD to the specified state" msgstr "Restableix la HEAD actual a l'estat especificat" #: command-list.h:156 -#, fuzzy -msgid "Revert some existing commits" -msgstr "no es pot esmenar una comissió no existent" +msgid "Restore working tree files" +msgstr "Restaura els fitxers de l'arbre de treball" #: command-list.h:157 -#, fuzzy -msgid "Lists commit objects in reverse chronological order" -msgstr "mostra les comissions en ordre topològic" +msgid "Revert some existing commits" +msgstr "Reverteix comissions existents" #: command-list.h:158 -#, fuzzy -msgid "Pick out and massage parameters" -msgstr "massa parà metres" +msgid "Lists commit objects in reverse chronological order" +msgstr "Mostra les comissions en ordre topològic invers" #: command-list.h:159 +msgid "Pick out and massage parameters" +msgstr "Escolleix i personalitza els parà metres" + +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Elimina fitxers de l'arbre de treball i de l'Ãndex" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" -msgstr "" +msgstr "Envia una col·leció de pedaços com a correus electrònics" -#: command-list.h:161 -#, fuzzy +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" -msgstr "Baixa objectes i referències d'un altre dipòsit" +msgstr "Puja objectes sobre el protocol Git a un altre dipòsit" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Mostra diversos tipus d'objectes" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Mostra les branques i les seves comissions" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" -msgstr "" +msgstr "Mostra l'Ãndex d'arxius empaquetat" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Llista les referències en un dipòsit local" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" -msgstr "" +msgstr "Codi de scripts de configuració comuns pel Git shell" -#: command-list.h:170 +#: command-list.h:171 #, fuzzy msgid "Stash the changes in a dirty working directory away" msgstr "%s: ja existeix en el directori de treball" -#: command-list.h:171 +#: command-list.h:172 #, fuzzy msgid "Add file contents to the staging area" msgstr "Afegeix els continguts dels fitxers a l'Ãndex" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Mostra l'estat de l'arbre de treball" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Suprimeix l'espai en blanc innecessari" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Inicialitza, actualitza o inspecciona submòduls" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Operació bidireccional entre un dipòsit a Subversion i Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Commuta branques" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Llegeix, modifica i suprimeix referències simbòliques" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" -msgstr "Crea, llista, suprimeix o verifica un objecte d'etiqueta signat amb GPG" +msgstr "" +"Crea, llista, suprimeix o verifica un objecte d'etiqueta signat amb GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" -msgstr "" +msgstr "Crea un fitxer temporal amb els continguts dels blobs" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" -msgstr "" +msgstr "Desempaqueta objectes d'un arxiu empaquetat" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Registra els continguts del fitxer en l'arbre de treball a l'Ãndex" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" -msgstr "Actualitza el nom de l'objecte emmagatzema en una referència de forma segura" +msgstr "" +"Actualitza el nom de l'objecte emmagatzema en una referència de forma segura" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Envia l'arxiu de tornada al git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Envia els objectes empaquetats de tornada al git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Mostra una variable lògica del Git" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Verifica la signatura GPG de les comissions" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Valida els fitxers d'arxius Git empaquetats" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Verifica la signatura GPG de les etiquetes" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "InterfÃcie web del Git (interfÃcie web pels dipòsits Git)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Mostra registres amb la diferència introduïda per cada comissió" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Gestiona múltiples arbres de treball" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Crea un objecte arbre des de l'Ãndex actual" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "La definició d'atributs per camÃ" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "InterfÃcie i convencions de la lÃnia d'ordres del Git" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Un tutorial bà sic del Git per a desenvolupadors" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git per a usuaris del CVS" -#: command-list.h:197 +#: command-list.h:199 #, fuzzy msgid "Tweaking diff output" msgstr "omet la sortida de diferències" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Un conjunt mÃnim útil d'ordres dià ries del Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Un glossari de Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Lligams utilitzats pel Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Especifica els fitxers intencionalment no seguits a ignorar" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "La definició de les propietats de submòduls" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Espais de noms del Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Disposició del dipòsit del Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "L'especificació de revisions i rangs per al Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Un tutorial d'introducció al Git: segona part" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Un tutorial d'introducció al Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Una visió de conjunt de fluxos de treball recomanats amb Git" -#: list-objects-filter-options.h:63 -msgid "args" -msgstr "args" - -#: list-objects-filter-options.h:64 -msgid "object filtering" -msgstr "filtratge d'objecte" - -#: rerere.h:44 -msgid "update the index with reused conflict resolution if possible" -msgstr "actualitza l'Ãndex amb la resolució de conflicte reusada si és possible" - #: git-bisect.sh:54 msgid "You need to start by \"git bisect start\"" msgstr "Cal començar per \"git bisect start\"" @@ -19769,8 +22087,12 @@ msgid "We are not bisecting." msgstr "No estem bisecant." #: git-merge-octopus.sh:46 -msgid "Error: Your local changes to the following files would be overwritten by merge" -msgstr "Error: Els vostres canvis locals als fitxers següents se sobreescriurien per fusionar" +msgid "" +"Error: Your local changes to the following files would be overwritten by " +"merge" +msgstr "" +"Error: Els vostres canvis locals als fitxers següents se sobreescriurien per " +"fusionar" #: git-merge-octopus.sh:61 msgid "Automated merge did not work." @@ -19802,279 +22124,118 @@ msgstr "S'està intentant una fusió simple amb $pretty_name" #: git-merge-octopus.sh:102 msgid "Simple merge did not work, trying automatic merge." -msgstr "La fusió simple no ha funcionat, s'està intentant una fusió automà tica." - -#: git-legacy-rebase.sh:445 -#, sh-format -msgid "Could not move back to $head_name" -msgstr "No s'ha pogut tornar a $head_name" - -#: git-legacy-rebase.sh:471 -#, sh-format -msgid "" -"It seems that there is already a $state_dir_base directory, and\n" -"I wonder if you are in the middle of another rebase. If that is the\n" -"case, please try\n" -"\t$cmd_live_rebase\n" -"If that is not the case, please\n" -"\t$cmd_clear_stale_rebase\n" -"and run me again. I am stopping in case you still have something\n" -"valuable there." msgstr "" -"Sembla que ja hi ha un directori $state_dir_base, i\n" -"em pregunto si esteu enmig d'un altre «rebase». Si aquest és el\n" -"cas, proveu\n" -"\t$cmd_live_rebase\n" -"Si no és el cas, \n" -"\t$cmd_clear_stale_rebase\n" -"i executeu-me de nou. M'aturo per si encara hi teniu alguna cosa\n" -"de valor." - -#: git-legacy-rebase.sh:523 -msgid "fatal: cannot combine am options with either interactive or merge options" -msgstr "" - -#: git-legacy-rebase.sh:530 -msgid "fatal: cannot combine '--signoff' with '--preserve-merges'" -msgstr "fatal: no es pot combinar «--signoff» amb «--preserve-merges»" - -#: git-legacy-rebase.sh:541 -msgid "fatal: cannot combine '--preserve-merges' with '--rebase-merges'" -msgstr "fatal: no es pot combinar «--preserve-merges» amb «--rebase-merges»" - -#: git-legacy-rebase.sh:550 -msgid "fatal: cannot combine '--rebase-merges' with '--strategy-option'" -msgstr "fatal: no es pot combinar «--rebase-merges» amb «--strategy-option»" - -#: git-legacy-rebase.sh:552 -msgid "fatal: cannot combine '--rebase-merges' with '--strategy'" -msgstr "fatal: no es pot combinar «--rebase-merges» amb «--strategy»" - -#: git-legacy-rebase.sh:578 -#, fuzzy, sh-format -msgid "invalid upstream '$upstream_name'" -msgstr "font no và lida $upstream_name" - -#: git-legacy-rebase.sh:602 -#, sh-format -msgid "$onto_name: there are more than one merge bases" -msgstr "$onto_name: ja hi ha més d'una base de fusió" - -#: git-legacy-rebase.sh:605 git-legacy-rebase.sh:609 -#, sh-format -msgid "$onto_name: there is no merge base" -msgstr "$onto_name: no hi ha cap base de fusió" - -#: git-legacy-rebase.sh:614 -#, sh-format -msgid "Does not point to a valid commit: $onto_name" -msgstr "No assenyala una comissió và lida: $onto_name" - -#: git-legacy-rebase.sh:640 -#, fuzzy, sh-format -msgid "fatal: no such branch/commit '$branch_name'" -msgstr "fatal: no hi ha tal branca: $branch_name" +"La fusió simple no ha funcionat, s'està intentant una fusió automà tica." -#: git-legacy-rebase.sh:678 -#, sh-format -msgid "Created autostash: $stash_abbrev" -msgstr "S'ha creat un magatzem automà tic: $stash_abbrev" - -#: git-legacy-rebase.sh:707 -#, sh-format -msgid "Current branch $branch_name is up to date." -msgstr "La branca actual $branch_name està al dia." - -#: git-legacy-rebase.sh:717 -#, sh-format -msgid "Current branch $branch_name is up to date, rebase forced." -msgstr "La branca actual $branch_name està al dia; «rebase» forçat." - -#: git-legacy-rebase.sh:731 -#, sh-format -msgid "Changes to $onto:" -msgstr "Canvis a $onto:" - -#: git-legacy-rebase.sh:733 -#, sh-format -msgid "Changes from $mb to $onto:" -msgstr "Canvis de $mb a $onto:" - -#: git-legacy-rebase.sh:743 -#, sh-format -msgid "Fast-forwarded $branch_name to $onto_name." -msgstr "S'ha avançat $branch_name rà pidament a $onto_name." - -#: git-legacy-rebase.sh:757 -msgid "First, rewinding head to replay your work on top of it..." -msgstr "Primer, s'està rebobinant HEAD per a reproduir el vostre treball al damunt..." - -#: git-stash.sh:75 -msgid "git stash clear with parameters is unimplemented" -msgstr "git stash clear amb parà metres no està implementat" - -#: git-stash.sh:125 -msgid "You do not have the initial commit yet" -msgstr "Encara no teniu la comissió inicial" - -#: git-stash.sh:140 -msgid "Cannot save the current index state" -msgstr "No es pot desar l'estat d'Ãndex actual" - -#: git-stash.sh:155 -msgid "Cannot save the untracked files" -msgstr "No es poden desar els fitxers no seguits" - -#: git-stash.sh:175 git-stash.sh:188 -msgid "Cannot save the current worktree state" -msgstr "No es pot desar l'estat d'arbre de treball actual" - -#: git-stash.sh:192 -msgid "No changes selected" -msgstr "No hi ha canvis seleccionats" - -#: git-stash.sh:195 +#: git-legacy-stash.sh:220 msgid "Cannot remove temporary index (can't happen)" msgstr "No es pot eliminar l'Ãndex temporal (això no pot passar)" -#: git-stash.sh:208 -msgid "Cannot record working tree state" -msgstr "No es pot registrar l'estat de l'arbre de treball" - -#: git-stash.sh:246 +#: git-legacy-stash.sh:271 #, sh-format msgid "Cannot update $ref_stash with $w_commit" msgstr "No es pot actualitzar $ref_stash amb $w_commit" -#: git-stash.sh:298 +#: git-legacy-stash.sh:323 #, sh-format msgid "error: unknown option for 'stash push': $option" msgstr "" -#: git-stash.sh:312 -msgid "Can't use --patch and --include-untracked or --all at the same time" -msgstr "No es poden usar --patch i --include-untracked o --all a la vegada." - -#: git-stash.sh:320 -msgid "No local changes to save" -msgstr "No hi ha canvis locals a desar" - -#: git-stash.sh:325 -msgid "Cannot initialize stash" -msgstr "No es pot inicialitzar el magatzem" - -#: git-stash.sh:329 -msgid "Cannot save the current status" -msgstr "No es pot desar l'estat actual" - -#: git-stash.sh:330 +#: git-legacy-stash.sh:355 #, sh-format msgid "Saved working directory and index state $stash_msg" msgstr "S'han desat el directori de treball i l'estat d'Ãndex $stash_msg" -#: git-stash.sh:359 -msgid "Cannot remove worktree changes" -msgstr "No es poden eliminar els canvis de l'arbre de treball" - -#: git-stash.sh:507 +#: git-legacy-stash.sh:535 #, sh-format msgid "unknown option: $opt" msgstr "opció desconeguda: $opt" -#: git-stash.sh:520 -msgid "No stash entries found." -msgstr "No s'ha trobat cap «stash»." - -#: git-stash.sh:527 +#: git-legacy-stash.sh:555 #, sh-format msgid "Too many revisions specified: $REV" msgstr "S'han especificat massa revisions: $REV" -#: git-stash.sh:542 +#: git-legacy-stash.sh:570 #, sh-format msgid "$reference is not a valid reference" msgstr "$reference no és una referència và lida" -#: git-stash.sh:570 +#: git-legacy-stash.sh:598 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "'$args' no és una comissió de tipus magatzem" -#: git-stash.sh:581 +#: git-legacy-stash.sh:609 #, sh-format msgid "'$args' is not a stash reference" msgstr "'$args' no és una referència de magatzem" -#: git-stash.sh:589 +#: git-legacy-stash.sh:617 msgid "unable to refresh index" msgstr "no s'ha pogut actualitzar l'Ãndex" -#: git-stash.sh:593 +#: git-legacy-stash.sh:621 msgid "Cannot apply a stash in the middle of a merge" msgstr "No es pot aplicar un magatzem enmig d'una fusió" -#: git-stash.sh:601 +#: git-legacy-stash.sh:629 msgid "Conflicts in index. Try without --index." msgstr "Hi ha conflictes en l'Ãndex. Proveu-ho sense --index." -#: git-stash.sh:603 +#: git-legacy-stash.sh:631 msgid "Could not save index tree" msgstr "No s'ha pogut desar l'arbre d'Ãndex" -#: git-stash.sh:612 +#: git-legacy-stash.sh:640 msgid "Could not restore untracked files from stash entry" msgstr "No s'han pogut restaurar els fitxers no seguits des del «stash»" -#: git-stash.sh:637 +#: git-legacy-stash.sh:665 msgid "Cannot unstage modified files" msgstr "No es pot fer «unstage» dels fitxers modificats" -#: git-stash.sh:652 -msgid "Index was not unstashed." -msgstr "L'Ãndex no estava sense emmagatzemar." - -#: git-stash.sh:666 -msgid "The stash entry is kept in case you need it again." -msgstr "Es conserva l'entrada «stash» en cas que la necessiteu altra vegada." - -#: git-stash.sh:675 +#: git-legacy-stash.sh:703 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "${REV} ($s) descartada" -#: git-stash.sh:676 +#: git-legacy-stash.sh:704 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: No s'ha pogut descartar l'entrada de magatzem" -#: git-stash.sh:684 -msgid "No branch name specified" -msgstr "Cap nom de branca especificat" - -#: git-stash.sh:763 +#: git-legacy-stash.sh:791 msgid "(To restore them type \"git stash apply\")" msgstr "(Per restaurar-les teclegeu \"git stash apply\")" -#: git-submodule.sh:198 +#: git-submodule.sh:200 msgid "Relative path can only be used from the toplevel of the working tree" -msgstr "El camà relatiu només es pot usar des del nivell superior de l'arbre de treball" +msgstr "" +"El camà relatiu només es pot usar des del nivell superior de l'arbre de " +"treball" -#: git-submodule.sh:208 +#: git-submodule.sh:210 #, sh-format msgid "repo URL: '$repo' must be absolute or begin with ./|../" msgstr "URL de dipòsit: '$repo' ha de ser absolut o començar amb ./|../" -#: git-submodule.sh:227 +#: git-submodule.sh:229 #, sh-format msgid "'$sm_path' already exists in the index" msgstr "'$sm_path' ja existeix en l'Ãndex" -#: git-submodule.sh:230 +#: git-submodule.sh:232 #, sh-format msgid "'$sm_path' already exists in the index and is not a submodule" msgstr "'$sm_path' ja existeix en l'Ãndex i no és submòdul" -#: git-submodule.sh:236 +#: git-submodule.sh:239 +#, fuzzy, sh-format +msgid "'$sm_path' does not have a commit checked out" +msgstr "el camà «%s» no té la seva versió" + +#: git-submodule.sh:245 #, sh-format msgid "" "The following path is ignored by one of your .gitignore files:\n" @@ -20085,147 +22246,166 @@ msgstr "" "$sm_path\n" "Useu -f si realment voleu afegir-lo." -#: git-submodule.sh:259 +#: git-submodule.sh:268 #, sh-format msgid "Adding existing repo at '$sm_path' to the index" msgstr "S'està afegint el dipòsit existent a '$sm_path' a l'Ãndex" -#: git-submodule.sh:261 +#: git-submodule.sh:270 #, sh-format msgid "'$sm_path' already exists and is not a valid git repo" msgstr "'$sm_path' ja existeix i no és un dipòsit de git và lid" -#: git-submodule.sh:269 +#: git-submodule.sh:278 #, sh-format msgid "A git directory for '$sm_name' is found locally with remote(s):" -msgstr "Es troba un directori de git per a '$sm_name' localment amb els remots:" +msgstr "" +"Es troba un directori de git per a '$sm_name' localment amb els remots:" -#: git-submodule.sh:271 +#: git-submodule.sh:280 #, sh-format msgid "" "If you want to reuse this local git directory instead of cloning again from\n" " $realrepo\n" -"use the '--force' option. If the local git directory is not the correct repo\n" -"or you are unsure what this means choose another name with the '--name' option." +"use the '--force' option. If the local git directory is not the correct " +"repo\n" +"or you are unsure what this means choose another name with the '--name' " +"option." msgstr "" "Si voleu reusar aquest directori de git local en lloc de clonar de nou de\n" " $realrepo\n" -"useu l'opció '--force'. Si el directori de git local no és el dipòsit correcte\n" -"o no esteu segur de què vol dir això, trieu un altre nom amb l'opció '--name'." +"useu l'opció '--force'. Si el directori de git local no és el dipòsit " +"correcte\n" +"o no esteu segur de què vol dir això, trieu un altre nom amb l'opció '--" +"name'." -#: git-submodule.sh:277 +#: git-submodule.sh:286 #, sh-format msgid "Reactivating local git directory for submodule '$sm_name'." -msgstr "S'està reactivant el directori de git local per al submòdul '$sm_name'." +msgstr "" +"S'està reactivant el directori de git local per al submòdul '$sm_name'." -#: git-submodule.sh:289 +#: git-submodule.sh:298 #, sh-format msgid "Unable to checkout submodule '$sm_path'" msgstr "No s'ha pogut agafar el submòdul '$sm_path'" -#: git-submodule.sh:294 +#: git-submodule.sh:303 #, sh-format msgid "Failed to add submodule '$sm_path'" msgstr "S'ha produït un error en afegir el submòdul '$sm_path'" -#: git-submodule.sh:303 +#: git-submodule.sh:312 #, sh-format msgid "Failed to register submodule '$sm_path'" msgstr "S'ha produït un error en registrar el submòdul '$sm_path'" -#: git-submodule.sh:563 +#: git-submodule.sh:573 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" -msgstr "No s'ha pogut trobar la revisió actual en el camà de submòdul '$displaypath'" +msgstr "" +"No s'ha pogut trobar la revisió actual en el camà de submòdul '$displaypath'" -#: git-submodule.sh:573 +#: git-submodule.sh:583 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "No s'ha pogut obtenir en el camà de submòdul '$sm_path'" -#: git-submodule.sh:578 +#: git-submodule.sh:588 #, sh-format -msgid "Unable to find current ${remote_name}/${branch} revision in submodule path '$sm_path'" -msgstr "No s'ha pogut trobar la revisió actual de ${remote_name}/${branch} en el camà de submòdul '$sm_path'" +msgid "" +"Unable to find current ${remote_name}/${branch} revision in submodule path " +"'$sm_path'" +msgstr "" +"No s'ha pogut trobar la revisió actual de ${remote_name}/${branch} en el " +"camà de submòdul '$sm_path'" -#: git-submodule.sh:596 -#, sh-format -msgid "Unable to fetch in submodule path '$displaypath'" +#: git-submodule.sh:606 +#, fuzzy, sh-format +msgid "" +"Unable to fetch in submodule path '$displaypath'; trying to directly fetch " +"$sha1:" msgstr "No s'ha pogut obtenir en el camà de submòdul '$displaypath'" -#: git-submodule.sh:602 +#: git-submodule.sh:612 #, sh-format msgid "" -"Fetched in submodule path '$displaypath', but it did not contain $sha1. Direct fetching of that commit failed." +"Fetched in submodule path '$displaypath', but it did not contain $sha1. " +"Direct fetching of that commit failed." msgstr "" -"S'ha obtingut en el camà de submòdul '$displaypath', però no contenia $sha1. L'obtenció directa d'aquella comissió " -"ha fallat." +"S'ha obtingut en el camà de submòdul '$displaypath', però no contenia $sha1. " +"L'obtenció directa d'aquella comissió ha fallat." -#: git-submodule.sh:609 +#: git-submodule.sh:619 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "No s'ha pogut agafar '$sha1' en el camà de submòdul '$displaypath'" -#: git-submodule.sh:610 +#: git-submodule.sh:620 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "Camà de submòdul '$displaypath': s'ha agafat '$sha1'" -#: git-submodule.sh:614 +#: git-submodule.sh:624 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" -msgstr "No s'ha pogut fer «rebase» '$sha1' en el camà de submòdul '$displaypath'" +msgstr "" +"No s'ha pogut fer «rebase» '$sha1' en el camà de submòdul '$displaypath'" -#: git-submodule.sh:615 +#: git-submodule.sh:625 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "Camà de submòdul '$displaypath': s'ha fet «rebase» en '$sha1'" -#: git-submodule.sh:620 +#: git-submodule.sh:630 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "No s'ha pogut fusionar '$sha1' en el camà de submòdul '$displaypath'" -#: git-submodule.sh:621 +#: git-submodule.sh:631 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "Camà de submòdul '$displaypath': s'ha fusionat en '$sha1'" -#: git-submodule.sh:626 +#: git-submodule.sh:636 #, sh-format msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'" -msgstr "L'execució de '$command $sha1' ha fallat en el camà de submòdul '$displaypath'" +msgstr "" +"L'execució de '$command $sha1' ha fallat en el camà de submòdul " +"'$displaypath'" -#: git-submodule.sh:627 +#: git-submodule.sh:637 #, sh-format msgid "Submodule path '$displaypath': '$command $sha1'" msgstr "Camà de submòdul '$displaypath': '$command $sha1'" -#: git-submodule.sh:658 +#: git-submodule.sh:668 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" -msgstr "S'ha produït un error en recorre recursivament dins del camà de submòdul '$displaypath'" +msgstr "" +"S'ha produït un error en recorre recursivament dins del camà de submòdul " +"'$displaypath'" -#: git-submodule.sh:754 +#: git-submodule.sh:830 msgid "The --cached option cannot be used with the --files option" msgstr "L'opció --cached no es pot usar amb l'opció --files" -#: git-submodule.sh:806 +#: git-submodule.sh:882 #, sh-format msgid "unexpected mode $mod_dst" msgstr "mode inesperat $mod_dst" -#: git-submodule.sh:826 +#: git-submodule.sh:902 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " AvÃs: $display_name no conté la comissió $sha1_src" -#: git-submodule.sh:829 +#: git-submodule.sh:905 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " AvÃs: $display_name no conté la comissió $sha1_dst" -#: git-submodule.sh:832 +#: git-submodule.sh:908 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " AvÃs: $display_name no conté les comissions $sha1_src i $sha1_dst" @@ -20235,12 +22415,22 @@ msgstr " AvÃs: $display_name no conté les comissions $sha1_src i $sha1_dst" msgid "See git-${cmd}(1) for details." msgstr "Vegeu git-${cmd}(1) per detalls." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +#, fuzzy +msgid "Applied autostash." +msgstr "S'ha aplicat el magatzem automà tic." + +#: git-rebase--preserve-merges.sh:112 +#, fuzzy, sh-format +msgid "Cannot store $stash_sha1" +msgstr "No es pot emmagatzemar $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "S'està fent «rebase» ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 #, fuzzy msgid "" "\n" @@ -20267,13 +22457,15 @@ msgstr "" " r, reword = usa la comissió, però edita el missatge de comissió\n" " e, edit = usa la comissió, però atura't per a esmenar\n" " s, squash = usa la comissió, però fusiona'l a la comissió prèvia\n" -" f, fixup = com \"squash\", però descarta el missatge de registre d'aquesta comissió\n" -" x, exec = executa l'ordre (la resta de la lÃnia) usant l'intèrpret d'ordres\n" +" f, fixup = com \"squash\", però descarta el missatge de registre d'aquesta " +"comissió\n" +" x, exec = executa l'ordre (la resta de la lÃnia) usant l'intèrpret " +"d'ordres\n" " d, drop = elimina la comissió\n" "\n" "Es pot canviar l'ordre d'aquestes lÃnies; s'executen de dalt a baix.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -20292,120 +22484,123 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: no és una comissió que es pugui escollir" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Nom de comissió no và lid: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "No es pot escriure el sha1 reemplaçant de la comissió actual" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Avanç rà pid a $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "No es pot avançar rà pidament a $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "No es pot moure HEAD a $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "S'està refusant fer «squash» a una fusió: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Error en refer la fusió $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "No s'ha pogut escollir $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Aquest és el missatge de comissió núm. ${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "El missatge de comissió núm. ${n} s'ometrà :" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Això és una combinació de $count comissió." msgstr[1] "Això és una combinació de $count comissions." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "No es pot escriure $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Això és una combinació de 2 comissions." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "No s'ha pogut aplicar $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" "This is most likely due to an empty commit message, or the pre-commit hook\n" -"failed. If the pre-commit hook failed, you may need to resolve the issue before\n" +"failed. If the pre-commit hook failed, you may need to resolve the issue " +"before\n" "you are able to reword the commit." msgstr "" -"No s'ha pogut esmenar la comissió després d'escollir amb èxit $sha1... $rest\n" +"No s'ha pogut esmenar la comissió després d'escollir amb èxit $sha1... " +"$rest\n" "Això és probablement a causa d'un missatge de comissió buit, o el lligam de\n" "precomissió ha fallat. Si el lligam de precomissió ha fallat, pot ser que\n" "necessiteu resoldre el problema abans que pugueu canviar el missatge de\n" "comissió." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "S'ha aturat a $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "No es pot '$squash_style' sense una comissió prèvia" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "S'està executant: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "L'execució ha fallat: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "i ha fet canvis a l'Ãndex o l'arbre de treball" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -20416,7 +22611,7 @@ msgstr "" "\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -20431,25 +22626,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Ordre desconeguda: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Corregiu-ho usant «git rebase --edit-todo»." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "S'ha fet «rebase» i actualitzat $head_name amb èxit." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "No s'ha pogut eliminar CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -20480,11 +22675,13 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" -msgstr "Hi ha hagut un error en intentar trobar la identitat d'autor per a esmenar la comissió" +msgstr "" +"Hi ha hagut un error en intentar trobar la identitat d'autor per a esmenar " +"la comissió" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -20492,40 +22689,40 @@ msgstr "" "Teniu canvis no comesos en el vostre arbre de treball. \n" "Primer cometeu-los i després executeu «git rebase --continue» de nou." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "No s'han pogut cometre els canvis «staged»." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "No s'ha pogut executar l'editor" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "No s'ha pogut agafar $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "No hi ha cap HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "No s'ha pogut crear el $state_dir temporal" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "No s'ha pogut marcar com a interactiu" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Rebasa $shortrevisions sobre $shortonto ($todocount ordre)" msgstr[1] "Rebasa $shortrevisions sobre $shortonto ($todocount ordres)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "No s'han pogut iniciar les comissions reescrites" @@ -20534,134 +22731,138 @@ msgstr "No s'han pogut iniciar les comissions reescrites" msgid "usage: $dashless $USAGE" msgstr "ús: $dashless $USAGE" -#: git-sh-setup.sh:190 +#: git-sh-setup.sh:191 #, sh-format msgid "Cannot chdir to $cdup, the toplevel of the working tree" -msgstr "No es pot canviar de directori a $cdup, el nivell superior de l'arbre de treball" +msgstr "" +"No es pot canviar de directori a $cdup, el nivell superior de l'arbre de " +"treball" -#: git-sh-setup.sh:199 git-sh-setup.sh:206 +#: git-sh-setup.sh:200 git-sh-setup.sh:207 #, sh-format msgid "fatal: $program_name cannot be used without a working tree." msgstr "fatal: no es pot usar $program_name sense un arbre de treball." -#: git-sh-setup.sh:220 +#: git-sh-setup.sh:221 msgid "Cannot rebase: You have unstaged changes." msgstr "No es pot fer «rebase»: teniu canvis «unstaged»." -#: git-sh-setup.sh:223 +#: git-sh-setup.sh:224 msgid "Cannot rewrite branches: You have unstaged changes." msgstr "No es poden reescriure branques: Teniu canvis «unstaged»." -#: git-sh-setup.sh:226 +#: git-sh-setup.sh:227 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "No es pot baixar fent «rebase»: Teniu canvis «unstaged»." -#: git-sh-setup.sh:229 +#: git-sh-setup.sh:230 #, sh-format msgid "Cannot $action: You have unstaged changes." msgstr "No es pot $action: Teniu canvis «unstaged»." -#: git-sh-setup.sh:242 +#: git-sh-setup.sh:243 msgid "Cannot rebase: Your index contains uncommitted changes." msgstr "No es pot fer «rebase»: El vostre Ãndex conté canvis sense cometre." -#: git-sh-setup.sh:245 +#: git-sh-setup.sh:246 msgid "Cannot pull with rebase: Your index contains uncommitted changes." -msgstr "No es pot baixar fent «rebase»: El vostre Ãndex conté canvis sense cometre." +msgstr "" +"No es pot baixar fent «rebase»: El vostre Ãndex conté canvis sense cometre." -#: git-sh-setup.sh:248 +#: git-sh-setup.sh:249 #, sh-format msgid "Cannot $action: Your index contains uncommitted changes." msgstr "No es pot $action: El vostre Ãndex conté canvis sense cometre." -#: git-sh-setup.sh:252 +#: git-sh-setup.sh:253 msgid "Additionally, your index contains uncommitted changes." msgstr "Addicionalment, el vostre Ãndex conté canvis sense cometre." -#: git-sh-setup.sh:372 +#: git-sh-setup.sh:373 msgid "You need to run this command from the toplevel of the working tree." -msgstr "Heu d'executar aquesta ordre des del nivell superior de l'arbre de treball." +msgstr "" +"Heu d'executar aquesta ordre des del nivell superior de l'arbre de treball." -#: git-sh-setup.sh:377 +#: git-sh-setup.sh:378 msgid "Unable to determine absolute path of git directory" msgstr "No s'ha pogut determinar el camà absolut del directori de git" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "staged" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "unstaged" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "binari" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "res" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "sense canvis" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "afegit %d camÃ\n" msgstr[1] "afegits %d camins\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "actualitzat %d camÃ\n" msgstr[1] "actualitzats %d camins\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "revertit %d camÃ\n" msgstr[1] "revertits %d camins\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "modificat %d camÃ\n" msgstr[1] "modificat %d camins\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Actualitza" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Reverteix" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "nota: %s està ara sense seguiment.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "Afegeix sense seguiment" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "Sense fitxers no seguits.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -20669,7 +22870,7 @@ msgstr "" "Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n" "per «staging»." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -20677,7 +22878,7 @@ msgstr "" "Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n" "per «stashing»." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -20685,7 +22886,8 @@ msgstr "" "Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n" "per «unstaging»." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -20693,7 +22895,8 @@ msgstr "" "Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n" "per aplicar-se." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -20701,16 +22904,17 @@ msgstr "" "Si el pedaç s'aplica correctament, el tros editat es marcarà immediatament\n" "per descartar-se." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "s'ha produït un error en escriure al fitxer d'edició del tros: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" -msgstr "Mode d'edició de trossos manual - vegeu més avall per una guia rà pida.\n" +msgstr "" +"Mode d'edició de trossos manual - vegeu més avall per una guia rà pida.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -20724,17 +22928,18 @@ msgstr "" "Les lÃnies que comencin per %s seran suprimides.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" "aborted and the hunk is left unchanged.\n" msgstr "" "Si no s'aplica correctament, tindreu una oportunitat per editar-lo\n" -"de nou. Si totes les lÃnies del tros se suprimeixen, llavors l'edició s'avorta\n" +"de nou. Si totes les lÃnies del tros se suprimeixen, llavors l'edició " +"s'avorta\n" "i el tros es deixa sense cap canvi.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "s'ha produït un error en llegir al fitxer d'edició del tros: %s" @@ -20745,11 +22950,14 @@ msgstr "s'ha produït un error en llegir al fitxer d'edició del tros: %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 -msgid "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " -msgstr "El tros editat no s'aplica. Editeu-lo de nou (si responeu \"no\" es descartarà ) [y/n]? " +#: git-add--interactive.perl:1237 +msgid "" +"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " +msgstr "" +"El tros editat no s'aplica. Editeu-lo de nou (si responeu \"no\" es " +"descartarà ) [y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -20763,7 +22971,7 @@ msgstr "" "a - fes «stage» d'aquest tros i tota la resta de trossos del fitxer\n" "d - no facis «stage» d'aquest tros o de cap altre restant del fitxer" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -20777,7 +22985,7 @@ msgstr "" "a - fes «stash» d'aquest tros i tota la resta de trossos del fitxer\n" "d - no facis «stash» d'aquest tros o de cap altre restant del fitxer" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -20791,7 +22999,7 @@ msgstr "" "a - fes «unstage» d'aquest tros i tota la resta de trossos del fitxer\n" "d - no facis «unstage» d'aquest tros o de cap altre restant del fitxer" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -20805,7 +23013,7 @@ msgstr "" "a - aplica aquest tros i tots els trossos posteriors en el fitxer\n" "d - no apliquis aquest tros ni cap dels trossos posteriors en el fitxer" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -20819,7 +23027,7 @@ msgstr "" "a - descarta aquest tros i tots els trossos posteriors en el fitxer\n" "d - no descartis aquest tros ni cap dels trossos posteriors en el fitxer" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -20833,7 +23041,7 @@ msgstr "" "a - descarta aquest tros i tots els trossos posteriors en el fitxer\n" "d - no descartis aquest tros ni cap dels trossos posteriors en el fitxer" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -20847,7 +23055,22 @@ msgstr "" "a - aplica aquest tros i tots els trossos posteriors en el fitxer\n" "d - no apliquis aquest tros ni cap dels trossos posteriors en el fitxer" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +#, fuzzy +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - aplica aquest tros a l'Ãndex i l'arbre de treball\n" +"n - no apliquis aquest tros des de l'Ãndex i de l'arbre de treball\n" +"q - surt; no apliquis aquest tros ni cap dels pendents\n" +"a - aplica aquest tros i tots els trossos posteriors en el fitxer\n" +"d - no apliquis aquest tros ni cap dels trossos posteriors en el fitxer" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -20869,237 +23092,263 @@ msgstr "" "e - edita manualment el tros actual\n" "? - mostra l'ajuda\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "Els trossos seleccionats no apliquen a l'Ãndex\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Voleu aplicar-los igualment a l'arbre de treball? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "No s'ha aplicat res.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "s'està ignorant %s no fusionat\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Només s'han canviat els fitxers binaris.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Sense canvis.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Actualització del pedaç" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Canvia el mode de «stage» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Suprimeix «stage» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "Fer un «stage» d'aquest tros [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Canvia el mode de «stash» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Suprimeix «stash» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Fer un «stash» d'aquest tros [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Canvia el mode de «unstage» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Suprimeix «Unstage» [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Fer un «unstage» d'aquest tros [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Aplica el canvi de mode a l'Ãndex [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Aplica l'esborrat a l'Ãndex [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Aplica aquest tros a l'Ãndex [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Descarta el canvi de mode des de l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Descarta l'esborrat des de l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Descarta aquest tros des de l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " -msgstr "Descarta el canvi de mode des de l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " +msgstr "" +"Descarta el canvi de mode des de l'Ãndex i l'arbre de treball [y,n,q,a,d" +"%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " -msgstr "Descarta la supressió des de l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " +msgstr "" +"Descarta la supressió des de l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " -msgstr "Descarta aquest tros des de l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " +msgstr "" +"Descarta aquest tros des de l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " -msgstr "Aplica el canvi de mode a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " +msgstr "" +"Aplica el canvi de mode a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "Aplica la supressió a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "Aplica aquest tros a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, fuzzy, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "" +"Aplica el canvi de mode a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, fuzzy, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Aplica la supressió a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, fuzzy, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Aplica aquest tros a l'Ãndex i l'arbre de treball [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "No hi ha altres trossos on anar-hi\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "vés a quin tros (<ret> per veure'n més)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "vés a quin tros? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Número no và lid: «%s»\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Només %d tros disponible.\n" msgstr[1] "Només %d trossos disponibles.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "No hi ha cap altre tros a cercar\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "Cerca per expressió regular? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Expressió regular de cerca mal formada %s: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "No hi ha trossos que coincideixin amb el patró donat\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "Sense tros previ\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "No hi ha tros següent\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "No es pot dividir aquest tros\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "Divideix en %d tros.\n" msgstr[1] "Divideix en %d trossos.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "No es pot editar aquest tros\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Reviseu les diferències" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" "revert - revert staged set of changes back to the HEAD version\n" "patch - pick hunks and update selectively\n" "diff - view diff between HEAD and index\n" -"add untracked - add contents of untracked files to the staged set of changes\n" +"add untracked - add contents of untracked files to the staged set of " +"changes\n" msgstr "" "status - mostra els camins amb canvis\n" -"update - afegeix l'estat de l'arbre de treball al conjunt de canvis «staged»\n" +"update - afegeix l'estat de l'arbre de treball al conjunt de canvis " +"«staged»\n" "revert - reverteix el conjunt de canvis de «staged» a la versió HEAD\n" "patch - selecciona trossos i actualitza'ls selectivament\n" "diff - mostra la diferència entre HEAD i l'Ãndex\n" -"add untracked - afegeix el contingut dels fitxers no seguits al conjunt de canvis «staged»\n" +"add untracked - afegeix el contingut dels fitxers no seguits al conjunt de " +"canvis «staged»\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 git-add--interactive.perl:1750 -#: git-add--interactive.perl:1757 git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "manca --" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "desconegut --patch mode: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "argument %s no và lid, s'esperava --" @@ -21112,63 +23361,66 @@ msgstr "la zona local difereix de GMT per un interval que no és de minuts\n" msgid "local time offset greater than or equal to 24 hours\n" msgstr "el desplaçament de la zona local és més gran o igual a 24 hores\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "l'editor no ha sortit correctament, avortant-ho tot" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format -msgid "'%s' contains an intermediate version of the email you were composing.\n" +msgid "" +"'%s' contains an intermediate version of the email you were composing.\n" msgstr "«%s» conté una versió intermèdia del correu que està veu redactant.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "'%s.final' conté el correu redactat.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases és incompatible amb altres opcions\n" -#: git-send-email.perl:395 git-send-email.perl:650 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "No es pot executar git format-patch des de fora del dipòsit\n" -#: git-send-email.perl:398 -msgid "`batch-size` and `relogin` must be specified together (via command-line or configuration option)\n" +#: git-send-email.perl:484 +msgid "" +"`batch-size` and `relogin` must be specified together (via command-line or " +"configuration option)\n" msgstr "" -#: git-send-email.perl:468 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Camp --suppress-cc desconegut: «%s»\n" -#: git-send-email.perl:497 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "--confirm setting desconegut: «%s»\n" -#: git-send-email.perl:525 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "avÃs: el sobrenom de sendmail amb cometes no està suportat: %s\n" -#: git-send-email.perl:527 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "avÃs: `:include:` no està suportat: %s\n" -#: git-send-email.perl:529 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "avÃs: les redireccions `/file` or `|pipe no són admeses: %s\n" -#: git-send-email.perl:534 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "avÃs: no es pot reconèixer la lÃnia sendmail: %s\n" -#: git-send-email.perl:616 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -21183,12 +23435,12 @@ msgstr "" " * Dient \"./%s\" si volÃeu especificar aquest fitxer; o\n" " * Proporcionant l'opció --format-patch si volÃeu especificar un rang.\n" -#: git-send-email.perl:637 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "S'ha produït un error en obrir el directori %s: %s" -#: git-send-email.perl:661 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -21197,7 +23449,7 @@ msgstr "" "fatal: %s: %s\n" "avÃs: no s'han enviat pedaços\n" -#: git-send-email.perl:672 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -21207,17 +23459,17 @@ msgstr "" "No s'han especificat fitxers de pedaç\n" "\n" -#: git-send-email.perl:685 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Sense assumpte a %s?" -#: git-send-email.perl:695 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "S'ha produït un error en obrir per escriptura %s: %s" -#: git-send-email.perl:706 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -21231,59 +23483,68 @@ msgstr "" "\n" "Netegeu el contingut del cos si no voleu enviar un resum.\n" -#: git-send-email.perl:730 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "S'ha produït un error en obrir %s: %s" -#: git-send-email.perl:747 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "S'ha produït un error en obrir %s.final: %s" -#: git-send-email.perl:790 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "El correu electrònic de resum està buit, s'omet\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:825 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Esteu segur que voleu usar <%s> [y/N]? " -#: git-send-email.perl:880 -msgid "The following files are 8bit, but do not declare a Content-Transfer-Encoding.\n" -msgstr "Els fitxers següents són 8bit, però no declaren un Content-Transfer-Encoding.\n" +#: git-send-email.perl:913 +msgid "" +"The following files are 8bit, but do not declare a Content-Transfer-" +"Encoding.\n" +msgstr "" +"Els fitxers següents són 8bit, però no declaren un Content-Transfer-" +"Encoding.\n" -#: git-send-email.perl:885 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Quina codificació de 8 bits hauria de declarar [UTF-8]? " -#: git-send-email.perl:893 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" "\t%s\n" -"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really want to send.\n" +"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really " +"want to send.\n" msgstr "" "S'ha refusat a enviar perquè el pedaç\n" "\t%s\n" -"perquè la plantilla té l'assumpte '*** SUBJECT HERE ***'. Passeu --force si realment voleu enviar-lo.\n" +"perquè la plantilla té l'assumpte '*** SUBJECT HERE ***'. Passeu --force si " +"realment voleu enviar-lo.\n" -#: git-send-email.perl:912 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" -msgstr "A qui s'haurien d'enviar els correus electrònics (si s'han d'enviar a algú)?" +msgstr "" +"A qui s'haurien d'enviar els correus electrònics (si s'han d'enviar a algú)?" -#: git-send-email.perl:930 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "fatal: l'à lies «%s» s'expandeix a si mateix\n" -#: git-send-email.perl:942 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " -msgstr "S'ha d'usar el Message-ID com a In-Reply-To pel primer correu (si n'hi ha cap)? " +msgstr "" +"S'ha d'usar el Message-ID com a In-Reply-To pel primer correu (si n'hi ha " +"cap)? " -#: git-send-email.perl:1000 git-send-email.perl:1008 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "error: no s'ha pogut extreure una adreça và lida de: %s\n" @@ -21291,16 +23552,16 @@ msgstr "error: no s'ha pogut extreure una adreça và lida de: %s\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1012 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Què cal fer amb aquesta adreça? ([q]surt|[d]escarta|[e]dita): " -#: git-send-email.perl:1329 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "el camà CA «%s» no existeix" -#: git-send-email.perl:1412 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -21327,128 +23588,282 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1427 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " -msgstr "Voleu enviar aquest correu electrònic? ([y]sÃ|[n]o|[e]dita|[q]surt|[a]tot): " +msgstr "" +"Voleu enviar aquest correu electrònic? ([y]sÃ|[n]o|[e]dita|[q]surt|[a]tot): " -#: git-send-email.perl:1430 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Requereix resposta en enviar el correu" -#: git-send-email.perl:1458 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "El servidor SMTP requerit no està correctament definit." -#: git-send-email.perl:1505 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "El servidor no admet STARTTLS! %s" -#: git-send-email.perl:1510 git-send-email.perl:1514 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "STARTTLS ha fallat! %s" -#: git-send-email.perl:1523 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." -msgstr "No s'ha pogut inicialitzar SMTP correctament. Comproveu-ho la configuració i useu --smtp-debug." +msgstr "" +"No s'ha pogut inicialitzar SMTP correctament. Comproveu-ho la configuració i " +"useu --smtp-debug." -#: git-send-email.perl:1541 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "S'ha produït un error en enviar %s\n" -#: git-send-email.perl:1544 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Simulació d'enviament %s\n" -#: git-send-email.perl:1544 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "Enviat %s\n" -#: git-send-email.perl:1546 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Simulació de correcte. El registre diu:\n" -#: git-send-email.perl:1546 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "Correcte. El registre diu: \n" -#: git-send-email.perl:1558 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Resultat: " -#: git-send-email.perl:1561 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Resultat: correcte\n" -#: git-send-email.perl:1579 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "no es pot obrir el fitxer %s" -#: git-send-email.perl:1626 git-send-email.perl:1646 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) S'està afegint cc: %s des de la lÃnia «%s»\n" -#: git-send-email.perl:1632 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) S'està afegint a: %s des de la lÃnia «%s»\n" -#: git-send-email.perl:1685 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(no mbox) S'està afegint cc: %s des de la lÃnia «%s»\n" -#: git-send-email.perl:1720 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(cos) S'està afegint cc: %s des de la lÃnia «%s»\n" -#: git-send-email.perl:1831 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) no s'ha pogut executar «%s»" -#: git-send-email.perl:1838 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) S'està afegint %s: %s des de: «%s»\n" -#: git-send-email.perl:1842 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) s'ha produït un error en tancar el conducte «%s»" -#: git-send-email.perl:1872 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "no es pot enviar el missatge en 7 bits" -#: git-send-email.perl:1880 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "codificació de transferència no và lida" -#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "no s'ha pogut obrir %s: %s\n" -#: git-send-email.perl:1924 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s: el pedaç conté una lÃnia més gran de 998 carà cters" -#: git-send-email.perl:1941 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "S'està ometent %s amb el sufix de còpia de seguretat «%s».\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1945 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Esteu segur que voleu enviar %s? [y|N]: " + +#, fuzzy +#~ msgid "hash version %X does not match version %X" +#~ msgstr "el camà «%s» no té la seva versió" + +#~ msgid "option '%s' requires a value" +#~ msgstr "l'opció «%s» requereix un valor" + +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "El servidor accepta multi_ack_detailed" + +#~ msgid "Server supports no-done" +#~ msgstr "El servidor accepta no-done" + +#~ msgid "Server supports multi_ack" +#~ msgstr "El servidor accepta multi_ack" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "El servidor accepta side-band-64k" + +#~ msgid "Server supports side-band" +#~ msgstr "El servidor accepta banda lateral" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "El servidor accepta allow-tip-sha1-in-want" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "El servidor accepta allow-reachable-sha1-in-want" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "El servidor accepta ofs-delta" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD separat a %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD separat de %s)" + +#~ msgid "could not transform the todo list" +#~ msgstr "no s'ha pogut transformar la llista per a fer" + +#~ msgid "Checking out files" +#~ msgstr "S'estan agafant fitxers" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "" +#~ "no es pot ser interactiu sense que stdin estigui connectada a un terminal." + +#~ msgid "failed to stat %s\n" +#~ msgstr "s'ha produït un error en fer stat a '%s'\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Si voleu ometre aquesta comissió, useu:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Llavors \"git cherry-pick --continue\" reprendrà \n" +#~ "com a «cherry pick» les comissions restants.\n" + +#~ msgid "default" +#~ msgstr "per defecte" + +#~ msgid "Could not create directory '%s'" +#~ msgstr "No s'ha pogut crear el directori «%s»" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "parà metre no reconegut: %s" + +#~ msgid "could not open %s" +#~ msgstr "no s'ha pogut obrir «%s»" + +#~ msgid "Could not move back to $head_name" +#~ msgstr "No s'ha pogut tornar a $head_name" + +#~ msgid "" +#~ "It seems that there is already a $state_dir_base directory, and\n" +#~ "I wonder if you are in the middle of another rebase. If that is the\n" +#~ "case, please try\n" +#~ "\t$cmd_live_rebase\n" +#~ "If that is not the case, please\n" +#~ "\t$cmd_clear_stale_rebase\n" +#~ "and run me again. I am stopping in case you still have something\n" +#~ "valuable there." +#~ msgstr "" +#~ "Sembla que ja hi ha un directori $state_dir_base, i\n" +#~ "em pregunto si esteu enmig d'un altre «rebase». Si aquest és el\n" +#~ "cas, proveu\n" +#~ "\t$cmd_live_rebase\n" +#~ "Si no és el cas, \n" +#~ "\t$cmd_clear_stale_rebase\n" +#~ "i executeu-me de nou. M'aturo per si encara hi teniu alguna cosa\n" +#~ "de valor." + +#~ msgid "fatal: cannot combine '--signoff' with '--preserve-merges'" +#~ msgstr "fatal: no es pot combinar «--signoff» amb «--preserve-merges»" + +#~ msgid "fatal: cannot combine '--preserve-merges' with '--rebase-merges'" +#~ msgstr "fatal: no es pot combinar «--preserve-merges» amb «--rebase-merges»" + +#~ msgid "fatal: cannot combine '--rebase-merges' with '--strategy-option'" +#~ msgstr "fatal: no es pot combinar «--rebase-merges» amb «--strategy-option»" + +#~ msgid "fatal: cannot combine '--rebase-merges' with '--strategy'" +#~ msgstr "fatal: no es pot combinar «--rebase-merges» amb «--strategy»" + +#, fuzzy +#~ msgid "invalid upstream '$upstream_name'" +#~ msgstr "font no và lida $upstream_name" + +#~ msgid "$onto_name: there are more than one merge bases" +#~ msgstr "$onto_name: ja hi ha més d'una base de fusió" + +#~ msgid "$onto_name: there is no merge base" +#~ msgstr "$onto_name: no hi ha cap base de fusió" + +#~ msgid "Does not point to a valid commit: $onto_name" +#~ msgstr "No assenyala una comissió và lida: $onto_name" + +#, fuzzy +#~ msgid "fatal: no such branch/commit '$branch_name'" +#~ msgstr "fatal: no hi ha tal branca: $branch_name" + +#~ msgid "Created autostash: $stash_abbrev" +#~ msgstr "S'ha creat un magatzem automà tic: $stash_abbrev" + +#~ msgid "Current branch $branch_name is up to date." +#~ msgstr "La branca actual $branch_name està al dia." + +#~ msgid "Current branch $branch_name is up to date, rebase forced." +#~ msgstr "La branca actual $branch_name està al dia; «rebase» forçat." + +#~ msgid "Changes to $onto:" +#~ msgstr "Canvis a $onto:" + +#~ msgid "Changes from $mb to $onto:" +#~ msgstr "Canvis de $mb a $onto:" + +#~ msgid "Fast-forwarded $branch_name to $onto_name." +#~ msgstr "S'ha avançat $branch_name rà pidament a $onto_name." + +#~ msgid "First, rewinding head to replay your work on top of it..." +#~ msgstr "" +#~ "Primer, s'està rebobinant HEAD per a reproduir el vostre treball al " +#~ "damunt..." @@ -1,59 +1,60 @@ # German translations for Git. -# Copyright (C) 2010-2016 Ralf Thielow <ralf.thielow@gmail.com> +# Copyright (C) 2019 Matthias Rüster <matthias.ruester@gmail.com> # This file is distributed under the same license as the Git package. -# Ralf Thielow <ralf.thielow@gmail.com>, 2010-2016. +# Matthias Rüster <matthias.ruester@gmail.com>, 2019. +# Ralf Thielow <ralf.thielow@gmail.com>, 2010-2019. # msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" "PO-Revision-Date: 2016-11-28 18:10+0100\n" -"Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n" -"Language-Team: German <>\n" +"Last-Translator: Matthias Rüster <matthias.ruester@gmail.com>\n" +"Language-Team: Matthias Rüster <matthias.ruester@gmail.com>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sHinweis: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" "Cherry-Picken ist nicht möglich, weil Sie nicht zusammengeführte Dateien " "haben." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "" "Committen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "" "Mergen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "" "Pullen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "" "Reverten ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "%s ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -62,51 +63,63 @@ msgstr "" "dann 'git add/rm <Datei>', um die Auflösung entsprechend zu markieren\n" "und zu committen." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Beende wegen unaufgelöstem Konflikt." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Bitte committen Sie Ihre Änderungen, bevor Sie mergen." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Beende wegen nicht abgeschlossenem Merge." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" "\n" -" git checkout -b <new-branch-name>\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"Hinweis: Checke '%s' aus.\n" +"Hinweis: Wechsle zu '%s'.\n" "\n" "Sie befinden sich im Zustand eines 'losgelösten HEAD'. Sie können sich\n" "umschauen, experimentelle Änderungen vornehmen und diese committen, und\n" "Sie können alle möglichen Commits, die Sie in diesem Zustand machen,\n" -"ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie einen\n" -"weiteren Checkout durchführen.\n" +"ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie zu einem\n" +"anderen Branch wechseln.\n" "\n" "Wenn Sie einen neuen Branch erstellen möchten, um Ihre erstellten Commits\n" -"zu behalten, können Sie das (jetzt oder später) durch einen weiteren " -"Checkout\n" -"mit der Option -b tun. Beispiel:\n" +"zu behalten, können Sie das (jetzt oder später) durch Nutzung von\n" +"'switch' mit der Option -c tun. Beispiel:\n" +"\n" +" git switch -c <neuer-Branchname>\n" "\n" -" git checkout -b <neuer-Branchname>\n" +"Oder um diese Operation rückgängig zu machen:\n" +" git switch -\n" +"\n" +"Sie können diesen Hinweis ausschalten, indem Sie die Konfigurationsvariable\n" +"'advice.detachedHead' auf 'false' setzen.\n" "\n" #: alias.c:50 @@ -117,99 +130,99 @@ msgstr "Befehlszeile endet mit \\" msgid "unclosed quote" msgstr "Nicht geschlossene Anführungszeichen." -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "Nicht erkannte Whitespace-Option: '%s'" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "nicht erkannte Option zum Ignorieren von Whitespace: '%s'" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject und --3way können nicht gemeinsam verwendet werden." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached und --3way können nicht gemeinsam verwendet werden." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "" "Die Option --3way kann nicht außerhalb eines Repositories verwendet werden." -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "" "Die Option --index kann nicht außerhalb eines Repositories verwendet werden." -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "" "Die Option --cached kann nicht außerhalb eines Repositories verwendet werden." -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Kann regulären Ausdruck für Zeitstempel %s nicht verarbeiten" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "Ausführung des regulären Ausdrucks gab %d zurück. Eingabe: %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "Konnte keinen Dateinamen in Zeile %d des Patches finden." -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: ungültiges 'git-diff' - erwartete /dev/null, erhielt %s in Zeile " "%d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: ungültiges 'git-diff' - Inkonsistenter neuer Dateiname in Zeile %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: ungültiges 'git-diff' - Inkonsistenter alter Dateiname in Zeile %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: ungültiges 'git-diff' - erwartete /dev/null in Zeile %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "Ungültiger Modus in Zeile %d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "Inkonsistente Kopfzeilen %d und %d." -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount: unerwartete Zeile: %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "Patch-Fragment ohne Kopfbereich bei Zeile %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -224,72 +237,72 @@ msgstr[1] "" "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen, wenn " "%d vorangestellte Teile des Pfades entfernt werden (Zeile %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "" "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen (Zeile " "%d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "neue Datei hängt von alten Inhalten ab" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "entfernte Datei hat noch Inhalte" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "fehlerhafter Patch bei Zeile %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "neue Datei %s hängt von alten Inhalten ab" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "entfernte Datei %s hat noch Inhalte" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** Warnung: Datei %s wird leer, aber nicht entfernt." -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "fehlerhafter Binär-Patch bei Zeile %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "nicht erkannter Binär-Patch bei Zeile %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "Patch mit nutzlosen Informationen bei Zeile %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "konnte symbolische Verknüpfung %s nicht lesen" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "konnte %s nicht öffnen oder lesen" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "Ungültiger Zeilenanfang: '%c'" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." @@ -297,12 +310,12 @@ msgstr[0] "Patch-Bereich #%d erfolgreich angewendet bei %d (%d Zeile versetzt)" msgstr[1] "" "Patch-Bereich #%d erfolgreich angewendet bei %d (%d Zeilen versetzt)" -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Kontext reduziert zu (%ld/%ld), um Patch-Bereich bei %d anzuwenden" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -311,25 +324,25 @@ msgstr "" "bei der Suche nach:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "keine Daten in Binär-Patch für '%s'" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "kann binären Patch nicht in umgekehrter Reihenfolge anwenden ohne einen\n" "umgekehrten Patch-Block auf '%s'" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" "kann binären Patch auf '%s' nicht ohne eine vollständige Index-Zeile anwenden" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." @@ -337,441 +350,441 @@ msgstr "" "der Patch wird angewendet auf '%s' (%s), was nicht den aktuellen Inhalten\n" "entspricht" -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "der Patch wird auf ein leeres '%s' angewendet, was aber nicht leer ist" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "das erforderliche Postimage %s für '%s' kann nicht gelesen werden" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "Konnte Binär-Patch nicht auf '%s' anwenden" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "Binär-Patch für '%s' erzeugt falsches Ergebnis (erwartete %s, bekam %s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "Anwendung des Patches fehlgeschlagen: %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "kann %s nicht auschecken" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "Fehler beim Lesen von %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "'%s' ist hinter einer symbolischen Verknüpfung" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "Pfad %s wurde umbenannt/gelöscht" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s ist nicht im Index" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s entspricht nicht der Version im Index" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "Dem Repository fehlt der notwendige Blob, um auf einen 3-Wege-Merge\n" "zurückzufallen." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Falle zurück auf 3-Wege-Merge ...\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "kann aktuelle Inhalte von '%s' nicht lesen" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Fehler beim Zurückfallen auf 3-Wege-Merge...\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Patch auf '%s' mit Konflikten angewendet.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Patch auf '%s' sauber angewendet.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "Lösch-Patch hinterlässt Dateiinhalte" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: falscher Typ" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s ist vom Typ %o, erwartete %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "Ungültiger Pfad '%s'" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s ist bereits bereitgestellt" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s existiert bereits im Arbeitsverzeichnis" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o) von %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "betroffene Datei '%s' ist hinter einer symbolischen Verknüpfung" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: Patch konnte nicht angewendet werden" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Prüfe Patch %s ..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "SHA-1 Information fehlt oder ist unbrauchbar für Submodul %s" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "Modusänderung für %s, was sich nicht im aktuellen HEAD befindet" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "SHA-1 Information fehlt oder ist unbrauchbar (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry für Pfad '%s' fehlgeschlagen" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "konnte %s nicht zum temporären Index hinzufügen" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "konnte temporären Index nicht nach %s schreiben" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "konnte %s nicht aus dem Index entfernen" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "fehlerhafter Patch für Submodul %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "konnte neu erstellte Datei '%s' nicht lesen" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "kann internen Speicher für eben erstellte Datei %s nicht erzeugen" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "kann für %s keinen Eintrag in den Zwischenspeicher hinzufügen" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "Fehler beim Schreiben nach '%s'" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "schließe Datei '%s'" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "konnte Datei '%s' mit Modus %o nicht schreiben" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Patch %s sauber angewendet" -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "interner Fehler" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Wende Patch %%s mit %d Zurückweisung an..." msgstr[1] "Wende Patch %%s mit %d Zurückweisungen an..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "Verkürze Name von .rej Datei zu %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "kann '%s' nicht öffnen" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Patch-Bereich #%d sauber angewendet." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Patch-Block #%d zurückgewiesen." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Patch '%s' ausgelassen." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "nicht erkannte Eingabe" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "Konnte Index-Datei nicht lesen" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "kann Patch '%s' nicht öffnen: %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "unterdrückte %d Whitespace-Fehler" msgstr[1] "unterdrückte %d Whitespace-Fehler" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d Zeile fügt Whitespace-Fehler hinzu." msgstr[1] "%d Zeilen fügen Whitespace-Fehler hinzu." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "%d Zeile nach Behebung von Whitespace-Fehlern angewendet." msgstr[1] "%d Zeilen nach Behebung von Whitespace-Fehlern angewendet." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Konnte neue Index-Datei nicht schreiben." -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "Pfad" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "keine Änderungen im angegebenen Pfad anwenden" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "Änderungen nur im angegebenen Pfad anwenden" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "Anzahl" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "" "<Anzahl> vorangestellte Schrägstriche von herkömmlichen Differenzpfaden " "entfernen" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "hinzugefügte Zeilen des Patches ignorieren" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "" "anstatt der Anwendung des Patches, den \"diffstat\" für die Eingabe " "ausgegeben" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "" "die Anzahl von hinzugefügten/entfernten Zeilen in Dezimalnotation anzeigen" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "" "anstatt der Anwendung des Patches, eine Zusammenfassung für die Eingabe " "ausgeben" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "" "anstatt der Anwendung des Patches, zeige ob Patch angewendet werden kann" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "" "sicherstellen, dass der Patch mit dem aktuellen Index angewendet werden kann" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "neue Dateien mit `git add --intent-to-add` markieren" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "Patch anwenden, ohne Änderungen im Arbeitsverzeichnis vorzunehmen" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "" "Patch anwenden, der Änderungen außerhalb des Arbeitsverzeichnisses vornimmt" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "Patch anwenden (Benutzung mit --stat/--summary/--check)" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "versuche 3-Wege-Merge, wenn der Patch nicht angewendet werden konnte" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" "einen temporären Index, basierend auf den integrierten Index-Informationen, " "erstellen" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "Pfade sind getrennt durch NUL Zeichen" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "" "sicher stellen, dass mindestens <n> Zeilen des Kontextes übereinstimmen" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "Aktion" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "neue oder geänderte Zeilen, die Whitespace-Fehler haben, ermitteln" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "Änderungen im Whitespace bei der Suche des Kontextes ignorieren" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "den Patch in umgekehrter Reihenfolge anwenden" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "keinen Kontext erwarten" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "" "zurückgewiesene Patch-Blöcke in entsprechenden *.rej Dateien hinterlassen" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "sich überlappende Patch-Blöcke erlauben" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "erweiterte Ausgaben" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "fehlerhaft erkannten fehlenden Zeilenumbruch am Dateiende tolerieren" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "den Zeilennummern im Kopf des Patch-Blocks nicht vertrauen" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "Wurzelverzeichnis" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "<Wurzelverzeichnis> vor alle Dateinamen stellen" @@ -814,98 +827,98 @@ msgstr "Kein gültiger Objektname: %s" msgid "not a tree object: %s" msgstr "Kein Tree-Objekt: %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "Aktuelles Arbeitsverzeichnis ist unversioniert." -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "Format" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "Archivformat" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "Präfix" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "einen Präfix vor jeden Pfadnamen in dem Archiv stellen" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "Datei" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "das Archiv in diese Datei schreiben" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr ".gitattributes aus dem Arbeitsverzeichnis lesen" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "archivierte Dateien in der Standard-Fehlerausgabe ausgeben" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "nur speichern" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "schneller komprimieren" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "besser komprimieren" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "unterstützte Archivformate auflisten" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "Repository" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "Archiv vom Remote-Repository <Repository> abrufen" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "Programm" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "Pfad zum externen \"git-upload-archive\"-Programm" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Unerwartete Option --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "Die Option --exec kann nur zusammen mit --remote verwendet werden." -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Unerwartete Option --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Unbekanntes Archivformat '%s'" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Argument für Format '%s' nicht unterstützt: -%d" @@ -949,7 +962,7 @@ msgstr "Pfad ist kein gültiges UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "Pfad zu lang (%d Zeichen, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "Fehler beim Komprimieren (%d)" @@ -1052,12 +1065,12 @@ msgstr "binäre Suche: eine Merge-Basis muss geprüft werden\n" msgid "a %s revision is needed" msgstr "ein %s Commit wird benötigt" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "konnte Datei '%s' nicht erstellen" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "Konnte Datei '%s' nicht lesen" @@ -1097,43 +1110,43 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "binäre Suche: danach noch %d Commit zum Testen übrig %s\n" msgstr[1] "binäre Suche: danach noch %d Commits zum Testen übrig %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents und --reverse funktionieren gemeinsam nicht." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "" "kann --contents nicht mit endgültigem Namen des Commit-Objektes benutzen" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "--reverse und --first-parent zusammen erfordern die Angabe eines " "endgültigen\n" "Commits" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "Einrichtung des Revisionsgangs fehlgeschlagen" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "--reverse und --first-parent zusammen erfordern einen Bereich entlang der\n" "\"first-parent\"-Kette" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "Pfad %s nicht in %s" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "kann Blob %s für Pfad '%s' nicht lesen" @@ -1270,12 +1283,12 @@ msgstr "mehrdeutiger Objekt-Name: '%s'" msgid "Not a valid branch point: '%s'." msgstr "Ungültiger Branchpunkt: '%s'" -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ist bereits in '%s' ausgecheckt" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD des Arbeitsverzeichnisses %s ist nicht aktualisiert." @@ -1290,8 +1303,8 @@ msgstr "'%s' sieht nicht wie eine v2 Paketdatei aus" msgid "unrecognized header: %s%s (%d)" msgstr "nicht erkannter Kopfbereich: %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "Konnte '%s' nicht öffnen" @@ -1300,60 +1313,64 @@ msgstr "Konnte '%s' nicht öffnen" msgid "Repository lacks these prerequisite commits:" msgstr "Dem Repository fehlen folgende vorausgesetzte Commits:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "Um ein Paket zu überprüfen wird ein Repository benötigt." + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "Das Paket enthält diese Referenz:" msgstr[1] "Das Paket enthält diese %d Referenzen:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "Das Paket speichert eine komplette Historie." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "Das Paket benötigt diese Referenz:" msgstr[1] "Das Paket benötigt diese %d Referenzen:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "Konnte dup für Descriptor des Pakets nicht ausführen." -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Konnte Paketobjekte nicht erstellen" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "Erstellung der Paketobjekte abgebrochen" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "\"rev-list\" abgebrochen" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "Referenz '%s' wird durch \"rev-list\" Optionen ausgeschlossen" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "nicht erkanntes Argument: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Erstellung eines leeren Pakets zurückgewiesen." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "kann '%s' nicht erstellen" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "Erstellung der Paketindexdatei abgebrochen" @@ -1362,8 +1379,8 @@ msgstr "Erstellung der Paketindexdatei abgebrochen" msgid "invalid color value: %.*s" msgstr "Ungültiger Farbwert: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "konnte %s nicht parsen" @@ -1373,7 +1390,7 @@ msgstr "konnte %s nicht parsen" msgid "%s %s is not a commit!" msgstr "%s %s ist kein Commit!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1394,28 +1411,28 @@ msgstr "" "Sie können diese Meldung unterdrücken, indem Sie\n" "\"git config advice.graftFileDeprecated false\" ausführen." -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Commit %s hat eine nicht vertrauenswürdige GPG-Signatur, angeblich von %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "Commit %s hat eine ungültige GPG-Signatur, angeblich von %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Commit %s hat keine GPG-Signatur." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Commit %s hat eine gültige GPG-Signatur von %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1427,177 +1444,232 @@ msgstr "" "Encoding,\n" "welches von ihrem Projekt verwendet wird.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "Commit-Graph-Datei ist zu klein." -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "Commit-Graph-Signatur %X stimmt nicht mit Signatur %X überein." -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "Commit-Graph-Version %X stimmt nicht mit Version %X überein." -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "Hash-Version des Commit-Graph %X stimmt nicht mit Version %X überein." -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "fehlender Tabelleneintrag für Commit-Graph Chunk-Lookup; Datei " "möglicherweise unvollständig" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "Unzulässiger Commit-Graph Chunk-Offset %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "Commit-Graph Chunk-Id %08x kommt mehrfach vor." -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "Commit-Graph hat keinen Basis-Graph-Chunk" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "Commit-Graph Verkettung stimmt nicht überein." + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "Ungültige Commit-Graph Verkettung: Zeile '%s' ist kein Hash" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "Konnte nicht alle Commit-Graph-Dateien finden." + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "Ungültige Commit-Position. Commit-Graph ist wahrscheinlich beschädigt." + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "Konnte Commit %s nicht finden." -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "Konnte Art von Objekt '%s' nicht bestimmen." -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Lade bekannte Commits in Commit-Graph" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "Erweitere erreichbare Commits in Commit-Graph" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "Lösche Commit-Markierungen in Commit-Graph" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "Commit-Graph Generierungsnummern berechnen" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Suche Commits für Commit-Graph in %d Paket" msgstr[1] "Suche Commits für Commit-Graph in %d Paketen" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "Fehler beim Hinzufügen von Paket %s." -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "Fehler beim Öffnen des Index für %s." -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "Suche Commits für Commit-Graph in %d Referenz" msgstr[1] "Suche Commits für Commit-Graph in %d Referenzen" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "Suche Commits für Commit-Graph in gepackten Objekten" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "Zähle Commits in Commit-Graph" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "Das Commit-Graph Format kann nicht %d Commits schreiben." - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Suche zusätzliche Ränder in Commit-Graph" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "Zu viele Commits zum Schreiben des Graphen." +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "Fehler beim Schreiben der korrekten Anzahl von Basis-Graph-IDs." -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "Konnte führende Verzeichnisse von '%s' nicht erstellen." -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "konnte '%s' nicht erstellen" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Schreibe Commit-Graph in %d Durchgang" msgstr[1] "Schreibe Commit-Graph in %d Durchgängen" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "Konnte Commit-Graph Chain-Datei nicht öffnen." + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "Konnte Basis-Commit-Graph-Datei nicht umbenennen." + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "Konnte temporäre Commit-Graph-Datei nicht umbenennen." + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "Durchsuche zusammengeführte Commits" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "Unerwartete doppelte Commit-ID %s" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "Zusammenführen von Commit-Graph" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "Das Commit-Graph Format kann nicht %d Commits schreiben." + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "Zu viele Commits zum Schreiben des Graphen." + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" "Die Commit-Graph-Datei hat eine falsche Prüfsumme und ist wahrscheinlich " "beschädigt." -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "Commit-Graph hat fehlerhafte OID-Reihenfolge: %s dann %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "Commit-Graph hat fehlerhaften Fanout-Wert: fanout[%d] = %u != %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "Konnte Commit %s von Commit-Graph nicht parsen." -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Commit in Commit-Graph überprüfen" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "Fehler beim Parsen des Commits %s von Objekt-Datenbank für Commit-Graph" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" "OID des Wurzelverzeichnisses für Commit %s in Commit-Graph ist %s != %s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "Commit-Graph Vorgänger-Liste für Commit %s ist zu lang" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "Commit-Graph-Vorgänger für %s ist %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "Commit-Graph Vorgänger-Liste für Commit %s endet zu früh" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" @@ -1605,7 +1677,7 @@ msgstr "" "Commit-Graph hat Generationsnummer null für Commit %s, aber sonst ungleich " "null" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" @@ -1613,12 +1685,12 @@ msgstr "" "Commit-Graph hat Generationsnummer ungleich null für Commit %s, aber sonst " "null" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "Commit-Graph Erstellung für Commit %s ist %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1628,7 +1700,7 @@ msgstr "" msgid "memory exhausted" msgstr "Speicher verbraucht" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1644,312 +1716,312 @@ msgstr "" "überschritten.\n" "Das könnte durch zirkulare Includes entstanden sein." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "Konnte Include-Pfad '%s' nicht erweitern." -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "Relative Includes von Konfigurationen müssen aus Dateien kommen." -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "" "Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden " "müssen\n" "aus Dateien kommen." -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "Schlüssel enthält keine Sektion: %s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "Schlüssel enthält keinen Variablennamen: %s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "Ungültiger Schlüssel: %s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "Ungültiger Schlüssel (neue Zeile): %s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "Fehlerhafter Konfigurationsparameter: %s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "Fehlerhaftes Format in %s" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "Ungültige Konfigurationszeile %d in Blob %s" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "Ungültige Konfigurationszeile %d in Datei %s" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "Ungültige Konfigurationszeile %d in Standard-Eingabe" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "Ungültige Konfigurationszeile %d in Submodul-Blob %s" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "Ungültige Konfigurationszeile %d in Kommandozeile %s" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "Ungültige Konfigurationszeile %d in %s" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "Außerhalb des Bereichs" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "Ungültige Einheit" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s': %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Blob %s: %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "" "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Datei %s: %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Standard-Eingabe: " "%s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Submodul-Blob %s: " "%s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in Befehlszeile %s: " "%s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "Ungültiger numerischer Wert '%s' für Konfiguration '%s' in %s: %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "Fehler beim Erweitern des Nutzerverzeichnisses in: '%s'" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' ist kein gültiger Zeitstempel für '%s'" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "Länge für Abkürzung von Commit-IDs außerhalb des Bereichs: %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "ungültiger zlib Komprimierungsgrad %d" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar sollte nur ein Zeichen sein" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "Ungültiger Modus für Objekterstellung: %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "Ungültiger Wert für %s." -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "Ungültiger Wert für %s: %s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "" "Muss einer von diesen sein: nothing, matching, simple, upstream, current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "ungültiger Komprimierungsgrad (%d) für Paketierung" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "Konnte Blob-Objekt '%s' für Konfiguration nicht laden." -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "Referenz '%s' zeigt auf keinen Blob." -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "Konnte Blob '%s' für Konfiguration nicht auflösen." -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "Fehler beim Parsen von %s." -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "" "Konnte die über die Befehlszeile angegebene Konfiguration nicht parsen." -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "" "Es trat ein unbekannter Fehler beim Lesen der Konfigurationsdateien auf." -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "Ungültiger %s: '%s'" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "Unbekannter Wert '%s' in core.untrackedCache; benutze Standardwert 'keep'" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "" "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 100 " "liegen." -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" "Konnte Wert '%s' aus der über die Befehlszeile angegebenen Konfiguration\n" "nicht parsen." -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "Ungültiger Sektionsname '%s'" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s hat mehrere Werte" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "Konnte neue Konfigurationsdatei '%s' nicht schreiben." -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "Konnte Konfigurationsdatei '%s' nicht sperren." -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "Öffne %s" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "Ungültiges Muster: %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "Ungültige Konfigurationsdatei %s" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "fstat auf %s fehlgeschlagen" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "mmap für '%s' fehlgeschlagen" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "chmod auf %s fehlgeschlagen" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "Konnte Konfigurationsdatei %s nicht schreiben." -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "Konnte '%s' nicht zu '%s' setzen." -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "Konnte '%s' nicht aufheben." -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "Ungültiger Sektionsname: %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "Fehlender Wert für '%s'" @@ -2117,19 +2189,19 @@ msgstr "Merkwürdigen Pfadnamen '%s' blockiert." msgid "unable to fork" msgstr "Kann Prozess nicht starten." -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Prüfe Konnektivität" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "Konnte 'git rev-list' nicht ausführen" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "Fehler beim Schreiben nach rev-list" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "Fehler beim Schließen von rev-list's Standard-Eingabe" @@ -2352,7 +2424,7 @@ msgstr "" "Regulärer Ausdruck des Delta-Island aus Konfiguration hat zu\n" "viele Capture-Gruppen (maximal %d)." -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "%d Delta-Islands markiert, fertig.\n" @@ -2428,36 +2500,36 @@ msgstr "" "Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "externes Diff-Programm unerwartet beendet, angehalten bei %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "" "--name-only, --name-status, --check und -s schließen sich gegenseitig aus" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S und --find-object schließen sich gegenseitig aus" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow erfordert genau eine Pfadspezifikation" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "Ungültiger --stat Wert: %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s erwartet einen numerischen Wert." -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2466,42 +2538,42 @@ msgstr "" "Fehler beim Parsen des --dirstat/-X Optionsparameters:\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "Unbekannte Änderungsklasse '%c' in --diff-filter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "Unbekannter Wert nach ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "konnte '%s' nicht auflösen" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s erwartet die Form <n>/<m>" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s erwartet ein Zeichen, '%s' bekommen" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "Ungültiges --color-moved Argument: %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "Ungültiger Modus '%s' in --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2509,152 +2581,152 @@ msgstr "" "Option diff-algorithm akzeptiert: \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "Ungültiges Argument für %s" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "Ungültiges --word-diff Argument: %s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Diff-Optionen zu Ausgabeformaten" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "Erzeuge Patch" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "Ausgabe der Unterschiede unterdrücken" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "Erstelle Unterschiede mit <n> Zeilen des Kontextes" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "Erstelle Unterschiede im Rohformat" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "Synonym für '-p --raw'" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "Synonym für '-p --stat'" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "maschinenlesbare Ausgabe von --stat" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "nur die letzte Zeile von --stat ausgeben" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<Parameter1,Parameter2>..." -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" "Gebe die Verteilung des relativen Umfangs der Änderungen für jedes " "Unterverzeichnis aus" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "Synonym für --dirstat=cumulative" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "Synonym für --dirstat=files,Parameter1,Parameter2..." -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "Warnen, wenn Änderungen Konfliktmarker oder Whitespace-Fehler einbringen" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" "Gekürzte Zusammenfassung, wie z.B. Erstellungen, Umbenennungen und " "Änderungen der Datei-Rechte" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "nur Dateinamen der geänderten Dateien anzeigen" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "nur Dateinamen und Status der geänderten Dateien anzeigen" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<Breite>[,<Namens-Breite>[,<Anzahl>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "Generiere Zusammenfassung der Unterschiede" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<Breite>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Breite" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Namens-Breite" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Graph-Breite" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<Anzahl>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "Erzeuge Zusammenfassung der Unterschiede mit begrenzten Zeilen" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "Erzeuge kompakte Zusammenstellung in Zusammenfassung der Unterschiede" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "Gebe eine binäre Differenz aus, dass angewendet werden kann" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "Zeige vollständige Objekt-Namen in den \"index\"-Zeilen" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "Zeige farbige Unterschiede" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "<Art>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2662,7 +2734,7 @@ msgstr "" "Hebe Whitespace-Fehler in den Zeilen 'context', 'old' oder 'new' bei den " "Unterschieden hervor" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2670,91 +2742,91 @@ msgstr "" "Verschleiere nicht die Pfadnamen und nutze NUL-Zeichen als Schlusszeichen in " "Ausgabefeldern bei --raw oder --numstat" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<Präfix>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "Zeige den gegebenen Quell-Präfix statt \"a/\"" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "Zeige den gegebenen Ziel-Präfix statt \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "Stelle einen zusätzlichen Präfix bei jeder Ausgabezeile voran" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "Zeige keine Quell- oder Ziel-Präfixe an" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "Zeige Kontext zwischen Unterschied-Blöcken bis zur angegebenen Anzahl von " "Zeilen." -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<Zeichen>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "Das Zeichen festlegen, das eine neue Zeile kennzeichnet (statt '+')" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "Das Zeichen festlegen, das eine alte Zeile kennzeichnet (statt '-')" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "Das Zeichen festlegen, das den Kontext kennzeichnet (statt ' ')" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "Diff-Optionen zur Umbenennung" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "" "Teile komplette Rewrite-Änderungen in Änderungen mit \"löschen\" und " "\"erstellen\"" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "Umbenennungen erkennen" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "Preimage für Löschungen weglassen." -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "Kopien erkennen" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "Nutze ungeänderte Dateien als Quelle zum Finden von Kopien" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "Erkennung von Umbenennungen deaktivieren" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "Nutze leere Blobs als Quelle von Umbennungen" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "Fortführen der Auflistung der Historie einer Datei nach Umbennung" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2762,159 +2834,159 @@ msgstr "" "Verhindere die Erkennung von Umbennungen und Kopien, wenn die Anzahl der " "Ziele für Umbennungen und Kopien das gegebene Limit überschreitet" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Diff Algorithmus-Optionen" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "Erzeuge die kleinstmöglichen Änderungen" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "Whitespace-Änderungen beim Vergleich von Zeilen ignorieren" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "Änderungen bei der Anzahl von Whitespace ignorieren" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "Whitespace-Änderungen am Zeilenende ignorieren" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "Ignoriere den Zeilenumbruch am Ende der Zeile" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "Ignoriere Änderungen in leeren Zeilen" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "" "Heuristik, um Grenzen der Änderungsblöcke für bessere Lesbarkeit zu " "verschieben" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Patience Diff\"" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Histogram Diff\"" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<Algorithmus>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "Ein Algorithmus für Änderungen wählen" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<Text>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Anchored Diff\"" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<Modus>" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "Zeige Wort-Änderungen, nutze <Modus>, um Wörter abzugrenzen" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<Regex>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "Nutze <Regex>, um zu entscheiden, was ein Wort ist" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "Entsprechend wie --word-diff=color --word-diff-regex=<Regex>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "Verschobene Codezeilen sind andersfarbig" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "Wie Whitespaces in --color-moved ignoriert werden" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Andere Diff-Optionen" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "Wenn vom Unterverzeichnis aufgerufen, schließe Änderungen außerhalb aus und " "zeige relative Pfade an" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "alle Dateien als Text behandeln" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "Vertausche die beiden Eingaben und drehe die Änderungen um" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "" "Beende mit Exit-Status 1, wenn Änderungen vorhanden sind, andernfalls mit 0" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "Keine Ausgaben vom Programm" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "Erlaube die Ausführung eines externes Programms für Änderungen" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "Führe externe Text-Konvertierungsfilter aus, wenn binäre Dateien vergleicht " "werden" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<wann>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "" "Änderungen in Submodulen während der Erstellung der Unterschiede ignorieren" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<Format>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "Angeben, wie Unterschiede in Submodulen gezeigt werden" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "verstecke 'git add -N' Einträge vom Index" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "Behandle 'git add -N' Einträge im Index als echt" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<Zeichenkette>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" @@ -2922,7 +2994,7 @@ msgstr "" "Suche nach Unterschieden, welche die Anzahl des Vorkommens der angegebenen " "Zeichenkette verändern" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -2930,25 +3002,25 @@ msgstr "" "Suche nach Unterschieden, welche die Anzahl des Vorkommens des angegebenen " "regulären Ausdrucks verändern" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "zeige alle Änderungen im Changeset mit -S oder -G" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "" "behandle <Zeichenkette> bei -S als erweiterten POSIX regulären Ausdruck" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "" "kontrolliere die Reihenfolge, in der die Dateien in der Ausgabe erscheinen" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<Objekt-ID>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" @@ -2956,33 +3028,33 @@ msgstr "" "Suche nach Unterschieden, welche die Anzahl des Vorkommens des angegebenen " "Objektes verändern" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "Wähle Dateien anhand der Art der Änderung" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<Datei>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Ausgabe zu einer bestimmten Datei" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "Ungenaue Erkennung für Umbenennungen wurde aufgrund zu vieler Dateien\n" "übersprungen." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "nur Kopien von geänderten Pfaden, aufgrund zu vieler Dateien, gefunden" -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3089,32 +3161,32 @@ msgstr "konnte nicht zum Remote schreiben" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc benötigt multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "Ungültige shallow-Zeile: %s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "Ungültige unshallow-Zeile: %s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "Objekt nicht gefunden: %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "Fehler in Objekt: %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "Kein shallow-Objekt gefunden: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "shallow/unshallow erwartet, %s bekommen" @@ -3133,7 +3205,7 @@ msgstr "Ungültiger Commit %s" msgid "giving up" msgstr "Gebe auf" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "Fertig" @@ -3174,154 +3246,130 @@ msgstr "%s fehlgeschlagen" msgid "error in sideband demultiplexer" msgstr "Fehler in sideband demultiplexer" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Server unterstützt keine shallow-Clients" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Server unterstützt multi_ack_detailed" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Server unterstützt no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Server unterstützt multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Server unterstützt side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Server unterstützt side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Server unterstützt allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Server unterstützt allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Server unterstützt ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Server unterstützt Filter" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "Server-Version ist %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Server unterstützt %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Server unterstützt keine shallow-Clients" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Server unterstützt kein --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Server unterstützt kein --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Server unterstützt kein --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "keine gemeinsamen Commits" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: Abholen fehlgeschlagen." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Server unterstützt keine shallow-Anfragen." -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Server unterstützt Filter" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "konnte Anfrage nicht zum Remote schreiben" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "Fehler beim Lesen von Sektionskopf '%s'." -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "'%s' erwartet, '%s' empfangen" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "Unerwartete Acknowledgment-Zeile: '%s'" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "Fehler beim Verarbeiten von ACKS: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "Erwartete Versand einer Packdatei nach 'ready'." -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "Erwartete keinen Versand einer anderen Sektion ohne 'ready'." -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "Fehler beim Verarbeiten von Shallow-Informationen: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "wanted-ref erwartet, '%s' bekommen" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "Unerwartetes wanted-ref: '%s'" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "Fehler beim Verarbeiten von wanted-refs: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "kein übereinstimmender Remote-Branch" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "Remote-Repository hat nicht alle erforderlichen Objekte gesendet." -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "keine solche Remote-Referenz %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab." -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg beim Signieren der Daten fehlgeschlagen" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "konnte temporäre Datei nicht erstellen" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'" @@ -3331,18 +3379,18 @@ msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "Ignoriere ungültige Farbe '%.*s' in log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "'%s': konnte %s nicht lesen" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "Konnte '%s' nicht lesen" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "'%s': read() zu kurz" @@ -3412,7 +3460,7 @@ msgstr "Vorhandene Git-Befehle anderswo in Ihrem $PATH" msgid "These are common Git commands used in various situations:" msgstr "Allgemeine Git-Befehle, verwendet in verschiedenen Situationen:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "Nicht unterstützte Art zur Befehlsauflistung '%s'." @@ -3560,7 +3608,7 @@ msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt." msgid "name consists only of disallowed characters: %s" msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "Ungültiges Datumsformat: %s" @@ -3593,6 +3641,11 @@ msgstr "'tree:<Tiefe>' erwartet" msgid "sparse:path filters support has been dropped" msgstr "Keine Unterstützung für sparse:path Filter mehr" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "Ungültige filter-spec '%s'" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "Kann Remote-Repository für partielles Klonen nicht ändern." @@ -3626,8 +3679,8 @@ msgstr "Konnte '%s.lock' nicht erstellen: %s" msgid "failed to read the cache" msgstr "Lesen des Zwischenspeichers fehlgeschlagen" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "Konnte neue Index-Datei nicht schreiben." @@ -3652,92 +3705,92 @@ msgstr "" msgid "error building trees" msgstr "Fehler beim Erstellen der \"Tree\"-Objekte" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "Fehler beim Erstellen des Pfades '%s'%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Entferne %s, um Platz für Unterverzeichnis zu schaffen\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": vielleicht ein Verzeichnis/Datei-Konflikt?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "verweigere, da unversionierte Dateien in '%s' verloren gehen würden" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "kann Objekt %s '%s' nicht lesen" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "Blob erwartet für %s '%s'" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "Fehler beim Öffnen von '%s': %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "Fehler beim Erstellen einer symbolischen Verknüpfung für '%s': %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "weiß nicht was mit %06o %s '%s' zu machen ist" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Fehler beim Merge von Submodul %s (nicht ausgecheckt)." -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Fehler beim Merge von Submodul %s (Commits nicht vorhanden)." -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "Fehler beim Merge von Submodul %s (Commits folgen keiner Merge-Basis)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Spule Submodul %s zu dem folgenden Commit vor:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Spule Submodul %s vor" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Fehler beim Merge von Submodule %s (dem Merge nachfolgende Commits nicht " "gefunden)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Fehler beim Merge von Submodul %s (kein Vorspulen)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Mögliche Auflösung des Merges für Submodul gefunden:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3754,33 +3807,33 @@ msgstr "" "\n" "hinzu, um diesen Vorschlag zu akzeptieren.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Fehler beim Merge von Submodul %s (mehrere Merges gefunden)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Fehler bei Ausführung des internen Merges" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "Konnte %s nicht zur Datenbank hinzufügen" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "automatischer Merge von %s" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" "Fehler: Verweigere unversionierte Datei bei %s zu verlieren;\n" "schreibe stattdessen nach %s." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3789,7 +3842,7 @@ msgstr "" "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde " "im Arbeitsbereich gelassen." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3798,7 +3851,7 @@ msgstr "" "KONFLIKT (%s/löschen): %s gelöscht in %s und %s nach %s in %s. Stand %s von " "%s wurde im Arbeitsbereich gelassen." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3807,7 +3860,7 @@ msgstr "" "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde " "im Arbeitsbereich bei %s gelassen." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3816,46 +3869,46 @@ msgstr "" "KONFLIKT (%s/löschen): %s gelöscht in %s und %s nach %s in %s. Stand %s von " "%s wurde im Arbeitsbereich bei %s gelassen." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "umbenennen" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "umbenannt" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Verweigere geänderte Datei bei %s zu verlieren." -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" "Verweigere unversionierte Datei bei %s zu verlieren, auch wenn diese im Weg " "ist." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "KONFLIKT (umbenennen/hinzufügen): Benenne um %s->%s in %s. %s hinzugefügt in " "%s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s ist ein Verzeichnis in %s, füge es stattdessen als %s hinzu" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "" "Verweigere unversionierte Datei bei %s zu verlieren; füge stattdessen %s " "hinzu" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3864,18 +3917,18 @@ msgstr "" "KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" " "und \"%s\"->\"%s\" in Branch \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (bleibt unaufgelöst)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "KONFLIKT (umbenennen/umbenennen): Benenne um %s->%s in %s. Benenne um %s->%s " "in %s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3888,7 +3941,7 @@ msgstr "" "wobei\n" "keines dieser Ziele die Mehrheit der Dateien erhielt." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3899,7 +3952,7 @@ msgstr "" "Weg von impliziter Verzeichnisumbenennung, die versucht, einen oder mehrere\n" "Pfade dahin zu setzen: %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3910,7 +3963,7 @@ msgstr "" "%s mappen; implizite Verzeichnisumbenennungen versuchten diese Pfade dahin\n" "zu setzen: %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3919,7 +3972,7 @@ msgstr "" "KONFLIKT (umbenennen/umbenennen): Benenne Verzeichnis um %s->%s in %s.\n" "Benenne Verzeichnis um %s->%s in %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3928,52 +3981,52 @@ msgstr "" "WARNUNG: Vermeide Umbenennung %s -> %s von %s, weil %s selbst umbenannt " "wurde." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "kann Objekt %s nicht lesen" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "Objekt %s ist kein Blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "ändern" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "geändert" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "Inhalt" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "hinzufügen/hinzufügen" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "Submodul" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "KONFLIKT (%s): Merge-Konflikt in %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "Füge stattdessen als %s hinzu" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3982,7 +4035,7 @@ msgstr "" "Pfad aktualisiert: %s hinzugefügt in %s innerhalb eines Verzeichnisses, das " "umbenannt wurde in %s; Verschiebe es nach %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3991,7 +4044,7 @@ msgstr "" "KONFLIKT (Speicherort): %s hinzugefügt in %s innerhalb eines Verzeichnisses, " "das umbenannt wurde in %s, es sollte vielleicht nach %s verschoben werden." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -4000,7 +4053,7 @@ msgstr "" "Pfad aktualisiert: %s umbenannt nach %s in %s, innerhalb eines " "Verzeichnisses, das umbenannt wurde in %s; Verschiebe es nach %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -4010,37 +4063,37 @@ msgstr "" "Verzeichnisses, das umbenannt wurde in %s, es sollte vielleicht nach %s " "verschoben werden." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Entferne %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "Datei/Verzeichnis" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "Verzeichnis/Datei" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "KONFLIKT (%s): Es existiert bereits ein Verzeichnis %s in %s. Füge %s als %s " "hinzu." -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "Füge %s hinzu" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "KONFLIKT (hinzufügen/hinzufügen): Merge-Konflikt in %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -4050,128 +4103,133 @@ msgstr "" "überschrieben werden:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "Bereits aktuell!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "Zusammenführen der \"Tree\"-Objekte %s und %s fehlgeschlagen" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Merge:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "%u gemeinsamen Vorgänger-Commit gefunden" msgstr[1] "%u gemeinsame Vorgänger-Commits gefunden" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "Merge hat keinen Commit zurückgegeben" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "Konnte Objekt '%s' nicht parsen." -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Konnte Index nicht schreiben." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "multi-pack-index-Datei %s ist zu klein." -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "" "multi-pack-index-Signatur 0x%08x stimmt nicht mit Signatur 0x%08x überein." -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "multi-pack-index-Version %d nicht erkannt." -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "Hash-Version %u stimmt nicht überein." -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "Ungültiger Chunk-Offset (zu groß)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "Abschließende multi-pack-index Chunk-Id erscheint eher als erwartet." -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "multi-pack-index fehlt erforderlicher pack-name Chunk." -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "multi-pack-index fehlt erforderlicher OID fanout Chunk." -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "multi-pack-index fehlt erforderlicher OID lookup Chunk." -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "multi-pack-index fehlt erforderlicher object offset Chunk." -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "Falsche Reihenfolge bei multi-pack-index Pack-Namen: '%s' vor '%s'" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "Ungültige pack-int-id: %u (%u Pakete insgesamt)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" "multi-pack-index speichert einen 64-Bit Offset, aber off_t ist zu klein." -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "Fehler bei Vorbereitung der Packdatei aus multi-pack-index." -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "Fehler beim Hinzufügen von Packdatei '%s'." -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "Fehler beim Öffnen von pack-index '%s'" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "Fehler beim Lokalisieren von Objekt %d in Packdatei." -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "Pack-Datei %s zum Weglassen nicht gefunden" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "Fehler beim Löschen des multi-pack-index bei %s" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Suche nach referenzierten Pack-Dateien" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" @@ -4179,49 +4237,57 @@ msgstr "" "Ungültige oid fanout Reihenfolge: fanout[%d] = %<PRIx32> > %<PRIx32> = " "fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Verifiziere OID-Reihenfolge in MIDX" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "Ungültige oid lookup Reihenfolge: oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Sortiere Objekte nach Pack-Datei" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Überprüfe Objekt-Offsets" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "Fehler beim Laden des Pack-Eintrags für oid[%d] = %s" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "Fehler beim Laden des Pack-Index für Packdatei %s" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "Falscher Objekt-Offset für oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "Konnte 'pack-objects' nicht ausführen" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "Konnte 'pack-objects' nicht beenden" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "Kann lazy_dir Thread nicht erzeugen: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "Kann lazy_name Thread nicht erzeugen: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "Kann lazy_name Thread nicht beitreten: %s" @@ -4296,16 +4362,16 @@ msgstr "Konnte Objekt '%s' nicht parsen." msgid "hash mismatch %s" msgstr "Hash stimmt nicht mit %s überein." -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "Offset vor Beginn des Pack-Index für %s (beschädigter Index?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "Offset hinter Ende des Pack-Index für %s (abgeschnittener Index?)" @@ -4564,24 +4630,29 @@ msgstr "Kann Thread für lstat nicht erzeugen: %s" msgid "unable to parse --pretty format" msgstr "Konnte --pretty Format nicht parsen." -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "Konnte `log` nicht starten." -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "Konnte Ausgabe von `log` nicht lesen." -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "Konnte Commit '%s' nicht parsen." -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "Konnte Git-Header '%.*s' nicht parsen." + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "Fehler beim Generieren des Diffs." -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "Konnte Log für '%s' nicht parsen." @@ -4699,11 +4770,10 @@ msgid "unordered stage entries for '%s'" msgstr "Ungeordnete Stage-Einträge für '%s'." #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "Index-Datei beschädigt" @@ -4757,12 +4827,12 @@ msgstr "Konnte geteilten Index '%s' nicht aktualisieren." msgid "broken index, expect %s in %s, got %s" msgstr "Fehlerhafter Index. Erwartete %s in %s, erhielt %s." -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "Konnte '%s' nicht schließen." -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "Konnte '%s' nicht lesen." @@ -4847,7 +4917,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Rebase von %s auf %s (%d Kommando)" msgstr[1] "Rebase von %s auf %s (%d Kommandos)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4856,7 +4926,7 @@ msgstr "" "Keine Zeile entfernen. Benutzen Sie 'drop', um explizit einen Commit zu\n" "entfernen.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4864,7 +4934,7 @@ msgstr "" "\n" "Wenn Sie hier eine Zeile entfernen, wird DIESER COMMIT VERLOREN GEHEN.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4878,7 +4948,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4888,12 +4958,12 @@ msgstr "" "Wenn Sie jedoch alles löschen, wird der Rebase abgebrochen.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Leere Commits sind auskommentiert." -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "Konnte '%s' nicht schreiben." @@ -4929,99 +4999,100 @@ msgstr "" "Warnungen zu ändern.\n" "Die möglichen Verhaltensweisen sind: ignore, warn, error.\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "%s zeigt auf kein gültiges Objekt!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "Ignoriere unreferenzierte symbolische Referenz %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "Ignoriere fehlerhafte Referenz %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "Konnte '%s' nicht zum Schreiben öffnen: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "Konnte Referenz '%s' nicht lesen." -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "Referenz '%s' existiert bereits." -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "Unerwartete Objekt-ID beim Schreiben von '%s'." -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "Konnte nicht nach '%s' schreiben." -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "Konnte '%s' nicht zum Schreiben öffnen." -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "Unerwartete Objekt-ID beim Löschen von '%s'." -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "Log für Referenz %s hat eine Lücke nach %s." -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "Log für Referenz %s unerwartet bei %s beendet." -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "Log für %s ist leer." -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "Verweigere Aktualisierung einer Referenz mit fehlerhaftem Namen '%s'." -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "update_ref für Referenz '%s' fehlgeschlagen: %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "Mehrere Aktualisierungen für Referenz '%s' nicht erlaubt." -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "" "Aktualisierungen von Referenzen ist innerhalb der Quarantäne-Umgebung " "verboten." -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' existiert; kann '%s' nicht erstellen" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "Kann '%s' und '%s' nicht zur selben Zeit verarbeiten." @@ -5047,268 +5118,252 @@ msgstr "Konnte Referenzen nicht entfernen: %s" msgid "invalid refspec '%s'" msgstr "Ungültige Refspec '%s'" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "entfernt" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "%d voraus" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "%d hinterher" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "%d voraus, %d hinterher" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "Erwartetes Format: %%(color:<Farbe>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "nicht erkannte Farbe: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Positiver Wert erwartet refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Positiver Wert erwartet refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "nicht erkanntes %%(%s) Argument: %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) akzeptiert keine Argumente" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "nicht erkanntes %%(objectsize) Argument: %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) akzeptiert keine Argumente" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) akzeptiert keine Argumente" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) akzeptiert keine Argumente" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "unbekanntes %%(trailers) Argument: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "Positiver Wert erwartet contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "nicht erkanntes %%(contents) Argument: %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "Positiver Wert erwartet objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "nicht erkanntes %%(objectname) Argument: %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "Erwartetes Format: %%(align:<Breite>,<Position>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "nicht erkannte Position:%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "nicht erkannte Breite:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "nicht erkanntes %%(align) Argument: %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "Positive Breitenangabe für %%(align) erwartet" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "nicht erkanntes %%(if) Argument: %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "Fehlerhafter Feldname: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "Unbekannter Feldname: %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "" "Kein Git-Repository, aber das Feld '%.*s' erfordert Zugriff auf Objektdaten." -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "format: %%(if) Atom ohne ein %%(then) Atom verwendet" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "format: %%(then) Atom ohne ein %%(if) Atom verwendet" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "format: %%(then) Atom mehr als einmal verwendet" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "format: %%(then) Atom nach %%(else) verwendet" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "format: %%(else) Atom ohne ein %%(if) Atom verwendet" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "Format: %%(else) Atom ohne ein %%(then) Atom verwendet" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "Format: %%(end) Atom mehr als einmal verwendet" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "Format: %%(end) Atom ohne zugehöriges Atom verwendet" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "Fehlerhafter Formatierungsstring %s" -#: ref-filter.c:1453 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing %s)" -msgstr "(kein Branch, Rebase von Branch %s im Gange)" +msgid "no branch, rebasing %s" +msgstr "kein Branch, Rebase von %s" -#: ref-filter.c:1456 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(kein Branch, Rebase von losgelöstem HEAD %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "kein Branch, Rebase von losgelöstem HEAD %s" -#: ref-filter.c:1459 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(kein Branch, binäre Suche begonnen bei %s)" +msgid "no branch, bisect started on %s" +msgstr "kein Branch, binäre Suche begonnen bei %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD losgelöst bei %s)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "kein Branch" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD losgelöst von %s)" - -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(kein Branch)" - -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "Objekt %s fehlt für %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer bei %s für %s fehlgeschlagen" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "fehlerhaftes Objekt bei '%s'" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "Format: %%(end) Atom fehlt" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "Die Option `%s' ist inkompatibel mit --merged." -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "Die Option `%s' ist inkompatibel mit --no-merged." -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "Missgebildeter Objektname %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "Die Option `%s' muss auf einen Commit zeigen." @@ -5662,8 +5717,8 @@ msgstr "Kann '%s' nicht löschen." msgid "Recorded preimage for '%s'" msgstr "Preimage für '%s' aufgezeichnet." -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." @@ -5697,20 +5752,20 @@ msgstr "Aufgezeichnete Konfliktauflösung für '%s' gelöscht.\n" msgid "unable to open rr-cache directory" msgstr "Konnte rr-cache Verzeichnis nicht öffnen." -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "Ihr aktueller Branch scheint fehlerhaft zu sein." -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "Ihr aktueller Branch '%s' hat noch keine Commits." -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "Die Optionen --first-parent und --bisect sind inkompatibel." -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L unterstützt noch keine anderen Diff-Formate außer -p und -s" @@ -5782,24 +5837,29 @@ msgstr "Ungültiger \"cleanup\"-Modus '%s' für Commit-Beschreibungen." msgid "could not delete '%s'" msgstr "Konnte '%s' nicht löschen." -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "Konnte '%s' nicht löschen" + +#: sequencer.c:321 msgid "revert" msgstr "Revert" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "Cherry-Pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "interaktives Rebase" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "Unbekannte Aktion: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5807,7 +5867,7 @@ msgstr "" "nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n" "mit 'git add <Pfade>' oder 'git rm <Pfade>'" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5817,45 +5877,45 @@ msgstr "" "mit 'git add <Pfade>' oder 'git rm <Pfade>' und tragen Sie das Ergebnis mit\n" "'git commit' ein" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "Konnte '%s' nicht sperren" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "Konnte EOL nicht nach '%s' schreiben." -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "Fehler beim Fertigstellen von '%s'." -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "Konnte '%s' nicht lesen" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "Ihre lokalen Änderungen würden durch den %s überschrieben werden." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "" "Committen Sie Ihre Änderungen oder benutzen Sie \"stash\", um fortzufahren." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: Vorspulen" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Ungültiger \"cleanup\" Modus %s" @@ -5863,70 +5923,70 @@ msgstr "Ungültiger \"cleanup\" Modus %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Konnte neue Index-Datei nicht schreiben" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "Konnte Cache-Verzeichnis nicht aktualisieren." -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "Konnte HEAD-Commit nicht auflösen." -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "Kein Schlüssel in '%.*s' vorhanden." -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "Konnte Anführungszeichen von '%s' nicht entfernen." -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "Konnte '%s' nicht zum Lesen öffnen." -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "'GIT_AUTHOR_NAME' bereits angegeben." -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "'GIT_AUTHOR_EMAIL' bereits angegeben." -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "'GIT_AUTHOR_DATE' bereits angegeben." -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "Unbekannte Variable '%s'" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "'GIT_AUTHOR_NAME' fehlt." -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "'GIT_AUTHOR_EMAIL' fehlt." -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "'GIT_AUTHOR_DATE' fehlt." -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "Ungültiges Datumsformat '%s' in '%s'" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5957,15 +6017,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "Root-Commit schreiben" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "'prepare-commit-msg' Hook fehlgeschlagen." -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5993,7 +6053,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6019,307 +6079,350 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "Konnte neu erstellten Commit nicht nachschlagen." -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "Konnte neu erstellten Commit nicht analysieren." -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "Konnte HEAD nicht auflösen, nachdem der Commit erstellt wurde." -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "losgelöster HEAD" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (Root-Commit)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "Konnte HEAD nicht parsen." -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s ist kein Commit!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "Konnte Commit von HEAD nicht analysieren." -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "Konnte Commit-Autor nicht parsen." -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "\"git write-tree\" schlug beim Schreiben eines \"Tree\"-Objektes fehl" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "Konnte Commit-Beschreibung von '%s' nicht lesen." -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "Fehler beim Schreiben des Commit-Objektes." -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "Konnte Commit %s nicht parsen." -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "Konnte Eltern-Commit %s nicht parsen." -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "Unbekannter Befehl: %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Das ist eine Kombination aus %d Commits." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "benötige HEAD für fixup" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "Konnte HEAD nicht lesen" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "Konnte Commit-Beschreibung von HEAD nicht lesen" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "kann '%s' nicht schreiben" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Das ist die erste Commit-Beschreibung:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "Konnte Commit-Beschreibung von %s nicht lesen." -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Das ist Commit-Beschreibung #%d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Die Commit-Beschreibung #%d wird ausgelassen:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "Ihre Index-Datei ist nicht zusammengeführt." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "kann fixup nicht auf Root-Commit anwenden" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "Commit %s hat keinen Eltern-Commit %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "Kann keine Commit-Beschreibung für %s bekommen." #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kann Eltern-Commit %s nicht parsen" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "Konnte '%s' nicht zu '%s' umbenennen." -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "Konnte \"revert\" nicht auf %s... (%s) ausführen" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "Konnte %s... (%s) nicht anwenden" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: Fehler beim Lesen des Index" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: Fehler beim Aktualisieren des Index" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s akzeptiert keine Argumente: '%s'" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "Fehlende Argumente für %s." -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "Konnte '%.*s' nicht parsen." -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "Ungültige Zeile %d: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "Kann '%s' nicht ohne vorherigen Commit ausführen" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "Konnte '%s' nicht lesen." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "Abbrechen eines laufenden \"cherry-pick\"" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "Abbrechen eines laufenden \"revert\"" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "" "Bitte beheben Sie dieses, indem Sie 'git rebase --edit-todo' ausführen." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "Unbenutzbares Instruktionsblatt: '%s'" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "Keine Commits geparst." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "Kann Cherry-Pick nicht während eines Reverts ausführen." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "Kann Revert nicht während eines Cherry-Picks ausführen." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "Ungültiger Wert für %s: %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "Unbenutzbares squash-onto." -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "Fehlerhaftes Optionsblatt: '%s'" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "leere Menge von Commits übergeben" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "\"cherry-pick\" oder \"revert\" ist bereits im Gang" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "\"revert\" ist bereits im Gange" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "versuchen Sie \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "Versuchen Sie \"git revert (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "\"cherry-pick\" wird bereits durchgeführt" + +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "Versuchen Sie \"git cherry-pick (--continue | %s--abort | --quit)\"" -#: sequencer.c:2660 +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "Konnte \"sequencer\"-Verzeichnis '%s' nicht erstellen." -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "Konnte HEAD nicht sperren" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" -msgstr "kein \"cherry-pick\" oder \"revert\" im Gang" +msgstr "kein \"cherry-pick\" oder \"revert\" im Gange" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "kann HEAD nicht auflösen" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "kann nicht abbrechen: bin auf einem Branch, der noch nicht geboren ist" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "kann '%s' nicht öffnen" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "Kann '%s' nicht lesen: %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "Unerwartetes Dateiende" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschädigt" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Sie scheinen HEAD verändert zu haben. Keine Rückspulung, prüfen Sie HEAD." -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "Kein Revert im Gange" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "kein \"cherry-pick\" im Gange" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "Überspringen des Commits fehlgeschlagen" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "Nichts zum Überspringen vorhanden" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"Haben Sie bereits committet?\n" +"Versuchen Sie \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "Konnte %s nicht aktualisieren." -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "Kann HEAD nicht lesen" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "Konnte '%s' nicht nach '%s' kopieren." -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6338,27 +6441,27 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "Konnte %s... (%.*s) nicht anwenden" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Konnte \"%.*s\" nicht zusammenführen." -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "Konnte '%s' nicht nach '%s' kopieren." -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "Konnte den Index nicht lesen." -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6374,11 +6477,11 @@ msgstr "" "\n" "ausführen.\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "Der Index und/oder das Arbeitsverzeichnis wurde geändert.\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6396,77 +6499,77 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "Unerlaubter Beschriftungsname: '%.*s'" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "unechten Root-Commit schreiben" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "squash-onto schreiben" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "Fehler beim Finden des \"Tree\"-Objektes von %s." -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "Konnte Index nicht schreiben." -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "Konnte '%s' nicht auflösen." -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "Kann nicht ohne einen aktuellen Commit mergen." -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "Konnte '%.*s' nicht parsen." -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "Nichts zum Zusammenführen: '%.*s'" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "" "Octupus-Merge kann nicht auf Basis von [neuem Root-Commit] ausgeführt werden." -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "Konnte keine Commit-Beschreibung von '%s' bekommen." -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "Konnte nicht einmal versuchen '%.*s' zu mergen." -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "merge: Konnte neue Index-Datei nicht schreiben." -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Automatischen Stash angewendet.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "kann %s nicht speichern" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6477,31 +6580,31 @@ msgstr "" "Ihre Änderungen sind im Stash sicher.\n" "Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "Konnte %s nicht auschecken." -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s: keine gültige OID" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "Konnte HEAD nicht loslösen" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Angehalten bei HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Angehalten bei %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6523,50 +6626,50 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Angehalten bei %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "Unbekannter Befehl %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "Konnte orig-head nicht lesen." -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "Konnte 'onto' nicht lesen." -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "Konnte HEAD nicht auf %s aktualisieren." -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "" "Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit\n" "vorgemerkt sind." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "Kann nicht existierenden Commit nicht nachbessern." -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "Ungültige Datei: '%s'" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "Ungültige Inhalte: '%s'" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6577,42 +6680,42 @@ msgstr "" "committen Sie diese zuerst und führen Sie dann 'git rebase --continue'\n" "erneut aus." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "Konnte Datei nicht schreiben: '%s'" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "Konnte CHERRY_PICK_HEAD nicht löschen." -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "Konnte Änderungen aus der Staging-Area nicht committen." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: ungültiger Commit" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "Kann nicht als allerersten Commit einen Revert ausführen." -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: unbehandelte Optionen" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: Fehler beim Vorbereiten der Commits" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6622,15 +6725,15 @@ msgstr "" "'git rebase --continue' aus.\n" "Oder Sie können den Rebase mit 'git rebase --abort' abbrechen.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "Nichts zu tun." -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "Konnte unnötige \"pick\"-Befehle nicht auslassen." -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "Das Script wurde bereits umgeordnet." @@ -6858,196 +6961,201 @@ msgstr "" "Referenziertes Repository '%s' ist mit künstlichen Vorgängern (\"grafts\") " "eingehängt." -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "Ungültige Zeile beim Parsen alternativer Referenzen: %s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "Versuche mmap %<PRIuMAX> über Limit %<PRIuMAX>." -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "mmap fehlgeschlagen" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "Objektdatei %s ist leer." -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "Fehlerhaftes loses Objekt '%s'." -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "Nutzlose Daten am Ende von losem Objekt '%s'." -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "ungültiger Objekt-Typ" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "Konnte %s Kopfbereich nicht mit --allow-unknown-type entpacken." -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "Konnte %s Kopfbereich nicht entpacken." -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "Konnte %s Kopfbereich mit --allow-unknown-type nicht parsen." -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "Konnte %s Kopfbereich nicht parsen." -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "Konnte Objekt %s nicht lesen." -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "Ersetzung %s für %s nicht gefunden." -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "Loses Objekt %s (gespeichert in %s) ist beschädigt." -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "Gepacktes Objekt %s (gespeichert in %s) ist beschädigt." -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "Konnte Datei %s nicht schreiben." -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "Konnte Zugriffsberechtigung auf '%s' nicht setzen." -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "Fehler beim Schreiben einer Datei." -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "Fehler beim Schließen der Datei für lose Objekte." -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "Unzureichende Berechtigung zum Hinzufügen eines Objektes zur Repository-" "Datenbank %s" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "Konnte temporäre Datei nicht erstellen." -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "Fehler beim Schreiben der Datei für lose Objekte." -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "Konnte neues Objekt %s (%d) nicht komprimieren." -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "deflateEnd auf Objekt %s fehlgeschlagen (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "Fehler wegen instabilen Objektquelldaten für %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "Fehler beim Aufruf von utime() auf '%s'." -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "Kann Objekt für %s nicht lesen." -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "fehlerhafter Commit" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "fehlerhaftes Tag" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "Lesefehler beim Indizieren von '%s'." -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "read() zu kurz beim Indizieren von '%s'." -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s: Fehler beim Einfügen in die Datenbank" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%s: nicht unterstützte Dateiart" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s ist kein gültiges Objekt" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s ist kein gültiges '%s' Objekt" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "kann %s nicht öffnen" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "Hash für %s stimmt nicht überein (%s erwartet)." -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "Konnte mmap nicht auf %s ausführen." -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "Konnte Kopfbereich von %s nicht entpacken." -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "Konnte Kopfbereich von %s nicht parsen." -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "Konnte Inhalt von %s nicht entpacken." @@ -7067,7 +7175,7 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -7078,7 +7186,7 @@ msgstr "" "Sie diese angeben. Diese Referenzen könnten aus Versehen\n" "erzeugt worden sein. Zum Beispiel,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "wobei \"$br\" leer ist und eine 40-Hex-Referenz erzeugt\n" "wurde. Bitte prüfen Sie diese Referenzen und löschen\n" @@ -7086,6 +7194,58 @@ msgstr "" "indem Sie \"git config advice.objectNameWarning false\"\n" "ausführen." +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u Byte" +msgstr[1] "%u Bytes" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u Byte/s" +msgstr[1] "%u Bytes/s" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -7121,7 +7281,7 @@ msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "Submodul-Eintrag '%s' (%s) ist ein %s, kein Commit." -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Konnte HEAD nicht als gültige Referenz auflösen." @@ -7160,7 +7320,7 @@ msgstr "Submodul '%s' hat einen geänderten Index." msgid "Submodule '%s' could not be updated." msgstr "Submodule '%s' konnte nicht aktualisiert werden." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7168,12 +7328,12 @@ msgstr "" "relocate_gitdir für Submodul '%s' mit mehr als einem Arbeitsverzeichnis\n" "wird nicht unterstützt" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "konnte Name für Submodul '%s' nicht nachschlagen" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7184,16 +7344,16 @@ msgstr "" "'%s' nach\n" "'%s'\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "Fehler bei Rekursion in Submodul-Pfad '%s'" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "Konnte 'ls-files' nicht in .. starten" -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree mit unerwartetem Rückgabewert %d beendet" @@ -7367,15 +7527,10 @@ msgstr "Abbruch." msgid "failed to push all needed submodules" msgstr "Fehler beim Versand aller erforderlichen Submodule." -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "Die Operation wird von dem Protokoll nicht unterstützt." -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "Ungültige Zeile beim Parsen alternativer Referenzen: %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "Vollständiges Schreiben zu Remote-Helper fehlgeschlagen." @@ -7422,7 +7577,7 @@ msgstr "Konnte \"fast-import\" nicht ausführen." msgid "error while running fast-import" msgstr "Fehler beim Ausführen von 'fast-import'." -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "Konnte Referenz %s nicht lesen." @@ -7476,24 +7631,24 @@ msgstr "Remote-Helper %s unterstützt kein --signed=if-asked." msgid "helper %s does not support 'push-option'" msgstr "Remote-Helper %s unterstützt nicht 'push-option'." -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "Remote-Helper unterstützt kein Push; Refspec benötigt" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "Remote-Helper %s unterstützt kein 'force'." -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "Konnte \"fast-export\" nicht ausführen." -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "Fehler beim Ausführen von \"fast-export\"." -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7502,47 +7657,47 @@ msgstr "" "Keine gemeinsamen Referenzen und nichts spezifiziert; keine Ausführung.\n" "Vielleicht sollten Sie einen Branch wie 'master' angeben.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "Ungültige Antwort in Referenzliste: %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "Lesen von %s fehlgeschlagen." -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "Schreiben von %s fehlgeschlagen." -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "Thread %s fehlgeschlagen." -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "Fehler beim Beitreten zu Thread %s: %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "Kann Thread zum Kopieren von Daten nicht starten: %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "Fehler beim Warten von Prozess %s." -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "Prozess %s fehlgeschlagen" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "Kann Thread zum Kopieren von Daten nicht starten." @@ -7558,7 +7713,7 @@ msgstr "fehlerhafter Modus in Tree-Eintrag" msgid "empty filename in tree entry" msgstr "leerer Dateiname in Tree-Eintrag" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "zu kurze Tree-Datei" @@ -7810,8 +7965,8 @@ msgid "Aborting\n" msgstr "Abbruch\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Checke Dateien aus" +msgid "Updating files" +msgstr "Aktualisiere Dateien" #: unpack-trees.c:350 msgid "" @@ -7852,32 +8007,32 @@ msgstr "ungültige Portnummer" msgid "invalid '..' path segment" msgstr "ungültiges '..' Pfadsegment" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "Fehler beim Lesen von '%s'" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "'%s' im Hauptarbeitsverzeichnis ist nicht das Repository-Verzeichnis." -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "'%s' Datei enthält nicht den absoluten Pfad zum Arbeitsverzeichnis." -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "'%s' existiert nicht." -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' ist keine .git-Datei, Fehlercode %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' zeigt nicht zurück auf '%s'" @@ -7896,167 +8051,173 @@ msgstr "konnte nicht auf '%s' zugreifen" msgid "unable to get current working directory" msgstr "Konnte aktuelles Arbeitsverzeichnis nicht bekommen." -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Nicht zusammengeführte Pfade:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr "" +" (benutzen Sie \"git restore --staged <Datei>...\" zum Entfernen aus der " +"Staging-Area)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" msgstr "" -" (benutzen Sie \"git reset %s <Datei>...\" zum Entfernen aus der Staging-" -"Area)" +" (benutzen Sie \"git restore --source=%s --staged <Datei>...\" zum " +"Entfernen aus der Staging-Area)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" " (benutzen Sie \"git rm --cached <Datei>...\" zum Entfernen aus der Staging-" "Area)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\", um die Auflösung zu markieren)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\", um die Auflösung entsprechend zu " "markieren)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\", um die Auflösung zu markieren)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Zum Commit vorgemerkte Änderungen:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Änderungen, die nicht zum Commit vorgemerkt sind:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (benutzen Sie \"git add <Datei>...\", um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\", um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (benutzen Sie \"git checkout -- <Datei>...\", um die Änderungen im " +" (benutzen Sie \"git restore <Datei>...\", um die Änderungen im " "Arbeitsverzeichnis zu verwerfen)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (committen oder verwerfen Sie den unversionierten oder geänderten Inhalt " "in den Submodulen)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (benutzen Sie \"git %s <Datei>...\", um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "beide gelöscht:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "von uns hinzugefügt:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "von denen gelöscht:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "von denen hinzugefügt:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "von uns gelöscht:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "von beiden hinzugefügt:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "von beiden geändert:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "neue Datei:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "kopiert:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "gelöscht:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "geändert:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "umbenannt:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "Typänderung:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "unbekannt:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "nicht gemerged:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "neue Commits, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "geänderter Inhalt, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "unversionierter Inhalt, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Ihr Stash hat gerade %d Eintrag" msgstr[1] "Ihr Stash hat gerade %d Einträge" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Submodule geändert, aber nicht aktualisiert:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Änderungen in Submodul zum Committen:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -8064,114 +8225,126 @@ msgstr "" "Ändern oder entfernen Sie nicht die obige Zeile.\n" "Alles unterhalb von ihr wird ignoriert." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"Es wurden %.2f Sekunden benötigt, um die voraus/hinterher-Werte zu " +"berechnen.\n" +"Sie können '--no-ahead-behind' benutzen, um das zu verhindern.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Sie haben nicht zusammengeführte Pfade." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (beheben Sie die Konflikte und führen Sie \"git commit\" aus)" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (benutzen Sie \"git merge --abort\", um den Merge abzubrechen)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Alle Konflikte sind behoben, aber Sie sind immer noch beim Merge." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (benutzen Sie \"git commit\", um den Merge abzuschließen)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Eine \"am\"-Sitzung ist im Gange." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "Der aktuelle Patch ist leer." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git am --continue\" aus)" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (benutzen Sie \"git am --skip\", um diesen Patch auszulassen)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" " (benutzen Sie \"git am --abort\", um den ursprünglichen Branch " "wiederherzustellen)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo fehlt." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "Keine Befehle ausgeführt." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Zuletzt ausgeführter Befehl (%d Befehl ausgeführt):" msgstr[1] "Zuletzt ausgeführte Befehle (%d Befehle ausgeführt):" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (mehr Informationen in Datei %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Keine Befehle verbleibend." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Nächster auszuführender Befehl (%d Befehle verbleibend):" msgstr[1] "Nächste auszuführende Befehle (%d Befehle verbleibend):" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (benutzen Sie \"git rebase --edit-todo\" zum Ansehen und Bearbeiten)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Sie sind gerade beim Rebase von Branch '%s' auf '%s'." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Sie sind gerade beim Rebase." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git rebase --continue\" " "aus)" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (benutzen Sie \"git rebase --skip\", um diesen Patch auszulassen)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (benutzen Sie \"git rebase --abort\", um den ursprünglichen Branch " "auszuchecken)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (alle Konflikte behoben: führen Sie \"git rebase --continue\" aus)" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -8179,154 +8352,146 @@ msgstr "" "Sie teilen gerade einen Commit auf, während ein Rebase von Branch '%s' auf " "'%s' im Gange ist." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Sie teilen gerade einen Commit während eines Rebase auf." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Sobald Ihr Arbeitsverzeichnis unverändert ist, führen Sie \"git rebase --" "continue\" aus)" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Sie editieren gerade einen Commit während eines Rebase von Branch '%s' auf " "'%s'." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Sie editieren gerade einen Commit während eines Rebase." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (benutzen Sie \"git commit --amend\", um den aktuellen Commit " "nachzubessern)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (benutzen Sie \"git rebase --continue\" sobald Ihre Änderungen " "abgeschlossen sind)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Cherry-pick zurzeit im Gange." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Sie führen gerade \"cherry-pick\" von Commit %s aus." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git cherry-pick --continue" "\" aus)" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (Führen Sie \"git cherry-pick --continue\" aus, um weiterzumachen)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (alle Konflikte behoben: führen Sie \"git cherry-pick --continue\" aus)" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (benutzen Sie \"git cherry-pick --abort\", um die Cherry-Pick-Operation " "abzubrechen)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Revert zurzeit im Gange." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Sie sind gerade beim Revert von Commit '%s'." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git revert --continue\" " "aus)" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (Führen Sie \"git revert --continue\", um weiterzumachen)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (alle Konflikte behoben: führen Sie \"git revert --continue\" aus)" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" " (benutzen Sie \"git revert --abort\", um die Revert-Operation abzubrechen)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Sie sind gerade bei einer binären Suche, gestartet von Branch '%s'." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Sie sind gerade bei einer binären Suche." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (benutzen Sie \"git bisect reset\", um zum ursprünglichen Branch " "zurückzukehren)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "Auf Branch " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "interaktives Rebase im Gange; auf " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "Rebase im Gange; auf " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "HEAD losgelöst bei " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "HEAD losgelöst von " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Im Moment auf keinem Branch." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Initialer Commit" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Noch keine Commits" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "Unversionierte Dateien" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Ignorierte Dateien" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8337,32 +8502,32 @@ msgstr "" "'status -uno' könnte das beschleunigen, aber Sie müssen darauf achten,\n" "neue Dateien selbstständig hinzuzufügen (siehe 'git help status')." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "Unversionierte Dateien nicht aufgelistet%s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (benutzen Sie die Option -u, um unversionierte Dateien anzuzeigen)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "Keine Änderungen" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "keine Änderungen zum Commit vorgemerkt (benutzen Sie \"git add\" und/oder " "\"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "keine Änderungen zum Commit vorgemerkt\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8371,67 +8536,67 @@ msgstr "" "nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\n" "(benutzen Sie \"git add\" zum Versionieren)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "nichts zu committen (erstellen/kopieren Sie Dateien und benutzen\n" "Sie \"git add\" zum Versionieren)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "nichts zu committen\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "nichts zu committen (benutzen Sie die Option -u, um unversionierte Dateien " "anzuzeigen)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "nichts zu committen, Arbeitsverzeichnis unverändert\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Noch keine Commits in " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (kein Branch)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "unterschiedlich" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "hinterher " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "voraus " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "" "%s nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "Zusätzlich enthält die Staging-Area nicht committete Änderungen." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "" @@ -8446,7 +8611,7 @@ msgstr "git add [<Optionen>] [--] <Pfadspezifikation>..." msgid "unexpected diff status %c" msgstr "unerwarteter Differenz-Status %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "Aktualisierung der Dateien fehlgeschlagen" @@ -8497,8 +8662,8 @@ msgstr "" "Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien " "ignoriert:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "Probelauf" @@ -8507,7 +8672,7 @@ msgstr "Probelauf" msgid "interactive picking" msgstr "interaktives Auswählen" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "Blöcke interaktiv auswählen" @@ -8684,7 +8849,7 @@ msgstr "Ungültiger Offset in der Zeitzone" msgid "Patch format detection failed." msgstr "Patch-Formaterkennung fehlgeschlagen." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "Fehler beim Erstellen von Verzeichnis '%s'" @@ -8693,7 +8858,7 @@ msgstr "Fehler beim Erstellen von Verzeichnis '%s'" msgid "Failed to split patches." msgstr "Fehler beim Aufteilen der Patches." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "Konnte Index-Datei nicht schreiben." @@ -8737,19 +8902,19 @@ msgstr "Ungültige Identifikationszeile: %.*s" msgid "unable to parse commit %s" msgstr "Konnte Commit '%s' nicht parsen." -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge " "zurückzufallen." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "" "Verwende Informationen aus der Staging-Area, um ein Basisverzeichnis " "nachzustellen ..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8757,30 +8922,24 @@ msgstr "" "Haben Sie den Patch per Hand editiert?\n" "Er kann nicht auf die Blobs in seiner 'index' Zeile angewendet werden." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Falle zurück zum Patchen der Basis und zum 3-Wege-Merge ..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Merge der Änderungen fehlgeschlagen." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "auf leere Historie anwenden" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "Kann nicht fortsetzen: %s existiert nicht" -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"Kann nicht interaktiv sein, ohne dass die Standard-Eingabe mit einem " -"Terminal verbunden ist." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Commit-Beschreibung ist:" @@ -8788,36 +8947,37 @@ msgstr "Commit-Beschreibung ist:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Anwenden? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Geänderter Index: kann Patches nicht anwenden (geändert: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Wende an: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Keine Änderungen -- Patches bereits angewendet." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "Anwendung des Patches fehlgeschlagen bei %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" "Benutzen Sie 'git am --show-current-patch', um den\n" "fehlgeschlagenen Patch zu sehen." -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8828,7 +8988,7 @@ msgstr "" "diese bereits anderweitig eingefügt worden sein; Sie könnten diesen Patch\n" "auslassen." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8841,17 +9001,17 @@ msgstr "" "Sie können 'git rm' auf Dateien ausführen, um \"von denen gelöscht\" für\n" "diese zu akzeptieren." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "Konnte Objekt '%s' nicht parsen." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "Fehler beim Bereinigen des Index" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8859,144 +9019,144 @@ msgstr "" "Sie scheinen seit dem letzten gescheiterten 'am' HEAD geändert zu haben.\n" "Keine Zurücksetzung zu ORIG_HEAD." -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Ungültiger Wert für --patch-format: %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<Optionen>] [(<mbox> | <E-Mail-Verzeichnis>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<Optionen>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "interaktiv ausführen" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "historische Option -- kein Effekt" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "erlaube, falls notwendig, das Zurückfallen auf einen 3-Wege-Merge" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "weniger Ausgaben" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "der Commit-Beschreibung eine Signed-off-by Zeile hinzufügen" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "nach UTF-8 umkodieren (Standard)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "-k an git-mailinfo übergeben" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "-b an git-mailinfo übergeben" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "-m an git-mailinfo übergeben" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "--keep-cr an git-mailsplit für mbox-Format übergeben" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "kein --keep-cr an git-mailsplit übergeben, unabhängig von am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "alles vor einer Scheren-Zeile entfernen" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "an git-apply übergeben" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "Anzahl" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "Format" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "Patch-Format" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "Meldung bei fehlerhafter Patch-Anwendung überschreiben" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "Anwendung der Patches nach Auflösung eines Konfliktes fortsetzen" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "Synonyme für --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "den aktuellen Patch auslassen" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "" "ursprünglichen Branch wiederherstellen und Anwendung der Patches abbrechen" -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "Patch-Operation abbrechen, aber HEAD an aktueller Stelle belassen" -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "den Patch, der gerade angewendet wird, anzeigen" -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "Autor-Datum als Commit-Datum verwenden" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "aktuellen Zeitstempel als Autor-Datum verwenden" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "GPG-Schlüsselkennung" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "Commits mit GPG signieren" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(intern für git-rebase verwendet)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -9004,16 +9164,16 @@ msgstr "" "Die -b/--binary Option hat seit Langem keinen Effekt und wird\n" "entfernt. Bitte verwenden Sie diese nicht mehr." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "Fehler beim Lesen des Index" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "Vorheriges Rebase-Verzeichnis %s existiert noch, aber mbox gegeben." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -9022,10 +9182,14 @@ msgstr "" "Stray %s Verzeichnis gefunden.\n" "Benutzen Sie \"git am --abort\", um es zu entfernen." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Es ist keine Auflösung im Gange, es wird nicht fortgesetzt." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "Interaktiver Modus benötigt Patches über die Kommandozeile" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<Optionen>] [<Patch>...]" @@ -9260,79 +9424,84 @@ msgstr "" msgid "bad HEAD - strange symbolic ref" msgstr "Ungültiger HEAD - merkwürdige symbolische Referenz." -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "Ungültige Referenz: '%s'" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "'git bisect next' ausführen" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "die Begriffe nach .git/BISECT_TERMS schreiben" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "den Zustand der binären Suche aufräumen" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "auf erwartete Commits prüfen" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "den Zustand der binären Suche zurücksetzen" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "den Zustand der binären Suche nach BISECT_LOG schreiben" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "Begriffe innerhalb einer binären Suche prüfen und setzen" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "prüfen, ob Begriffe für gute und schlechte Commits existieren" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "die Begriffe für die binäre Suche ausgeben" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "Sitzung für binäre Suche starten" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "BISECT_HEAD aktualisieren, anstatt den aktuellen Commit auszuchecken" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "kein Log für BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms benötigt zwei Argumente." -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state erwartet keine Argumente." -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset benötigt entweder kein Argument oder ein Commit." -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write benötigt entweder 4 oder 5 Argumente." -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms benötigt 3 Argumente." -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check benötigt 2 oder 3 Argumente." -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms benötigt 0 oder 1 Argument." @@ -9344,138 +9513,155 @@ msgstr "git blame [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "Erwarte eine Farbe: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "Muss mit einer Farbe enden." -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "Ungültige Farbe '%s' in color.blame.repeatedLines." -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "Ungültiger Wert für blame.coloring." -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "Konnte Commit %s zum Ignorieren nicht finden" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "\"blame\"-Einträge schrittweise anzeigen, während wir sie generieren" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "leere SHA-1 für Grenz-Commits anzeigen (Standard: aus)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Root-Commits nicht als Grenzen behandeln (Standard: aus)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Statistiken zum Arbeitsaufwand anzeigen" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Fortschrittsanzeige erzwingen" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Ausgabebewertung für \"blame\"-Einträge anzeigen" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "ursprünglichen Dateinamen anzeigen (Standard: auto)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "ursprüngliche Zeilennummer anzeigen (Standard: aus)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Anzeige in einem Format für maschinelle Auswertung" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "" "Anzeige in Format für Fremdprogramme mit Commit-Informationen pro Zeile" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Den gleichen Ausgabemodus benutzen wie \"git-annotate\" (Standard: aus)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Unbearbeiteten Zeitstempel anzeigen (Standard: aus)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Langen Commit-SHA1 anzeigen (Standard: aus)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Den Namen des Autors und den Zeitstempel unterdrücken (Standard: aus)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "" "Anstatt des Namens die E-Mail-Adresse des Autors anzeigen (Standard: aus)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Unterschiede im Whitespace ignorieren" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "Commit" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "Ignoriere <rev> beim Ausführen von 'blame'" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "Ignoriere Commits aus <Datei>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "redundante Metadaten der vorherigen Zeile unterschiedlich einfärben" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "Zeilen nach Alter einfärben" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "" "eine experimentelle Heuristik zur Verbesserung der Darstellung\n" "von Unterschieden verwenden" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Länger arbeiten, um bessere Übereinstimmungen zu finden" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Commits von <Datei> benutzen, anstatt \"git-rev-list\" aufzurufen" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Inhalte der <Datei>en als endgültiges Abbild benutzen" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "Bewertung" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "kopierte Zeilen innerhalb oder zwischen Dateien finden" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "verschobene Zeilen innerhalb oder zwischen Dateien finden" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "nur Zeilen im Bereich n,m verarbeiten, gezählt von 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" "--progress kann nicht mit --incremental oder Formaten für Fremdprogramme\n" @@ -9489,18 +9675,18 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "vor 4 Jahren und 11 Monaten" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "Datei %s hat nur %lu Zeile" msgstr[1] "Datei %s hat nur %lu Zeilen" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Verarbeite Zeilen" @@ -9532,7 +9718,7 @@ msgstr "git branch [<Optionen>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<Optionen>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9541,7 +9727,7 @@ msgstr "" "entferne Branch '%s', der zusammengeführt wurde mit\n" " '%s', aber noch nicht mit HEAD zusammengeführt wurde." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9550,12 +9736,12 @@ msgstr "" "entferne Branch '%s' nicht, der noch nicht zusammengeführt wurde mit\n" " '%s', obwohl er mit HEAD zusammengeführt wurde." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Konnte Commit-Objekt für '%s' nicht nachschlagen." -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9565,128 +9751,128 @@ msgstr "" "Wenn Sie sicher sind diesen Branch zu entfernen, führen Sie 'git branch -D " "%s' aus." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Aktualisierung der Konfigurationsdatei fehlgeschlagen." -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "kann -a nicht mit -d benutzen" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Konnte Commit-Objekt für HEAD nicht nachschlagen." -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "Kann Branch '%s' nicht entfernen, ausgecheckt in '%s'." -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "Remote-Tracking-Branch '%s' nicht gefunden" -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "Branch '%s' nicht gefunden." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Fehler beim Entfernen des Remote-Tracking-Branches '%s'" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Fehler beim Entfernen des Branches '%s'" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Remote-Tracking-Branch %s entfernt (war %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Branch %s entfernt (war %s).\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "Konnte Formatierungsstring nicht parsen." -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "Konnte HEAD-Commit nicht auflösen." -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) wurde nicht unter \"refs/heads/\" gefunden!" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Branch %s wird auf %s umgesetzt" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "Binäre Suche von Branch %s zu %s im Gange" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "" "Kann den aktuellen Branch nicht kopieren, solange Sie sich auf keinem " "befinden." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "" "Kann aktuellen Branch nicht umbenennen, solange Sie sich auf keinem befinden." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Ungültiger Branchname: '%s'" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Umbenennung des Branches fehlgeschlagen" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Kopie des Branches fehlgeschlagen" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Kopie eines falsch benannten Branches '%s' erstellt." -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "falsch benannten Branch '%s' umbenannt" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Branch umbenannt zu %s, aber HEAD ist nicht aktualisiert!" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "" "Branch ist umbenannt, aber die Aktualisierung der Konfigurationsdatei ist " "fehlgeschlagen." -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "" "Branch wurde kopiert, aber die Aktualisierung der Konfigurationsdatei ist\n" "fehlgeschlagen." -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9697,181 +9883,181 @@ msgstr "" " %s\n" "Zeilen, die mit '%c' beginnen, werden entfernt.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Allgemeine Optionen" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "Hash und Betreff anzeigen; -vv: zusätzlich Upstream-Branch" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "Informationsmeldungen unterdrücken" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "Modus zum Folgen von Branches einstellen (siehe git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "nicht verwenden" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "Upstream" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "Informationen zum Upstream-Branch ändern" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Informationen zum Upstream-Branch entfernen" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "farbige Ausgaben verwenden" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "auf Remote-Tracking-Branches wirken" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "nur Branches ausgeben, die diesen Commit enthalten" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "nur Branches ausgeben, die diesen Commit nicht enthalten" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "spezifische Aktionen für \"git-branch\":" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "Remote-Tracking und lokale Branches auflisten" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "vollständig zusammengeführten Branch entfernen" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "Branch löschen (auch wenn nicht zusammengeführt)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "einen Branch und dessen Reflog verschieben/umbenennen" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "" "einen Branch verschieben/umbenennen, auch wenn das Ziel bereits existiert" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "einen Branch und dessen Reflog kopieren" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "einen Branch kopieren, auch wenn das Ziel bereits existiert" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "Branchnamen auflisten" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "Zeige aktuellen Branch-Namen." -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "das Reflog des Branches erzeugen" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "die Beschreibung für den Branch bearbeiten" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "Erstellung, Verschiebung/Umbenennung oder Löschung erzwingen" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "nur zusammengeführte Branches ausgeben" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "nur nicht zusammengeführte Branches ausgeben" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "Branches in Spalten auflisten" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "Objekt" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "nur Branches von diesem Objekt ausgeben" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "Sortierung und Filterung sind unabhängig von Groß- und Kleinschreibung" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "für die Ausgabe zu verwendendes Format" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD wurde nicht unter \"refs/heads\" gefunden!" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "Die Optionen --column und --verbose sind inkompatibel." -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "Branchname erforderlich" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "zu losgelöstem HEAD kann keine Beschreibung hinterlegt werden" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Noch kein Commit in Branch '%s'." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "Branch '%s' nicht vorhanden." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "zu viele Branches für eine Kopieroperation angegeben" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "zu viele Argumente für eine Umbenennen-Operation angegeben" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "zu viele Argumente angegeben, um Upstream-Branch zu setzen" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -9879,40 +10065,43 @@ msgstr "" "Konnte keinen neuen Upstream-Branch von HEAD zu %s setzen, da dieser auf\n" "keinen Branch zeigt." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "Kein solcher Branch '%s'" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "Branch '%s' existiert nicht" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "" "zu viele Argumente angegeben, um Konfiguration zu Upstream-Branch zu " "entfernen" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "Konnte Konfiguration zu Upstream-Branch von HEAD nicht entfernen, da dieser\n" "auf keinen Branch zeigt." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"Die Optionen -a und -r bei 'git branch' können nicht gemeimsam mit einem " -"Branchnamen verwendet werden." +"Die Optionen -a und -r bei 'git branch' können nicht mit einem Branchnamen " +"verwendet werden.\n" +"Wollten Sie -a|-r --list <Muster> benutzen?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9933,7 +10122,7 @@ msgstr "Um ein Paket zu erstellen wird ein Repository benötigt." msgid "Need a repository to unbundle." msgstr "Zum Entpacken wird ein Repository benötigt." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9941,7 +10130,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <Art> | --textconv | --filters) [--path=<Pfad>] <Objekt>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9949,76 +10138,76 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "Nur eine Batch-Option erlaubt." -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<Art> kann sein: blob, tree, commit, tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "Objektart anzeigen" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "Objektgröße anzeigen" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "mit Rückgabewert 0 beenden, wenn kein Fehler aufgetreten ist" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "ansprechende Anzeige des Objektinhaltes" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "eine Textkonvertierung auf den Inhalt von Blob-Objekten ausführen" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "für Blob-Objekte, Filter auf Objekt-Inhalte ausführen" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "Blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "einen bestimmten Pfad für --textconv/--filters verwenden" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "-s und -t mit beschädigten Objekten erlauben" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "Ausgabe von --batch puffern" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" "Anzeige von Informationen und Inhalt von Objekten, gelesen von der Standard-" "Eingabe" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "" "Anzeige von Informationen über Objekte, gelesen von der Standard-Eingabe" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "symbolischen Verknüpfungen innerhalb des Repositories folgen (verwendet mit " "--batch oder --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "alle Objekte mit --batch oder --batch-check anzeigen" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "Ausgabe von --batch-all-objects nicht ordnen" @@ -10046,8 +10235,8 @@ msgstr "Dateinamen von der Standard-Eingabe lesen" msgid "terminate input and output records by a NUL character" msgstr "Einträge von Ein- und Ausgabe mit NUL-Zeichen abschließen" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "Fortschrittsanzeige unterdrücken" @@ -10140,9 +10329,9 @@ msgid "write the content to temporary files" msgstr "den Inhalt in temporäre Dateien schreiben" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "Zeichenkette" @@ -10155,92 +10344,115 @@ msgstr "" msgid "copy out the files from named stage" msgstr "Dateien von dem benannten Stand kopieren" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<Optionen>] <Branch>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<Optionen>] [<Branch>] -- <Datei>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<Optionen>] [<Branch>]" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<Optionen>] [--source=<Branch>] <Datei>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "Pfad '%s' hat nicht unsere Version." -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "Pfad '%s' hat nicht deren Version." -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "Pfad '%s' hat nicht alle notwendigen Versionen." -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "Pfad '%s' hat nicht die notwendigen Versionen." -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "Pfad '%s': kann nicht zusammenführen" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Konnte Merge-Ergebnis von '%s' nicht hinzufügen." -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "%d Merge-Konflikt wieder erstellt" +msgstr[1] "%d Merge-Konflikte wieder erstellt" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "%d Pfad von %s aktualisiert" +msgstr[1] "%d Pfade von %s aktualisiert" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "%d Pfad vom Index aktualisiert" +msgstr[1] "%d Pfade vom Index aktualisiert" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' kann nicht mit der Aktualisierung von Pfaden verwendet werden" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' kann nicht mit '%s' verwendet werden" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Kann nicht gleichzeitig Pfade aktualisieren und zu Branch '%s' wechseln" -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "Pfad '%s' ist nicht zusammengeführt." +msgid "neither '%s' or '%s' is specified" +msgstr "Weder '%s' noch '%s' ist angegeben" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "%d Merge-Konflikt wieder erstellt" -msgstr[1] "%d Merge-Konflikte wieder erstellt" +msgid "'%s' must be used when '%s' is not specified" +msgstr "'%s' kann nur genutzt werden, wenn '%s' nicht verwendet wird" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "%d Pfad von %s aktualisiert" -msgstr[1] "%d Pfade von %s aktualisiert" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' oder '%s' kann nicht mit %s verwendet werden" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "%d Pfad vom Index aktualisiert" -msgstr[1] "%d Pfade vom Index aktualisiert" +msgid "path '%s' is unmerged" +msgstr "Pfad '%s' ist nicht zusammengeführt." -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "Sie müssen zuerst die Konflikte in Ihrem aktuellen Index auflösen." -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10249,57 +10461,57 @@ msgstr "" "Kann nicht mit vorgemerkten Änderungen in folgenden Dateien fortsetzen:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "" "Zum Commit vorgemerkte Änderungen in den folgenden Dateien gehen eventuell " "verloren: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Kann \"reflog\" für '%s' nicht durchführen: %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD ist jetzt bei" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "Konnte HEAD nicht aktualisieren." -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Setze Branch '%s' neu\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Bereits auf '%s'\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Zu umgesetztem Branch '%s' gewechselt\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Zu neuem Branch '%s' gewechselt\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Zu Branch '%s' gewechselt\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... und %d weitere.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10322,7 +10534,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10349,24 +10561,28 @@ msgstr[1] "" " git branch <neuer-Branchname> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "interner Fehler im Revisionsgang" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "Vorherige Position von HEAD war" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Sie sind auf einem Branch, der noch nicht geboren ist" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "nur eine Referenz erwartet" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "nur eine Referenz erwartet, %d gegeben." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10376,154 +10592,214 @@ msgstr "" "Bitte benutzen Sie -- (und optional --no-guess), um diese\n" "eindeutig voneinander zu unterscheiden." -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "Ungültige Referenz: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "Referenz ist kein \"Tree\"-Objekt: %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "Ein Branch wird erwartet, Tag '%s' bekommen" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "Ein Branch wird erwartet, Remote-Branch '%s' bekommen" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "Ein Branch wird erwartet, '%s' bekommen" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "Ein Branch wird erwartet, Commit '%s' bekommen" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"Der Branch kann nicht während eines Merges gewechselt werden.\n" +"Ziehen Sie \"git merge --quit\" oder \"git worktree add\" in Betracht." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"Der Branch kann nicht während eines laufenden 'am'-Befehls gewechselt " +"werden.\n" +"Ziehen Sie \"git am --quit\" oder \"git worktree add\" in Betracht." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"Der Branch kann nicht während eines laufenden 'revert'-Befehls gewechselt " +"werden.\n" +"Ziehen Sie \"git rebase --quit\" oder \"git worktree add\" in Betracht." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"Der Branch kann nicht während eines laufenden 'cherry-pick'-Befehls " +"gewechselt werden.\n" +"Ziehen Sie \"git cherry-pick --quit\" oder \"git worktree add\" in Betracht." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"Der Branch kann nicht während eines laufenden 'revert'-Befehls gewechselt " +"werden.\n" +"Ziehen Sie \"git revert --quit\" oder \"git worktree add\" in Betracht." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "Sie wechseln den Branch während einer binären Suche" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "Pfade können nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' kann nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' kann nicht mit '%s' verwendet werden" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "'%s' kann nicht <Startpunkt> bekommen" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "Branch" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "Branch- oder Commit-Argument fehlt" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "einen neuen Branch erzeugen und auschecken" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "Fortschrittsanzeige erzwingen" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "einen Branch erstellen/umsetzen und auschecken" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "einen 3-Wege-Merge mit dem neuen Branch ausführen" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "das Reflog für den neuen Branch erzeugen" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "Stil" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "Konfliktstil (merge oder diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "HEAD bei benanntem Commit loslösen" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "Informationen zum Upstream-Branch für den neuen Branch setzen" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "Auschecken erzwingen (verwirft lokale Änderungen)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "neuer Branch" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "neuer Branch ohne Eltern-Commit" -#: builtin/checkout.c:1366 -msgid "checkout our version for unmerged files" -msgstr "unsere Variante für nicht zusammengeführte Dateien auschecken" - -#: builtin/checkout.c:1369 -msgid "checkout their version for unmerged files" -msgstr "ihre Variante für nicht zusammengeführte Dateien auschecken" - -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "Auschecken erzwingen (verwirft lokale Änderungen)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "einen 3-Wege-Merge mit dem neuen Branch ausführen" - -#: builtin/checkout.c:1375 builtin/merge.c:284 +#: builtin/checkout.c:1459 builtin/merge.c:288 msgid "update ignored files (default)" msgstr "ignorierte Dateien aktualisieren (Standard)" -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "Stil" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "Konfliktstil (merge oder diff3)" - -#: builtin/checkout.c:1381 -msgid "do not limit pathspecs to sparse entries only" -msgstr "keine Einschränkung bei Pfadspezifikationen zum partiellen Auschecken" - -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "kein zweites Erraten bei 'git checkout <kein-solcher-Branch>'" - -#: builtin/checkout.c:1385 +#: builtin/checkout.c:1462 msgid "do not check if another worktree is holding the given ref" msgstr "" "Prüfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis " "ausgecheckt wurde, deaktivieren" -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "Fortschrittsanzeige erzwingen" +#: builtin/checkout.c:1475 +msgid "checkout our version for unmerged files" +msgstr "unsere Variante für nicht zusammengeführte Dateien auschecken" -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "benutze Overlay-Modus (Standard)" +#: builtin/checkout.c:1478 +msgid "checkout their version for unmerged files" +msgstr "ihre Variante für nicht zusammengeführte Dateien auschecken" + +#: builtin/checkout.c:1482 +msgid "do not limit pathspecs to sparse entries only" +msgstr "keine Einschränkung bei Pfadspezifikationen zum partiellen Auschecken" -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Die Optionen -b, -B und --orphan schließen sich gegenseitig aus." -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p und --overlay schließen sich gegenseitig aus." -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "Bei der Option --track muss ein Branchname angegeben werden." -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "Kein Branchname; versuchen Sie -b." -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "Konnte %s nicht auflösen." + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "Sie müssen Pfad(e) zur Wiederherstellung angeben." + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "ungültige Pfadspezifikation" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "" "'%s' ist kein Commit und es kann kein Branch '%s' aus diesem erstellt werden." -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach nimmt kein Pfad-Argument '%s'" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10531,7 +10807,7 @@ msgstr "" "git checkout: --ours/--theirs, --force und --merge sind inkompatibel wenn\n" "Sie aus dem Index auschecken." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10563,6 +10839,69 @@ msgstr "" "bevorzugen möchten, z.B. 'origin', könnten Sie die Einstellung\n" "checkout.defaultRemote=origin in Ihrer Konfiguration setzen." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "Branch" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "einen neuen Branch erzeugen und auschecken" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "einen Branch erstellen/umsetzen und auschecken" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "das Reflog für den neuen Branch erzeugen" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "" +"Zweite Vermutung 'git checkout <kein-solcher-Branch>' (Standard)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "benutze Overlay-Modus (Standard)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "einen neuen Branch erzeugen und dahin wechseln" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "einen Branch erstellen/umsetzen und dahin wechseln" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "Zweite Vermutung 'git switch <kein-solcher-Branch>'" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "lokale Änderungen verwerfen" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "Von welcher Commit-Referenz ausgecheckt werden soll" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "Index wiederherstellen" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "das Arbeitsverzeichnis wiederherstellen (Standard)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "ignoriere nicht zusammengeführte Einträge" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "benutze Overlay-Modus" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10594,7 +10933,12 @@ msgstr "Würde Repository %s überspringen\n" msgid "failed to remove %s" msgstr "Fehler beim Löschen von %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "Konnte 'lstat' nicht für %s ausführen\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10607,7 +10951,7 @@ msgstr "" "foo - Element anhand eines eindeutigen Präfix auswählen\n" " - (leer) nichts auswählen\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10628,38 +10972,38 @@ msgstr "" "* - alle Elemente auswählen\n" " - (leer) Auswahl beenden\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Wie bitte (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Ignorier-Muster eingeben>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "WARNUNG: Kann keine Einträge finden die Muster entsprechen: %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Wählen Sie Einträge zum Löschen" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "'%s' löschen [y/N]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Tschüss.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10677,64 +11021,64 @@ msgstr "" "help - diese Meldung anzeigen\n" "? - Hilfe zur Auswahl mittels Eingabe anzeigen" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Befehle ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Was nun" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Würde das folgende Element entfernen:" msgstr[1] "Würde die folgenden Elemente entfernen:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Keine Dateien mehr zum Löschen, beende." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "keine Namen von gelöschten Dateien ausgeben" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "Aktion erzwingen" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "interaktives Clean" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "ganze Verzeichnisse löschen" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "Muster" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "<Muster> zu den Regeln für ignorierte Pfade hinzufügen" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "auch ignorierte Dateien löschen" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "nur ignorierte Dateien löschen" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "Die Optionen -x und -X können nicht gemeinsam verwendet werden." -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10742,7 +11086,7 @@ msgstr "" "clean.requireForce auf \"true\" gesetzt und weder -i, -n noch -f gegeben; " "\"clean\" verweigert" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10750,162 +11094,166 @@ msgstr "" "clean.requireForce standardmäßig auf \"true\" gesetzt und weder -i, -n noch -" "f gegeben; \"clean\" verweigert" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<Optionen>] [--] <Repository> [<Verzeichnis>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "kein Auschecken" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "ein Bare-Repository erstellen" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "ein Spiegelarchiv erstellen (impliziert --bare)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "von einem lokalen Repository klonen" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "lokal keine harten Verweise verwenden, immer Kopien" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "als verteiltes Repository einrichten" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "Pfadspezifikation" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "Submodule im Klon initialisieren" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "Anzahl der parallel zu klonenden Submodule" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "Vorlagenverzeichnis" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "Repository referenzieren" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "--reference nur während des Klonens benutzen" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "Name" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "<Name> statt 'origin' für Upstream-Repository verwenden" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "<Branch> auschecken, anstatt HEAD des Remote-Repositories" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "Tiefe" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "" "einen Klon mit unvollständiger Historie (shallow) in dieser Tiefe erstellen" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "Zeit" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "" "einen Klon mit unvollständiger Historie (shallow) seit einer bestimmten " "Zeit\n" "erstellen" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "Commit" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "" "die Historie eines Klons mit unvollständiger Historie (shallow) mittels\n" "Ausschluss eines Commits vertiefen" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "nur einen Branch klonen, HEAD oder --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "keine Tags klonen, und auch bei späteren Abrufen nicht beachten" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "jedes geklonte Submodul mit unvollständiger Historie (shallow)" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr ".git-Verzeichnis" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "Git-Verzeichnis vom Arbeitsverzeichnis separieren" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "Schlüssel=Wert" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "Konfiguration innerhalb des neuen Repositories setzen" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "serverspezifisch" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "Option übertragen" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "nur IPv4-Adressen benutzen" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "nur IPv6-Adressen benutzen" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "jedes geklonte Submodul nutzt seinen Remote-Tracking-Branch" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10913,147 +11261,147 @@ msgstr "" "Konnte keinen Verzeichnisnamen erraten.\n" "Bitte geben Sie ein Verzeichnis auf der Befehlszeile an." -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: Konnte Alternative für '%s' nicht hinzufügen: %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "Fehler beim Öffnen von '%s'" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s existiert und ist kein Verzeichnis" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "Konnte %s nicht lesen\n" +msgid "failed to start iterator over '%s'" +msgstr "Fehler beim Starten der Iteration über '%s'" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "Konnte '%s' nicht entfernen." -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "Konnte Verweis '%s' nicht erstellen" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "Konnte Datei nicht nach '%s' kopieren" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "Fehler beim Iterieren über '%s'" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "Fertig.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Klonen erfolgreich, Auschecken ist aber fehlgeschlagen.\n" "Sie können mit 'git status' prüfen, was ausgecheckt worden ist\n" -"und das Auschecken mit 'git checkout -f HEAD' erneut versuchen.\n" +"und das Auschecken mit 'git restore --source=HEAD :/' erneut versuchen.\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Konnte zu klonenden Remote-Branch %s nicht finden." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "kann %s nicht aktualisieren" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "Externer HEAD bezieht sich auf eine nicht existierende Referenz und kann " "nicht ausgecheckt werden.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "Arbeitsverzeichnis konnte nicht ausgecheckt werden" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "konnte Parameter nicht in Konfigurationsdatei schreiben" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "Kann \"repack\" zum Aufräumen nicht aufrufen" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "Kann temporäre \"alternates\"-Datei nicht entfernen" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Zu viele Argumente." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Sie müssen ein Repository zum Klonen angeben." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "Die Optionen --bare und --origin %s sind inkompatibel." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "Die Optionen --bare und --separate-git-dir sind inkompatibel." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "Repository '%s' existiert nicht." -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "Tiefe %s ist keine positive Zahl" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "Zielpfad '%s' existiert bereits und ist kein leeres Verzeichnis." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "Arbeitsverzeichnis '%s' existiert bereits." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "Konnte führende Verzeichnisse von '%s' nicht erstellen." -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "Konnte Arbeitsverzeichnis '%s' nicht erstellen" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klone in Bare-Repository '%s' ...\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klone nach '%s' ...\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -11061,45 +11409,45 @@ msgstr "" "'clone --recursive' ist nicht kompatibel mit --reference und --reference-if-" "able" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "Die Option --depth wird in lokalen Klonen ignoriert; benutzen Sie " "stattdessen file://" -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "" "--shallow-since wird in lokalen Klonen ignoriert; benutzen Sie stattdessen " "file://" -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" "--shallow-exclude wird in lokalen Klonen ignoriert; benutzen Sie stattdessen " "file://" -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "" "--filter wird in lokalen Klonen ignoriert; benutzen Sie stattdessen file://" -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "" "Quelle ist ein Repository mit unvollständiger Historie (shallow),\n" "ignoriere --local" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local wird ignoriert" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Remote-Branch %s nicht im Upstream-Repository %s gefunden" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Sie scheinen ein leeres Repository geklont zu haben." @@ -11148,7 +11496,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "doppelter Vorgänger %s ignoriert" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "Kein gültiger Objektname: %s" @@ -11176,13 +11524,13 @@ msgstr "Eltern-Commit" msgid "id of a parent commit object" msgstr "ID eines Eltern-Commit-Objektes." -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "Beschreibung" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "Commit-Beschreibung" @@ -11190,8 +11538,8 @@ msgstr "Commit-Beschreibung" msgid "read commit log message from file" msgstr "Commit-Beschreibung von Datei lesen" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "Commit mit GPG signieren" @@ -11237,81 +11585,87 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Andernfalls benutzen Sie bitte 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Andernfalls benutzen Sie bitte 'git cherry-pick --skip'\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Wenn Sie diesen Commit auslassen möchten, benutzen Sie:\n" +"Und dann nutzen Sie:\n" +"\n" +" git cherry-pick --continue\n" "\n" -" git reset\n" +"um das Cherry-Picking mit den übrigen Commits fortzusetzen.\n" +"Wenn dieser Commit übersprungen werden soll, nutzen Sie:\n" +"\n" +" git cherry-pick --skip\n" "\n" -"Benutzen Sie anschließend \"git cherry-pick --continue\", um die\n" -"Cherry-Pick-Operation mit den verbleibenden Commits fortzusetzen.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "Fehler beim Entpacken des Tree-Objektes von HEAD." -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "Konnte temporären Index nicht erstellen." -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "interaktives Hinzufügen fehlgeschlagen" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "Konnte temporären Index nicht aktualisieren." -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Konnte Haupt-Cache-Verzeichnis nicht aktualisieren" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "Konnte new_index Datei nicht schreiben" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "Kann keinen Teil-Commit durchführen, während ein Merge im Gange ist." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "" "Kann keinen Teil-Commit durchführen, während \"cherry-pick\" im Gange ist." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "Kann Index nicht lesen" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "Konnte temporäre Index-Datei nicht schreiben." -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "Commit '%s' fehlt Autor-Kopfbereich" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "Commit '%s' hat fehlerhafte Autor-Zeile" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "Fehlerhafter --author Parameter" -#: 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" @@ -11319,38 +11673,38 @@ msgstr "" "Konnte kein Kommentar-Zeichen auswählen, das nicht in\n" "der aktuellen Commit-Beschreibung verwendet wird." -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "Konnte Commit %s nicht nachschlagen" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lese Log-Nachricht von Standard-Eingabe)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "Konnte Log nicht von Standard-Eingabe lesen." -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "Konnte Log-Datei '%s' nicht lesen" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "Konnte SQUASH_MSG nicht lesen" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "Konnte MERGE_MSG nicht lesen" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "Konnte Commit-Vorlage nicht schreiben" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11365,7 +11719,7 @@ msgstr "" "\t%s\n" "und versuchen Sie es erneut.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11380,7 +11734,7 @@ msgstr "" "\t%s\n" "und versuchen Sie es erneut.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11390,7 +11744,7 @@ msgstr "" "die mit '%c' beginnen, werden ignoriert, und eine leere Beschreibung\n" "bricht den Commit ab.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11403,155 +11757,155 @@ msgstr "" "entfernen.\n" "Eine leere Beschreibung bricht den Commit ab.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAutor: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sDatum: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sCommit-Ersteller: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "Kann Index nicht lesen" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Fehler beim Erzeugen der \"Tree\"-Objekte" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "" "Bitte liefern Sie eine Beschreibung entweder mit der Option -m oder -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author '%s' ist nicht im Format 'Name <E-Mail>' und stimmt mit keinem " "vorhandenen Autor überein" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Ungültiger ignored-Modus '%s'." -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ungültiger Modus '%s' für unversionierte Dateien" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "Die Optionen --long und -z sind inkompatibel." -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "" "Die Optionen --reset-author und --author können nicht gemeinsam verwendet " "werden." -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "Sie haben nichts für \"--amend\"." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Ein Merge ist im Gange -- kann \"--amend\" nicht ausführen." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "\"cherry-pick\" ist im Gange -- kann \"--amend\" nicht ausführen." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "" "Die Optionen --squash und --fixup können nicht gemeinsam verwendet werden." -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Es kann nur eine Option von -c/-C/-F/--fixup verwendet werden." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "Die Option -m kann nicht mit -c/-C/-F kombiniert werden." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "Die Option --reset--author kann nur mit -C, -c oder --amend verwendet werden." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Es kann nur eine Option von --include/--only/--all/--interactive/--patch " "verwendet werden." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "" "Die Optionen --include und --only können nur mit der Angabe von Pfaden " "verwendet werden." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "Pfade '%s ...' mit -a sind nicht sinnvoll" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "Status im Kurzformat anzeigen" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "Branchinformationen anzeigen" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "Stashinformationen anzeigen" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "voraus/hinterher-Werte berechnen" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "Version" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "maschinenlesbare Ausgabe" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "Status im Langformat anzeigen (Standard)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "Einträge mit NUL-Zeichen abschließen" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "Modus" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "unversionierte Dateien anzeigen, optionale Modi: all, normal, no. (Standard: " "all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11559,11 +11913,11 @@ msgstr "" "ignorierte Dateien anzeigen, optionale Modi: traditional, matching, no. " "(Standard: traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "wann" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11571,239 +11925,258 @@ msgstr "" "Änderungen in Submodulen ignorieren, optional wenn: all, dirty, untracked. " "(Standard: all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "unversionierte Dateien in Spalten auflisten" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "keine Umbenennungen ermitteln" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "Umbenennungen erkennen, optional Index für Gleichheit setzen" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" "Nicht unterstützte Kombination von ignored und untracked-files Argumenten." -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "Zusammenfassung nach erfolgreichem Commit unterdrücken" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "Unterschiede in Commit-Beschreibungsvorlage anzeigen" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Optionen für Commit-Beschreibung" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "Beschreibung von Datei lesen" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "Autor" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "Autor eines Commits überschreiben" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "Datum" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "Datum eines Commits überschreiben" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "Commit" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "Beschreibung des angegebenen Commits wiederverwenden und editieren" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "Beschreibung des angegebenen Commits wiederverwenden" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "eine automatisch zusammengesetzte Beschreibung zum Nachbessern des " "angegebenen Commits verwenden" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "eine automatisch zusammengesetzte Beschreibung beim \"squash\" des " "angegebenen Commits verwenden" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "Sie als Autor des Commits setzen (verwendet mit -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "'Signed-off-by:'-Zeile hinzufügen" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "angegebene Vorlagendatei verwenden" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "Bearbeitung des Commits erzwingen" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "Status in die Commit-Beschreibungsvorlage einfügen" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Optionen für Commit-Inhalt" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "alle geänderten Dateien committen" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "die angegebenen Dateien zusätzlich zum Commit vormerken" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "interaktives Hinzufügen von Dateien" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "interaktives Hinzufügen von Änderungen" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "nur die angegebenen Dateien committen" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "Hooks pre-commit und commit-msg umgehen" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "anzeigen, was committet werden würde" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "vorherigen Commit ändern" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "\"post-rewrite hook\" umgehen" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "Aufzeichnung einer leeren Änderung erlauben" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "Aufzeichnung einer Änderung mit einer leeren Beschreibung erlauben" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Beschädigte MERGE_HEAD-Datei (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "Konnte MERGE_MODE nicht lesen" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "Konnte Commit-Beschreibung nicht lesen: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Commit aufgrund leerer Beschreibung abgebrochen.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Commit abgebrochen; Sie haben die Beschreibung nicht editiert.\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "Das Repository wurde aktualisiert, aber die \"new_index\"-Datei\n" "konnte nicht geschrieben werden. Prüfen Sie, dass Ihre Festplatte nicht\n" "voll und Ihr Kontingent nicht aufgebraucht ist und führen Sie\n" -"anschließend \"git reset HEAD\" zu Wiederherstellung aus." +"anschließend \"git restore HEAD --staged :/\" zur Wiederherstellung aus." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <Objektverzeichnis>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <Objektverzeichnis>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <Objektverzeichnis>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <Objektverzeichnis>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <Objektverzeichnis>] [--append] [--" -"reachable|--stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <Objektverzeichnis>] [--append|split] " +"[--reachable|--stdin-packs|--stdin-commits] <Split-Optionen>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "Verzeichnis" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "Das Objektverzeichnis zum Speichern des Graphen." -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" +"Wenn der Commit-Graph aufgeteilt ist, nur die Datei an der Spitze überprüfen" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "Konnte Commit-Graph '%s' nicht öffnen." -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "Durchlauf auf allen Referenzen beginnen" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "durch Standard-Eingabe gelistete Pack-Indexe nach Commits scannen" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "Lauf bei Commits beginnen, die über die Standard-Eingabe gelistet sind" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" "alle Commits einschließen, die sich bereits in der Commit-Graph-Datei " "befinden" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "Erlaube das Schreiben einer inkrementellen Commit-Graph-Datei" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" +"Maximale Anzahl von Commits in einem aufgeteilten Commit-Graph ohne Basis" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "" +"Maximales Verhältnis zwischen zwei Ebenen eines aufgeteilten Commit-Graph" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "" "Benutzen Sie mindestens eins von --reachable, --stdin-commits, oder --stdin-" @@ -11813,7 +12186,7 @@ msgstr "" msgid "git config [<options>]" msgstr "git config [<Optionen>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "nicht erkanntes --type Argument, %s" @@ -11918,7 +12291,7 @@ msgstr "die Farbeinstellung finden: Slot [Standard-Ausgabe-ist-Terminal]" msgid "Type" msgstr "Typ" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "Wert ist mit diesem Typ angegeben" @@ -11964,7 +12337,7 @@ msgstr "" "Ursprung der Konfiguration anzeigen (Datei, Standard-Eingabe, Blob, " "Befehlszeile)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "Wert" @@ -12263,7 +12636,7 @@ msgstr "nur Tags, die <Muster> entsprechen, betrachten" msgid "do not consider tags matching <pattern>" msgstr "keine Tags betrachten, die <Muster> entsprechen" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "gekürztes Commit-Objekt anzeigen, wenn sonst nichts zutrifft" @@ -12444,165 +12817,202 @@ msgstr "kein <Tool> für --tool=<Tool> angegeben" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "kein <Programm> für --extcmd=<Programm> angegeben" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <Optionen> <Umgebungsvariable>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "Art" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "Standard für git_env_*(...), um darauf zurückzugreifen" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "Ausgaben unterdrücken; nur git_env_*() Werte als Exit-Code verwenden" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"Option `--default' erwartet einen booleschen Wert bei `--type=bool', nicht `" +"%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"Option `--default' erwartet einen vorzeichenlosen Long-Wert bei `--" +"type=ulong`, nicht `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "Fortschritt nach <n> Objekten anzeigen" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "Behandlung von signierten Tags wählen" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "Behandlung von Tags wählen, die gefilterte Objekte markieren" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" +"Auswählen der Behandlung von Commit-Beschreibungen bei wechselndem Encoding" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Kennzeichen in diese Datei schreiben" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Kennzeichen von dieser Datei importieren" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "künstlich einen Tag-Ersteller erzeugen, wenn das Tag keinen hat" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "für jeden Commit das gesamte Verzeichnis ausgeben" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "die \"done\"-Funktion benutzen, um den Datenstrom abzuschließen" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Ausgabe von Blob-Daten überspringen" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "Refspec" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Refspec auf exportierte Referenzen anwenden" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "Ausgabe anonymisieren" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "Eltern, die nicht im Fast-Export-Stream sind, anhand ihrer Objekt-ID " "referenzieren" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "originale Objekt-IDs von Blobs/Commits anzeigen" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<Optionen>] [<Repository> [<Refspec>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<Optionen>] <Gruppe>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<Optionen>] [(<Repository> | <Gruppe>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<Optionen>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "fordert von allen Remote-Repositories an" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "an .git/FETCH_HEAD anhängen, anstatt zu überschreiben" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "Pfad des Programms zum Hochladen von Paketen auf der Gegenseite" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "das Überschreiben einer lokalen Referenz erzwingen" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "von mehreren Remote-Repositories anfordern" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "alle Tags und verbundene Objekte anfordern" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "nicht alle Tags anfordern (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "Anzahl der parallel anzufordernden Submodule" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "" "Remote-Tracking-Branches entfernen, die sich nicht mehr im Remote-Repository " "befinden" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "lokale Tags entfernen, die sich nicht mehr im Remote-Repository befinden, " "und geänderte Tags aktualisieren" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "bei-Bedarf" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "rekursive Anforderungen von Submodulen kontrollieren" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "heruntergeladenes Paket behalten" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "Aktualisierung der \"HEAD\"-Referenz erlauben" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "" "die Historie eines Klons mit unvollständiger Historie (shallow) vertiefen" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "" "die Historie eines Klons mit unvollständiger Historie (shallow) auf " "Zeitbasis\n" "vertiefen" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "zu einem vollständigen Repository konvertieren" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "dies an die Ausgabe der Submodul-Pfade voranstellen" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12610,89 +13020,121 @@ msgstr "" "Standard für die rekursive Anforderung von Submodulen (geringere Priorität\n" "als Konfigurationsdateien)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "Referenzen, die .git/shallow aktualisieren, akzeptieren" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "Refmap" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "Refmap für 'fetch' angeben" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "" "ausgeben, dass wir nur Objekte haben, die von diesem Objekt aus erreichbar " "sind" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "Führe 'gc --auto' nach \"fetch\" aus" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "Prüfe auf erzwungene Aktualisierungen in allen aktualisierten Branches" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "Konnte Remote-Referenz von HEAD nicht finden." -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "Konfiguration fetch.output enthält ungültigen Wert %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "Objekt %s nicht gefunden" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[aktuell]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[zurückgewiesen]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "kann \"fetch\" im aktuellen Branch nicht ausführen" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[Tag Aktualisierung]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "kann lokale Referenz nicht aktualisieren" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "würde bestehende Tags verändern" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[neues Tag]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[neuer Branch]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[neue Referenz]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "Aktualisierung erzwungen" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "kein Vorspulen" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"Normalerweise zeigt 'fetch' welche Branches eine erzwungene Aktualisierung\n" +"hatten, aber diese Überprüfung wurde deaktiviert. Um diese wieder zu\n" +"aktivieren, nutzen Sie die Option '--show-forced-updated' oder führen\n" +"Sie 'git config fetch.showForcedUpdates true' aus." + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"Es brauchte %.2f Sekunden, um erzwungene Aktualisierungen zu überprüfen.\n" +"Sie können die Option '--no-show-forced-updates' benutzen oder\n" +"'git config fetch.showForcedUpdates false' ausführen, um diese Überprüfung\n" +"zu umgehen.\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" @@ -12700,12 +13142,12 @@ msgstr "" "unvollständiger\n" "Historie (shallow) nicht aktualisiert werden dürfen." -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "Von %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12714,52 +13156,52 @@ msgstr "" "Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n" "'git remote prune %s', um jeden älteren, widersprüchlichen Branch zu löschen." -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s wird unreferenziert)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s wurde unreferenziert)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[gelöscht]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(nichts)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Der \"fetch\" in den aktuellen Branch %s von einem Nicht-Bare-Repository " "wurde verweigert." -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Option \"%s\" Wert \"%s\" ist nicht gültig für %s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Option \"%s\" wird ignoriert für %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "Fordere an von %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Konnte nicht von %s anfordern" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12767,7 +13209,7 @@ msgstr "" "--filter kann nur mit den Remote-Repositories verwendet werden,\n" "die in core.partialClone konfiguriert sind." -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12776,49 +13218,49 @@ msgstr "" "oder den Namen des Remote-Repositories an, von welchem neue\n" "Commits angefordert werden sollen." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "Sie müssen den Namen des Tags angeben." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Negative Tiefe wird von --deepen nicht unterstützt." -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen und --depth schließen sich gegenseitig aus" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "" "Die Optionen --depth und --unshallow können nicht gemeinsam verwendet werden." -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "" -"Die Option --unshallow kann nicht in einem Repository mit unvollständiger " +"Die Option --unshallow kann nicht in einem Repository mit vollständiger " "Historie verwendet werden." -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "fetch --all akzeptiert kein Repository als Argument" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kann nicht mit Refspecs verwendet werden." -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n" "von Refspecs verwendet werden." -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12889,7 +13331,7 @@ msgstr "Platzhalter als Tcl-String formatieren" msgid "show only <n> matched refs" msgstr "nur <n> passende Referenzen anzeigen" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "Formatfarben beachten" @@ -13057,7 +13499,7 @@ msgstr "Prüfe Objekt-Verzeichnisse" msgid "Checking %s link" msgstr "Prüfe %s Verknüpfung" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "Ungültiger Objekt-Typ %s" @@ -13142,7 +13584,7 @@ msgstr "Fortschrittsanzeige anzeigen" msgid "show verbose names for reachable objects" msgstr "ausführliche Namen für erreichbare Objekte anzeigen" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Prüfe Objekte" @@ -13175,7 +13617,7 @@ msgstr "Fehler beim Parsen von '%s' mit dem Wert '%s'" msgid "cannot stat '%s'" msgstr "Kann '%s' nicht lesen" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "kann '%s' nicht lesen" @@ -13255,7 +13697,7 @@ msgstr "" "\"git gc\" wird bereits auf Maschine '%s' pid %<PRIuMAX> ausgeführt\n" "(benutzen Sie --force falls nicht)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13280,266 +13722,266 @@ msgstr "ungültige Anzahl von Threads (%d) für %s angegeben" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "keine Unterstützung von Threads, '%s' wird ignoriert" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchführen" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "Schalter '%c' erwartet einen numerischen Wert" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "im Index anstatt im Arbeitsverzeichnis suchen" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "auch in Inhalten finden, die nicht von Git verwaltet werden" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "in versionierten und unversionierten Dateien suchen" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "Dateien, die über '.gitignore' angegeben sind, ignorieren" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "rekursive Suche in jedem Submodul" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "Zeilen ohne Übereinstimmungen anzeigen" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "Übereinstimmungen unabhängig von Groß- und Kleinschreibung finden" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "nur ganze Wörter suchen" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "binäre Dateien als Text verarbeiten" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "keine Muster in Binärdateien finden" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "binäre Dateien mit \"textconv\"-Filtern verarbeiten" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "in Unterverzeichnissen suchen (Standard)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "höchstens <Tiefe> Ebenen durchlaufen" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "erweiterte reguläre Ausdrücke aus POSIX verwenden" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "grundlegende reguläre Ausdrücke aus POSIX verwenden (Standard)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "Muster als feste Zeichenketten interpretieren" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "Perl-kompatible reguläre Ausdrücke verwenden" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "Zeilennummern anzeigen" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "Nummer der Spalte des ersten Treffers anzeigen" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "keine Dateinamen anzeigen" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "Dateinamen anzeigen" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "Dateinamen relativ zum Projektverzeichnis anzeigen" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "nur Dateinamen anzeigen anstatt übereinstimmende Zeilen" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "Synonym für --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "nur die Dateinamen ohne Übereinstimmungen anzeigen" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "NUL-Zeichen nach Dateinamen ausgeben" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "nur übereinstimmende Teile der Zeile anzeigen" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "anstatt der Zeilen, die Anzahl der übereinstimmenden Zeilen anzeigen" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "Übereinstimmungen hervorheben" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "" "eine Leerzeile zwischen Übereinstimmungen in verschiedenen Dateien ausgeben" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "den Dateinamen nur einmal oberhalb der Übereinstimmungen aus dieser Datei " "anzeigen" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "<n> Zeilen vor und nach den Übereinstimmungen anzeigen" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "<n> Zeilen vor den Übereinstimmungen anzeigen" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "<n> Zeilen nach den Übereinstimmungen anzeigen" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "<n> Threads benutzen" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "Kurzform für -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "eine Zeile mit dem Funktionsnamen vor Übereinstimmungen anzeigen" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "die umgebende Funktion anzeigen" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "Muster von einer Datei lesen" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "<Muster> finden" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "Muster kombinieren, die mit -e angegeben wurden" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "Übereinstimmungen nur durch Beendigungsstatus anzeigen" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" "nur Übereinstimmungen von Dateien anzeigen, die allen Mustern entsprechen" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "geparstes Verzeichnis für \"grep\"-Ausdruck anzeigen" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "Anzeigeprogramm" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "Dateien mit Übereinstimmungen im Anzeigeprogramm anzeigen" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "den Aufruf von grep(1) erlauben (von dieser Programmversion ignoriert)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "Kein Muster angegeben." -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index oder --untracked können nicht mit Commits verwendet werden" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "Konnte Commit nicht auflösen: %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "Ungültige Kombination von Optionen, --threads wird ignoriert." -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "Keine Unterstützung für Threads, --threads wird ignoriert." -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "ungültige Anzahl von Threads angegeben (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "" "Die Option --open-files-in-pager kann nur innerhalb des " "Arbeitsverzeichnisses verwendet werden." -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "Die Option wird mit --recurse-submodules nicht unterstützt." -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached und --untracked können nicht mit --no-index verwendet werden." -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "" "--[no-]exclude-standard kann nicht mit versionierten Inhalten verwendet " "werden." -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "--cached und \"Tree\"-Objekte angegeben" @@ -13556,10 +13998,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "Art" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "Art des Objektes" @@ -13676,12 +14114,12 @@ msgstr "kein Handbuch-Betrachter konnte mit dieser Anfrage umgehen" msgid "no info viewer handled the request" msgstr "kein Informations-Betrachter konnte mit dieser Anfrage umgehen" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "Für '%s' wurde der Alias '%s' angelegt." -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "Ungültiger alias.%s String: %s" @@ -13695,291 +14133,286 @@ msgstr "Verwendung: %s%s" msgid "'git help config' for more information" msgstr "'git help config' für weitere Informationen" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "Objekt-Typen passen bei %s nicht zusammen" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "konnte erwartetes Objekt %s nicht empfangen" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "Objekt %s: erwarteter Typ %s, %s gefunden" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "kann %d Byte nicht lesen" msgstr[1] "kann %d Bytes nicht lesen" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "zu frühes Dateiende" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "Fehler beim Lesen der Eingabe" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "verwendete mehr Bytes als verfügbar waren" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "Paket ist zu groß für die aktuelle Definition von off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "Paket überschreitet die maximal erlaubte Größe" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "konnte '%s' nicht erstellen" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "Kann Paketdatei '%s' nicht öffnen" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "Paketsignatur stimmt nicht überein" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "Paketversion %<PRIu32> nicht unterstützt" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "Paket hat ein ungültiges Objekt bei Versatz %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "Dekomprimierung gab %d zurück" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "Wert für Versatz bei Differenzobjekt übergelaufen" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "" "Wert für Versatz bei Differenzobjekt liegt außerhalb des gültigen Bereichs" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "Unbekannter Objekt-Typ %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "Kann Paketdatei %s nicht lesen" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "frühzeitiges Ende der Paketdatei, vermisse %<PRIuMAX> Byte" msgstr[1] "frühzeitiges Ende der Paketdatei, vermisse %<PRIuMAX> Bytes" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "ernsthafte Inkonsistenz nach Dekomprimierung" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "SHA1 KOLLISION MIT %s GEFUNDEN !" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "kann %s nicht lesen" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "Kann existierende Informationen zu Objekt %s nicht lesen." -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "Kann existierendes Objekt %s nicht lesen." -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "ungültiges Blob-Objekt %s" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "fsck Fehler in gepacktem Objekt" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Nicht alle Kind-Objekte von %s sind erreichbar" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "Konnte Dateiunterschied nicht anwenden" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Empfange Objekte" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Indiziere Objekte" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "Paket ist beschädigt (SHA1 unterschiedlich)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "kann Paketdatei nicht lesen" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "Paketende enthält nicht verwendbaren Inhalt" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "Fehler beim Ausführen von \"parse_pack_objects()\"" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Löse Unterschiede auf" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "kann Thread nicht erzeugen: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "Fehler beim Auflösen der Unterschiede" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "abgeschlossen mit %d lokalem Objekt" msgstr[1] "abgeschlossen mit %d lokalen Objekten" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Unerwartete Prüfsumme für %s (Festplattenfehler?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "Paket hat %d unaufgelösten Unterschied" msgstr[1] "Paket hat %d unaufgelöste Unterschiede" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "Konnte angehängtes Objekt (%d) nicht komprimieren" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "lokales Objekt %s ist beschädigt" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "Kann %s Datei '%s' nicht schreiben." -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "Kann eben geschriebene %s Datei '%s' nicht schließen." -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "Fehler beim Schließen der Paketdatei" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "Kann Paketdatei nicht speichern" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "Kann Indexdatei nicht speichern" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "\"pack.indexversion=%<PRIu32>\" ist ungültig" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kann existierende Paketdatei '%s' nicht öffnen" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kann existierende Indexdatei für Paket '%s' nicht öffnen" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "kein Unterschied: %d Objekt" msgstr[1] "kein Unterschied: %d Objekte" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "Länge der Objekt-Liste = %d: %lu Objekt" msgstr[1] "Länge der Objekt-Liste = %d: %lu Objekte" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "Kann nicht zurück zum Arbeitsverzeichnis wechseln" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "%s ist ungültig" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden." -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin erfordert ein Git-Repository" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben." -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "fsck Fehler beim Packen von Objekten" @@ -14074,17 +14507,17 @@ msgstr "Berechtigungen" msgid "specify that the git repository is to be shared amongst several users" msgstr "angeben, dass das Git-Repository mit mehreren Benutzern geteilt wird" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "kann Verzeichnis %s nicht erstellen" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "kann nicht in Verzeichnis %s wechseln" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -14093,12 +14526,12 @@ msgstr "" "%s (oder --work-tree=<Verzeichnis>) nicht erlaubt ohne Spezifizierung von %s " "(oder --git-dir=<Verzeichnis>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Kann nicht auf Arbeitsverzeichnis '%s' zugreifen." -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -14106,61 +14539,61 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<Token>[(=|:)<Wert>])...] [<Datei>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "vorhandene Dateien direkt bearbeiten" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "kürzt leere Anhänge" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "wo der neue Anhang platziert wird" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "Aktion, wenn Anhang bereits existiert" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "Aktion, wenn Anhang fehlt" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "nur Anhänge ausgeben" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "Regeln aus Konfiguration nicht anwenden" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "durch Leerzeichen fortgesetzte Werte verbinden" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "Optionen für das Parsen setzen" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "--- nicht speziell behandeln" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "Anhang" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "Anhang/Anhänge hinzufügen" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "" "Die Optionen --trailer und --only-input können nicht gemeinsam verwendet " "werden." -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "keine Datei zur direkten Bearbeitung angegeben" @@ -14172,113 +14605,113 @@ msgstr "git log [<Optionen>] [<Commitbereich>] [[--] <Pfad>...]" msgid "git show [<options>] <object>..." msgstr "git show [<Optionen>] <Objekt>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "Ungültige Option für --decorate: %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "Quelle anzeigen" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "\"mailmap\"-Datei verwenden" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "\"decorate\" nur bei Referenzen anwenden, die <Muster> entsprechen" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "\"decorate\" nicht bei Referenzen anwenden, die <Muster> entsprechen" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "decorate-Optionen" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "Verarbeitet nur Zeilen im Bereich n,m in der Datei, gezählt von 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "letzte Ausgabe: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: ungültige Datei" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "Konnte Objekt %s nicht lesen." -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "Unbekannter Typ: %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "format.headers ohne Wert" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "Name des Ausgabeverzeichnisses ist zu lang." -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "Kann Patch-Datei %s nicht öffnen" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "Brauche genau einen Commit-Bereich." -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "Kein Commit-Bereich." -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "Anschreiben benötigt E-Mail-Format" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "Fehler beim Erstellen der Datei für das Anschreiben." -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "ungültiges in-reply-to: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<Optionen>] [<seit> | <Commitbereich>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "Zwei Ausgabeverzeichnisse?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "Unbekannter Commit %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "Konnte '%s' nicht als gültige Referenz auflösen." -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "Konnte keine exakte Merge-Basis finden." -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -14289,276 +14722,272 @@ msgstr "" "'git branch --set-upstream-to', um einem Remote-Branch zu folgen.\n" "Oder geben Sie den Basis-Commit mit '--base=<Basis-Commit-Id>' manuell an." -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "Fehler beim Finden einer exakten Merge-Basis." -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "Basis-Commit sollte der Vorgänger der Revisionsliste sein." -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "Basis-Commit sollte nicht in der Revisionsliste enthalten sein." -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "kann Patch-Id nicht lesen" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "Fehler beim Ableiten des range-diff-Bereichs." -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "[PATCH n/m] auch mit einzelnem Patch verwenden" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "[PATCH] auch mit mehreren Patches verwenden" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "Ausgabe der Patches in Standard-Ausgabe" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "ein Deckblatt erzeugen" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "einfache Nummernfolge für die Namen der Ausgabedateien verwenden" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "Dateiendung" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "<Dateiendung> anstatt '.patch' verwenden" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "die Nummerierung der Patches bei <n> anstatt bei 1 beginnen" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "die Serie als n-te Fassung kennzeichnen" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "[RFC PATCH] anstatt [PATCH] verwenden" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "[<Präfix>] anstatt [PATCH] verwenden" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "erzeugte Dateien in <Verzeichnis> speichern" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "[PATCH] nicht entfernen/hinzufügen" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "keine binären Unterschiede ausgeben" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "Hash mit Nullen in \"From\"-Header ausgeben" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "" "keine Patches einschließen, die einem Commit im Upstream-Branch entsprechen" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "Patchformat anstatt des Standards anzeigen (Patch + Zusammenfassung)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "E-Mail-Einstellungen" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "Header" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "E-Mail-Header hinzufügen" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "E-Mail" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "\"To:\"-Header hinzufügen" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "\"Cc:\"-Header hinzufügen" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "Ident" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "\"From\"-Adresse auf <Ident> setzen (oder Ident des Commit-Erstellers, wenn " "fehlend)" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "aus erster E-Mail eine Antwort zu <message-id> machen" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "Grenze" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "den Patch anhängen" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "den Patch direkt in die Nachricht einfügen" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "Nachrichtenverkettung aktivieren, Stile: shallow, deep" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "Signatur" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "eine Signatur hinzufügen" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "Basis-Commit" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "erforderliche Revisions-Informationen der Patch-Serie hinzufügen" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "eine Signatur aus einer Datei hinzufügen" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "keine Dateinamen der Patches anzeigen" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "Forschrittsanzeige während der Erzeugung der Patches" -#: builtin/log.c:1606 -msgid "rev" -msgstr "Commit" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" "Änderungen gegenüber <Commit> im Deckblatt oder einzelnem Patch anzeigen" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" "Änderungen gegenüber <Refspec> im Deckblatt oder einzelnem Patch anzeigen" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "Prozentsatz mit welchem Erzeugung gewichtet wird" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "Ungültige Identifikationszeile: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "-n und -k schließen sich gegenseitig aus." -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc und -k schließen sich gegenseitig aus." -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "Die Option --name-only kann nicht verwendet werden." -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "Die Option --name-status kann nicht verwendet werden." -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "Die Option --check kann nicht verwendet werden." -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "Standard-Ausgabe oder Verzeichnis, welches von beidem?" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff erfordert --cover-letter oder einzelnen Patch." -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Interdiff:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff gegen v%d:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor erfordert --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff erfordert --cover-letter oder einzelnen Patch." -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Range-Diff:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Range-Diff gegen v%d:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "Konnte Signatur-Datei '%s' nicht lesen" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Erzeuge Patches" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "Fehler beim Erstellen der Ausgabedateien." -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<Upstream> [<Branch> [<Limit>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14689,7 +15118,7 @@ msgstr "" msgid "do not print remote URL" msgstr "URL des Remote-Repositories nicht ausgeben" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "Programm" @@ -14716,7 +15145,7 @@ msgstr "url.<Basis>.insteadOf berücksichtigen" #: builtin/ls-remote.c:72 msgid "exit with exit code 2 if no matching refs are found" msgstr "" -"mit Rückkehrwert 2 beenden, wenn keine übereinstimmenden Referenzen\n" +"mit Exit-Code 2 beenden, wenn keine übereinstimmenden Referenzen\n" "gefunden wurden" #: builtin/ls-remote.c:75 @@ -14766,190 +15195,194 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "Leere mbox: '%s'" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<Optionen>] [<Commit>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "Schalter 'm' erfordert einen Wert." -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "Option `%s' erfordert einen Wert." -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Konnte Merge-Strategie '%s' nicht finden.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Verfügbare Strategien sind:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Verfügbare benutzerdefinierte Strategien sind:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "keine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "eine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(Synonym für --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "(höchstens <n>) Einträge von \"shortlog\" zur Beschreibung des Merge-Commits " "hinzufügen" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "einen einzelnen Commit anstatt eines Merges erzeugen" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "einen Commit durchführen, wenn der Merge erfolgreich war (Standard)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "Bearbeitung der Beschreibung vor dem Commit" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "Vorspulen erlauben (Standard)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "abbrechen, wenn kein Vorspulen möglich ist" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "den genannten Commit auf eine gültige GPG-Signatur überprüfen" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "Strategie" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "zu verwendende Merge-Strategie" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "Option=Wert" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "Option für ausgewählte Merge-Strategie" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "" "Commit-Beschreibung zusammenführen (für einen Merge, der kein Vorspulen war)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "den sich im Gange befindlichen Merge abbrechen" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort, aber Index und Arbeitsverzeichnis unverändert lassen" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "den sich im Gange befindlichen Merge fortsetzen" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "erlaube das Zusammenführen von nicht zusammenhängenden Historien" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "commit-msg Hook überprüfen" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "Konnte \"stash\" nicht ausführen." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "\"stash\" fehlgeschlagen" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "kein gültiges Objekt: %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree fehlgeschlagen" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (nichts zu quetschen)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Quetsche Commit -- HEAD wird nicht aktualisiert\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Keine Merge-Commit-Beschreibung -- HEAD wird nicht aktualisiert\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' zeigt auf keinen Commit" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Ungültiger branch.%s.mergeoptions String: %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Es wird nur der Merge von zwei Branches behandelt." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Unbekannte Option für merge-recursive: -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "konnte %s nicht schreiben" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "konnte nicht von '%s' lesen" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Merge wurde nicht committet; benutzen Sie 'git commit', um den Merge " "abzuschließen.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14960,11 +15393,11 @@ msgstr "" "Upstream-Branch mit einem Thema-Branch zusammenführt.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Eine leere Commit-Beschreibung bricht den Commit ab.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14973,71 +15406,75 @@ msgstr "" "Zeilen, die mit '%c' beginnen, werden ignoriert,\n" "und eine leere Beschreibung bricht den Commit ab.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Leere Commit-Beschreibung" -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Wunderbar.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Automatischer Merge fehlgeschlagen; beheben Sie die Konflikte und committen " "Sie dann das Ergebnis.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "Sie befinden sich auf keinem Branch." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "Kein Remote-Repository für den aktuellen Branch." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "" "Es ist kein Standard-Upstream-Branch für den aktuellen Branch definiert." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Kein Remote-Tracking-Branch für %s von %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Fehlerhafter Wert '%s' in Umgebungsvariable '%s'" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "nichts was wir in %s zusammenführen können: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "nichts was wir zusammenführen können" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort akzeptiert keine Argumente" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Es gibt keinen Merge abzubrechen (MERGE_HEAD fehlt)" -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit erwartet keine Argumente" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue erwartet keine Argumente" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Es ist kein Merge im Gange (MERGE_HEAD fehlt)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15045,7 +15482,7 @@ msgstr "" "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert).\n" "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15053,96 +15490,100 @@ msgstr "" "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert).\n" "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "Sie können --squash nicht mit --no-ff kombinieren." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "Sie können --squash nicht mit --commit kombinieren." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Kein Commit angegeben und merge.defaultToUpstream ist nicht gesetzt." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "" "Bin auf einem Commit, der noch geboren wird; kann \"squash\" nicht ausführen." -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Nicht vorzuspulender Commit kann nicht in einem leeren Branch verwendet " "werden." -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - nichts was wir zusammenführen können" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Kann nur exakt einen Commit in einem leeren Branch zusammenführen." -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "Verweigere den Merge von nicht zusammenhängenden Historien." -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Bereits aktuell." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Aktualisiere %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Probiere wirklich trivialen \"in-index\"-Merge ...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "Nein.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Bereits aktuell." -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "Vorspulen nicht möglich, breche ab." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Rücklauf des Verzeichnisses bis zum Ursprung ...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Probiere Merge-Strategie %s ...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Keine Merge-Strategie behandelt diesen Merge.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Merge mit Strategie %s fehlgeschlagen.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Benutzen Sie \"%s\", um die Auflösung per Hand vorzubereiten.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -15276,22 +15717,38 @@ msgid "allow creation of more than one tree" msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<Verzeichnis>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<Verzeichnis>] (write|verify|expire|" +"repack --batch-size=<Größe>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" "Objekt-Verzeichnis, welches Paare von Packdateien und pack-index enthält" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"Während des Umpackens, sammle Paket-Dateien von geringerer Größe in " +"einenStapel, welcher größer ist als diese Größe" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "Zu viele Argumente." -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "Option --batch-size ist nur für den Unterbefehl 'repack'" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "Nicht erkanntes Verb: %s" +msgid "unrecognized subcommand: %s" +msgstr "Nicht erkannter Unterbefehl: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15383,52 +15840,52 @@ msgstr "%s, Quelle=%s, Ziel=%s" msgid "Renaming %s to %s\n" msgstr "Benenne %s nach %s um\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "Umbenennung von '%s' fehlgeschlagen" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<Optionen>] <Commit>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<Optionen>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<Optionen>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "nur Namen anzeigen (keine SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "nur Tags verwenden, um die Commits zu benennen" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "nur Referenzen verwenden, die <Muster> entsprechen" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignoriere Referenzen die <Muster> entsprechen" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "alle Commits auflisten, die von allen Referenzen erreichbar sind" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "von der Standard-Eingabe lesen" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "Ausgabe von `undefinierten` Namen erlauben (Standard)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "Tags in der Eingabe dereferenzieren (interne Verwendung)" @@ -15576,7 +16033,7 @@ msgstr "Konnte Notiz-Objekt nicht schreiben" msgid "the note contents have been left in %s" msgstr "Die Notiz-Inhalte wurden in %s belassen." -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "konnte '%s' nicht öffnen oder lesen" @@ -15816,7 +16273,7 @@ msgstr "" "commit',\n" "oder brechen Sie den Merge mit 'git notes merge --abort' ab.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Konnte '%s' nicht als gültige Referenz auflösen." @@ -15850,7 +16307,7 @@ msgstr "Notiz-Referenz" msgid "use notes from <notes-ref>" msgstr "Notizen von <Notiz-Referenz> verwenden" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "Unbekannter Unterbefehl: %s" @@ -15869,129 +16326,129 @@ msgstr "" "git pack-objects [<Optionen>...] <Basis-Name> [< <Referenzliste> | < " "<Objektliste>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "Ungültiges CRC für gepacktes Objekt %s." -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "Fehlerhaftes gepacktes Objekt für %s." -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "Rekursiver Unterschied für Objekt %s festgestellt." -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "%u Objekte geordnet, %<PRIu32> erwartet." -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "Packdatei ist ungültig: %s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "Konnte Packdatei nicht zur Wiederverwendung öffnen: %s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "Konnte \"seek\" nicht in wiederverwendeter Packdatei ausführen." -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "Konnte nicht von wiederverwendeter Packdatei lesen." -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" "Deaktiviere Schreiben der Bitmap, Pakete wurden durch pack.packSizeLimit\n" "aufgetrennt." -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "Schreibe Objekte" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "Konnte '%s' nicht lesen" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "Schrieb %<PRIu32> Objekte während %<PRIu32> erwartet waren." -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "Deaktiviere Schreiben der Bitmap, da einige Objekte nicht in eine Pack-" "Datei\n" "geschrieben wurden." -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "\"delta base offset\" Überlauf in Paket für %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "\"delta base offset\" liegt außerhalb des gültigen Bereichs für %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "Zähle Objekte" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "Konnte Größe von %s nicht bestimmen." -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "Konnte Kopfbereich von Objekt '%s' nicht parsen." -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "Objekt %s kann nicht gelesen werden." -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "Inkonsistente Objektlänge bei Objekt %s (%<PRIuMAX> vs %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "ungünstiges Packet - Speicher voll" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Delta-Kompression verwendet bis zu %d Threads." -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "Konnte keine Objekte packen, die von Tag %s erreichbar sind." -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "Komprimiere Objekte" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "Inkonsistenz mit der Anzahl von Deltas" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -16000,7 +16457,7 @@ msgstr "" "Erwartete Randobjekt-ID, erhielt nutzlose Daten:\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -16009,252 +16466,256 @@ msgstr "" "Erwartete Objekt-ID, erhielt nutzlose Daten:\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "Ungültiger Wert für --missing." -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "Kann Paketindex nicht öffnen." -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "Loses Objekt bei %s konnte nicht untersucht werden." -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "Konnte loses Objekt nicht erzwingen." -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "'%s' ist kein Commit." -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "Ungültiger Commit '%s'." -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "Konnte jüngste Objekte nicht hinzufügen." -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "Nicht unterstützte Index-Version %s" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "Ungültige Index-Version '%s'" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "keine Fortschrittsanzeige anzeigen" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "Fortschrittsanzeige anzeigen" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "Forschrittsanzeige während des Schreibens von Objekten anzeigen" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "ähnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<Version>[,<Offset>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "" "die Index-Datei des Paketes in der angegebenen Indexformat-Version schreiben" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "maximale Größe für jede ausgegebene Paketdatei" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "geliehene Objekte von alternativem Objektspeicher ignorieren" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "gepackte Objekte ignorieren" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "Paketfenster durch Objekte begrenzen" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "" "Paketfenster, zusätzlich zur Objektbegrenzung, durch Speicher begrenzen" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "maximale Länge der erlaubten Differenzverkettung im resultierenden Paket" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "existierende Unterschiede wiederverwenden" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "existierende Objekte wiederverwenden" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "OFS_DELTA Objekte verwenden" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "" "Threads bei der Suche nach den besten Übereinstimmungen bei Unterschieden " "verwenden" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "keine leeren Pakete erzeugen" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "Argumente bezüglich Commits von der Standard-Eingabe lesen" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "die Objekte zu solchen, die noch nicht gepackt wurden, begrenzen" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "Objekte einschließen, die von jeder Referenz erreichbar sind" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "" "Objekte einschließen, die von Einträgen des Reflogs referenziert werden" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "Objekte einschließen, die vom Index referenziert werden" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "Paket in die Standard-Ausgabe schreiben" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "Tag-Objekte einschließen, die auf gepackte Objekte referenzieren" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "nicht erreichbare Objekte behalten" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "nicht erreichbare lose Objekte packen" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "nicht erreichbare Objekte entpacken, die neuer als <Zeit> sind" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "den \"sparse\" Algorithmus zur Bestimmung der Erreichbarkeit benutzen" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "dünnere Pakete erzeugen" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "" "Pakete geeignet für Abholung mit unvollständiger Historie (shallow) erzeugen" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "Pakete ignorieren, die .keep Dateien haben" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "dieses Paket ignorieren" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "Komprimierungsgrad für Paketierung" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "keine künstlichen Vorgänger-Commits (\"grafts\") verbergen" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "Bitmap-Index (falls verfügbar) zur Optimierung der Objektzählung benutzen" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "Bitmap-Index zusammen mit Pack-Index schreiben" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "Bitmap-Index schreiben, wenn möglich" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "Behandlung für fehlende Objekte" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "" "keine Objekte aus Packdateien von partiell geklonten Remote-Repositories " "packen" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "Delta-Islands bei Delta-Kompression beachten" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "Tiefe für Verkettung von Unterschieden %d ist zu tief, erzwinge %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "pack.deltaCacheLimit ist zu hoch, erzwinge %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size kann nicht für die Erstellung eines Pakets für eine " "Übertragung\n" "benutzt werden." -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "Minimales Limit für die Paketgröße ist 1 MiB." -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "" "--thin kann nicht benutzt werden, um ein indizierbares Paket zu erstellen." -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable und --unpack-unreachable sind inkompatibel" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "Kann --filter nicht ohne --stdout benutzen." -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "Objekte aufzählen" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" @@ -16312,44 +16773,44 @@ msgstr "Ungültiger Wert für %s: %s" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<Optionen>] [<Repository> [<Refspec>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "rekursive Anforderungen von Submodulen kontrollieren" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Optionen bezogen auf Merge" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "Integration von Änderungen durch Rebase statt Merge" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "Vorspulen erlauben" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "automatischer Stash/Stash-Pop vor und nach eines Rebase" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Optionen bezogen auf Fetch" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "das Überschreiben von lokalen Branches erzwingen" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "Anzahl der parallel mit 'pull' zu verarbeitenden Submodule" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Ungültiger Wert für pull.ff: %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -16357,14 +16818,14 @@ msgstr "" "Es gibt keinen Kandidaten für Rebase innerhalb der Referenzen, die eben " "angefordert wurden." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Es gibt keine Kandidaten für Merge innerhalb der Referenzen, die eben " "angefordert wurden." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16372,7 +16833,7 @@ msgstr "" "Im Allgemeinen bedeutet das, dass Sie einen Refspec mit Wildcards angegeben\n" "haben, der auf der Gegenseite mit keinen Referenzen übereinstimmt." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16384,39 +16845,39 @@ msgstr "" "Repository für den aktuellen Branch ist, müssen Sie einen Branch auf\n" "der Befehlszeile angeben." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Im Moment auf keinem Branch." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "" "Bitte geben Sie den Branch an, gegen welchen Sie \"rebase\" ausführen " "möchten." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Bitte geben Sie den Branch an, welchen Sie zusammenführen möchten." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Siehe git-pull(1) für weitere Details." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<Remote-Repository>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<Branch>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "Es gibt keine Tracking-Informationen für den aktuellen Branch." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" @@ -16424,7 +16885,7 @@ msgstr "" "Sie\n" "dies tun mit:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16434,34 +16895,34 @@ msgstr "" "des Remote-Repositories durchzuführen, aber diese Referenz\n" "wurde nicht angefordert." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "Konnte nicht auf Commit '%s' zugreifen." -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "Ignoriere --verify-signatures für Rebase" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "--[no-]autostash ist nur mit --rebase zulässig." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Aktualisiere einen ungeborenen Branch mit Änderungen, die zum Commit " "vorgemerkt sind." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "Pull mit Rebase" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16471,7 +16932,7 @@ msgstr "" "\"fetch\" aktualisierte die Spitze des aktuellen Branches.\n" "Spule Ihr Arbeitsverzeichnis von Commit %s vor." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16488,15 +16949,15 @@ msgstr "" "$ git reset --hard\n" "zur Wiederherstellung aus." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Kann nicht mehrere Branches in einen leeren Branch zusammenführen." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Kann Rebase nicht auf mehrere Branches ausführen." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "Kann Rebase nicht mit lokal aufgezeichneten Änderungen in Submodulen " @@ -16975,7 +17436,7 @@ msgstr "git rebase--interactive [<Optionen>]" msgid "keep empty commits" msgstr "leere Commits behalten" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "Commits mit leerer Beschreibung erlauben" @@ -16995,7 +17456,7 @@ msgstr "Commits verschieben, die mit squash!/fixup! beginnen" msgid "sign commits" msgstr "Commits signieren" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "" "Zusammenfassung der Unterschiede gegenüber dem Upstream-Branch anzeigen" @@ -17104,7 +17565,7 @@ msgstr "Befehl" msgid "the command to run" msgstr "auszuführender Befehl" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "jeden fehlgeschlagenen `exec`-Befehl neu ansetzen" @@ -17112,7 +17573,7 @@ msgstr "jeden fehlgeschlagenen `exec`-Befehl neu ansetzen" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins hat ohne --rebase-merges keine Auswirkung" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s erfordert ein interaktives Rebase" @@ -17142,11 +17603,11 @@ msgstr "Konnte '%s' nicht lesen." msgid "Cannot store %s" msgstr "Kann %s nicht speichern." -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "Konnte HEAD-Commit nicht bestimmen." -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -17162,7 +17623,7 @@ msgstr "" "Um abzubrechen und zurück zum Zustand vor \"git rebase\" zu gelangen,\n" "führen Sie \"git rebase --abort\" aus." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -17182,7 +17643,7 @@ msgstr "" "Infolge dessen kann Git auf diesen Revisionen Rebase nicht\n" "ausführen." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -17200,7 +17661,7 @@ msgstr "" " git rebase '<Branch>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -17214,132 +17675,132 @@ msgstr "" " git branch --set-upstream-to=%s/<Branch> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "\"exec\"-Befehle können keine neuen Zeilen enthalten" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "Leerer \"exec\"-Befehl." -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "Rebase auf angegebenen Branch anstelle des Upstream-Branches ausführen" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "Ausführung des pre-rebase-Hooks erlauben" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "weniger Ausgaben (impliziert --no-stat)" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "" "Zusammenfassung der Unterschiede gegenüber dem Upstream-Branch verbergen" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "eine \"Signed-off-by:\"-Zeile zu jedem Commit hinzufügen" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "an 'git am' übergeben" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "an 'git apply' übergeben" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "" "Cherry-Pick auf alle Commits ausführen, auch wenn diese unverändert sind" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "fortsetzen" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "den aktuellen Patch auslassen und fortfahren" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "abbrechen und den ursprünglichen Branch auschecken" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "abbrechen, aber HEAD an aktueller Stelle belassen" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "TODO-Liste während eines interaktiven Rebase bearbeiten" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "den Patch, der gerade angewendet oder zusammengeführt wird, anzeigen" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "Merge-Strategien beim Rebase verwenden" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "den Benutzer die Liste der Commits für den Rebase bearbeiten lassen" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "" "(VERALTET) Versuche, Merges wiederherzustellen anstatt sie zu ignorieren" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "leere Commits während des Rebase erhalten" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "bei -i Commits verschieben, die mit squash!/fixup! beginnen" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "automatischer Stash/Stash-Pop davor und danach" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "exec-Zeilen nach jedem Commit der editierbaren Liste hinzufügen" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "Rebase von Commits mit leerer Beschreibung erlauben" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "" "versuchen, Rebase mit Merges auszuführen, anstatt diese zu überspringen" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "" "'git merge-base --fork-point' benutzen, um Upstream-Branch zu bestimmen" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "angegebene Merge-Strategie verwenden" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "Option" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "Argument zur Merge-Strategie durchreichen" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "Rebase auf alle erreichbaren Commits bis zum Root-Commit ausführen" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17347,32 +17808,32 @@ msgstr "" "Die Unterstützung für rebase.useBuiltin wurde entfernt!\n" "Siehe dessen Eintrag in 'git help config' für Details." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "'git-am' scheint im Gange zu sein. Kann Rebase nicht durchführen." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "'git rebase --preserve-merges' ist veraltet. Benutzen Sie stattdessen '--" "rebase-merges'." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Kein Rebase im Gange?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "Die --edit-todo Aktion kann nur während eines interaktiven Rebase verwendet " "werden." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "Kann HEAD nicht lesen" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17380,21 +17841,16 @@ msgstr "" "Sie müssen alle Merge-Konflikte editieren und diese dann\n" "mittels \"git add\" als aufgelöst markieren" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "Konnte Änderungen im Arbeitsverzeichnis nicht verwerfen." -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "Konnte nicht zu %s zurückgehen." -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "Konnte '%s' nicht löschen" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17415,175 +17871,179 @@ msgstr "" "und führen Sie diesen Befehl nochmal aus. Es wird angehalten, falls noch\n" "etwas Schützenswertes vorhanden ist.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "Schalter `C' erwartet einen numerischen Wert." -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Unbekannter Modus: %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy erfordert --merge oder --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec erfordert --exec oder --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "Optionen für \"am\" können nicht mit Optionen für \"interactive\" oder " "\"merge\" kombiniert werden." -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "" "'--preserve-merges' kann nicht mit '--rebase-merges' kombiniert werden." -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "Fehler: '--preserve-merges' kann nicht mit '--reschedule-failed-exec' " "kombiniert werden." -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "" "'--rebase-merges' kann nicht mit '--strategy-option' kombiniert werden." -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "'--rebase-merges' kann nicht mit '--strategy' kombiniert werden." -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "Ungültiger Upstream '%s'" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "Konnte neuen Root-Commit nicht erstellen." -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "'%s': benötige genau eine Merge-Basis" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "'%s' zeigt auf keinen gültigen Commit." -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "fatal: Branch/Commit '%s' nicht gefunden" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Referenz nicht gefunden: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Konnte HEAD zu keinem Commit auflösen." -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Kann automatischen Stash nicht erzeugen." -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Unerwartete 'stash'-Antwort: '%s'" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "Konnte Verzeichnis für '%s' nicht erstellen." -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Automatischen Stash erzeugt: %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "Konnte 'reset --hard' nicht ausführen." -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD ist jetzt bei %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "Konnte '%s' nicht parsen." -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "Konnte nicht zu %s wechseln." -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD ist aktuell." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "Aktueller Branch %s ist auf dem neuesten Stand.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD ist aktuell, Rebase erzwungen." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "Aktueller Branch %s ist auf dem neuesten Stand, Rebase erzwungen.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "Der \"pre-rebase hook\" hat den Rebase zurückgewiesen." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Änderungen zu %s:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Änderungen von %s zu %s:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Zunächst wird der Branch zurückgespult, um Ihre Änderungen darauf neu " "anzuwenden...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "Konnte HEAD nicht loslösen." -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Spule %s vor zu %s.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <Git-Verzeichnis>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17615,7 +18075,7 @@ msgstr "" "setzen Sie die Konfigurationsvariable 'receive.denyCurrentBranch' auf\n" "'refuse'." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17636,11 +18096,11 @@ msgstr "" "\n" "Um diese Meldung zu unterdrücken, setzen Sie die Variable auf 'refuse'." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "weniger Ausgaben" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Sie müssen ein Repository angeben." @@ -18236,119 +18696,119 @@ msgstr "" "--no-write-bitmap-index oder deaktivieren Sie die pack.writebitmaps\n" "Konfiguration." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" "Konnte 'pack-objects' für das Neupacken von Objekten aus partiell geklonten\n" "Remote-Repositories nicht starten." -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: Erwarte Zeilen mit vollständiger Hex-Objekt-ID nur von pack-objects." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" "Konnte 'pack-objects' für das Neupacken von Objekten aus partiell geklonten\n" "Remote-Repositories nicht abschließen." -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "alles in eine einzige Pack-Datei packen" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "genau wie -a, unerreichbare Objekte werden aber nicht gelöscht" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "redundante Pakete entfernen und \"git-prune-packed\" ausführen" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "--no-reuse-delta an git-pack-objects übergeben" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "--no-reuse-object an git-pack-objects übergeben" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "git-update-server-info nicht ausführen" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "--local an git-pack-objects übergeben" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "Bitmap-Index schreiben" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "--delta-islands an git-pack-objects übergeben" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "Datumsangabe" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "mit -A, keine Objekte älter als dieses Datum löschen" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "mit -a, nicht erreichbare Objekte neu packen" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "Größe des Fensters für die Delta-Kompression" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "Bytes" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" "gleiches wie oben, aber die Speichergröße anstatt der\n" "Anzahl der Einträge limitieren" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "die maximale Delta-Tiefe limitieren" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "maximale Anzahl von Threads limitieren" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "maximale Größe für jede Paketdatei" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "" "Objekte umpacken, die sich in mit .keep markierten Pack-Dateien befinden" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "dieses Paket nicht neu packen" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "kann Pack-Dateien in precious-objects Repository nicht löschen" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable und -A sind inkompatibel" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Nichts Neues zum Packen." -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18367,7 +18827,7 @@ msgstr "" "WARNUNG: ebenfalls fehl.\n" "WARNUNG: Bitte benennen Sie diese manuell nach %s um:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "Fehler beim Löschen von '%s'" @@ -18776,25 +19236,25 @@ msgstr "Konnte Index-Datei nicht zu Commit '%s' setzen." msgid "Could not write new index file." msgstr "Konnte neue Index-Datei nicht schreiben." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "" "--exclude-promisor-objects und --missing können nicht kombiniert werden." -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "Das Filtern von Objekten erfordert --objects." -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "Ungültiger \"sparse\"-Wert '%s'." -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list unterstützt keine Anzeige von Notizen" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "" "--use-bitmap-index kann nicht mit dem Filtern von Objekten kombiniert werden." @@ -18869,47 +19329,51 @@ msgstr "\"revert\" oder \"cherry-pick\" Ablauf fortsetzen" msgid "cancel revert or cherry-pick sequence" msgstr "\"revert\" oder \"cherry-pick\" Ablauf abbrechen" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "den aktuellen Commit auslassen und fortfahren" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "nicht automatisch committen" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "Commit-Beschreibung bearbeiten" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "Nummer des Elternteils" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "Elternteil der Hauptlinie auswählen" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "Merge-Strategie" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "Option für Merge-Strategie" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "Commit-Namen anhängen" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "ursprüngliche, leere Commits erhalten" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "redundante, leere Commits behalten" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "\"revert\" fehlgeschlagen" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "\"cherry-pick\" fehlgeschlagen" @@ -19085,116 +19549,116 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "ignoriere %s; kann nicht mehr als %d Referenz behandeln" msgstr[1] "ignoriere %s; kann nicht mehr als %d Referenzen behandeln" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "keine übereinstimmenden Referenzen mit %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "Remote-Tracking und lokale Branches anzeigen" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "Remote-Tracking-Branches anzeigen" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "'*!+-' entsprechend des Branches einfärben" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "<n> weitere Commits nach dem gemeinsamen Vorgänger-Commit anzeigen" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "Synonym für more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "Namen unterdrücken" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "den aktuellen Branch einbeziehen" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "Commits nach ihren Objektnamen benennen" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "mögliche Merge-Basen anzeigen" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "" "Referenzen, die unerreichbar von allen anderen Referenzen sind, anzeigen" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "Commits in topologischer Ordnung anzeigen" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "nur Commits anzeigen, die sich nicht im ersten Branch befinden" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "Merges anzeigen, die nur von einem Branch aus erreichbar sind" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "topologische Sortierung, Beibehaltung Datumsordnung wo möglich" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<Basis>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "die <n> jüngsten Einträge im Reflog, beginnend an der Basis, anzeigen" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog ist inkompatibel mit --all, --remotes, --independent oder --merge-" "base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "keine Branches angegeben, und HEAD ist ungültig" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "Die Option --reflog benötigt einen Branchnamen." -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "nur %d Eintrag kann zur selben Zeit angezeigt werden" msgstr[1] "nur %d Einträge können zur selben Zeit angezeigt werden" -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "Referenz nicht gefunden: %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "Kann nicht mehr als %d Commit behandeln." msgstr[1] "Kann nicht mehr als %d Commits behandeln." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "'%s' ist keine gültige Referenz." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "kann Commit %s (%s) nicht finden" @@ -19383,95 +19847,95 @@ msgstr "" msgid "No branch name specified" msgstr "Kein Branchname spezifiziert" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "Kann nicht %s mit %s aktualisieren." -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "Stash-Beschreibung" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" erwartet ein Argument <Commit>" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Keine Änderungen ausgewählt" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Sie haben bisher noch keinen initialen Commit" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "Kann den aktuellen Zustand des Index nicht speichern" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "Kann die unversionierten Dateien nicht speichern" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "Kann den aktuellen Zustand des Arbeitsverzeichnisses nicht speichern" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "Kann Zustand des Arbeitsverzeichnisses nicht aufzeichnen" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "" "Kann nicht gleichzeitig --patch und --include-untracked oder --all verwenden" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Haben Sie vielleicht 'git add' vergessen?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "Keine lokalen Änderungen zum Speichern" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Kann \"stash\" nicht initialisieren" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Kann den aktuellen Status nicht speichern" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Arbeitsverzeichnis und Index-Status %s gespeichert." -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Kann Änderungen im Arbeitsverzeichnis nicht löschen" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "behalte Index" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "Stash in Patch-Modus" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "weniger Ausgaben" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "unversionierte Dateien in Stash einbeziehen" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "ignorierte Dateien einbeziehen" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "Konnte 'exec %s' nicht ausführen." @@ -19494,7 +19958,7 @@ msgstr "" msgid "prepend comment character and space to each line" msgstr "Kommentarzeichen mit Leerzeichen an jede Zeile voranstellen" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Vollständiger Referenzname erwartet, %s erhalten" @@ -19508,7 +19972,7 @@ msgstr "'submodule--helper print-default-remote' erwartet keine Argumente." msgid "cannot strip one component off url '%s'" msgstr "Kann eine Komponente von URL '%s' nicht extrahieren" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "Alternativer Anker für relative Pfade" @@ -19516,8 +19980,8 @@ msgstr "Alternativer Anker für relative Pfade" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<Pfad>] [<Pfad>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "Keine URL für Submodul-Pfad '%s' in .gitmodules gefunden" @@ -19536,7 +20000,7 @@ msgstr "" "run_command gab nicht-Null Status für '%s' zurück.\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19548,21 +20012,21 @@ msgstr "" "nicht-Null Status zurück.\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "" "Ausgaben beim Betreten und der Befehlsausführung in einem Submodul " "unterdrücken" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Rekursion in verschachtelte Submodule durchführen" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <Befehl>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19571,104 +20035,104 @@ msgstr "" "Konnte Konfiguration '%s' nicht nachschlagen. Nehme an, dass dieses\n" "Repository sein eigenes verbindliches Upstream-Repository ist." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "" "Fehler beim Eintragen der URL für Submodul-Pfad '%s' in die Konfiguration." -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Submodul '%s' (%s) für Pfad '%s' in die Konfiguration eingetragen.\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "Warnung: 'update'-Modus für Submodul '%s' vorgeschlagen\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" "Fehler bei Änderung des Aktualisierungsmodus für Submodul-Pfad '%s' in der\n" "Konfiguration." -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Ausgaben bei Initialisierung eines Submoduls unterdrücken" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<Optionen>] [<Pfad>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "Keine Submodul-Zuordnung in .gitmodules für Pfad '%s' gefunden" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "Konnte HEAD-Referenz nicht innerhalb des Submodul-Pfads '%s' auflösen." -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "Fehler bei Rekursion in Submodul '%s'." -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Ausgabe über Submodul-Status unterdrücken" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" msgstr "" "Benutze den Commit, der im Index gespeichert ist, statt den im Submodul HEAD" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "Rekursion in verschachtelte Submodule durchführen" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<Pfad>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <Pfad>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Synchronisiere Submodul-URL für '%s'\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "Fehler beim Registrieren der URL für Submodul-Pfad '%s'." -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "Fehler beim Lesen des Standard-Remote-Repositories für Submodul '%s'." -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "Fehler beim Aktualisieren des Remote-Repositories für Submodul '%s'." -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Ausgaben bei der Synchronisierung der Submodul-URLs unterdrücken" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<Pfad>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19678,7 +20142,7 @@ msgstr "" "(benutzen Sie 'rm -rf', wenn Sie dieses wirklich mitsamt seiner Historie\n" "löschen möchten)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19687,84 +20151,84 @@ msgstr "" "Arbeitsverzeichnis von Submodul in '%s' enthält lokale Änderungen;\n" "verwenden Sie '-f', um diese zu verwerfen." -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Verzeichnis '%s' bereinigt.\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "Konnte Arbeitsverzeichnis des Submoduls in '%s' nicht löschen.\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "Konnte kein leeres Verzeichnis für Submodul in '%s' erstellen." -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "Submodul '%s' (%s) für Pfad '%s' ausgetragen.\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" "Arbeitsverzeichnisse von Submodulen löschen, auch wenn lokale Änderungen " "vorliegen" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "alle Submodule austragen" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<Pfad>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "" "Verwenden Sie '--all', wenn Sie wirklich alle Submodule deinitialisieren\n" "möchten." -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "Submodul '%s' kann Alternative nicht hinzufügen: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "Wert '%s' für submodule.alternateErrorStrategy wird nicht erkannt" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Wert '%s' für submodule.alternateLocation wird nicht erkannt." -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "Pfad für neues Submodul" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "Name des neuen Submoduls" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "URL von der das Submodul geklont wird" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "Tiefe des Klons mit unvollständiger Historie (shallow)" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "Fortschrittsanzeige beim Klonen erzwingen" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19773,99 +20237,99 @@ msgstr "" "<Repository>] [--name <Name>] [--url <URL>] [--name <Name>] [--depth " "<Tiefe>] --url <URL> --path <Pfad>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "Konnte Submodul-Verzeichnis '%s' nicht finden." -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "Ungültiger Aktualisierungsmodus '%s' für Submodul-Pfad '%s'." -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" "Ungültiger Aktualisierungsmodus '%s' für Submodul-Pfad '%s' konfiguriert." -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "Submodul-Pfad '%s' nicht initialisiert" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "Meinten Sie vielleicht 'update --init'?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "Überspringe nicht zusammengeführtes Submodul %s" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "Überspringe Submodul '%s'" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Fehler beim Klonen von '%s'. Weiterer Versuch geplant" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Zweiter Versuch '%s' zu klonen fehlgeschlagen, breche ab." -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "Pfad zum Arbeitsverzeichnis" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "" "Pfad zum Arbeitsverzeichnis, über verschachtelte Submodul-Grenzen hinweg" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "rebase, merge, checkout oder none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "" "Erstellung eines Klons mit unvollständiger Historie (shallow), abgeschnitten " "bei\n" "der angegebenen Anzahl von Commits." -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "Parallele Ausführungen" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "" "ob das initiale Klonen den Empfehlungen für eine unvollständige\n" "Historie (shallow) folgen soll" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "keine Fortschrittsanzeige beim Klonen" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<Pfad>] [<Pfad>...]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "Fehlerhafter Wert für --update Parameter" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " @@ -19874,16 +20338,16 @@ msgstr "" "Branch von Submodul (%s) ist konfiguriert, den Branch des Hauptprojektes\n" "zu erben, aber das Hauptprojekt befindet sich auf keinem Branch." -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "Konnte kein Repository-Handle für Submodul '%s' erhalten." -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "Rekursion in Submodule durchführen" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [<Optionen>] [<Pfad>...]" @@ -19914,7 +20378,7 @@ msgstr "" "Bitte stellen Sie sicher, dass sich die Datei .gitmodules im " "Arbeitsverzeichnis befindet." -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s unterstützt kein --super-prefix" @@ -19979,17 +20443,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<Format>] <Tagname>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "Tag '%s' nicht gefunden." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Tag '%s' gelöscht (war %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -20002,7 +20466,7 @@ msgstr "" " %s\n" "ein. Zeilen, die mit '%c' beginnen, werden ignoriert.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -20017,15 +20481,15 @@ msgstr "" "ein. Zeilen, die mit '%c' beginnen, werden behalten; Sie dürfen diese\n" "selbst entfernen wenn Sie möchten.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "konnte Tag nicht signieren" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "konnte Tag-Datei nicht schreiben" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -20039,138 +20503,138 @@ msgstr "" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "ungültiger Objekt-Typ" -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "keine Tag-Beschreibung?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Die Tag-Beschreibung wurde in %s gelassen\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "Tagnamen auflisten" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "<n> Zeilen jeder Tag-Beschreibung anzeigen" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "Tags löschen" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "Tags überprüfen" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Optionen für Erstellung von Tags" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "annotiertes Tag, benötigt eine Beschreibung" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "Tag-Beschreibung" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "Bearbeitung der Tag-Beschreibung erzwingen" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "annotiertes und GPG-signiertes Tag" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "einen anderen Schlüssel verwenden, um das Tag zu signieren" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "das Tag ersetzen, wenn es existiert" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "Reflog erstellen" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Optionen für Auflistung der Tags" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "Liste der Tags in Spalten anzeigen" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "nur Tags ausgeben, die diesen Commit beinhalten" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "nur Tags ausgeben, die diesen Commit nicht enthalten" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "nur Tags ausgeben, die gemerged wurden" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "nur Tags ausgeben, die nicht gemerged wurden" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "nur Tags von dem Objekt ausgeben" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column und -n sind inkompatibel" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "Die Option -n ist nur im Listenmodus erlaubt." -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "Die Option --contains ist nur im Listenmodus erlaubt." -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "Die Option --no-contains ist nur im Listenmodus erlaubt." -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "Die Option --points-at ist nur im Listenmodus erlaubt." -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "Die Optionen --merged und --no-merged sind nur im Listenmodus erlaubt." -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "nur eine -F oder -m Option ist erlaubt." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "zu viele Parameter" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' ist kein gültiger Tagname." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "Tag '%s' existiert bereits" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Tag '%s' aktualisiert (war %s)\n" @@ -20511,15 +20975,15 @@ msgstr "" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "Übertragung nach <n> Sekunden Inaktivität unterbrechen" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <Commit>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "Commit-Inhalte ausgeben" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "unbearbeitete Ausgabe des Status von gpg ausgeben" @@ -20535,11 +20999,11 @@ msgstr "erweiterte Ausgaben" msgid "show statistics only" msgstr "nur Statistiken anzeigen" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=<Format>] <Tag>..." -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "Tag-Inhalte ausgeben" @@ -20571,7 +21035,7 @@ msgstr "git worktree remove [<Optionen>] <Arbeitsverzeichnis>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <Pfad>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "Fehler beim Löschen von '%s'" @@ -20648,129 +21112,129 @@ msgstr "" "Benutzen Sie 'add -f' zum Überschreiben, oder 'prune' oder 'remove' zum\n" "Löschen." -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "Bereite Arbeitsverzeichnis vor (neuer Branch '%s')" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "Bereite Arbeitsverzeichnis vor (setze Branch '%s' um; war bei %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "Bereite Arbeitsverzeichnis vor (checke '%s' aus)" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "Bereite Arbeitsverzeichnis vor (losgelöster HEAD %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "<Branch> auschecken, auch wenn dieser bereits in einem anderen " "Arbeitsverzeichnis ausgecheckt ist" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "neuen Branch erstellen" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "Branch erstellen oder umsetzen" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "das neue Arbeitsverzeichnis auschecken" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "das neue Arbeitsverzeichnis gesperrt lassen" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "Modus zum Folgen von Branches einstellen (siehe git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "" "versuchen, eine Übereinstimmung des Branch-Namens mit einem\n" "Remote-Tracking-Branch herzustellen" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B und --detach schließen sich gegenseitig aus" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "" "--[no]-track kann nur verwendet werden, wenn ein neuer Branch erstellt wird." -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "Sperrgrund" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "'%s' ist kein Arbeitsverzeichnis" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "Das Hauptarbeitsverzeichnis kann nicht gesperrt oder entsperrt werden." -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "'%s' ist bereits gesperrt, Grund: %s" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "'%s' ist bereits gesperrt" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "'%s' ist nicht gesperrt" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" "Arbeitsverzeichnisse, die Submodule enthalten, können nicht verschoben oder\n" "entfernt werden." -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "" "Verschieben erzwingen, auch wenn das Arbeitsverzeichnis geändert oder " "gesperrt ist" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "'%s' ist ein Hauptarbeitsverzeichnis" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "Konnte Zielname aus '%s' nicht bestimmen." -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "Ziel '%s' existiert bereits." -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20780,7 +21244,7 @@ msgstr "" "Benutzen Sie 'move -f -f' zum Überschreiben oder entsperren Sie zuerst\n" "das Arbeitsverzeichnis." -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20789,38 +21253,38 @@ msgstr "" "Benutzen Sie 'move -f -f' zum Überschreiben oder entsperren Sie zuerst\n" "das Arbeitsverzeichnis." -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "Validierung fehlgeschlagen, kann Arbeitszeichnis nicht verschieben: %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "Fehler beim Verschieben von '%s' nach '%s'" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "Fehler beim Ausführen von 'git status' auf '%s'" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "'%s' ist verändert, benutzen Sie --force zum Löschen" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "Fehler beim Ausführen von 'git status' auf '%s'. Code: %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "" "Löschen erzwingen, auch wenn das Arbeitsverzeichnis geändert oder gesperrt " "ist" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20830,7 +21294,7 @@ msgstr "" "Benutzen Sie 'remove -f -f' zum Überschreiben oder entsperren Sie zuerst\n" "das Arbeitsverzeichnis." -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20839,7 +21303,7 @@ msgstr "" "Benutzen Sie 'remove -f -f' zum Überschreiben oder entsperren Sie zuerst\n" "das Arbeitsverzeichnis." -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "Validierung fehlgeschlagen, kann Arbeitsverzeichnis nicht löschen: %s" @@ -20917,54 +21381,56 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "'git help -a' und 'git help -g' listet verfügbare Unterbefehle und\n" "einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Befehl>'\n" "oder 'git help <Konzept>', um mehr über einen spezifischen Befehl oder\n" -"Konzept zu erfahren." +"Konzept zu erfahren.\n" +"Benutzen Sie 'git help git' für einen Überblick des Systems." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "Kein Verzeichnis für --git-dir angegeben.\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "Kein Namespace für --namespace angegeben.\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "Kein Verzeichnis für --work-tree angegeben.\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "Kein Präfix für --super-prefix angegeben.\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c erwartet einen Konfigurationsstring.\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "Kein Verzeichnis für -C angegeben.\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "Unbekannte Option: %s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "beim Erweitern von Alias '%s': '%s'" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20973,39 +21439,39 @@ msgstr "" "Alias '%s' ändert Umgebungsvariablen.\n" "Sie können '!git' im Alias benutzen, um dies zu tun." -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "leerer Alias für %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "rekursiver Alias: %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "Fehler beim Schreiben in die Standard-Ausgabe." -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "Unbekannter Fehler beim Schreiben in die Standard-Ausgabe." -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "Fehler beim Schließen der Standard-Ausgabe." -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "Alias-Schleife erkannt: Erweiterung von '%s' schließt nicht ab:%s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "Kann %s nicht als eingebauten Befehl behandeln." -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -21014,12 +21480,12 @@ msgstr "" "Verwendung: %s\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "Erweiterung von Alias '%s' fehlgeschlagen; '%s' ist kein Git-Befehl.\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "Fehler beim Ausführen von Befehl '%s': %s\n" @@ -21201,19 +21667,19 @@ msgstr "Verfallsdatum" msgid "no-op (backward compatibility)" msgstr "Kein Effekt (Rückwärtskompatibilität)" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "erweiterte Ausgaben" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "weniger Ausgaben" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "benutze <n> Ziffern zur Anzeige von SHA-1s" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "" "wie Leerzeichen und #Kommentare von der Beschreibung getrennt werden sollen" @@ -21231,6 +21697,14 @@ msgid "update the index with reused conflict resolution if possible" msgstr "" "Index, wenn möglich, mit wiederverwendeter Konfliktauflösung aktualisieren" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "HEAD losgelöst bei " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "HEAD losgelöst von " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Dateiinhalte zum Commit vormerken" @@ -21684,219 +22158,227 @@ msgid "Reset current HEAD to the specified state" msgstr "aktuellen HEAD zu einem spezifizierten Zustand setzen" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "Dateien im Arbeitsverzeichnis wiederherstellen" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "einige bestehende Commits rückgängig machen" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Commit-Objekte in umgekehrter chronologischer Ordnung auflisten" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Parameter herauspicken und ändern" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Dateien im Arbeitsverzeichnis und vom Index löschen" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "eine Sammlung von Patches als E-Mails versenden" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "Objekte über das Git Protokoll zu einem anderen Repository übertragen" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "Login-Shell beschränkt für Nur-Git SSH-Zugriff" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Ausgabe von 'git log' zusammenfassen" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "verschiedene Arten von Objekten anzeigen" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Branches und ihre Commits ausgeben" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "gepackten Archiv-Index anzeigen" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Referenzen in einem lokales Repository auflisten" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "Git's i18n-Konfigurationscode für Shell-Skripte" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "allgemeiner Git Shell-Skript Konfigurationscode" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "Änderungen in einem Arbeitsverzeichnis aufbewahren" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "Dateiinhalte der Staging-Area hinzufügen" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "den Zustand des Arbeitsverzeichnisses anzeigen" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "nicht erforderlichen Whitespace entfernen" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Submodule initialisieren, aktualisieren oder inspizieren" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "" "Bidirektionale Operationen zwischen einem Subversion Repository und Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Branches wechseln" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "symbolische Referenzen lesen, ändern und löschen" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "" "ein mit GPG signiertes Tag-Objekt erzeugen, auflisten, löschen oder " "verifizieren." -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "eine temporäre Datei mit den Inhalten eines Blobs erstellen" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Objekte von einem gepackten Archiv entpacken" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Dateiinhalte aus dem Arbeitsverzeichnis im Index registrieren" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "" "den Objektnamen, der in einer Referenz gespeichert ist, sicher aktualisieren" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "Hilfsinformationsdatei zur Hilfe von einfachen Servern aktualisieren" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Archiv zurück zu git-archive senden" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Objekte gepackt zurück an git-fetch-pack senden" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "eine logische Variable von Git anzeigen" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "die GPG-Signatur von Commits prüfen" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "gepackte Git-Archivdateien validieren" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "die GPG-Signatur von Tags prüfen" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Git Web Interface (Web-Frontend für Git-Repositories)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Logs mit dem Unterschied, den jeder Commit einführt, anzeigen" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "mehrere Arbeitsverzeichnisse verwalten" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Tree-Objekt vom aktuellen Index erstellen" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Definition von Attributen pro Pfad" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Git Kommandozeilenschnittstelle und Konventionen" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "eine Git Anleitung für Entwickler" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git für CVS Benutzer" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "Diff-Ausgabe optimieren" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "" "ein kleine, nützliche Menge von Befehlen für die tägliche Verwendung von Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "ein Git-Glossar" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "von Git verwendete Hooks" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Spezifikation von bewusst ignorierten, unversionierten Dateien" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Definition von Submodul-Eigenschaften" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Git Namensbereiche" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Git Repository Aufbau" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Spezifikation von Commits und Bereichen für Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "eine einführende Anleitung zu Git: Teil zwei" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "eine einführende Anleitung zu Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Eine Übersicht über empfohlene Arbeitsabläufe mit Git" @@ -21960,7 +22442,7 @@ msgid "" "exit code $res from '$command' is < 0 or >= 128" msgstr "" "'bisect run' fehlgeschlagen:\n" -"Rückkehrwert $res von '$command' ist < 0 oder >= 128" +"Exit-Code $res von '$command' ist < 0 oder >= 128" #: git-bisect.sh:279 msgid "bisect run cannot continue any more" @@ -22314,12 +22796,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "Siehe git-${cmd}(1) für weitere Details." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Automatischen Stash angewendet." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "Kann $stash_sha1 nicht speichern." + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Führe Rebase aus ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -22361,7 +22852,7 @@ msgstr "" "Diese Zeilen können umsortiert werden; Sie werden von oben nach unten\n" "ausgeführt.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -22380,83 +22871,83 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: kein Commit der gepickt werden kann" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Ungültiger Commit-Name: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "Kann ersetzenden SHA-1 des aktuellen Commits nicht schreiben" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Spule vor zu $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "Kann nicht zu $sha1 vorspulen" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "Kann HEAD nicht auf $first_parent setzen" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "\"squash\" eines Merges ($sha1) zurückgewiesen." -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Fehler beim Wiederholen des Merges von $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "Konnte $sha1 nicht picken" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Das ist Commit-Beschreibung #${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "Commit-Beschreibung #${n} wird ausgelassen:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Das ist eine Kombination aus $count Commit." msgstr[1] "Das ist eine Kombination aus $count Commits." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "Kann $fixup_msg nicht schreiben" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Das ist eine Kombination aus 2 Commits." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "Konnte $sha1... ($rest) nicht anwenden" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22473,31 +22964,31 @@ msgstr "" "sollten Sie das Problem beheben, bevor Sie die Commit-Beschreibung ändern " "können." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Angehalten bei $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "Kann nicht '$squash_style' ohne vorherigen Commit" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Führe aus: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "Ausführung fehlgeschlagen: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "Der Index und/oder das Arbeitsverzeichnis wurde geändert." -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -22510,7 +23001,7 @@ msgstr "" "ausführen." #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22526,25 +23017,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Unbekannter Befehl: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Bitte beheben Sie das, indem Sie 'git rebase --edit-todo' ausführen." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "Erfolgreich Rebase ausgeführt und $head_name aktualisiert." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "Konnte CHERRY_PICK_HEAD nicht löschen" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22576,13 +23067,13 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "" "Fehler beim Versuch die Identität des Authors zum Verbessern des Commits zu\n" "finden" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -22592,40 +23083,40 @@ msgstr "" "erneut\n" "aus." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "Konnte Änderungen aus der Staging-Area nicht committen." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "Konnte Editor nicht ausführen." -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "Konnte $switch_to nicht auschecken." -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "Kein HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "Konnte temporäres Verzeichnis $state_dir nicht erstellen." -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "Konnte nicht als interaktiven Rebase markieren." -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Rebase von $shortrevisions auf $shortonto ($todocount Kommando)" msgstr[1] "Rebase von $shortrevisions auf $shortonto ($todocount Kommandos)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "Konnte neu geschriebene Commits nicht initialisieren." @@ -22707,81 +23198,81 @@ msgid "Unable to determine absolute path of git directory" msgstr "Konnte absoluten Pfad des Git-Verzeichnisses nicht bestimmen." #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%28s %25s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "zur Staging-Area hinzugefügt" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "aus Staging-Area entfernt" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "Binär" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "Nichts" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "unverändert" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "%d Pfad hinzugefügt\n" msgstr[1] "%d Pfade hinzugefügt\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "%d Pfad aktualisiert\n" msgstr[1] "%d Pfade aktualisiert\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "%d Pfad wiederhergestellt\n" msgstr[1] "%d Pfade wiederhergestellt\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "%d Pfad angefasst\n" msgstr[1] "%d Pfade angefasst\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Aktualisieren" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Revert" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "Hinweis: %s ist nun unversioniert.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "unversionierte Dateien hinzufügen" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "Keine unversionierten Dateien.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -22790,7 +23281,7 @@ msgstr "" "Block\n" "direkt als zum Hinzufügen zur Staging-Area markiert." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -22799,7 +23290,7 @@ msgstr "" "Block\n" "direkt als zum Hinzufügen zum Stash markiert." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -22808,7 +23299,8 @@ msgstr "" "Block\n" "direkt als zum Entfernen aus der Staging-Area markiert." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -22817,7 +23309,8 @@ msgstr "" "Block\n" "direkt als zum Anwenden markiert." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -22826,19 +23319,19 @@ msgstr "" "Block\n" "direkt als zum Verwerfen markiert." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "" "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Schreiben: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "" "Manueller Editiermodus für Patch-Blöcke -- siehe nach unten für eine\n" "Kurzanleitung.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22852,7 +23345,7 @@ msgstr "" "Zeilen, die mit %s beginnen, werden entfernt.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" @@ -22863,7 +23356,7 @@ msgstr "" "werden,\n" "wird die Bearbeitung abgebrochen und der Patch-Block bleibt unverändert.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Lesen: %s" @@ -22874,14 +23367,14 @@ msgstr "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Lesen: %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" "Ihr bearbeiteter Patch-Block kann nicht angewendet werden.\n" "Erneut bearbeiten? (\"n\" verwirft Bearbeitung!) [y/n]?" -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22897,7 +23390,7 @@ msgstr "" "d - diesen oder alle weiteren Patch-Blöcke in dieser Datei nicht zum Commit " "vormerken" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22911,7 +23404,7 @@ msgstr "" "a - diesen und alle weiteren Patch-Blöcke dieser Datei stashen\n" "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht stashen" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22925,7 +23418,7 @@ msgstr "" "a - diesen und alle weiteren Patch-Blöcke dieser Datei unstashen\n" "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht unstashen" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22942,7 +23435,7 @@ msgstr "" "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht auf den Index " "anwenden" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22959,7 +23452,7 @@ msgstr "" "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht im " "Arbeitsverzeichnis verwerfen" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22974,7 +23467,7 @@ msgstr "" "a - diesen und alle weiteren Patch-Blöcke in der Datei verwerfen\n" "d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht verwerfen" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22988,7 +23481,21 @@ msgstr "" "a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n" "d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht anwenden" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - diesen Patch-Block auf das Arbeitsverzeichnis anwenden\n" +"n - diesen Patch-Block nicht auf das Arbeitsverzeichnis anwenden\n" +"q - Beenden; diesen und alle verbleibenden Patch-Blöcke nicht anwenden\n" +"a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n" +"d - diesen und alle weiteren Patch-Blöcke in der Datei nicht anwenden" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -23012,218 +23519,234 @@ msgstr "" "e - aktuellen Patch-Block manuell editieren\n" "? - Hilfe anzeigen\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "" "Die ausgewählten Patch-Blöcke können nicht auf den Index angewendet werden!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Trotzdem auf Arbeitsverzeichnis anwenden? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Nichts angewendet.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "ignoriere nicht zusammengeführte Datei: %s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Nur Binärdateien geändert.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Keine Änderungen.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Patch Aktualisierung" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Modusänderung der Staging-Area hinzufügen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Löschung der Staging-Area hinzufügen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "Diesen Patch-Block der Staging-Area hinzufügen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Modusänderung stashen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Löschung stashen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Diesen Patch-Block stashen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Modusänderung aus der Staging-Area entfernen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Löschung aus der Staging-Area entfernen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Diesen Patch-Block aus der Staging-Area entfernen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Modusänderung auf Index anwenden [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Löschung auf Index anwenden [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Diesen Patch-Block auf Index anwenden [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Modusänderung im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Löschung im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Diesen Patch-Block im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Modusänderung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "Löschung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d" "%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Modusänderung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "Löschung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d" "%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "Modusänderung auf Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Löschung auf Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "" +"Diesen Patch-Block auf das Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "Keine anderen Patch-Blöcke verbleibend\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "zu welchem Patch-Block springen (<Enter> für mehr Informationen)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "zu welchem Patch-Block springen? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Ungültige Nummer: '%s'\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Entschuldigung, nur %d Patch-Block verfügbar.\n" msgstr[1] "Entschuldigung, nur %d Patch-Blöcke verfügbar.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "Keine anderen Patch-Blöcke zum Durchsuchen\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "Suche nach regulärem Ausdruck? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Fehlerhafter regulärer Ausdruck für Suche %s: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "Kein Patch-Block entspricht dem angegebenen Muster\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "Kein vorheriger Patch-Block\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "Kein folgender Patch-Block\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "Entschuldigung, kann diesen Patch-Block nicht aufteilen.\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "In %d Patch-Block aufgeteilt.\n" msgstr[1] "In %d Patch-Blöcke aufgeteilt.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "Entschuldigung, kann diesen Patch-Block nicht bearbeiten.\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Diff überprüfen" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -23242,18 +23765,19 @@ msgstr "" "diff - Unterschiede zwischen HEAD und Index anzeigen\n" "add untracked - Inhalte von unversionierten Dateien zum Commit vormerken\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "-- fehlt" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "Unbekannter --patch Modus: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "ungültiges Argument %s, erwarte --" @@ -23267,32 +23791,32 @@ msgstr "" msgid "local time offset greater than or equal to 24 hours\n" msgstr "lokaler Zeit-Offset größer oder gleich 24 Stunden\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "Der Editor wurde unsauber beendet, breche alles ab." -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" "'%s' enthält eine Zwischenversion der E-Mail, die Sie gerade verfassen.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "'%s.final' enthält die verfasste E-Mail.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases ist mit anderen Optionen inkompatibel\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "" "Kann 'git format-patch' nicht außerhalb eines Repositories ausführen.\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -23301,38 +23825,38 @@ msgstr "" "Kommandozeile\n" "oder Konfigurationsoption)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Unbekanntes --suppress-cc Feld: '%s'\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Unbekannte --confirm Einstellung: '%s'\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "" "Warnung: sendemail-Alias mit Anführungszeichen wird nicht unterstützt: %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "Warnung: `:include:` wird nicht unterstützt: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "Warnung: `/file` oder `|pipe` Umleitung wird nicht unterstützt: %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "Warnung: sendmail Zeile wird nicht erkannt: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -23349,12 +23873,12 @@ msgstr "" " * die Option --format-patch angeben, wenn Sie einen Commit-Bereich " "meinen\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Fehler beim Öffnen von %s: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -23363,7 +23887,7 @@ msgstr "" "fatal: %s: %s\n" "Warnung: Es wurden keine Patches versendet.\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -23373,17 +23897,17 @@ msgstr "" "keine Patch-Dateien angegeben!\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Keine Betreffzeile in %s?" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Fehler beim Öffnen von '%s' zum Schreiben: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -23398,27 +23922,27 @@ msgstr "" "Leeren Sie den Inhalt des Bodys, wenn Sie keine Zusammenfassung senden " "möchten.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "Fehler beim Öffnen von %s: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Fehler beim Öffnen von %s.final: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "E-Mail mit Zusammenfassung ist leer, wird ausgelassen\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Sind Sie sich sicher, <%s> zu benutzen [y/N]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" @@ -23426,11 +23950,11 @@ msgstr "" "Die folgenden Dateien sind 8-Bit, aber deklarieren kein\n" "Content-Transfer-Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Welches 8-Bit-Encoding soll deklariert werden [UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -23444,22 +23968,22 @@ msgstr "" "an,\n" "wenn Sie den Patch wirklich versenden wollen.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "An wen sollen die E-Mails versendet werden (wenn überhaupt jemand)?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "fatal: Alias '%s' erweitert sich zu sich selbst\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" "Message-ID zur Verwendung als In-Reply-To für die erste E-Mail (wenn eine " "existiert)? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n" @@ -23467,18 +23991,18 @@ msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "" "Was soll mit dieser Adresse geschehen? (Beenden [q]|Löschen [d]|Bearbeiten " "[e]): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "CA Pfad \"%s\" existiert nicht" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23507,133 +24031,232 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "" "Diese E-Mail versenden? (Ja [y]|Nein [n]|Bearbeiten [e]|Beenden [q]|Alle " "[a]): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Zum Versenden dieser E-Mail ist eine Antwort erforderlich." -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "Der erforderliche SMTP-Server ist nicht korrekt definiert." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Server unterstützt kein STARTTLS! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "STARTTLS fehlgeschlagen! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "Konnte SMTP nicht korrekt initialisieren. Bitte prüfen Sie Ihre " "Konfiguration\n" "und benutzen Sie --smtp-debug." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "Fehler beim Senden %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Probeversand %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "%s gesendet\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Probeversand OK. Log enthält:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK. Log enthält:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Ergebnis: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Ergebnis: OK\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "Kann Datei %s nicht öffnen" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Füge cc: hinzu: %s von Zeile '%s'\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Füge to: hinzu: %s von Zeile '%s'\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) Füge cc: hinzu: %s von Zeile '%s'\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(body) Füge cc: hinzu: %s von Zeile '%s'\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Konnte '%s' nicht ausführen" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Füge %s: %s hinzu von: '%s'\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) Fehler beim Schließen der Pipe nach '%s'" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "Kann Nachricht nicht als 7bit versenden." -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "Ungültiges Transfer-Encoding" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "konnte %s nicht öffnen: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s: Patch enthält eine Zeile, die länger als 998 Zeichen ist" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "Lasse %s mit Backup-Suffix '%s' aus.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Wollen Sie %s wirklich versenden? [y|N]: " + +#~ msgid "" +#~ "Fetch normally indicates which branches had a forced update, but that " +#~ "check has been disabled." +#~ msgstr "" +#~ "'fetch' zeigt normalerweise, welche Branches eine erzwungene " +#~ "Aktualisierung hatten, aber diese Überprüfung wurde deaktiviert." + +#~ msgid "" +#~ "or run 'git config fetch.showForcedUpdates false' to avoid this check.\n" +#~ msgstr "" +#~ "oder führen Sie 'git config fetch.showForcedUpdates false' aus, um diese " +#~ "Überprüfung zu umgehen.\n" + +#~ msgid "" +#~ "log.mailmap is not set; its implicit value will change in an\n" +#~ "upcoming release. To squelch this message and preserve current\n" +#~ "behaviour, set the log.mailmap configuration value to false.\n" +#~ "\n" +#~ "To squelch this message and adopt the new behaviour now, set the\n" +#~ "log.mailmap configuration value to true.\n" +#~ "\n" +#~ "See 'git help config' and search for 'log.mailmap' for further " +#~ "information." +#~ msgstr "" +#~ "'log.mailmap' ist nicht gesetzt; der implizite Wert wird sich in einem\n" +#~ "kommenden Release ändern. Um diese Meldung zu unterdrücken und das " +#~ "aktuelle\n" +#~ "Verhalten beizubehalten, setzen Sie den Konfigurationswert von'log." +#~ "mailmap' auf 'false'.\n" +#~ "\n" +#~ "Um diese Meldung zu unterdrücken und jetzt das neue Verhalten zu\n" +#~ "übernehmen, setzen Sie den Konfigurationswert von 'log.mailmap' auf " +#~ "'true'.\n" +#~ "\n" +#~ "Führen Sie 'git help config' aus und suchen Sie nach 'log.mailmap', um\n" +#~ "weitere Informationen zu erhalten." + +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "Server unterstützt multi_ack_detailed" + +#~ msgid "Server supports no-done" +#~ msgstr "Server unterstützt no-done" + +#~ msgid "Server supports multi_ack" +#~ msgstr "Server unterstützt multi_ack" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "Server unterstützt side-band-64k" + +#~ msgid "Server supports side-band" +#~ msgstr "Server unterstützt side-band" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "Server unterstützt allow-tip-sha1-in-want" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "Server unterstützt allow-reachable-sha1-in-want" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "Server unterstützt ofs-delta" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD losgelöst bei %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD losgelöst von %s)" + +#~ msgid "Checking out files" +#~ msgstr "Checke Dateien aus" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "" +#~ "Kann nicht interaktiv sein, ohne dass die Standard-Eingabe mit einem " +#~ "Terminal verbunden ist." + +#~ msgid "failed to open '%s'" +#~ msgstr "Fehler beim Öffnen von '%s'" + +#~ msgid "failed to stat %s\n" +#~ msgstr "Konnte %s nicht lesen\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Wenn Sie diesen Commit auslassen möchten, benutzen Sie:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Benutzen Sie anschließend \"git cherry-pick --continue\", um die\n" +#~ "Cherry-Pick-Operation mit den verbleibenden Commits fortzusetzen.\n" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "Nicht erkanntes Verb: %s" @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" -"PO-Revision-Date: 2019-06-04 18:51-0500\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" +"PO-Revision-Date: 2019-08-10 12:55-0500\n" "Last-Translator: christopher.diaz.riv@gmail.com\n" "Language-Team: CodeLabora <codelabora@gmail.com>\n" "Language: es\n" @@ -18,38 +18,38 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.2\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sayuda: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" "No es posible ejecutar cherry-picking porque tienes archivos sin fusionar." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "No es posible realizar un commit porque tienes archivos sin fusionar." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "No es posible hacer merge porque tienes archivos sin fusionar." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "No es posible hacer pull porque tienes archivos sin fusionar." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "No es posible revertir porque tienes archivos sin fusionar." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "No es posible %s porque tienes archivos sin fusionar." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -57,49 +57,63 @@ msgstr "" "CorrÃgelos en el árbol de trabajo y entonces usa 'git add/rm <archivo>',\n" "como sea apropiado, para marcar la resolución y realizar un commit." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Saliendo porque existe un conflicto sin resolver." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "No has concluido tu fusión (MERGE_HEAD existe)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Por favor, realiza un commit antes de fusionar." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Saliendo por una fusión inconclusa." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" "\n" -" git checkout -b <new-branch-name>\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"Nota: actualizando el árbol de trabajo '%s'.\n" +"Nota: cambiando a '%s'.\n" "\n" "Te encuentras en estado 'detached HEAD'. Puedes revisar por aquÃ, hacer\n" -"cambios experimentales y confirmarlos, y puedes descartar cualquier\n" +"cambios experimentales y hacer commits, y puedes descartar cualquier\n" "commit que hayas hecho en este estado sin impactar a tu rama realizando\n" "otro checkout.\n" "\n" "Si quieres crear una nueva rama para mantener los commits que has creado,\n" -"puedes hacerlo (ahora o después) usando -b con el comando checkout. " +"puedes hacerlo (ahora o después) usando -c con el comando checkout. " "Ejemplo:\n" "\n" -" git checkout -b <nombre-de-nueva-rama>\n" +" git switch -c <nombre-de-nueva-rama>\n" +"\n" +"O deshacer la operación con:\n" +"\n" +" git switch -\n" +"\n" +"Apaga este aviso mediante la variable de config advice.detachedHead en " +"false\n" "\n" #: alias.c:50 @@ -110,99 +124,99 @@ msgstr "cmdline termina en \\" msgid "unclosed quote" msgstr "comillas incompletas" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "opción de espacios en blanco no reconocida '%s'" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "opción de ignorar espacios en blanco no reconocida '%s'" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject y --3way no se pueden utilizar juntas." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached y --3way no se pueden utilizar juntas." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way está fuera de un repositorio" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index está fuera de un repositorio" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached está fuera de un repositorio" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "No se puede preparar una marca de tiempo para la expresión regular %s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec devolvió %d para la entrada: %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "" "no se puede encontrar el nombre del archivo en el parche en la lÃnea %d" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: git-diff erróneo - se esperaba /dev/null, se encontró %s en " "lalÃnea %d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: git-diff erróneo - nuevo nombre de archivo inconsistente en " "lalÃnea %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: git-diff erróneo - viejo nombre de archivo inconsistente en " "lalÃnea %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: git-diff erróneo - se esperaba /dev/null en la lÃnea %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "modo inválido en la lÃnea %d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "header inconsistente en las lÃneas %d y %d" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount: lÃnea inesperada: %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "fragmento de parche sin header en la lÃnea %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -217,83 +231,83 @@ msgstr[1] "" "los headers de git diff carecen de información de los nombres de los " "archivos %d cuando los eliminan de la ruta principal componentes (lÃnea %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "" "el header de git diff carece de información del nombre del archivo (lÃnea %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "el nuevo archivo depende de contenidos viejos" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "el archivo eliminado todavÃa tiene contenido" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "parche corrupto en la lÃnea %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "nuevo archivo %s depende en contenidos viejos" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "el archivo borrado %s todavÃa tiene contenido" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** peligro: el archivo %s está vacÃo pero no es borrado" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "parche binario corrupto en la lÃnea %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "parche binario no reconocido en la lÃnea %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "parche que solo contiene basura en la lÃnea %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "no es posible leer el enlace simbólico %s" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "no es posible abrir o leer %s" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "comienzo inválido de lÃnea: '%c'" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "Hunk #%d tuvo éxito en %d (%d lÃnea compensada)." msgstr[1] "Hunk #%d tuvo éxito en %d (%d lÃneas compensadas)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Contexto reducido a (%ld/%ld) para aplicar el fragmento en %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -302,23 +316,23 @@ msgstr "" "mientras se busca:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "data perdida en parche binario para '%s'" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "no se puede revertir-aplicar un parche binario sin el hunk revertido a '%s'" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "no se puede aplicar el parche binario a '%s' sin un Ãndice completo" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." @@ -326,289 +340,289 @@ msgstr "" "el parche aplica a '%s' (%s), lo cual no concuerda con los contenidos " "actuales." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "el parche aplica a un '%s' vacÃo, pero este no lo esta" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "la postimagen necesaria %s para '%s' no se puede leer" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "el parche binario no aplica para '%s'" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "el parche binario para '%s' crea un resultado incorrecto (saliendo %s, se " "obtuvo %s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "el parche falló: %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "no se puede hacer checkout a %s" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "no se pudo leer %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "leyendo de '%s' tras un enlace simbólico" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "la ruta %s ha sido renombrada/suprimida" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s: no existe en el Ãndice" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s: no concuerda con el Ãndice" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "el repositorio carece del blob necesario para regresar en un merge de tres-" "vÃas." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Retrocediendo en un merge de tres-vÃas...\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "no se pueden leer los contenidos actuales de '%s'" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Falló el merge en retroceso de tres-vÃas...\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Parche aplicado a '%s' con conflictos.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Parche aplicado a '%s' limpiamente\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "parche de remoción deja contenidos en el archivo" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: tipo incorrecto" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s tiene tipo %o, se esperaba %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "ruta inválida '%s'" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s: ya existe en el Ãndice" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s: ya existe en el directorio de trabajo" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "nuevo modo (%o) de %s no concuerda con el viejo modo (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "nuevo modo (%o) de %s no concuerda con el viejo modo (%o) de %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "archivo afectado '%s' está tras un enlace simbólico" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: el parche no aplica" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Revisando el parche %s..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "falta información del sha1 o es inútil para el submódulo %s" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "modo cambiado para %s, el cual no se encuentra en el HEAD actual" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "falta información sha1 o es inútil (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry falló para la ruta '%s'" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "no se pudo añadir %s al Ãndice temporal" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "no se pudo escribir un Ãndice temporal para %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "no se puede eliminar %s del Ãndice" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "parche corrupto para el submódulo %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "no es posible establecer el archivo recién creado '%s'" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" "no es posible crear una copia de seguridad para el archivo recién creado %s" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "no es posible agregar una entrada en el cache para %s" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "falló escribir para '%s'" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "cerrando archivo '%s'" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "no es posible escribir el archivo '%s' modo %o" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Parche %s aplicado limpiamente." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "error interno" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Aplicando parche %%s con %d rechazo..." msgstr[1] "Aplicando parche %%s con %d rechazos..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "truncando el nombre de archivo .rej a %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "no se puede abrir %s" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Hunk #%d aplicado limpiamente." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Hunk #%d rechazado." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Parche '%s' saltado." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "input no reconocido" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "no es posible leer el archivo Ãndice" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "no se puede abrir el parche '%s': %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "%d error de espacios en blanco aplastado" msgstr[1] "%d errores de espacios en blanco aplastados" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d lÃnea agrega errores de espacios en blanco." msgstr[1] "%d lÃneas agregan errores de espacios en blanco." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." @@ -617,146 +631,146 @@ msgstr[0] "" msgstr[1] "" "%d lÃneas aplicadas después de arreglar los errores de espacios en blanco." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "No es posible escribir el archivo Ãndice" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "ruta" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "no aplicar cambios que concuerden con la ruta suministrada" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "aplicar cambios que concuerden con la ruta suministrada" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "num" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "eliminar <num> slashes iniciales de las rutas diff tradicionales" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "ignorar adiciones hechas por el parche" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "en lugar de aplicar el parche, mostrar diffstat para la entrada" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "mostrar el numero de lÃneas agregadas y eliminadas en notación decimal" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "en lugar de aplicar el parche, mostrar un resumen para la entrada" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "en lugar de aplicar el parche, ver si el parche es aplicable" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "asegurar que el parche es aplicable al Ãndice actual" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "marca los nuevos archivos con `git add --intent-to-add`" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "aplicar un parche sin tocar el árbol de trabajo" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "aceptar un parche que toca fuera del área de trabajo" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "también aplicar el parche ( usar con --stat/--summary/--check" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "intentar merge de tres-vÃas si el parche no aplica" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" "construir un Ãndice temporal basado en la información del Ãndice incrustado" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "rutas están separadas con un carácter NULL" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "asegure que por lo menos <n> lÃneas del contexto concuerden" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "acción" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "" "detectar lÃneas nuevas o modificadas que contienen errores de espacios en " "blanco" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "" "ignorar cambios en los espacios en blanco cuando se encuentra el contexto" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "aplicar el parche en reversa" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "no espera al menos una lÃnea del contexto" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "dejar los hunks rechazados en los archivos *.rej correspontientes" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "permitir solapamiento de hunks" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "ser verboso" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "tolerar nuevas lÃneas faltantes detectadas incorrectamente al final del " "archivo" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "no confiar en el conteo de lÃneas en los headers del hunk" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "raÃz" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "anteponer <root> a todos los nombres de archivos" @@ -799,98 +813,98 @@ msgstr "nombre de objeto no válido: %s" msgid "not a tree object: %s" msgstr "no es un objeto tree: %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "directorio de trabajo actual no rastreado" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "fmt" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "formato del archivo" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "prefijo" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "anteponer prefijo a cada ruta en el archivo" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "carpeta" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "escribe el archivo en esta carpeta" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "leer .gitattributes en el directorio de trabajo" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "reportar archivos archivados por stderr" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "solo guardar" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" -msgstr "comprimir mas rápido" +msgstr "comprimir más rápido" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "comprimir mejor" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "listar los formatos de carpeta soportados" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "repo" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "obtener la carpeta del repositorio remoto <repo>" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "comando" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "ruta para el comando git-upload-archivo remoto" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Opción inesperada --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "Opción --exec solo puede ser utilizada con --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Opción inesperada --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Formato de carpeta desconocido '%s'" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Argumento no soportado para formato '%s': -%d" @@ -934,7 +948,7 @@ msgstr "ruta no válida UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "ruta muy larga (%d chars, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "error al desinflar (%d)" @@ -947,7 +961,7 @@ msgstr "timestamp muy largo para este sistema: %<PRIuMAX>" #: attr.c:211 #, c-format msgid "%.*s is not a valid attribute name" -msgstr "%.*s no es un nombre de atributo valido" +msgstr "%.*s no es un nombre de atributo válido" #: attr.c:368 #, c-format @@ -975,7 +989,7 @@ msgstr "¡No podemos biseccionar más!\n" #: bisect.c:733 #, c-format msgid "Not a valid commit name %s" -msgstr "No es un nombre de commit valido %s" +msgstr "No es un nombre de commit válido %s" #: bisect.c:758 #, c-format @@ -1013,7 +1027,7 @@ msgid "" msgstr "" "Algunas %s revisiones no son ancestros de la revisión %s.\n" "git bisect no puede trabajar bien en este caso.\n" -"Tal vez confundió la revisión %s y %s?\n" +"Tal vez confundiste la revisión %s y %s?\n" #: bisect.c:789 #, c-format @@ -1036,12 +1050,12 @@ msgstr "Biseccionando: una base de fisión debe ser probada\n" msgid "a %s revision is needed" msgstr "una %s revisión es necesaria" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "no se pudo crear el archivo '%s'" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "no se pudo leer el archivo '%s'" @@ -1081,40 +1095,40 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "Biseccionando: falta %d revisión por probar después de esto %s\n" msgstr[1] "Biseccionando: faltan %d revisiones por probar después de esto %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents y --reverse no se mezclan bien." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "no se puede usar --contents con el nombre de objeto commit final" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "--reverse y --first-parent juntos requieren especificar el último commit" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "falló la configuración del camino de revisión" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "--reverse --first-parent juntos requieren un rango a lo largo de la cadena " "del primer padre" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "no hay una ruta %s en %s" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "no se puede leer el blob %s para la ruta %s" @@ -1199,7 +1213,7 @@ msgstr "No rastreando: información ambigua para la referencia %s" #: branch.c:189 #, c-format msgid "'%s' is not a valid branch name." -msgstr "'%s' no es un nombre valido de rama." +msgstr "'%s' no es un nombre válido de rama." #: branch.c:208 #, c-format @@ -1246,7 +1260,7 @@ msgstr "" #: branch.c:281 #, c-format msgid "Not a valid object name: '%s'." -msgstr "Nombre de objeto no valido: '%s'." +msgstr "Nombre de objeto no válido: '%s'." #: branch.c:301 #, c-format @@ -1256,14 +1270,14 @@ msgstr "Nombre de objeto ambiguo: '%s'." #: branch.c:306 #, c-format msgid "Not a valid branch point: '%s'." -msgstr "Punto de rama no valido: '%s'." +msgstr "Punto de rama no válido: '%s'." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ya ha sido marcado en '%s'" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD del árbol de trabajo %s no está actualizada" @@ -1278,8 +1292,8 @@ msgstr "'%s' no se ve como un archivo bundle v2" msgid "unrecognized header: %s%s (%d)" msgstr "header no reconocido %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "no se pudo abrir '%s'" @@ -1288,60 +1302,64 @@ msgstr "no se pudo abrir '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Al repositorio le falta estos commits prerrequisito:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "se necesita un repositorio para verificar un bundle" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "El bundle contiene esta referencia:" msgstr[1] "El bundle contiene estas %d referencias:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "El bundle registra una historia completa." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "El bundle requiere esta referencia:" msgstr[1] "El bundle requiere estas %d referencias:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "incapaz de duplicar bundle descriptor" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "No se pudo crear los pack-objetcts" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "pack-objects murió" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "rev-list murió" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "referencia '%s' es excluida por las opciones de rev-list" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "argumento no reconocido: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Rechazando crear un bundle vacÃo." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "no se puede crear '%s'" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "index-pack murió" @@ -1350,8 +1368,8 @@ msgstr "index-pack murió" msgid "invalid color value: %.*s" msgstr "color inválido: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "no se puede analizar %s" @@ -1361,7 +1379,7 @@ msgstr "no se puede analizar %s" msgid "%s %s is not a commit!" msgstr "%s %s no es un commit!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1381,227 +1399,282 @@ msgstr "" "Apapa este mensaje ejecutando\n" "\"git config advice.graftFileDeprecated false\"" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "Commit %s tiene una firma GPG no confiable, pretendidamente por %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "Commit %s tiene una mala firma GPG pretendidamente por %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Commit %s no tiene una firma GPG." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "El Commit %s tiene una buena firma GPG por %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" "variable i18n.commitencoding to the encoding your project uses.\n" msgstr "" "Peligro: el mensaje del commit no se ajusta a UTF-8.\n" -"Tal vez quiera enmendarlo después de arreglar el mensaje, o arreglar la\n" +"Tal vez quieras enmendarlo después de arreglar el mensaje, o arreglar la\n" "variable de configuración i18n.commitencoding para la codificación que usa " -"su proyecto.\n" +"tu proyecto.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "archivo commit-graph es muy pequeño" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "firma %X en commit-graph no concuerda con firma %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "versión de commit-graph %X no concuerda con versión %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "versión de hash de commit-graph %X no concuerda con versión %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "falta tabla de lookup del chunk en commit-graph; el archivo puede estar " "incompleto" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "offset del chunk de commit-graph inapropiado %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "id de chunk de commit-graph %08x parece tener múltiples tiempos" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "commit-graph no tiene una chunk base de graphs" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "cadena commit-graph no concuerda" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "cadena de commit-graph inválida: lÃnea '%s' no es un hash" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "no es posible encontrar los archivos commit-graph" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "posición de commit inválida. commit-graph está probablemente corrupto" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "no se pudo encontrar commit %s" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "incapaz de obtener el tipo de objeto: %s" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Cargando commits conocidos en commit graph" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "Expandiendo commits alcanzables en commit graph" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "Limpiando marcas de commits en commit graph" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "Calculando números de generación de commit graph" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Encontrando commits para commit graph en %d pack" msgstr[1] "Encontrando commits para commit graph en %d packs" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "error agregando pack %s" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "error abriendo index para %s" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "Encontrando commits para commit graph de %d ref" msgstr[1] "Encontrando commits para commit graph de %d refs" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "Encontrando commits para commit graph entre los objetos empaquetados" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "Contando commits distintos en commit graph" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "el formato de gráficos de commit no pudede escribir %d commits" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Encontrando esquinas extra en commit graph" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "demasiados commits para escribir el gráfico" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "falló al escribir el número correcto de ids de base graph" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "no se pudo crear directorios principales para %s" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "no se puede crear '%s'" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Escribiendo commit graph en %d paso" msgstr[1] "Escribiendo commit graph en %d pasos" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "no se pudo abrir la cadena de archivos commit-graph" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "no se pudo renombrar el archivo base commit-graph" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "falló al renombrar el archivo temporal commit-graph" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "Escaneando commits fusionados" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "id de commit duplicado inesperado %s" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "Fusionando commit-graph" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "el formato de gráficos de commit no pudede escribir %d commits" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "demasiados commits para escribir el gráfico" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" "el archivo de commit-graph tiene checksums incorrectos y probablemente está " "corrupto" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "commit-graph tiene un orden de OID incorrecto: %s luego %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "commit-graph tiene un valor fanout incorrecto: fanout[%d] = %u != %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "falló al analizar commit %s para commit-graph" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Verificando commits en commit graph" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "falló al analizar el commit %s de la base de datos de objetos para commit-" "graph" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "árbol raÃz OID para commit %s en commit-graph es %s != %s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "lista padre de commit-graph para commit %s es muy larga" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "padre de commit-graph para %s es %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "lista padre de commit-graph para commit %s termina antes" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" msgstr "" "commit-graph ha generado número cero para %s, pero no-cero para los demás" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" msgstr "" "commit-graph tiene generación no-cero para %s, pero cero para los demás" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "generación commit-graph para commit %s es %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1611,7 +1684,7 @@ msgstr "" msgid "memory exhausted" msgstr "memoria agotada" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1626,300 +1699,300 @@ msgstr "" "\t%s\n" "Esto puede ser causado por inclusiones circulares." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "no se pudo expandir rutas de inclusión '%s'" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "inclusiones de configuración relativas tienen que venir de archivos" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "" "la configuración relativa incluye condicionales que deben venir de archivos" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "llave no contiene una sección: %s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "llave no contiene el nombre de variable: %s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "llave inválida: %s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "llave inválida (nueva lÃnea): %s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "parámetro de configuración malogrado: %s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "formato malogrado en %s" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "mala lÃnea de config %d en el blob %s" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "mala lÃnea de config %d en el archivo %s" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "mala lÃnea de config %d en la entrada standard" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "mala lÃnea de config %d en el submódulo-blob %s" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "mala lÃnea de config %d en la lÃnea de comando %s" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "mala lÃnea de config %d en %s" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "fuera de rango" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "unidad inválida" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "mal valor de config numérica '%s' para '%s': %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "mal valor de config numérica '%s' para '%s' en el blob %s: %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "mal valor de config numérica '%s' para '%s' en el archivo %s: %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "mal valor de config numérica '%s' para '%s' en la entrada standard: %s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "mal valor de config numérica '%s' para '%s' en el submódulo-blob %s: %s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" "mal valor de config numérica '%s' para '%s' en la lÃnea de comando %s: %s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "mal valor de config numérica '%s' para '%s' en %s: %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "falló al expandir el directorio de usuario en: '%s'" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' para '%s' no es una marca de tiempo válida" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "largo de abreviatura fuera de rango: %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "nivel de compresión de zlib erróneo %d" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar deberÃa tener solo un caracter" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "modo inválido de creación de objetos: %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "valor malformado para %s" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "valor malformado para %s: %s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "debe ser uno de nothing, matching, simple, upstream o current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "nivel de compresión de pack erróneo %d" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "incapaz de cargar configuración de objeto blob '%s'" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "referencia '%s' no apunta a un blob" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "no se posible resolver configuración de blob '%s'" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "no se pudo analizar %s" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "no es posible analizar la configuración de la lÃnea de comando" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "" "error desconocido ocurrió mientras se leÃan los archivos de configuración" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" -msgstr "Invalido %s: '%s'" +msgstr "Inválido %s: '%s'" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "valor core.untrackedCache '%s' desconocido; usando 'keep' como valor por " "defecto" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "valor splitIndex.maxPercentChange '%d' debe estar entre 0 y 100" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "no es posible analizar '%s' de la configuración de la lÃnea de comando" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "mala variable de config '%s' en el archivo '%s' en la lÃnea %d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "nombre de sección inválido '%s'" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s tiene múltiples valores" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "falló al escribir nuevo archivo de configuración %s" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "no se pudo bloquear archivo de configuración %s" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "abriendo %s" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "patrón inválido: %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "archivo de configuración inválido: %s" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "fstat en %s falló" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "no es posible hacer mmap '%s'" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "chmod en %s falló" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "no se pudo escribir el archivo de configuración %s" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "no se pudo configurar '%s' a '%s'" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "no se pudo desactivar '%s'" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "sección de nombre inválida: %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "valor faltante para '%s'" @@ -1937,7 +2010,7 @@ msgid "" msgstr "" "No se pudo leer del repositorio remoto.\n" "\n" -"Por favor asegúrese que tiene los permisos de acceso correctos\n" +"Por favor asegúrate que tienes los permisos de acceso correctos\n" "y que el repositorio existe." #: connect.c:81 @@ -2084,19 +2157,19 @@ msgstr "ruta extraña '%s' bloqueada" msgid "unable to fork" msgstr "no es posible hacer fork" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Verificando conectividad" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "No se pudo correr 'git rev-list'" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "falló escribir a rev-list" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "falló al cerrar la entrada standard de rev-list" @@ -2314,7 +2387,7 @@ msgstr "falló al cargar isla de regex para '%s': %s" msgid "island regex from config has too many capture groups (max=%d)" msgstr "regex isla de config tiene muchos grupos de captura (max=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "%d islas marcadas, listo.\n" @@ -2391,35 +2464,35 @@ msgstr "" "Errores en la variable de config 'diff.dirstat' encontrados:\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "diff externo murió, deteniendo en %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, --check y -s son mutuamente exclusivas" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S y --find-object son mutuamente exclusivas" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow requiere exactamente un pathspec" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "valor --stat inválido: %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s espera un valor numérico" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2428,42 +2501,42 @@ msgstr "" "Falló al analizar parámetro de opción --dirstat/-X:\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "cambio de clase desconocido '%c' en --diff-filter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "valor desconocido luego de ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "no se puede resolver '%s'" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s espera forma <n>/<m>" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s esperaba un char, se obtuvo '%s'" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "mal argumento --color-moved: %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "modo inválido '%s' en --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2471,154 +2544,154 @@ msgstr "" "opción diff-algorithm acepta \"myers\", \"minimal\", \"patience\" e " "\"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "argumento inválido para %s" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "falló al analizar parámetro de opción --submodule: '%s'" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "mal argumento --word-diff: %s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Opciones de formato de salida para diff" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "generar parche" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "suprimir salida de diff" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "genera diffs con <n> lÃneas de contexto" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "genera el diff en formato raw" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "sinónimo para '-p --stat'" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "sinónimo para '-p --stat'" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "--stat amigable para máquina" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "mostrar solo la última lÃnea para --stat" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<param1,param2>..." -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" "muestra la distribución de cantidades de cambios relativa para cada " "subdirectorio" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "sinónimo para --dirstat=cumulative" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "sinonimo para --dirstat=archivos,param1,param2..." -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "advierte si cambios introducen conflictos de markers o errores de espacios " "en blanco" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" "resumen condensado de creaciones, cambios de nombres y cambios de modos" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "mostrar solo nombres de archivos cambiados" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "mostrar solo nombres y estados de archivos cambiados" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<ancho>[,<nombre-ancho>[,<cantidad>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "generar diffstat" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<ancho>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "genera diffstat con un ancho dado" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "genera diffstat con un nombre de ancho dado" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "genera diffstat con un ancho de graph dado" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<cantidad>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "genera diffstat con lÃneas limitadas" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "genera un resumen compacto de diffstat" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "muestra un diff binario que puede ser aplicado" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" "mostrar todo un pre- y post-image de nombres de objetos en las lÃneas \"index" "\"" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "mostrar diff colorido" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "<tipo>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2626,7 +2699,7 @@ msgstr "" "resaltar errores de espacios en blanco en las lÃneas 'context', 'old' o " "'new' del diff" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2634,89 +2707,89 @@ msgstr "" "no consolidar los pathnames y usar NULs como terminadores de campos en --raw " "o --numstat" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<prefijo>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "mostrar el prefijo de fuente dado en lugar de \"a/\"" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "mostrar el prefijo de destino en lugar de \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "anteponer un prefijo adicional a cada lÃnea mostrada" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "no mostrar ningún prefijo de fuente o destino" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "muestra el contexto entre hunks de diff hasta el número especificado de " "lÃneas" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<char>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "especifica el char para indicar una nueva lÃnea en lugar de '+'" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "especifica el char para indicar una lÃnea vieja en lugar de '-'" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "especifica el char para indicar un contexto en lugar de ' '" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "Opciones de diff rename" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "descomponer los cambios de reescritura en pares de borrar y crear" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "detectar renombrados" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "omite la preimage para borrados" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "detectar copias" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "usa archivos no modificados como fuente para encontrar copias" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "deshabilita detección de renombres" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "usa blobs vacÃos como fuente de renombre" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "continua listando el historial de un archivo más allá de renombres" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2724,155 +2797,155 @@ msgstr "" "previene detección de renombre/copias si el número de objetivos para " "renombres/copias excede el lÃmite dado" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Opciones de algoritmos de diff" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "produce el diff más pequeño posible" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "ignorar espacios en blanco cuando comparando lÃneas" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "ignorar cambios en la cantidad de lÃneas en blanco" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "ignorar cambios en espacios en blanco en EOL" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "ignora carrier-return al final de la lÃnea" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "ignora cambios cuyas lÃneas son todas en blanco" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "heurÃstica para cambiar los lÃmites de hunk para una fácil lectura" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "genera un diff usando algoritmo \"patience diff\"" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "genera un diff usando algoritmo \"histogram diff\"" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<algoritmo>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "escoge un algoritmo para diff" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<texto>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "genera un diff usando algoritmo \"anchored diff\"" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<modo>" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" "muestra diff por palabras usando <modo> para delimitar las palabras cambiadas" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<regex>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "usa <regex> para decidir que palabra es" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "equivalente a --word-diff=color --word-diff-regex=<regex>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "lÃneas movidas de código están coloreadas diferente" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "como espacios en blanco son ignorados en --color-moved" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Otras opciones de diff" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "cuando ejecutado desde un subdir, excluye cambios del exterior y muestra " "paths relativos" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "tratar todos los archivos como texto" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "cambia dos inputs, invierte el diff" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "termina con 1 si hubieron diferencias, de lo contrario con 0" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "deshabilita todo el output del programa" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "permite la ejecución de un diff helper externo" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "ejecuta filtros de conversión de texto externos cuando comparando binarios" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<cuando>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "ignorar cambios a submódulos en la generación de diff" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<formato>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "especifica como son mostradas las diferencias en submódulos" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "ocultar entradas 'git add -N' del index" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "trata entradas 'git add -N' como reales en el index" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<string>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" @@ -2880,7 +2953,7 @@ msgstr "" "busca por diferencias que cambien el número de ocurrencias para el string " "especificado" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -2888,23 +2961,23 @@ msgstr "" "busca por diferencias que cambien el número de ocurrencias para el regex " "especificado" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "mostrar todos los cambios en el changeset con -S o -G" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "tratar <string> en -S como una expresión regular extendida de POSIX" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "controlar el orden en el que los archivos aparecen en la salida" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<id-objeto>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" @@ -2912,38 +2985,38 @@ msgstr "" "busca por diferencias que cambien el número de ocurrencias para el objeto " "especificado" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "selecciona archivos por tipo de diff" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<archivo>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Output a un archivo especÃfico" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "detección de cambio de nombre inexacta fue saltada por haber muchos archivos." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" "solo se encontraron copias de rutas modificadas por haber muchos archivos." -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." msgstr "" -"tal vez quiera configurar la variable %s para por lo menos %d y volver a " +"tal vez quieras configurar la variable %s para por lo menos %d y volver a " "intentar el comando." #: dir.c:537 @@ -3044,32 +3117,32 @@ msgstr "no se puede escribir al remoto" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc requiere multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "lÃnea poco profunda inválida: %s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "lÃnea superficial inválida: %s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "objeto no encontrado: %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "error en objeto: %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "superficie no encontrada: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "se esperaba shallow/unshallow, se obtuvo %s" @@ -3088,7 +3161,7 @@ msgstr "commit inválido %s" msgid "giving up" msgstr "rindiéndose" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "listo" @@ -3129,154 +3202,130 @@ msgstr "%s falló" msgid "error in sideband demultiplexer" msgstr "error en demultiplexor de banda lateral" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "El servidor no soporta clientes superficiales" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "El servidor soporta ulti_ack_detailed" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "El servidor soporta no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "El servidor soporta multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "El servidor soporta side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "El servidor soporta side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "El servidor soporta allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "El servidor soporta allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "El servidor soporta ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "El servidor soporta filtro" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "Versión de servidor es %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "El servidor soporta %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "El servidor no soporta clientes superficiales" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "El servidor no soporta --shalow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "El servidor no soporta --shalow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "El servidor no soporta --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "no hay commits comunes" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: fetch falló." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "El servidor no soporta peticiones superficiales" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "El servidor soporta filtro" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "no se puede escribir request al remoto" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "error leyendo sección header '%s'" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "se esperaba '%s', se recibió '%s'" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" -msgstr "linea de confirmación inesperada: '%s'" +msgstr "lÃnea de confirmación inesperada: '%s'" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "error procesando acks: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "espere que el packfile sea mandado luego del 'listo'" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "espere que ninguna otra sección sea enviada luego del 'listo'" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "error procesando información superficial: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "se esperaba wanted-ref, se obtuvo '%s'" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "wanted-ref inesperado: '%s'" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "error procesando refs deseadas: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "no concuerda el head remoto" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "remoto no mando todos los objetos necesarios" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "no existe ref remota %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "El servidor no permite solicitudes de objetos inadvertidos %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg falló al firmar la data" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "no se pudo crear archivo temporal" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "falló al escribir la firma separada para '%s'" @@ -3286,18 +3335,18 @@ msgstr "falló al escribir la firma separada para '%s'" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "ignora color inválido '%.*s' en log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "'%s': no es posible leer %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "falló al marcar '%s'" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "'%s': lectura corta" @@ -3367,7 +3416,7 @@ msgstr "comandos disponibles de git desde otro lugar en tu $PATH" msgid "These are common Git commands used in various situations:" msgstr "Estos son comandos comunes de Git usados en varias situaciones:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "comando de listado de tipos no soportado '%s'" @@ -3430,10 +3479,10 @@ msgid_plural "" "The most similar commands are" msgstr[0] "" "\n" -"El comando mas similar es" +"El comando más similar es" msgstr[1] "" "\n" -"Los comandos mas similares son" +"Los comandos más similares son" #: help.c:714 msgid "git version [<options>]" @@ -3512,7 +3561,7 @@ msgstr "no se puede tener un nombre vacÃo (para <%s>)" msgid "name consists only of disallowed characters: %s" msgstr "el nombre consiste solo de caracteres no permitidos: %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "formato de fecha inválido: %s" @@ -3544,6 +3593,11 @@ msgstr "se esperaba 'tree:<depth>'" msgid "sparse:path filters support has been dropped" msgstr "soporte para filtros sparse:path ha sido discontinuado" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "filtro -spec inválido '%s'" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "no se puede cambiar un clon parcial remoto promisor" @@ -3577,8 +3631,8 @@ msgstr "No se pudo crear '%s.lock': %s" msgid "failed to read the cache" msgstr "falló al leer la cache" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "no es posible escribir el archivo Ãndice" @@ -3601,91 +3655,91 @@ msgstr "add_cacheinfo falló para refrescar la ruta '%s'; abortando fusión." msgid "error building trees" msgstr "error construyendo árboles" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "falló al crear la ruta '%s'%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Removiendo %s para hacer espacio para un subdirectorio\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": tal vez un conflicto D/F?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "rehusando perder el archivo rastreado en '%s'" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "no se puede leer el objeto %s '%s'" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "se esperaba blob para %s '%s'" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "falló al abrir '%s': %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "falló al crear el enlace simbólico '%s': %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "no se que hacer con %06o %s '%s'" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Falló al fusionar el submódulo %s (no revisado)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Falló al fusionar el submódulo %s (commits no presentes)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "Falló el fusionar submódulo %s (commits no siguen la fusión base)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Haciendo fast-forward a submódulo %s para el siguiente commit:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Avance rápido en submódulo %s" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Falló al fusionar submódulo %s (los siguentes commits no fueron encontrados)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Falló al fusionar el submódulo %s (no es posible avance rápido)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Se encontró una posible solución de fusión para el submódulo:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3702,33 +3756,33 @@ msgstr "" "\n" "el cual aceptará esta sugerencia.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Falló al fusionar el submódulo %s (fusiones múltiples encontradas)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Falló al ejecutar la fusión interna" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "No es posible agregar %s a la base de datos" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "Auto-fusionando %s" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" "Error: Rehusando perder el archivo no rastreado en %s; escribiéndolo a %s en " "cambio." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3737,7 +3791,7 @@ msgstr "" "CONFLICTO (%s/borrar): %s borrado en %s y %s en %s. Falta versión %s de %s " "en el árbol." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3746,7 +3800,7 @@ msgstr "" "CONFLICTO (%s/borrar): %s borrado en %s y %s para %s en %s. Versión %s de %s " "permanece en el árbol." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3755,7 +3809,7 @@ msgstr "" "CONFLICTO (%s/eliminar): %s eliminado en %s y %s en %s. Versión %s de %s " "dejada en el árbol, en %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3764,44 +3818,44 @@ msgstr "" "CONFLICTO (%s/borrar): %s borrado en %s y %s para %s en %s. Versión %s de %s " "permanece en el árbol en %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "renombrar" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "renombrado" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Rehusando perder el archivo sucio en %s" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" "Rehusando perder el archivo no rastreado en %s, incluso aunque se está " "interponiendo." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "CONFLICTO (renombrar/agregar): Renombrar %s->%s en %s. %s agregado en %s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s es un directorio en %s agregando como %s más bien" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "" "Rehusando perder el archivo no rastreado en %s; agregándolo como %s en cambio" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3810,18 +3864,18 @@ msgstr "" "CONFLICTO (renombrar/renombrar): Renombrar \"%s\"->\"%s\" en la rama \"%s\" " "renombrar \"%s\"->\"%s\" en \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (dejado sin resolver)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "CONFLICTO (renombrar/renombrar): Renombrar %s->%s en %s. Renombrar %s->%s en " "%s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3832,7 +3886,7 @@ msgstr "" "colocar %s porque el directorio %s fue renombrado a otros múltiples " "directorios, sin ningún que contenga la mayorÃa de archivos." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3842,7 +3896,7 @@ msgstr "" "existente en %s se interpone con el cambio de nombres implÃcito, poniendo " "la(s) siguiente(s) ruta(s) aquÃ: %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3851,7 +3905,7 @@ msgstr "" "CONFLICTO (cambio de nombre implÃcito): No se puede mapear más de una ruta " "para %s; cambio de nombre implÃcito intentó poner estas rutas: %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3860,7 +3914,7 @@ msgstr "" "CONFLICTO (renombrar/renombrar): Renombrar directorio %s->%s en %s. " "Renombrar directorio %s->%s en %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3869,52 +3923,52 @@ msgstr "" "PELIGRO: Evitando aplicar %s -> %s renombrado a %s, porque %s mismo fue " "renombrado." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "no se pudo leer el objeto %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "objeto %s no es un blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "modificar" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "modificado" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "contenido" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "agregar/agregar" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Saltado %s (fusionado como existente)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "submódulo" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLICTO (%s): Conflicto de fusión en %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "Agregando más bien como %s" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3923,7 +3977,7 @@ msgstr "" "Path actualizado: %s agregado en %s dentro de un directorio que fue " "renombrado en %s; moviéndolo a %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3932,7 +3986,7 @@ msgstr "" "CONFLICTO (ubicación de archivo): %s agregado en %s dentro de un directorio " "que fue renombrado en %s, sugerimos que deberÃa ser movido a %s." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -3941,7 +3995,7 @@ msgstr "" "Path actualizado: %s renombrado a %s en %s, dentro de un directorio que fue " "renombrado en %s; moviéndolo a %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -3951,37 +4005,37 @@ msgstr "" "directorio que fue renombrado en %s, sugiriendo que tal vez deberÃa ser " "movido a %s." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Eliminando %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "archivo/directorio" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "directorio/archivo" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "CONFLICTO (%s): Hay un directorio con el nombre %s en %s. Agregando %s como " "%s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "Agregando %s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "CONFLICTO (add/add): Conflicto de merge en %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -3991,177 +4045,190 @@ msgstr "" "merge:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "¡Ya está actualizado!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "falló la fusión de los árboles %s y %s" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Fusionando:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "se encontró %u ancestro común:" msgstr[1] "se encontraron %u ancestros comunes:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "la fusión no devolvió ningún commit" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "No se pudo analizar el objeto '%s'" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Incapaz de escribir el Ãndice." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "archivo multi-pack-index %s es muy pequeño" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "firma de multi-pack-index 0x%08x no concuerda con firma 0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "versión %d de multi-pack-index no reconocida" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "versión de hash %u no concuerda" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "offset inválido del conjunto (muy grande)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "" "terminando multi-pack-index porque el id del conjunto aparece antes de lo " "esperado" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "multi-pack-index le falta el conjunto pack-name requerido" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "multi-pack-index le falta el conjunto OID fanout requerido" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "multi-pack-index le falta el conjunto OID fanout requerido" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "multi-pack-index le falta el conjunto de offset del objeto requerido" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "multi-pack-index nombres de paquete fuera de orden:'%s' antes '%s'" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "mal pack-int-id: %u (%u paquetes totales)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "multi-pack-index guarda un offset de 64-bit, pero off_t es muy pequeño" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "error preparando packfile de multi-pack-index" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "falló al agregar packfile '%s'" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "falló al abrir pack-index '%s'" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "falló al ubicar objeto %d en packfile" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "no se vió pack-file %s caer" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "falló al limpiar multi-pack-index en %s" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Buscando por packfiles referidos" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "" "oid fanout fuera de orden: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Verificando orden de OID en MIDX" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "oid lookup fuera de orden: oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Ordenando objetos por packfile" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Verificando offsets de objetos" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "fallo al cargar entrada pack para oid[%d] = %s" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "falló al cargar el pack-index para packfile %s" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "offset para objeto incorrecto oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "no se pudo empezar los pack-objetcts" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "no se pudo finalizar pack-objetcts" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "no es posible crear hilo lazy_dir: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "no es posible crear hilo lazy_name: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "no es posible unir hilo lazy_name: %s" @@ -4233,17 +4300,17 @@ msgstr "incapaz de analizar objeto: %s" msgid "hash mismatch %s" msgstr "hash no concuerda %s" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "offset antes del final del paquete (broken .idx?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "" "offset antes del comienzo del Ãndice del paquete para %s (Ãndice corrupto?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4302,7 +4369,7 @@ msgstr "switch desconocido `%c'" #: parse-options.c:863 #, c-format msgid "unknown non-ascii option in string: `%s'" -msgstr "opcion desconocida en string no ascii: `%s'" +msgstr "opción desconocida en string no ascii: `%s'" #: parse-options.c:887 msgid "..." @@ -4499,24 +4566,29 @@ msgstr "no es posible crear lstat hilado: %s" msgid "unable to parse --pretty format" msgstr "incapaz de analizar el formato --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "no se pudo comenzar `log`" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "no se pudo leer output de `log`" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "no se pudo analizar commit '%s'" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "no se puede analizar git header '%.*s'" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "falló al generar diff" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "no se pudo leer el log para '%s'" @@ -4632,11 +4704,10 @@ msgid "unordered stage entries for '%s'" msgstr "entradas de stage desordenadas para '%s'" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "archivo Ãndice corrompido" @@ -4690,12 +4761,12 @@ msgstr "no se pudo refrescar el index compartido '%s'" msgid "broken index, expect %s in %s, got %s" msgstr "index roto, se esperaba %s en %s, se obtuvo %s" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "no se pudo cerrar '%s'" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "no se pudo definir '%s'" @@ -4776,7 +4847,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Rebase %s en %s (%d comando)" msgstr[1] "Rebase %s en %s (%d comandos)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4784,7 +4855,7 @@ msgstr "" "\n" "No eliminar ninguna lÃnea. Usa 'drop' explÃcitamente para borrar un commit \n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4792,7 +4863,7 @@ msgstr "" "\n" "Si remueves una lÃnea aquà EL COMMIT SE PERDERÃ.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4801,12 +4872,12 @@ msgid "" "\n" msgstr "" "\n" -"Esta editando el archivo TODO de un rebase interactivo.\n" -"Para continuar el rebase después de editar, ejecute:\n" +"Estás editando el archivo TODO de un rebase interactivo.\n" +"Para continuar el rebase después de editar, ejecuta:\n" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4816,12 +4887,12 @@ msgstr "" "Como sea, si quieres borrar todo, el rebase será abortado.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Tenga en cuenta que los commits vacÃos están comentados" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "no se pudo escribir '%s'" @@ -4838,7 +4909,7 @@ msgid "" "Dropped commits (newer to older):\n" msgstr "" "Peligro: algunos commits pueden haber sido botados de forma accidental.\n" -"Commits botados (empezando con el mas nuevo):\n" +"Commits botados (empezando con el más nuevo):\n" #: rebase-interactive.c:180 #, c-format @@ -4858,97 +4929,98 @@ msgstr "" "Los posibles comportamientos son: ignore,warn,error.\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "%s no apunta a ningún objeto válido!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "ignorando referencia rota %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "ignorando referencia rota %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "no se pudo abrir '%s' para escritura: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "no se pudo leer la referencia '%s'" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "ref '%s' ya existe" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "ID de objecto inesperado cuando se escribÃa '%s'" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "no se pudo escribir en '%s'" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "no se pudo abrir '%s' para escritura" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "ID de objecto inesperado cuando se borraba '%s'" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "log de ref %s tiene un vacÃo tras %s" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "log de ref %s finalizado inesperadamente en %s" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "log de %s está vacÃo" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "rehusando actualizar ref con mal nombre '%s'" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "update_ref falló para ref '%s': %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "múltiples actualizaciones para ref '%s' no permitidas" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "actualizaciones de ref prohibidas dentro de ambiente de cuarentena" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' existe; no se puede crear '%s'" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "no se puede procesar '%s' y '%s' al mismo tiempo" @@ -4974,268 +5046,252 @@ msgstr "no se pudo eliminar la referencia: %s" msgid "invalid refspec '%s'" msgstr "refspec inválido: '%s'" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "desaparecido" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "adelante %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "detrás %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "delante %d, detrás %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "formato esperado: %%(color:<color>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "color no reconocido: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Valor entero esperado refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Valor entero esperado refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "argumento: %s no reconocido %%(%s)" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) no toma ningún argumento" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "%%(objectsize) no reconocido argumento: %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) no toma argumentos" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) no toma ningún argumento" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) no toma ningún argumento" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "%%(trailers) desconocidos, argumento: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "valor positivo esperado contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "argumento %s no reconocido %%(contents)" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "valor positivo esperado objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "argumento: %s no reconocido %%(objectname)" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "formato esperado: %%(align:<ancho>,<posición>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "posición desconocida: %s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "ancho desconocido: %s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "argumento no reconocido para %%(align): %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "se esperaba un ancho positivo con el átomo %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "argumento: %s no reconocido %%(if)" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "nombre mal formado de campo: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "nombre de campo desconocido: %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "" "no es un repositorio git, pero el campo '%.*s' requiere acceso al objeto data" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "formato: átomo %%(if) usado sin un átomo %%(then)" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "formato: átomo %%(then) usado sin átomo %%(if)" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" -msgstr "formato: átomo %%(then) usado mas de una vez" +msgstr "formato: átomo %%(then) usado más de una vez" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "formato: átomo %%(then) usado después de %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "formato: átomo %%(else) usado sin un átomo %%(if)" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "formato: átomo %%(else) usado sin un átomo %%(then)" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" -msgstr "formato: átomo %%(else) usado mas de una vez" +msgstr "formato: átomo %%(else) usado más de una vez" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "formato: átomo %%(end) usado sin átomo correspondiente" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "formato de cadena mal formado %s" -#: ref-filter.c:1453 -#, c-format -msgid "(no branch, rebasing %s)" -msgstr "(no hay rama, rebasando %s)" - -#: ref-filter.c:1456 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(no hay rama, rebasando con HEAD desacoplado %s)" +msgid "no branch, rebasing %s" +msgstr "no hay rama, rebasando %s" -#: ref-filter.c:1459 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(no hay rama, comenzando biseccón en %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "(o hay rama, rebasando con HEAD desacoplado %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD desacoplado en %s)" - -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 +#: ref-filter.c:1491 #, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD desacoplado de %s)" +msgid "no branch, bisect started on %s" +msgstr "no hay rama, comenzando biseccón en %s" -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(sin rama)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "sin rama" -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "falta objeto %s para %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer falló en %s para %s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "objeto mal formado en '%s'" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "ignorando referencia con nombre roto %s" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "formato: falta átomo %%(end)" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "opción `%s' es incompatible con --merged" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "opción `%s' es incompatible con --no-merged" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "nombre de objeto mal formado %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "opción '%s' debe apuntar a un commit" @@ -5579,8 +5635,8 @@ msgstr "no se puede desvincular stray '%s'" msgid "Recorded preimage for '%s'" msgstr "Resolución precargada para '%s'" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "no se pudo crear el directorio '%s'" @@ -5614,20 +5670,20 @@ msgstr "Se olvidó resolución para '%s'\n" msgid "unable to open rr-cache directory" msgstr "no es posible abrir directorio rr-cache" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "tu rama actual parece estar rota" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "tu rama actual '%s' no tiene ningún commit todavÃa" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent es incompatible con --bisect" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L no soporta todavÃa formatos de diff fuera de -p y -s" @@ -5699,24 +5755,29 @@ msgstr "mensaje de commit inválido, modo cleanup '%s'" msgid "could not delete '%s'" msgstr "no se pudo borrar '%s'" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "no se pudo eliminar'%s'" + +#: sequencer.c:321 msgid "revert" msgstr "revertir" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "acción desconocida: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5724,7 +5785,7 @@ msgstr "" "después de resolver los conflictos, marca las rutas corregidas\n" "con 'git add <rutas>' o 'git rm <rutas>'" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5734,44 +5795,44 @@ msgstr "" "con 'git add <rutas>' o 'git rm <rutas>'\n" "y haz un commit del resultado con 'git commit'" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "no se pudo bloquear '%s'" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "no se pudo escribir EOL en '%s'" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "falló al finalizar '%s'" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "no se pudo leer '%s'" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "tus cambios locales serán sobreescritos por %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "realiza un commit con tus cambios o aplica un stash para proceder." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: avance rápido" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Modo cleanup inválido %s" @@ -5779,70 +5840,70 @@ msgstr "Modo cleanup inválido %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Incapaz de escribir el nuevo archivo Ãndice" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "no es posible actualizar el árbol de la caché" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "no se pudo resolver el commit de HEAD" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "no hay llave presente en '%.*s'" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "no es posible dequote para '%s'" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "no se pudo abrir '%s' para lectura" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "'GIT_AUTHOR_NAME' ya proporcionado" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "'GIT_AUTHOR_EMAIL' ya proporcionado" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "'GIT_AUTHOR_DATE' ya proporcionado" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "variable desconocida '%s'" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "falta 'GIT_AUTHOR_NAME'" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "falta 'GIT_AUTHOR_EMAIL'" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "falta 'GIT_AUTHOR_DATE'" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "formato de fecha inválido '%s' en '%s'" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5872,15 +5933,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "escribiendo commit raÃz" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "hook 'prepare-commit-msg' falló" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5907,7 +5968,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5931,305 +5992,348 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "no se pudo revisar el commit recién creado" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "no se pudo analizar el commit recién creado" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "no se pudo resolver HEAD tras crear el commit" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "HEAD desacoplado" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (commit-raÃz)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "no se pudo analizar HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s no es un commit!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "no se pudo analizar el commit de HEAD" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "no es posible analizar el autor del commit" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree falló al escribir el árbol" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "no se puede leer el mensaje del commit de '%s'" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "falló al escribir el objeto commit" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "no se pudo analizar commit %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "no se pudo analizar el commit padre %s" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "comando desconocido: %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Esta es una combinación de %d commits." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "se necesita un HEAD para arreglar" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "no se pudo leer HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "no se pudo leer el mensaje de commit de HEAD" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "no se puede escribir '%s'" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Este es el mensaje del 1er commit:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "no se puede leer el mensaje del commit de %s" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Este es el mensaje del commit #%d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "El mensaje del commit #%d será saltado:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "tu archivo Ãndice no está fusionado." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "no se puede arreglar el commit raÃz" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "el commit %s es una fusión pero no se proporcionó la opción -m." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "el commit %s no tiene un padre %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "no se puede obtener el mensaje de commit para %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: no se puede analizar el commit padre %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "no se puede renombrar '%s' a '%s'" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "no se pudo revertir %s... %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "no se pudo aplicar %s... %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: falló al leer el Ãndice" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: falló al refrescar el Ãndice" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s no acepta los argumentos: '%s'" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "faltan argumentos para para %s" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "no se puede analizar '%.*s'" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "lÃnea inválida %d: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "no se puede '%s' sin un commit previo" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "no se puede leer '%s'." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "cancelando cherry-pick en progreso" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "cancelando revert en progreso" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "por favor arregle esto usando 'git rebase --edit-todo'." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "hoja de instrucciones inutilizable: '%s'" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "ningún commit analizado." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "no se puede realizar cherry-pick durante un revert." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "no se puede realizar un revert durante un cherry-pick." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "valor inválido para %s: %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "squash-onto inservible" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "hoja de opciones mal formada: '%s'" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "conjunto de commits vacÃo entregado" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "un cherry-pick o revert ya está en progreso" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "revert ya está en progreso" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "intenta \"git revert (--continue | --quit | %s --abort)\"" + +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "cherry-pick ya está en progreso" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "intenta \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "intenta \"git cherry-pick (--continue | --quit | %s --abort)\"" -#: sequencer.c:2660 +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "no se pudo crear un directorio secuenciador '%s'" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "no se pudo bloquear HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "ningún cherry-pick o revert en progreso" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "no se puede resolver HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "no se puede abortar de una rama por nacer" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "no se puede abrir '%s'" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "no se puede leer '%s': %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "final de archivo inesperado" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "archivo HEAD de pre-cherry-pick guardado '%s' está corrupto" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" -msgstr "Parece que se ha movido HEAD. No se hace rebobinado, revise su HEAD!" +msgstr "Parece que se ha movido HEAD. No se hace rebobinado, revisa tu HEAD!" + +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "no hay revert en progreso" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "ningún cherry-pick en progreso" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "falló al escribir el commit" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "no hay nada que saltar" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"¿ya has hecho el commit?\n" +"intenta \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "no se puede actualizar %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "no se puede leer HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "no se pudo copiar '%s' a '%s'" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6240,35 +6344,35 @@ msgid "" "\n" " git rebase --continue\n" msgstr "" -"Puede enmendar el commit ahora, con\n" +"Puedes enmendar el commit ahora, con\n" "\n" "\tgit commit --amend %s\n" "\n" -"Una vez que esté satisfecho con los cambios, ejecute\n" +"Una vez que estés satisfecho con los cambios, ejecuta\n" "\n" "\tgit rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "No se pudo aplicar %s... %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "No se pudo fusionar %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "no se pudo copiar '%s' a '%s'" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "no se pudo leer Ãndice" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6283,11 +6387,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "y se hicieron cambios al Ãndice y/o árbol de trabajo\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6304,76 +6408,76 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "nombre de label ilegal: '%.*s'" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "escribiendo commit raÃz falso" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "escribiendo squash-onto" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "falló al encontrar árbol de %s" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "no se pudo escribir Ãndice" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "no se pudo resolver '%s'" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "no se puede fusionar sin una versión actual" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "no se puede analizar '%.*s'" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "nada para fusionar: '%.*s'" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "fusión octopus no puede ser ejecutada en la punta de un [nuevo root]" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "no se puede leer el mensaje del commit '%s'" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "no se pudo intentar fusionar '%.*s'" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "fusión: No se puede escribir el nuevo archivo Ãndice" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Autostash aplicado.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "no se puede guardar %s" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6385,31 +6489,31 @@ msgstr "" "Puedes ejecutar \"git stash pop\" o \"git stash drop\" en cualquier " "momento.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "no se puede hacer checkout a %s" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s no es OID válido" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "no se puede desacoplar HEAD" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Detenido en HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Detenido en %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6430,48 +6534,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Detenido en %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "comando desconocido %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "no se puede leer orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "no se puede leer 'onto'" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "no se puede actualizar HEAD a %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "no se puede realizar rebase: Tienes cambios fuera del área de stage." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "no se puede arreglar un commit no existente" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "archivo inválido: '%s'" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "contenido inválido: '%s'" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6482,60 +6586,60 @@ msgstr "" "un commit con estos\n" "primero y luego ejecuta 'git rebase --continue' de nuevo." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "no se pudo escribir el archivo: '%s'" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "no se puede eliminar CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "no se pudo realizar el commit con los cambios en el área de stage." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: no se puede aplicar cherry-pick a un %s" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: revisión errónea" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "no se puede revertir como commit inicial" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: opciones desconocidas" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: error preparando revisiones" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" "Or you can abort the rebase with 'git rebase --abort'.\n" msgstr "" -"Se puede arreglar esto con 'git rebase --edit-todo' y después ejecutar 'git " +"Se puede arreglar esto con 'git rebase --edit-todo' y después ejecuta 'git " "rebase --continue'.\n" "O se puede abortar el rebase con 'git rebase --abort'.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "nada que hacer" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "no se pudo saltar los comandos pick innecesarios" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "este script ya fue reorganizado." @@ -6760,196 +6864,201 @@ msgstr "repositorio de referencia '%s' es superficial (shallow)" msgid "reference repository '%s' is grafted" msgstr "repositorio de referencia '% s' está injertado" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "lÃnea inválida mientras se analizaban refs alternas: %s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "intentando usar mmap %<PRIuMAX> sobre lÃmite %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "mmap falló" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "archivo de objeto %s está vacÃo" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "objeto perdido corrupto '%s'" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "basura al final del objeto perdido '%s'" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "tipo de objeto inválido" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "no es posible desempacar header %s con --allow-unknown-type" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "incapaz de desempaquetar header %s" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "no es posible analizar header %s con --allow-unknown-type" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "incapaz de analizar header %s" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "falló al leer objeto %s" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "reemplazo %s no encontrado para %s" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "objeto perdido %s (guardado en %s) está corrompido" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "paquete de objeto %s (guardado en %s) está corrompido" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "no es posible escribir archivo %s" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "no se pudo poner permisos a '%s'" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "falló de escritura" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "error cerrando el archivo de objeto suelto" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "permisos insuficientes para agregar un objeto a la base de datos del " "repositorio %s" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "no es posible crear un archivo temporal" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "no es posible escribir el archivo de objeto suelto" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "no es posible desinflar el objeto nuevo %s (%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "deflateEnd en objeto %s falló (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "confundido por fuente de data de objetos inestable para %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "falló utime() en %s" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "no se pudo leer el objeto para %s" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "commit corrupto" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "tag corrupto" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "error leyendo al indexar %s" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "lectura corta al indexar %s" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s: falló al insertar en la base de datos" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%s: tipo de archivo no soportado" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s no es objeto válido" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s no es un objeto '%s' válido" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "no es posible abrir %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "hash no concuerda para %s (se esperaba %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "no es posible hacer mmap a %s" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "incapaz de desempaquetar header de %s" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "incapaz de analizar header de %s" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "no es posible desempaquetar contenidos de %s" @@ -6969,7 +7078,7 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -6979,13 +7088,65 @@ msgstr "" "porque esto serÃa ignorado cuando solo se especifiquen 40-hex. Estas refs\n" "tal vez sean creadas por error. Por ejemplo,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "donde \"$br\" está de alguna manera vacÃa y una ref de 40-hex es creada. Por " "favor\n" -"examine estas refs y tal vez bórrelas. Silencie este mensaje \n" +"examina estas refs y tal vez bórralas. Silencia este mensaje \n" "ejecutando \"git config advice.objectNameWarning false\"" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u byte" +msgstr[1] "%u bytes" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u bytes/s" +msgstr[1] "%u bytes/s" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -7020,9 +7181,9 @@ msgstr "El patrón de ruta '%s' está en el submódulo '%.*s'" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "entrada de submódulo '%s' (%s) es un %s, no un commit" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." -msgstr "Falló al resolver HEAD como un ref valido." +msgstr "Falló al resolver HEAD como un ref válido." #: submodule.c:1481 #, c-format @@ -7059,7 +7220,7 @@ msgstr "submódulo '%s' tiene un Ãndice corrupto" msgid "Submodule '%s' could not be updated." msgstr "Submódulo '%s' no pudo ser actualizado." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7067,12 +7228,12 @@ msgstr "" "relocate_gitdir para el submódulo '%s' con más de un árbol de trabajo no " "soportado" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "no se pudo resolver el nombre para el submódulo '%s'" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7083,16 +7244,16 @@ msgstr "" "'%s' hacia\n" "'%s'\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "no pudo recursar en el submódulo '%s'" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "no se pudo comenzar ls-files en .." -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree devolvió un código %d inesperado" @@ -7266,15 +7427,10 @@ msgstr "Abortando." msgid "failed to push all needed submodules" msgstr "falló al hacer push a todos los submódulos necesarios" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "operación no soportada por protocolo" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "lÃnea inválida mientras se analizaban refs alternas: %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "escritura total al helper remoto falló" @@ -7319,7 +7475,7 @@ msgstr "no se pudo ejecutar fast-import" msgid "error while running fast-import" msgstr "error al ejecutar fast-import" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "no se pudo leer la referencia %s" @@ -7372,24 +7528,24 @@ msgstr "helper %s no soporta --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "helper %s no soporta 'push-option'" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "remote-helper no soporta push; se necesita refspec" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "helper %s no soporta 'force'" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "no se pudo ejecutar fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "error al ejecutar fast-export" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7398,47 +7554,47 @@ msgstr "" "No hay refs comunes y ninguno especificado; no se hace nada.\n" "Tal vez deberÃas especificar un branch como 'master'.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "respuesta malformada en lista de refs: %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "leer(%s) falló" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "escribir(%s) falló" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "hilo %s falló" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "hilo %s falló al unirse: %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "no se puede iniciar el hilo para copiar data: %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "proceso %s falló al esperar" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "proceso %s falló" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "no se puede iniciar hilo para copiar data" @@ -7454,7 +7610,7 @@ msgstr "modo mal formado en la entrada de árbol" msgid "empty filename in tree entry" msgstr "nombre de archivo vacÃo en la entrada de árbol" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "archivo de árbol muy corto" @@ -7701,8 +7857,8 @@ msgid "Aborting\n" msgstr "Abortando\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Revisando archivos" +msgid "Updating files" +msgstr "Actualizando archivos" #: unpack-trees.c:350 msgid "" @@ -7743,35 +7899,35 @@ msgstr "numero de puerto inválido" msgid "invalid '..' path segment" msgstr "segmento de ruta '..' inválido" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "falló al leer '%s'" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" "'%s' en el árbol de trabajo principal no es el directorio del repositorio" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" "archivo '%s' no contiene una ruta absoluta a la ubicación del árbol de " "trabajo" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "'%s' no existe" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' no es un archivo .git, código de error %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' no apunta de vuelta a '%s'" @@ -7790,159 +7946,166 @@ msgstr "no es posible acceder '%s'" msgid "unable to get current working directory" msgstr "no es posible obtener el directorio de trabajo actual" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Rutas no fusionadas:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr "" +" (usa \"git restore --staged <archivo>...\" para sacar del área de stage)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (usa \"git reset %s <archivo>...\" para sacar del área de stage)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr "" +" (usa \"git restore --source=%s --staged <archivo>...\" para sacar del área " +"de stage)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (usa \"git rm --cached <archivo>...\" para sacar del área de stage)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (usa \"git add <archivo>...\" para marcar una resolución)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (usa \"git add/rm <archivo>...\" como una forma apropiada de marcar la " "resolución)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (usa \"git rm <file>...\" para marcar la resolución)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Cambios a ser confirmados:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Cambios no rastreados para el commit:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (usa \"git add <archivo>...\" para actualizar lo que será confirmado)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (usa \"git add/rm <archivo>...\" para actualizar a lo que se le va a hacer " "commit)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (usa \"git checkout -- <archivo>...\" para descartar los cambios en el " +" (usa \"git restore <archivo>...\" para descartar los cambios en el " "directorio de trabajo)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (confirmar o descartar el contenido sin seguimiento o modificado en los " "sub-módulos)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (usa \"git %s <archivo>...\" para incluirlo a lo que se será confirmado)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "ambos borrados:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "agregado por nosotros:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "borrados por ellos:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "agregado por ellos:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "borrado por nosotros:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "ambos agregados:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "ambos modificados:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "nuevo archivo:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "copiado:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "borrado:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "modificado:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "renombrado:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "cambio de tipo:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "desconocido:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "des-fusionado:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "nuevos commits, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "contenido modificado, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "contenido no rastreado, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Tu stash actualmente tiene %d entrada" msgstr[1] "Tu stash actualmente tiene %d entradas" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" -msgstr "Submodulos cambiados pero no actualizados:" +msgstr "Submódulos cambiados pero no actualizados:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" -msgstr "Submodulos cambiados listos para realizar commit:" +msgstr "Submódulos cambiados listos para realizar commit:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -7950,107 +8113,118 @@ msgstr "" "No modifique o borre la lÃnea de encima.\n" "Todo lo que este por abajo será eliminado." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"Tomó %.2f segundos para calcular los valores anterior/posterior del branch.\n" +"Puedes usar '--no-ahead-behind' para evitar esto.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Tienes rutas no fusionadas." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (arregla los conflictos y corre \"git commit\"" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (usa \"git merge --abort\" para abortar la fusion)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Todos los conflictos resueltos pero sigues fusionando." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (usa \"git commit\" para concluir la fusión)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Estás en medio de una sesión am." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "El parche actual está vacÃo." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (arregla los conflictos y luego corre \"git am --continue\"" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (usa \"git am --skip\" para saltar este parche)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (usa \"git am --abort\" para restaurar la rama original)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo no está presente." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "No se realizaron los comandos." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "El último comando realizado (%d comando realizado):" msgstr[1] "Los últimos comandos realizados (%d comandos realizados):" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" -msgstr " (ver mas en el archivo %s)" +msgstr " (ver más en el archivo %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." -msgstr "No quedan mas comandos." +msgstr "No quedan más comandos." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Siguiente comando a realizar (%d comando restante):" msgstr[1] "Siguiente comandos a realizar (%d comandos faltantes):" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (usa \"git rebase --edit-todo\" para ver y editar)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Estás aplicando un rebase de la rama '%s' en '%s." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Estás aplicando un rebase." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (corrige los conflictos y ejecuta \"git rebase --continue\")" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (usa \"git rebase --skip\" para omitir este parche)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (usa \"git rebase --abort\" para volver a tu rama original)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (todos los conflictos corregidos: ejecuta \"git rebase --continue\")" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -8058,144 +8232,136 @@ msgstr "" "Estás dividiendo un commit mientras aplicas un rebase de la rama '%s' en " "'%s'." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Estás dividiendo un commit durante un rebase." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Una vez que tu directorio de trabajo esté limpio, ejecuta \"git rebase --" "continue\")" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Estás editando un commit mientras se aplica un rebase de la rama '%s' en " "'%s'." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Estás editando un commit durante un rebase." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (usa \"git commit --amend\" para enmendar el commit actual)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (usa \"git rebase --continue\" una vez que estés satisfecho con tus " "cambios)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." -msgstr "Cherry-pick en progreso actualmente" +msgstr "Cherry-pick en progreso actualmente." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Estás realizando un cherry-picking en el commit %s." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (corrige los conflictos y ejecuta \"git cherry-pick --continue\")" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (ejecuta \"git cherry-pick --continue\" para continuar)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (todos los conflictos corregidos: ejecuta \"git cherry-pick --continue\")" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (use \"git cherry-pick --abort\" para cancelar la operación cherry-pick)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." -msgstr "Revierte el estado en progreso actual" +msgstr "Revierte el estado en progreso actual." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Estás revirtiendo el commit %s." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (corrige los conflictos y ejecuta \"git revert --continue\")" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (ejecuta \"git revert --continue\" para continuar)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (todos los conflictos corregidos: ejecuta \"git revert --continue\")" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (usa \"git revert --abort\" para cancelar la operación de revertir)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Estás aplicando un bisect, comenzando en la rama '%s'." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Estás aplicando un bisect." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (usa \"git bisect reset\" para volver a la rama original)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "En la rama " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "rebase interactivo en progreso; en " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "rebase en progreso; en " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "HEAD desacoplada en " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "HEAD desacoplada de " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Actualmente no estás en ninguna rama." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Confirmación inicial" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "No hay commits todavÃa" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "Archivos sin seguimiento" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Archivos ignorados" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8203,34 +8369,34 @@ msgid "" "new files yourself (see 'git help status')." msgstr "" "Tomó %.2f segundos enumerar los archivos no rastreados. 'status -uno'\n" -"puede acelerarlo, pero tiene que ser cuidadoso de no olvidar agregar\n" -"nuevos archivos usted mismo (vea 'git help status')." +"puede acelerarlo, pero tienes que ser cuidadoso de no olvidar agregar\n" +"nuevos archivos tú mismo (vea 'git help status')." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "Archivos no rastreados no son mostrados %s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (usa la opción -u para mostrar los archivos sin seguimiento)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "Sin cambios" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "sin cambios agregados al commit (usa \"git add\" y/o \"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "no se agregaron cambios al commit\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8239,67 +8405,67 @@ msgstr "" "no hay nada agregado al commit pero hay archivos sin seguimiento presentes " "(usa \"git add\" para hacerles seguimiento)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "no hay nada agregado para confirmar, pero hay archivos sin seguimiento " "presentes\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "no hay nada para confirmar (crea/copia archivos y usa \"git add\" para " "hacerles seguimiento)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "nada para hacer commit\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "nada para hacer commit (usa -u para mostrar los archivos no rastreados)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "nada para hacer commit, el árbol de trabajo está limpio\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "No hay commits todavÃa en " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (sin rama)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "diferente" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "detrás " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "adelante " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "no se puede %s: Tienes cambios sin marcar." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "adicionalmente, tu Ãndice contiene cambios que no están en un commit." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "no se puede %s: Tu Ãndice contiene cambios que no están en un commit." @@ -8313,7 +8479,7 @@ msgstr "git add [<opción>] [--] <especificación-de-ruta>..." msgid "unexpected diff status %c" msgstr "diff status inesperado %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "falló la actualización de carpetas" @@ -8362,8 +8528,8 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Las siguientes rutas son ignoradas por uno de tus archivos .gitignore:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "dry run ( ejecución en seco)" @@ -8372,7 +8538,7 @@ msgstr "dry run ( ejecución en seco)" msgid "interactive picking" msgstr "selección interactiva" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "elegir hunks de forma interactiva" @@ -8444,16 +8610,16 @@ msgstr "" "Se ha agregado otro repositorio de git dentro del repositorio actual.\n" "Clones del repositorio exterior no tendrán el contenido del \n" "repositorio embebido y no sabrán como obtenerla.\n" -"Si querÃa agregar un submódulo, use:\n" +"Si querÃas agregar un submódulo, usa:\n" "\n" "\tgit submodule add <url> %s\n" "\n" -"Si se agrego esta ruta por error, puede eliminar desde el Ãndice \n" +"Si se agrego esta ruta por error, puedes eliminar desde el Ãndice \n" "usando:\n" "\n" "\tgit rm --cached %s\n" "\n" -"Vea \"git help submodule\" para mas información." +"Vea \"git help submodule\" para más información." #: builtin/add.c:354 #, c-format @@ -8463,7 +8629,7 @@ msgstr "agregando repositorio embebido: %s" #: builtin/add.c:372 #, c-format msgid "Use -f if you really want to add them.\n" -msgstr "Use -f si realmente quiere agregarlos.\n" +msgstr "Usa -f si realmente quieres agregarlos.\n" #: builtin/add.c:379 msgid "adding files failed" @@ -8540,7 +8706,7 @@ msgstr "offset de zona horaria inválido" msgid "Patch format detection failed." msgstr "Falló al detectar el formato del parche." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "falló al crear el directorio '%s'" @@ -8549,14 +8715,14 @@ msgstr "falló al crear el directorio '%s'" msgid "Failed to split patches." msgstr "Falló al dividir parches." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "no es posible escribir en el archivo Ãndice" #: builtin/am.c:1098 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." -msgstr "Cuando haya resuelto este problema, ejecute \"%s --continue\"." +msgstr "Cuando hayas resuelto este problema, ejecuta \"%s --continue\"." #: builtin/am.c:1099 #, c-format @@ -8590,17 +8756,17 @@ msgstr "sangrÃa no válida: %.*s" msgid "unable to parse commit %s" msgstr "no es posible analizar el commit %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Repositorio carece de los blobs necesarios para retroceder en una fusión de " "3-vÃas." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "Usando la información del Ãndice para reconstruir un árbol base..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8608,28 +8774,24 @@ msgstr "" "Editaste el parche a mano?\n" "No aplica a blobs guardados en su Ãndice." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Retrocediendo para parchar base y fusión de 3-vÃas..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Falló al fusionar en los cambios." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "aplicando a un historial vacÃo" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "no se puede continuar: %s no existe." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "no se puede ser interactivo sin stdin conectado a un terminal." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Cuerpo de commit es:" @@ -8637,34 +8799,35 @@ msgstr "Cuerpo de commit es:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Aplicar? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Ãndice sucio: no se puede aplicar parches (sucio: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Aplicando: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Sin cambios -- parche ya aplicado." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "El parche falló en %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "Use 'git am --show-current-patch' para ver el parche fallido" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8674,30 +8837,30 @@ msgstr "" "Si no hay nada en el área de stage, las posibilidad es que algo mas\n" "ya haya introducido el mismo cambio; tal vez quieras omitir este parche." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " "such.\n" "You might run `git rm` on a file to accept \"deleted by them\" for it." msgstr "" -"TodavÃa tiene rutas sin fusionar en su Ãndice.\n" -"Debe realizar 'git add' cada archivo con conflictos resueltos y marcarlos " +"TodavÃa tienes rutas sin fusionar en tu Ãndice.\n" +"Debes realizar 'git add' cada archivo con conflictos resueltos y marcarlos " "como tal.\n" -"Tal vez ejecute `git rm` en el archivo para aceptar \"borrado por ellos\" en " -"él." +"Se puede ejecutar `git rm` en el archivo para aceptar \"borrado por ellos\" " +"en él." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "No se pudo analizar el objeto '%s'." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "falló al limpiar el Ãndice" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8705,144 +8868,144 @@ msgstr "" "Parece haber movido HEAD desde el último falló 'am'.\n" "No rebobinando a ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valor inválido para --patch-format: %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<opciones>] [(<mbox> | <Directorio-de-correo>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<opciones>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "ejecutar de manera interactiva" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "opción histórica -- no-op" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "permitir retroceso en fusión de 3-vÃas si es necesario" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "ser silencioso" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "agregar una lÃnea \"Firmado-por\" al mensaje del commit" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "recodificar en utf8 (default)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "pasar flag -k a git-mailinfo" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "pasar flag -b a git-mailinfo" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "pasar flag -m a git-mailinfo" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "pasar flag --keep-cr a git-mailsplit para formato mbox" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "no pasar flag --keep-cr a git-mailsplit independientemente de am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "descubrir todo antes de una lÃnea de tijeras" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "pasarlo a través de git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "formato" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "formatear el parche(s)" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "sobrescribir mensajes de error cuando fallos de parchado ocurran" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "continuar aplicando los parches tras resolver conflictos" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "sinónimos para --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "saltar el parche actual" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "restaurar la rama original y abortar la operación de parchado." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "abortar la operación de parchado pero mantener HEAD donde está." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "muestra el parche siendo aplicado." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "mentir sobre la fecha del committer" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "usar el timestamp actual para la fecha del autor" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "Commits con firma GPG" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(uso interno para git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -8850,16 +9013,16 @@ msgstr "" "La opción -b/--binary ha estado deshabilitada por mucho tiempo, y\n" "será removida. Por favor no la use más." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "falló al leer el Ãndice" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "directorio de rebase previo %s todavÃa existe en el mbox dado." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -8868,10 +9031,14 @@ msgstr "" "Directorio extraviado %s encontrado.\n" "Use \"git am --abort\" para borrarlo." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Operación de resolución no está en progreso, no vamos a continuar." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "modo interactivo requiere parches en la lÃnea de comando" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<opciones>] [<parche>...]" @@ -9025,8 +9192,8 @@ msgid "" "You need to give me at least one %s and %s revision.\n" "You can use \"git bisect %s\" and \"git bisect %s\" for that." msgstr "" -"Tiene que dar al menos un %s y un %s revision.\n" -"Puede ver \"git bisect %s\" y \"git bisect %s\" para eso." +"Tienes que dar al menos un %s y un %s revision.\n" +"Se puede ver \"git bisect %s\" y \"git bisect %s\" para eso." #: builtin/bisect--helper.c:289 #, c-format @@ -9035,9 +9202,9 @@ msgid "" "You then need to give me at least one %s and %s revision.\n" "You can use \"git bisect %s\" and \"git bisect %s\" for that." msgstr "" -"Tiene que comenzar por \"git bisect start\".\n" -"Después tiene que entregar al menos un %s y una revision %s.\n" -"Puede usar \"git bisect %s\" y \"git bisect %s\" para eso." +"Tienes que comenzar por \"git bisect start\".\n" +"Después tienes que entregar al menos un %s y una revision %s.\n" +"Puedes usar \"git bisect %s\" y \"git bisect %s\" para eso." #: builtin/bisect--helper.c:321 #, c-format @@ -9092,7 +9259,7 @@ msgstr "mal HEAD - Necesito un HEAD" #, c-format msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'." msgstr "" -"Error al hacer checkout '%s'. Intente 'git bisect start <rama-válida>'." +"error al hacer checkout '%s'. Intente 'git bisect start <rama-válida>'." #: builtin/bisect--helper.c:547 msgid "won't bisect on cg-seek'ed tree" @@ -9102,79 +9269,84 @@ msgstr "no se bisecará en un árbol con cg-seek" msgid "bad HEAD - strange symbolic ref" msgstr "mal HEAD - ref simbólico extraño" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "ref inválido: '%s'" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "realiza 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "escribe los términos a .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "limpiar el estado de bisección" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "revisar por revs esperados" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "reiniciar el estado de bisect" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "escribir el estado de bisect en BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "revisar y configurar los terms en el estado de bisect" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "revisar si existen términos malos o buenos" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "imprimir los terms del bisect" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "comenzar la sesión de bisect" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "actualiza BISECT_HEAD en lugar de revisar el commit actual" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "no hay log para BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms requiere dos argumentos" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state no requiere argumentos" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset requiere un commit o ningún argumento" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write requiere entre 4 o 5 argumentos" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--bisect-clean-state no requiere argumentos" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check requiere 2 o 3 argumentos" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms requiere 0 o 1 argumentos" @@ -9186,133 +9358,150 @@ msgstr "git blame [<opciones>] [<opciones-rev>] [<revision>] [--] <archivo>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-opts> están documentadas en git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "esperando un color: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "tiene que terminar con un color" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "color inválido '%s' en color.blame.repeatedLines" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "valor inválido para blame.coloring" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "no se pudo encontrar revision %s para ignorar" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "Mostrar las entradas blame como las encontramos, incrementalmente" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Mostrar SHA-1 en blanco para commits extremos (Default: off)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "No tratar commits raÃces como extremos (Default: off)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Mostrar estadÃsticas de costo de trabajo" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Forzar el reporte de progreso" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Mostrar la puntuación de salida de las entradas de blame" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "Mostrar nombre original del archivo (Default: auto)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "Mostrar número de lÃnea original (Default: off)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Mostrar en un formato diseñado para consumo de máquina" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "Mostrar en formato porcelana con información de commit por lÃnea" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Usar el mismo modo salida como git-annotate (Default: off)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Mostrar timestamp en formato raw (Default: off)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Mostrar SHA1 del commit en formato largo (Default: off)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Suprimir nombre del autor y timestamp (Default: off)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "Mostrar en cambio el email del autor (Default: off)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Ignorar diferencias de espacios en blanco" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "rev" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "ignorar <rev> durante el blame" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "ignorar revisiones de <archivo>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" -msgstr "colorear metadata redundante de lineas previas de manera diferente" +msgstr "colorear metadata redundante de lÃneas previas de manera diferente" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" -msgstr "colorear lineas por edad" +msgstr "colorear lÃneas por edad" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Usar un heurÃstico experimental para mejorar los diffs" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Ocupo más ciclos para encontrar mejoras resultados" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Use revisiones desde <archivo> en lugar de llamar git-rev-list" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Usar contenido de <archivo> como imagen final" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "puntaje" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "Encontrar copias de lÃneas entre y a través de archivos" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Encontrar movimientos de lÃneas entre y a través de archivos" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "Procesar solo el rango de lÃneas n,m, contando desde 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "--progress no puede ser usado con --incremental o formatos porcelana" @@ -9324,18 +9513,18 @@ msgstr "--progress no puede ser usado con --incremental o formatos porcelana" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "hace 4 años, 11 meses" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "archivo %s tiene solo %lu lÃnea" msgstr[1] "archivo %s tiene solo %lu lÃneas" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Blaming a lÃneas" @@ -9367,7 +9556,7 @@ msgstr "git branch [<opciones>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<opciones>] [-r | -a] [--formato]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9376,7 +9565,7 @@ msgstr "" "borrando la rama '%s' que ha sido fusionada en\n" " '%s', pero aún no ha sido fusionada a HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9385,139 +9574,139 @@ msgstr "" "no borrando rama '%s' que todavÃa no ha sido fusionada \n" "\ta '%s', aunque se fusione con HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "No se pudo encontrar el objeto commit para '%s'" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" "If you are sure you want to delete it, run 'git branch -D %s'." msgstr "" "La rama '%s' no ha sido fusionada completamente.\n" -"Si está seguro de querer borrarla, ejecute 'git branch -D %s'." +"Si estás seguro de querer borrarla, ejecuta 'git branch -D %s'." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Falló de actualización de config-file" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "no se puede usar-a con -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "No se pudo revisar el objeto commit para HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "No se puede borrar rama '%s' que cuenta con checkout en '%s'" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "rama de rastreo remoto '%s' no encontrada." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "rama '%s' no encontrada." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Error al eliminar la rama de rastreo remota '%s'" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Error al eliminar la rama '%s'" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Eliminada la rama de rastreo remota %s (era %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Eliminada la rama %s (era %s)..\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "no es posible analizar el string de formato" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "no se pudo resolver HEAD" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) apunta fuera de refs/heads/" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Rama %s está siendo rebasada en %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "Rama %s está siendo bisecada en %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "no se puede copiar la rama actual mientras no se está en ninguna." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "no se puede renombrar la rama actual mientras no se está en ninguna." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nombre de rama inválido: '%s'" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Cambio de nombre de rama fallido" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Copiado de rama fallido" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Copia creada de la rama malnombrada '%s'" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Rama mal llamada '%s' renombrada" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "¡Rama renombrada a %s, pero HEAD no está actualizado!" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "" "La rama está renombrada, pero falló la actualización del archivo de " "configuración" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "" "La rama está copiada, pero falló la actualización del archivo de " "configuración" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9528,180 +9717,180 @@ msgstr "" "%s\n" "Las lÃneas que comiencen con '%c' serán removidas.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Opciones genéricas" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "mostrar hash y tema, dar dos veces para rama upstream" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "suprimir mensajes informativos" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "configurando modo tracking (mirar git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "no usar" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "upstream" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "cambiar info de upstream" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Desconfigurando la info de upstream" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "usar salida con colores" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "actuar en ramas de traqueo remoto" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "mostrar solo ramas que contienen el commit" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "mostrar solo ramas que no contienen el commit" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Acciones especÃficas de git-branch:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "listar ramas de remote-tracking y locales" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "borrar ramas totalmente fusionadas" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "borrar rama (incluso si no está fusionada)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "mover/renombrar una rama y su reflog" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "mover/renombrar una rama, incluso si el destino existe" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "copiar una rama y su reflog" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "copiar una rama, incluso si el objetivo existe" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "listar nombres de ramas" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "muestra el nombre de branch actual" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "crea el reflog de la rama" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "edita la descripción de la rama" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "fuerza la creación,movimiento/renombrado,borrado" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "muestra solo ramas que han sido fusionadas" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "muestra solo ramas que no han sido fusionadas" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "muestra las ramas en columnas" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "objeto" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "imprimir sólo las ramas del objeto" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "ordenamiento y filtrado son case-insensitive" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "formato para usar para el output" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD no encontrado abajo de refs/heads!" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column y --verbose son incompatibles" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "se necesita el nombre de la rama" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "No se puede dar descripción al HEAD desacoplado" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "no se puede editar la descripción de más de una rama" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Aún no hay commits en la rama '%s'." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "No hay ninguna rama llamada '%s'." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "demasiadas ramas para una operación de copiado" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "demasiados argumentos para una operación de renombrado" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "demasiados argumentos para configurar un nuevo upstream" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -9709,37 +9898,40 @@ msgstr "" "no se pudo configurar upstream de HEAD a %s cuando este no apunta a ninguna " "rama." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "no hay tal rama '%s'" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "la rama '%s' no existe" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "demasiados argumentos para desconfigurar upstream" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "no se puede desconfigurar upstream de HEAD cuando este no apunta a ninguna " "rama." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Rama '%s' no tiene información de upstream" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"opciones -a y -r para 'git branch' no tienen sentido con un nombre de rama" +"Las opciones -a, y -r, de 'git branch' no toman un nombre de rama.\n" +"¿Quisiste usar: -a|-r --list <patrón>?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9760,7 +9952,7 @@ msgstr "Se necesita un repositorio para agrupar." msgid "Need a repository to unbundle." msgstr "Se necesita un repositorio para desagrupar." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9768,7 +9960,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <tipo> | --textconv | --filters) [--path=<ruta>] <objeto>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9776,72 +9968,72 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "solo se puede especificar una opción batch" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<tipo> puede ser: blob, tree, commit, tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "mostrar el tipo del objeto" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "mostrar el tamaño del objeto" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "salir con cero cuando no haya error" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "realizar pretty-print del contenido del objeto" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "para objetos blob, ejecuta textconv en el contenido del objeto" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "para objetos blob, ejecuta filters en el contenido del objeto" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "use una ruta especÃfica para --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "permita -s y -t para trabajar con objetos rotos o corruptos" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "salida buffer --batch" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "mostrar info y content de los objetos alimentados por standard input" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "mostrar info de los objetos alimentados por standard input" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "seguir los enlaces simbólicos en el árbol (usado con --batch o --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "mostrar todos los objetos con --batch o --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "no ordenar el output de --batch-all-objects" @@ -9869,8 +10061,8 @@ msgstr "leer nombres de archivos de stdin" msgid "terminate input and output records by a NUL character" msgstr "terminar registros de entrada y salida con un carácter NUL" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "suprimir el reporte de progreso" @@ -9962,9 +10154,9 @@ msgid "write the content to temporary files" msgstr "escribir el contenido en un archivo temporal" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "string" @@ -9976,91 +10168,114 @@ msgstr "cuando cree archivos, anteponer <string>" msgid "copy out the files from named stage" msgstr "copiar los archivos del stage nombrado" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<opciones>] <rama>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<opciones>] [<rama>] -- <archivo>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<opciones>] [<rama>]" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<opciones>] [--source=<rama>] -- <archivo>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "ruta '%s' no tiene nuestra versión" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "ruta '%s' no tiene su versión" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "ruta '%s' no tiene todas las versiones necesarias" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "ruta '%s' no tiene versiones necesarias" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "ruta '%s': no se puede fusionar" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Incapaz de agregar resultados de fusión a '%s'" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "Recreado %d conflicto de merge" +msgstr[1] "Recreados %d conflictos de merge" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "Actualizada %d ruta para %s" +msgstr[1] "Actualizadas %d rutas para %s" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "Actualizada %d ruta desde el index" +msgstr[1] "Actualizadas %d rutas desde el index" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' no puede ser usada con rutas actualizadas" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' no puede ser usado con %s" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "No se puede actualizar rutas y cambiar a la rama '%s' al mismo tiempo." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "ruta '%s' no esta fusionada" +msgid "neither '%s' or '%s' is specified" +msgstr "ni '%s' o '%s' están especificados" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "Recreado %d conflicto de merge" -msgstr[1] "Recreados %d conflictos de merge" +msgid "'%s' must be used when '%s' is not specified" +msgstr "'%s' tiene que ser usado cuando '%s' no es especificado" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "Actualizada %d ruta para %s" -msgstr[1] "Actualizadas %d rutas para %s" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' o '%s' no puede ser usado con %s" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "Actualizada %d ruta desde el index" -msgstr[1] "Actualizadas %d rutas desde el index" +msgid "path '%s' is unmerged" +msgstr "ruta '%s' no esta fusionada" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" -msgstr "necesita resolver su Ãndice actual primero" +msgstr "necesitas resolver tu Ãndice actual primero" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10069,56 +10284,56 @@ msgstr "" "no se puede continuar con los cambios en stage en los siguientes archivos:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "" "cambios en el área de stage en el siguiente archivo pueden ser perdidos: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "No se puede hacer reflog para '%s': %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD está ahora en" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "no es posible actualizar HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Reiniciar rama '%s'\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Ya en '%s'\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Rama reiniciada y cambiada a '%s'\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Cambiado a nueva rama '%s'\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Cambiado a rama '%s'\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... y %d más.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10131,17 +10346,17 @@ msgid_plural "" "\n" "%s\n" msgstr[0] "" -"Peligro: está saliendo %d commit atrás, no está conectado\n" +"Peligro: estás saliendo %d commit atrás, no está conectado\n" "a ninguna rama:\n" "\n" "%s\n" msgstr[1] "" -"Peligro: está saliendo %d commits atrás, no está conectado\n" +"Peligro: estás saliendo %d commits atrás, no está conectado\n" "a ninguna rama:\n" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10156,36 +10371,40 @@ msgid_plural "" " git branch <new-branch-name> %s\n" "\n" msgstr[0] "" -"Si quiere conservarlo creando una nueva rama, este es un buen momento\n" +"Si quieres conservarlo creando una nueva rama, este es un buen momento\n" "para hacerlo:\n" "\n" " git branch <nuevo-nombre-de-rama> %s\n" "\n" msgstr[1] "" -"Si quiere conservarlos creando una nueva rama, este es un buen momento\n" +"Si quieres conservarlos creando una nueva rama, este es un buen momento\n" "para hacerlo:\n" "\n" " git branch <nombre-de-rama> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "error interno en camino de revisión" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "La posición previa de HEAD era" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Estás en una rama por nacer" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "solo una referencia esperada" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "solo una referencia esperada, %d entregadas." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10194,151 +10413,207 @@ msgstr "" "'%s' puede ser tanto un archivo local como una rama de rastreo.\n" "Por favor use -- (y opcionalmente --no-guess) para desambiguar" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "referencia inválida: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "la referencia no es n árbol: %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "se esperaba un branch, se obtuvo tag '%s'" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "se espera una rama, se obtuvo una rama remota '%s'" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "se esperaba branch, se obuto '%s'" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "se espera una rama, se obtuvo commit '%s'" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"no se puede cambiar de branch durante un merge\n" +"Considera \"git merge --quit\" o \"git worktree add\"." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"no se puede cambiar de branch en medio de una sesión de am\n" +"Considera \"git am --quit\" o \"git worktree add\"." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"no se puede cambiar de branch durante un rebase\n" +"Considera \"git rebase --quit\" o \"git worktree add\"." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"no se puede cambiar de branch durante un cherry-pick\n" +"Considera \"git cherry-pick --quit\" o \"git worktree add\"." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"no se puede cambiar de branch durante un revert\n" +"Considera \"git revert --quit\" o \"git worktree add\"." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "estás cambiando ramas durante un bisect" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "rutas no pueden ser usadas con cambios de rama" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' no puede ser usado con cambios de ramas" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' no puede ser usado con '%s'" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "'%s' no puede tomar <punto de partida>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "No se puede cambiar rama a un '%s' sin commits" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "rama" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "falta branch o commit como argumento" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "crear y hacer checkout a una nueva rama" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "forzar el reporte de progreso" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "crear/reiniciar y hacer checkout a una rama" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "realizar una fusión de tres vÃas con la rama nueva" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "crear un reflog para una nueva rama" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "estilo" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "conflicto de estilos (merge o diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "desacoplar HEAD en el commit nombrado" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "configurar info de upstream para una rama nueva" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "forzar el checkout (descartar modificaciones locales)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "nueva-rama" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "nueva rama no emparentada" -#: builtin/checkout.c:1366 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "actualizar archivos ignorados (default)" + +#: builtin/checkout.c:1462 +msgid "do not check if another worktree is holding the given ref" +msgstr "no revise si otro árbol de trabajo contiene la ref entregada" + +#: builtin/checkout.c:1475 msgid "checkout our version for unmerged files" msgstr "hacer checkout a nuestra versión para archivos sin fusionar" -#: builtin/checkout.c:1369 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "hacer checkout a su versión para los archivos sin fusionar" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "forzar el checkout (descartar modificaciones locales)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "realizar una fusión de tres vÃas con la rama nueva" - -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" -msgstr "actualizar archivos ignorados (default)" - -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "estilo" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "conflicto de estilos (merge o diff3)" - -#: builtin/checkout.c:1381 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "no limitar pathspecs a dispersar entradas solamente" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "no adivinar segunda opción 'git checkout <no-hay-tal-rama>'" - -#: builtin/checkout.c:1385 -msgid "do not check if another worktree is holding the given ref" -msgstr "no revise si otro árbol de trabajo contiene la ref entregada" - -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "forzar el reporte de progreso" - -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "usar modo overlay (default)" - -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B y --orphan son mutuamente exclusivas" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p y --overlay son mutuamente exclusivas" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track necesita el nombre de una rama" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "falta nombre de rama; prueba -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "no se pudo resolver %s" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "debes especificar path(s) para restaurar" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "especificación de ruta inválida" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "'%s' no es un commit y una rama '%s' no puede ser creada desde este" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach no toma un argumento de ruta '%s'" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10346,7 +10621,7 @@ msgstr "" "git checkout: --ours/--theirs, --force y --merge son incompatibles cuando\n" "se revisa fuera del Ãndice." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10376,6 +10651,68 @@ msgstr "" "de nombre <nombre> remota, como 'origin', considera configurar\n" "checkout.defaultRemote=origin en tu configuración." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "rama" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "crear y hacer checkout a una nueva rama" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "crear/reiniciar y hacer checkout a una rama" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "crear un reflog para una nueva rama" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "adivinar segunda opción 'git checkout <no-hay-tal-rama>' (default)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "usar modo overlay (default)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "crear y hacer switch a una nueva rama" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "crear/reiniciar y hacer switch a una rama" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "adivinar segunda opción 'git checkout <no-hay-tal-rama>'" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "descartar modificaciones locales" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "de qué árbol hacer el checkout" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "restaurar el index" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "restaurar el árbol de trabajo (default)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "ignorar entradas no fusionadas" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "usar modo overlay" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10407,7 +10744,12 @@ msgstr "Se saltara repositorio %s\n" msgid "failed to remove %s" msgstr "falló al borrar %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "no se pudo lstat %s\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10420,7 +10762,7 @@ msgstr "" "foo - selecciona un objeto basado en un prefijo único\n" " - (vacÃo) no elegir nada\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10441,38 +10783,38 @@ msgstr "" "* - escoger todos los objetos\n" " - (vacÃo) terminar selección\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Ahh (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Input ignora los patrones >> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "PELIGRO: No se puede encontrar objetos que concuerden con: %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Seleccionar objetos para borrar" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Borrar %s [y/N]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Adiós.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10490,64 +10832,64 @@ msgstr "" "help - esta ventana\n" "? - ayuda para selección de opciones" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Comandos ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Ahora que" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Se eliminará el siguiente objeto:" msgstr[1] "Se eliminarán los siguientes objetos:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." -msgstr "No hay mas archivos para limpiar, saliendo." +msgstr "No hay más archivos para limpiar, saliendo." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "no imprimir nombres de archivos borrados" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "forzar" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "limpieza interactiva" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "borrar directorios completos" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "patrón" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "agregar <patrón> para ignorar reglas" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "borrar archivos ignorados, también" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "borrar solo archivos ignorados" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x y -X no pueden ser usadas juntas" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10555,7 +10897,7 @@ msgstr "" "clean.requireForce configurado como true y ninguno -i, -n, ni -f entregados; " "rehusando el clean" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10563,156 +10905,160 @@ msgstr "" "clean.requireForce default en true y ninguno -i, -n, ni -f entregados; " "rehusando el clean" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<opciones>] [--] <repo> [<directorio>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "no crear checkout" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "crear un repositorio vacÃo" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "crear un repositorio espejo (implica vacÃo)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "clonar de un repositorio local" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "no usar hardlinks, siempre copiar" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "configurar como repositorio compartido" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "pathspec" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "inicializar submódulos en el clonado" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "numero de submódulos clonados en paralelo" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "directorio-template" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "directorio del cual los templates serán usados" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "repositorio de referencia" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "usa--reference solamente si estás clonado" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "nombre" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "use <nombre> en lugar de 'origin' para rastrear upstream" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "checkout <rama> en lugar de HEAD remota" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "ruta para git-upload-pack en el remoto" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "profundidad" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "crear un clon superficial para esa profundidad" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "tiempo" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "crear un clon superficial desde el tiempo especÃfico" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "revision" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "ahondando historia de clon superficial, excluyendo rev" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "clonar solo una rama,HEAD o --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "no clonar ningún tag, y hacer que los subsiguientes fetch no los sigan" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "cualquier submódulo clonado será superficial" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "separa git dir del árbol de trabajo" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "llave=valor" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "configurar config dentro del nuevo repositorio" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "especifico-de-servidor" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "opción para trasmitir" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "solo usar direcciones IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "solo usar direcciones IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "cualquier submódulo clonado usará su branch de rastreo remoto" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10720,146 +11066,146 @@ msgstr "" "No se pudo adivinar ningún nombre de directorio.\n" "Por favor especifique un directorio en la lÃnea de comando" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: No se pudo agregar un alterno para '%s': %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "falló al abrir '%s'" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s existe pero no es un directorio" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "falló al analizar %s\n" +msgid "failed to start iterator over '%s'" +msgstr "falló al iniciar el iterador sobre '%s'" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "falló al desvincular '%s'" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "falló al crear link '%s'" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "falló al copiar archivo a '%s'" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "falló al iterar sobre '%s'" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "hecho.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Clonado exitoso, pero falló el checkout.\n" -"Puede inspeccionar a qué se hizo checkout con 'git status'\n" -"y volver a intentarlo con 'git checkout -f HEAD'\n" +"Puedes inspeccionar a qué se hizo checkout con 'git status'\n" +"y volver a intentarlo con 'git restore --source=HEAD :/'\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "No se pudo encontrar la rama remota %s para clonar." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "incapaz de actualizar %s" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "remoto HEAD refiere a un ref inexistente, no se puede hacer checkout.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "no es posible realizar checkout en el árbol de trabajo" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "no es posible escribir parámetros al archivo config" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "no se puede reempaquetar para limpiar" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "no se puede desvincular archivos alternos temporales" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Muchos argumentos." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Tienes que especificar un repositorio para clonar." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "Las opciones --bare y --origin %s son incompatibles." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare y --separate-git-dir son incompatibles." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "repositorio '%s' no existe" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "profundidad %s no es un numero positivo" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "la ruta de destino '%s' ya existe y no es un directorio vacÃo." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "directorio de trabajo '%s' ya existe." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "no se pudo crear directorios principales de '%s'" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "no se pudo crear un árbol de trabajo '%s'" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clonando en un repositorio vacÃo '%s'...\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clonando en '%s'...\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -10867,36 +11213,36 @@ msgstr "" "clone --recursive no es compatible con --reference y --reference-if-able al " "mismo tiempo" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth es ignorada en clonaciones locales; usa file:// más bien." -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "--shallow-since es ignorado en el clon local; use file:// ." -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "--shallow-exclude es ignorado en clones locales; use file://." -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter es ignorado en clones locales; usa file:// en su lugar." -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "repositorio fuente es superficial, ignorando --local" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local es ignorado" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Rama remota %s no encontrada en upstream %s" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Pareces haber clonado un repositorio sin contenido." @@ -10945,7 +11291,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "padre duplicado %s ignorado" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "no es un nombre de objeto válido %s" @@ -10973,13 +11319,13 @@ msgstr "padre" msgid "id of a parent commit object" msgstr "id del objeto commit padre" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "mensaje" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "mensaje del commit" @@ -10987,8 +11333,8 @@ msgstr "mensaje del commit" msgid "read commit log message from file" msgstr "leer mensaje de commit desde un archivo" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "Firmar commit con GPG" @@ -11014,7 +11360,7 @@ msgid "" "it empty. You can repeat your command with --allow-empty, or you can\n" "remove the commit entirely with \"git reset HEAD^\".\n" msgstr "" -"Has solicitado un amend en tu commit mas reciente, pero hacerlo lo \n" +"Has solicitado un amend en tu commit más reciente, pero hacerlo lo \n" "vaciarÃa. Puedes repetir el comando con --alow-empty, o puedes eliminar\n" "el commit completamente con \"git reset HEAD^\".\n" @@ -11028,86 +11374,92 @@ msgid "" msgstr "" "El cherry-pick anterior ahora está vacÃo, posiblemente por un conflicto de " "resolución.\n" -"Si desea realizar un commit de todas maneras, use:\n" +"Si deseas realizar un commit de todas maneras, usa:\n" "\n" " git commit --allow-empty\n" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Caso contrario, por favor usa 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Caso contrario, por favor usa 'git cherry-pick --skip'\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Si quiere saltar este commit, use:\n" +"y luego usa:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"para resumir el cherry-pick con los commits faltantes.\n" +"Si deseas saltar el commit, usa:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Luego \"git cherry-pick --continue\" continuara el cherry-picking\n" -"para los commits restantes.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "falló al desempaquetar objeto del árbol HEAD" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "no es posible crear un Ãndice temporal" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "adición interactiva fallida" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "no es posible actualizar el Ãndice temporal" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Falló al actualizar el cache principal del árbol" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "no es posible escribir archivo new_index" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "no se puede realizar un commit parcial durante una fusión." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "no se puede realizar un commit parcial durante un cherry-pick." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "no se puede leer el Ãndice" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "no es posible escribir el Ãndice temporal" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "commit '%s' requiere cabecera de autor" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "el commit '%s' tiene una lÃnea de autor mal formada" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "parámetro --author mal formado" -#: 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" @@ -11115,38 +11467,38 @@ msgstr "" "no es posible seleccionar un carácter de comentario que no es usado\n" "en el mensaje de commit actual" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "no se pudo revisar el commit %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(leyendo mensajes de logs desde standard input)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "no se pudo leer log desde standard input" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "no se pudo leer el log '%s'" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "no se pudo leer SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "no se pudo leer MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "no se pudo escribir el template del commit" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11161,7 +11513,7 @@ msgstr "" "\t%s\n" "y vuelve a intentar.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11171,174 +11523,174 @@ msgid "" "and try again.\n" msgstr "" "\n" -"Parece que puede estar haciendo un commit a un cherry-pick.\n" -"Si esto no es correcto, por favor elimine el archivo\n" +"Parece que puedes estar haciendo un commit a un cherry-pick.\n" +"Si esto no es correcto, por favor elimina el archivo\n" "\t%s\n" -"y vuelva a intentar.\n" +"y vuelve a intentar.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "" -"Por favor ingrese el mensaje del commit para sus cambios. Las lÃneas que " +"Por favor ingresa el mensaje del commit para tus cambios. Las lÃneas que " "comiencen\n" "con '%c' serán ignoradas, y un mensaje vacÃo aborta el commit.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be kept; you may remove them yourself if you want to.\n" "An empty message aborts the commit.\n" msgstr "" -"Por favor ingrese el mensaje del commit para sus cambios. Las lÃneas que " +"Por favor ingresa el mensaje del commit para tus cambios. Las lÃneas que " "comiencen\n" "con '%c' serán guardadas; puede eliminarlas usted mismo si desea.\n" "Un mensaje vacÃo aborta el commit.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAutor: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sFecha: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sCommitter: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "No se puede leer el Ãndice" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Error al construir los árboles" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Por favor suministra el mensaje usando las opciones -m o -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author '%s' no está en el formato 'Name <email>' y no concuerda con ningún " "autor existente" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Modo ignorado inválido '%s'" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Modo inválido de los archivos no rastreados '%s'" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long y -z son incompatibles" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "Usar ambos --reset-author y --author no tiene sentido" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "No tienes nada que enmendar." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Estás en medio de una fusión -- no puedes enmendar." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Está en medio de un cherry-pick -- no se puede enmendar." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Opciones --squash y --fixup no pueden ser usadas juntas" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Solo uno de -c/-C/-F/--fixup puede ser usado." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "La opción -m no puede ser combinada con -c/-C/-F." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author sólo puede ser usada con -C, -c o --amend." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Solo uno de --include/--only/--all/--interactive/--patch puede ser usado." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "No hay rutas con --include/--only no tiene sentido." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "paths '%s ...' con -a no tiene sentido" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "mostrar status de manera concisa" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "mostrar información de la rama" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "mostrar información del stash" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "calcular todos los valores delante/atrás" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "version" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "output formato-maquina" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "mostrar status en formato largo (default)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "terminar entradas con NUL" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "modo" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "mostrar archivos sin seguimiento, modos opcionales: all, normal, no. " "(Predeterminado: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11346,11 +11698,11 @@ msgstr "" "mostrar archivos ignorados, modos opcionales: traditional, matching, no. " "(Predeterminado: traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "cuando" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11358,235 +11710,251 @@ msgstr "" "ignorar cambios en submódulos, opcional cuando: all,dirty,untracked. " "(Default: all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "listar en columnas los archivos sin seguimiento" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "no detectar renombrados" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "detectar renombres, opcionalmente configurar similaridad de Ãndice" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" "Combinación de argumentos de archivos ignorados y no rastreados no soportada" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "suprime summary tras un commit exitoso" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "mostrar diff en el template del mensaje de commit" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Opciones para el mensaje del commit" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "leer mensaje desde un archivo" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "autor" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "sobrescribe el autor del commit" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "fecha" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "sobrescribe la fecha del commit" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "confirmar" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "reusar y editar el mensaje de un commit especifico" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "reusar el mensaje de un commit especifico" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "usar mensaje de formato autosquash para arreglar el commit especificado" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "usar el mensaje de formato autosquash para realizar squash al commit " "especificado" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "el autor del commit soy yo ahora (usado con -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "agregar Signed-off-by: (firmado por)" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "usar archivo de template especificado" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "forzar la edición del commit" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "incluir status en el template del mensaje de commit" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Opciones para el contenido del commit" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "confirmar todos los archivos cambiados" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "agregar archivos especÃficos al Ãndice para confirmar" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "agregar archivos interactivamente" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "agregar cambios interactivamente" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "sólo confirmar archivos especÃficos" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "evitar los capturadores (hooks) de pre-commit y commit-msg" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "mostrar lo que serÃa incluido en el commit" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "enmendar commit previo" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "gancho bypass post reescritura" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "ok al grabar un cambio vacÃo" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "ok al grabar un cambio con un mensaje vacÃo" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Archivo MERGE_HEAD (%s) corrupto" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "no se pudo leer MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "no se pudo leer el mensaje de commit: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Abortando commit debido que el mensaje está en blanco.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Abortando commit; no se ha editado el mensaje\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "el repositorio ha sido actualizado, pero no se pudo escribir el archivo\n" "new_index. Verifique que el disco no este lleno y la quota no ha\n" -"sido superada, y luego \"git reset HEAD\" para recuperar." +"sido superada, y luego \"git restore --sateged :/\" para recuperar." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <objdir>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <objdir>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <objdir>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <objdir>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <objdir>] [--append][--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "dir" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "El directorio de objetos para guardar el gráfico" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "si el commit-graph está cortado, solo verifica la punta del archivo" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "No se pudo abrir commit-graph '%s'" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "comenzar caminata en todas las refs" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "escanear paquete de Ãndices por stdin por commits" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "comenzar a caminar a los commits listados por stdin" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "inclye todos los commits que ya están en el archivo commit-graph" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "permitir escribir un archivo commit-graph incremental" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "máximo número de commits en un commit-graph sin base cortada" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "radio máximo entre dos niveles de corte de commit-graph" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "use como máximo uno de --reachable, --stdin-commits, o --stdin-packs" @@ -11594,7 +11962,7 @@ msgstr "use como máximo uno de --reachable, --stdin-commits, o --stdin-packs" msgid "git config [<options>]" msgstr "git config [<opciones>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "argumento --type no reconocido, %s" @@ -11700,7 +12068,7 @@ msgstr "encontrar las opciones del color: slot [stdout-es-tty]" msgid "Type" msgstr "Tipo" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "al valor se ha dado este tipo" @@ -11744,7 +12112,7 @@ msgstr "respetar directivas include en la búsqueda" msgid "show origin of config (file, standard input, blob, command line)" msgstr "mostrar el origen de configuración (archivo, stdin, blob, comando)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "valor" @@ -12040,7 +12408,7 @@ msgstr "solo considerar tags que concuerden con <patrón>" msgid "do not consider tags matching <pattern>" msgstr "no considerar tags que concuerden con <patrón>" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "mostrar el objeto commit abreviado como fallback" @@ -12149,7 +12517,7 @@ msgstr "archivo temporal existe en '%s'." #: builtin/difftool.c:640 msgid "you may want to cleanup or recover these." -msgstr "tal vez desee limpiar o recuperar estos." +msgstr "tal vez desees limpiar o recuperar estos." #: builtin/difftool.c:689 msgid "use `diff.guitool` instead of `diff.tool`" @@ -12216,158 +12584,191 @@ msgstr "no se ha proporcionado <herramienta> para --tool=<herramienta>" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "no se ha entregado <comando> para --extcmd=<comando>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <opciones> <env-var>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "tipo" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "default para git_env_*(...) es hacer fallback en" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "ser silencioso solo usar valor git_env_*() como código de salida" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "opción `--default' espera un valor boolean con `--type=bool`, no `%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"opción `--default' espera un valor unsigned long con `--type=ulong`, no `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "mostrar progreso después de <n> objetos" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "seleccionar el manejo de tags firmados" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "seleccionar el manejo de tags que son tags de objetos filtrados" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "seleccionar el manejo de mensajes de commit en un encoding diferente" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Volcar marcas a este archivo" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Importar marcas de este archivo" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Falsificar un tagger cuando les falta uno" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Mostrar todo el árbol para cada commit" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Use el feature done para terminar el stream" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Saltar el output de data blob" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "refspec" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Aplicar refspec para los refs exportados" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "anonimizar la salida" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "Padres de la referencia que no estan en fast-export stream por id de objeto" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Mostrar ids de objetos originales para blobs/commits" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<opciones>] [<repositorio> [<refspec>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<opciones>] <grupo>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<opciones>] [(<repositorio> | <grupo>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<opciones>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "extraer de todos los remotos" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "adjuntar a .git/FETCH_HEAD en lugar de sobrescribir" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "ruta para cargar el paquete al final del remoto" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "forzar sobrescritura de referencia local" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "extraer de múltiples remotos" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "extraer todos los tags y objetos asociados" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "no extraer todos los tags (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "número de submódulos extraÃdos en paralelo" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "limpiar ramas remotas rastreadas que ya no están en el remoto" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "limpiar tags locales que no se encuentran en el remoto y eliminar tags " "cambiados" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "en demanda" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "controlar extracción recursiva de submódulos" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "mantener el paquete descargado" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "permitir actualizar la ref HEAD" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "historia profunda de un clon superficial" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "historia profunda de un repositorio superficial basado en tiempo" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "convertir a un repositorio completo" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "anteponer esto a salida de la ruta del submódulo" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12375,97 +12776,129 @@ msgstr "" "default para extracción recursiva de submódulos (menor prioridad que " "archivos de configuración)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "aceptar refs que actualicen .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "refmap" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "especificar extracción de refmap" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "reporta que solo tenemos objetos alcanzables de este objeto" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "ejecutar 'gc --auto' tras el fetch" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "verificar updates forzados en todos los branch actualizados" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "No se puedo encontrar ref remota HEAD" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "la configuración fetch.output contiene el valor inválido %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "objeto %s no encontrado" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[actualizado]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[rechazado]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "no se puede traer en la rama actual" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[actualización de tag]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "no se posible actualizar el ref local" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "podrÃa golpear tag existente" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[nuevo tag]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[nueva rama]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[nueva referencia]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "actualización forzada" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "avance lento" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"Fetch normalmente incida qué branches han tenido un update forzado,\n" +"pero esa validación ha sido deshabilitada. Para activarla de nuevo use '--" +"show-forced-updates'\n" +"o ejecute 'git config fetch.showForcedUpdates true'." + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"Tomó %.2f segundos validar los updates forzados. Puedes usar\n" +"'--no-show-forced-updates' o ejecutar 'git config fetch.showForcedUpdates " +"false'\n" +"para evitar esta validación.\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s no envió todos los objetos necesarios\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "rechazado %s porque raÃces superficiales no pueden ser actualizadas" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "Desde %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12474,50 +12907,50 @@ msgstr "" "algunos refs locales no pudieron ser actualizados; intente ejecutar\n" " 'git remote prune %s' para eliminar cualquier rama vieja o conflictiva" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s se pondrá colgado)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s se ha colgado)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[eliminado]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(nada)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Rehusando extraer en la rama actual %s de un repositorio no vacÃo" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Opción \"%s\" valor \"%s\" no es válido para %s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Opción \"%s\" es ignorada por %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "Extrayendo %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "No se pudo extraer %s" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12525,7 +12958,7 @@ msgstr "" "--filter solo puede ser usado con el remoto configurado en extensions." "partialClone" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12533,44 +12966,44 @@ msgstr "" "No hay repositorio remoto especificado. Por favor, especifique un URL o un\n" "nombre remoto del cual las nuevas revisiones deben ser extraÃdas." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." -msgstr "Tiene que especificar un nombre de tag." +msgstr "Tienes que especificar un nombre de tag." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Profundidad negativa en --deepen no soportada" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen y --depth son mutuamente exclusivas" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "--depth y --unshallow no pueden ser usadas juntas" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow no tiene sentido en un repositorio completo" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "fetch --all no toma un argumento de repositorio" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all no tiene sentido con refspecs" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "No existe el remoto o grupo remoto: %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Extraer un grupo y especificar un refspecs no tiene sentido" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12640,7 +13073,7 @@ msgstr "cite los marcadores de posición adecuadamente para Tcl" msgid "show only <n> matched refs" msgstr "mostrar solo <n> refs encontradas" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "respetar el formato de colores" @@ -12808,7 +13241,7 @@ msgstr "Revisando objetos directorios" msgid "Checking %s link" msgstr "Revisando link %s" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s inválido" @@ -12893,7 +13326,7 @@ msgstr "mostrar progreso" msgid "show verbose names for reachable objects" msgstr "mostrar nombres verboso para objetos alcanzables" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Revisando objetos" @@ -12926,7 +13359,7 @@ msgstr "falló al analizar '%s' valor '%s'" msgid "cannot stat '%s'" msgstr "no se pudo definir '%s'" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "no se puede leer '%s'" @@ -13001,7 +13434,7 @@ msgstr "" "gc ya está ejecutándose en la máquina '%s' pid %<PRIuMAX> (use --force so no " "es asÃ)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13026,262 +13459,262 @@ msgstr "número inválido de hilos especificado (%d) para %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "no hay soporte para hilos, ignorando %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "no es posible leer el árbol (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "no es posible realizar grep del objeto de tipo %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "switch `%c' espera un valor numérico" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "buscar en el Ãndice en lugar del árbol de trabajo" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "encontrar en contenidos no manejados por git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "buscar en archivos rastreados y no rastreados" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "ignorar archivos especificados via '.gitignore'" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "búsqueda recursiva en cada submódulo" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "mostrar lÃneas que no concuerdan" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "búsqueda insensible a mayúsculas" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "concordar patrón solo a los lÃmites de las palabras" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "procesar archivos binarios como texto" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "no concordar patrones en archivos binarios" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "procesar archivos binarios con filtros textconv" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "buscar en subdirectorios (default)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "descender como máximo <valor-de-profundiad> niveles" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "usar expresiones regulares POSIX extendidas" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "usar expresiones regulares POSIX (default)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "interpretar patrones como strings arreglados" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "usar expresiones regulares compatibles con Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "mostrar números de lÃnea" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "mostrar el número de columna de la primer coincidencia" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "no mostrar nombres de archivo" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "mostrar nombres de archivo" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "mostrar nombres de archivo relativos al directorio superior" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "mostrar solo nombres de archivos en lugar de lÃneas encontradas" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "sinónimo para --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "mostrar solo los nombres de archivos sin coincidencias" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "imprimir NUL después del nombre de archivo" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "mostrar solo partes que concuerdan de una lÃnea" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "mostrar el número de concordancias en lugar de las lÃneas concordantes" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "resaltar concordancias" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "imprimir una lÃnea vacÃa entre coincidencias de diferentes archivos" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "mostrar el nombre de archivo solo una vez para concordancias en el mismo " "archivo" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "mostrar <n> lÃneas de contexto antes y después de la concordancia" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "mostrar <n> lÃneas de contexto antes de las concordancias" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "mostrar <n> lÃneas de context después de las concordancias" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "usar <n> hilos de trabajo" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "atajo para -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "" "mostrar una lÃnea con el nombre de la función antes de las concordancias" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "mostrar la función circundante" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "leer patrones del archivo" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "concordar <patrón>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "combinar patrones especificados con -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "indicar concordancia con exit status sin output" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" "mostrar solo concordancias con archivos que concuerdan todos los patrones" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "mostrar árbol analizado para la expresión grep" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "paginador" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "mostrar archivos concordantes en el paginador" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permitir el llamado de grep(1) (ignorado por esta build)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "no se ha entregado patrón" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index o --untracked no se puede usar con revs" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "no se posible resolver revisión: %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "combinación de opciones inválida, ignorando --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "no se soportan hilos, ignorando --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "número inválido de hilos especificado (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager solo funciona en el árbol de trabajo" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "opción no soportada con --recurse-submodules" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached o --untracked no pueden ser usadas con --no-index" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard no puede ser usada para contenido rastreado" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "--cached y árboles han sido entregados" @@ -13298,10 +13731,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "tipo" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "tipo de objeto" @@ -13418,12 +13847,12 @@ msgstr "ningún visualizador de manual proceso la petición" msgid "no info viewer handled the request" msgstr "ningún visor de info manejo la petición" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "'%s' tiene el alias '%s'" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "mal alias.%s string: %s" @@ -13437,290 +13866,285 @@ msgstr "uso: %s%s" msgid "'git help config' for more information" msgstr "'git help config' para más información" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "el tipo del objeto no concuerda en %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "no se recibió el objeto esperado %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "objeto %s: tipo esperado %s, encontrado %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "no se puede llenar %d byte" msgstr[1] "no se pueden llenar %d bytes" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "EOF temprano" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "leer error en input" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "se usaron más bytes de los disponibles" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "paquete muy grande para la definición actual de off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "paquete excede el máximo tamaño permitido" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "no se puede crear '%s'" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "no se puede abrir el archivo de paquete '%s'" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "firma del paquete no concuerda" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "versión de paquete %<PRIu32> no soportada" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "paquete tiene un mal objeto en el offset %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "inflate devolvió %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "valor de offset desbordado para el objeto base delta" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "offset de base delta está fuera de lÃmites" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "tipo de objeto %d desconocido" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "no se puede propagar el paquete" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "final prematuro de archivo de paquete, %<PRIuMAX> byte faltante" msgstr[1] "final prematuro de archivo de paquete, %<PRIuMAX> bytes faltantes" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "inconsistencia seria en inflate" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "COLISIÓN DE TIPO SHA1 ENCONTRADA CON %s !" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "no se posible leer %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "no se puede leer la información existente del objeto %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "no se puede leer el objeto existente %s" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "objeto blob %s inválido" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "error de fsck en el objeto empaquetado" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "No todos los objetos hijos de %s son alcanzables" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "falló al aplicar delta" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Recibiendo objetos" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Indexando objetos" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "paquete está corrompido (SHA1 no concuerda)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "no se puede fstat al archivo de paquete" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "el paquete tiene basura al final" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusión más allá de la locura en parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Resolviendo deltas" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "no es posible crear hilo: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "confusión más allá de la locura" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "completado con %d objeto local" msgstr[1] "completado con %d objetos locales" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Tail checksum para %s inesperada (corrupción de disco?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "paquete tiene %d delta sin resolver" msgstr[1] "paquete tiene %d deltas sin resolver" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "no es posible desinflar el objeto adjunto (%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "objeto local %s está corrompido" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "nombre '%s' de archivo de paquete no termina con '.pack'" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "no se puede escribir %s en el archivo '%s'" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "no se puede cerrar escrito %s en archivo '%s'" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "error mientras se cierra el archivo paquete" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "no se puede guardar el archivo paquete" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "no se puede guardar el archivo Ãndice" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "mal pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "No se puede abrir el archivo paquete existente '%s'" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "No se puede abrir el Ãndice del archivo paquete para '%s'" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "no delta: %d objeto" msgstr[1] "no delta: %d objetos" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "largo de cadena = %d: %lu objeto" msgstr[1] "largo de cadena = %d: %lu objetos" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "No se puede regresar a cwd" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "mal %s" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin no puede ser usada sin --stdin" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin requiere un repositorio git" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "--verify no recibió ningún nombre de archivo de paquete" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "error de fsck en objetos paquete" @@ -13816,17 +14240,17 @@ msgid "specify that the git repository is to be shared amongst several users" msgstr "" "especifica que el repositorio de git será compartido entre varios usuarios" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "no se pude crear directorio %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "no se puede aplicar chdir a %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -13835,12 +14259,12 @@ msgstr "" "%s (o --work-tree=<directorio>) no se permite sin especificar %s (o --git-" "dir=<directorio>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "No se puede acceder al árbol de trabajo '%s'" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -13848,59 +14272,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<valor>])...] [<archivo>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "editar archivos en el lugar" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "cortar trailers vacÃos" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "donde colocar el nuevo trailer" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "acción if trailer ya existe" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "acción si falta el trailer" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "mostrar solo los trailers" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "no aplicar reglas de configuración" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "juntar valores con espacios en blanco contiguos" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "configurar opciones de análisis" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "no tratar --- especialmente" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "trailer" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "trailer(s) para agregar" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer con --only-input no tiene sentido" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "no se entregó archivo de entrada para edición en lugar" @@ -13912,393 +14336,389 @@ msgstr "git log [<opciones>] [<rango-de-revisión>] [[--] <ruta>...]" msgid "git show [<options>] <object>..." msgstr "git show [<opciones>] <objeto>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "opción --decorate inválida: %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "mostrar fuente" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "Usar archivo de mapa de mail" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "solo decorar refs que concuerden con <patrón>" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "no decorar refs que concuerden con <patrón>" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "opciones de decorado" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "Procesar rango de lÃneas n,m en archivo, contando desde 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "Salida final: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: mal archivo" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "no se pudo leer objeto %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "tipo desconocido: %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "formate.headers. sin valor" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "nombre del directorio de salida es muy largo" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "no se puede abrir archivo patch %s" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "necesita exactamente un rango" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "no es un rango" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "letras de portada necesita formato email" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "falló al crear los archivos cover-letter" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "insano in-reply-to: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<opciones>] [<desde> | <rango-de-revisiones>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "dos directorios de salida?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "commit desconocido %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "falló al resolver '%s' como ref válida" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "no se pudo encontrar una base de fusión exacta" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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=<base-commit-id> manually" msgstr "" -"falló al conseguir upstream, si quiere grabar un commit base de manera " +"falló al conseguir upstream, si quieres grabar un commit base de manera " "automática,\n" -"por favor use git branch --set-upstream-to para rastrear una rama remota.\n" -"O puede especificar un commit base mediante --base=<id-commit-base> " +"por favor usa git branch --set-upstream-to para rastrear una rama remota.\n" +"O puedes especificar un commit base mediante --base=<id-commit-base> " "manualmente" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "falló al encontrar una base de fusión exacta" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "el commit base debe ser el ancestro de la lista de revisión" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "el commit base no debe estar en la lista de revisión" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "no se puede obtener id de patch" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "falló al inferir rangos range-diff" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "use [PATCH n/m] incluso con un único parche" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "use [PATCH] incluso con múltiples parches" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "mostrar parches en standard out" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "generar letra de cover" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "" "usar una secuencia simple de números para salida de nombres de archivos" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "use <sfx> en lugar de '.patch'" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "comenzar a numerar los parches desde <n> en lugar de 1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "marcar las series como Nth re-roll" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Use [RFC PATCH] en lugar de [PATCH]" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Use [<prefijo>] en lugar de [PATCH]" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "guardar archivos resultantes en <dir>" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "no cortar/agregar [PATCH]" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "no mostrar diffs binarios" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "salida como hash de todos-ceros en la cabecera From" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "no incluya un parche que coincida con un commit en upstream" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "mostrar formato de parche en lugar del default (parche + stat)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "Mensajeando" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "cabezal" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "agregar cabecera email" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "email" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "agregar cabecera To:" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "agregar cabecera Cc:" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "ident" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "configurar dirección From a <ident> ( o identidad de committer si está " "ausente)" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "id de mensaje" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "hacer primer mail una respuesta a <id de mensaje>" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "lÃmite" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "adjuntar el parche" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "poner el parche en lÃnea" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "habilitar hilos de mensajes, estilos: superficial, profundo" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "firma" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "agregar una firma" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "commit-base" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "" "agregar información de árbol de requisitos previos a la serie de parches" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "agregar una firma de un archivo" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "no mostrar los nombres de archivos de los parches" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "mostrar medidor de progreso mientras se generan los parches" -#: builtin/log.c:1606 -msgid "rev" -msgstr "rev" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "muestra cambios contra <rev> en cover letter o en un solo parche" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "muestra cambios contra <refspec> en cover letter o en un solo parche" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "porcentaje por el cual la creación es pesada" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "lÃnea de identificación inválida: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "-n y -k son mutuamente exclusivas" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc y -k son mutuamente exclusivos" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "--name-only no tiene sentido" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "--name-status no tiene sentido" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "--check no tiene sentido" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "salida standard, o directorio, cual?" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff requiere --cover-letter o un parche único" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Interdiff:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff contra v%d:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor requiere --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff requiere --cover-letter o parche único" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Range-diff:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Range-diff contra v%d:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "no se puede leer la firma del archivo '%s'" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Generando parches" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "falló al crear los archivos de salida" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<upstream> [<head> [<lÃmite>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14428,7 +14848,7 @@ msgstr "" msgid "do not print remote URL" msgstr "no mostrar el URL remoto" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "ejecutar" @@ -14502,189 +14922,193 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "mbox vacÃo: '%s'" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<opciones>] [<commit>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "cambiar `m' requiere un valor" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "opción `%s' requiere un valor" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "No se pudo encontrar estrategia de fusión '%s'.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Estrategias disponibles son:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Estrategias personalizadas disponibles son:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "no mostrar un diffstat al final de la fusión" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "mostrar un diffstat al final de la fusión" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(sinónimo para --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "agregar (como máximo <n>) entradas del shortlog al mensaje del commit de " "fusión" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "crear un commit único en lugar de hacer una fusión" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "realizar un commit si la fusión es exitosa (default)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "editar mensaje antes de realizar commit" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "permitir fast-forwars (default)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "abortar si fast-forward no es posible" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "verificar que el commit nombrado tiene una firma GPG válida" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "estrategia" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "estrategia de fusión para usar" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "opción=valor" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "opción para la estrategia de fusión seleccionada" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "fusionar mensaje de commit (para una fusión no fast-forward)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "abortar la fusión en progreso actual" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort pero deja el Ãndice y el árbol de trabajo solos" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "continuar la fusión en progreso actual" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "permitir fusionar historias no relacionadas" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "verificar el hook commit-msg" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "no se pudo ejecutar stash." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "stash falló" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "no es un objeto válido: %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "lectura de árbol falló" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (nada para hacer squash)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Commit de squash -- no actualizando HEAD\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "No hay mensaje de fusión -- no actualizando HEAD\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' no apunta a ningún commit" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Mal string branch.%s.mergeoptions: %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "No manejando nada más que fusión de dos heads." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Opción desconocida para merge-recursive: -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "no es posible escribir %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "No se puedo leer de '%s'" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "No se realiza commit de la fusión; use 'git commit' para completar la " "fusión.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14696,11 +15120,11 @@ msgstr "" "tópico.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Un mensaje vacÃo aborta el commit.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14709,172 +15133,180 @@ msgstr "" "LÃneas comenzando con '%c' serán ignoradas, y un mensaje vacÃo aborta\n" " el commit.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Mensaje de commit vacÃo." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Maravilloso.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Fusión automática falló; arregle los conflictos y luego realice un commit " "con el resultado.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "No rama actual." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "No hay remoto para la rama actual." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "Por defecto, no hay un upstream definido para la rama actual." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "No hay rama de rastreo remoto para %s de %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Valor erróneo '%s' en el entorno '%s'" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "nada que podamos fusionar en %s: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "nada que podamos fusionar" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort no espera argumentos" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "No hay una fusión para abortar (falta MERGE_HEAD)" -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit no espera argumentos" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue no espera argumentos" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "No hay fusión en progreso (falta MERGE_HEAD)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -"No ha concluido la fusión (existe MERGE_HEAD).\n" -"Por favor, realice un commit con los cambios antes de fusionar." +"No has concluido la fusión (existe MERGE_HEAD).\n" +"Por favor, realiza un commit con los cambios antes de fusionar." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -"No ha concluido el cherry-pick (existe CHERRY_PICK_HEAD).\n" -"Por favor, realice un commit con los cambios antes de fusionar." +"No has concluido el cherry-pick (existe CHERRY_PICK_HEAD).\n" +"Por favor, realiza un commit con los cambios antes de fusionar." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." -msgstr "No ha concluido el cherry-pick (existe CHERRY_PICK_HEAD)." +msgstr "No has concluido el cherry-pick (existe CHERRY_PICK_HEAD)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "No se puede combinar --squash con --no-ff." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "No se puede combinar --squash con --commit." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "No hay commit especificado y merge.defaultToUpstream no está configurado." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Commit aplastado dentro de un head vacÃo no es soportado todavÃa" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Commit no fast-forward no tiene sentido dentro de un head vacÃo" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - nada que podamos fusionar" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Solo se puede fusionar exactamente un commit en un head vacÃo" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "rehusando fusionar historias no relacionadas" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Ya está actualizado." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Actualizando %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Intentando fusión en Ãndice realmente trivial...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "Nop.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Ya está actualizado. ¡Oh, yeaahh!" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "No es posible hacer fast-forward, abortando." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Rebobinando el árbol a original...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Intentando estrategia de fusión %s...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Ninguna estrategia de fusión manejó la fusión.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Fusionar con estrategia %s falló.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Usando el %s para preparar resolución a mano.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -15008,21 +15440,37 @@ msgid "allow creation of more than one tree" msgstr "permitir la creación de más de un árbol" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<dir>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<tamaño>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "objeto directorio conteniendo conjuntos de pares packfile y pack-index" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"durante el repack, recolectar los pack-files de tamaño menor en un batch que " +"es más grande que este tamaño" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "muchos argumentos" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "opción --batch-size es solo para el subcomando 'repack'" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "verbo no reconocido: %s" +msgid "unrecognized subcommand: %s" +msgstr "subcomando desconocido: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15113,52 +15561,52 @@ msgstr "%s, fuente=%s, destino=%s" msgid "Renaming %s to %s\n" msgstr "Renombrando %s a %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "renombrando '%s' falló" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<opciones>] <commit>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<opciones>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<opciones>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "imprimir sólo nombres (sin SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "sólo usar tags para nombrar commits" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "solo usar refs que concuerden con <patrón>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignorar refs que concuerden con <patrón>" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "listar todos los commits alcanzables desde todas las referencias" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "leer desde stdin" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "permitir imprimir nombres `undefined` (predeterminado)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "desreferenciar tags en la entrada (uso interno)" @@ -15307,7 +15755,7 @@ msgstr "incapaz de escribir el objeto de nota" msgid "the note contents have been left in %s" msgstr "los contenidos de nota han sido dejados en %s" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "no se pudo abrir o leer '%s'" @@ -15540,7 +15988,7 @@ msgstr "" "commit con el resultado 'git notes merge --commit', o aborte la fusión con " "'git notes merge --abort'.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Falló al resolver '%s' como una ref válida." @@ -15574,7 +16022,7 @@ msgstr "referencia-de-notas" msgid "use notes from <notes-ref>" msgstr "usar notas desde <referencia-de-notas>" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "subcomando desconocido: %s" @@ -15593,129 +16041,129 @@ msgstr "" "git pack-objects [<opciones>...] <nombre-base> [< <lista-de-refs> | < <lista-" "de-objetos>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "mal paquete de objeto CRC para %s" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "objeto empaquetado corrupto para %s" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "delta recursivo encontrado para objeto %s" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "%u objetos ordenados, esperados %<PRIu32>" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "packfile es inválido: %s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "no es posible abrir packfile para reusar: %s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "no es posible buscar en los packfile reusados" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "no es posible leer de packfile reusado" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" "deshabilitando escritura bitmap, paquetes son divididos debido a pack." "packSizeLimit" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "Escribiendo objetos" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "falló al iniciar %s" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "%<PRIu32> objetos escritos mientras se esperaban %<PRIu32>" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "deshabilitando escritura bitmap, ya que algunos objetos no están siendo " "empaquetados" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "overflow de offset en la base de delta en paquete para %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "outbound de offset en la base de delta para %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "Contando objetos" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "no se pudo obtener el tamaño de %s" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "incapaz de analizar header del objeto %s" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "objeto %s no puede ser leÃdo" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" "objeto %s inconsistente con el largo del objeto (%<PRIuMAX> vs %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "suboptimal pack - fuera de memoria" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Compresión delta usando hasta %d hilos" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "no es posible empaquetar objetos alcanzables desde tag %s" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "Comprimiendo objetos" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "inconsistencia con la cuenta de delta" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15724,7 +16172,7 @@ msgstr "" "se espseraba ID de objeto al borde, se obtuvo basura:\n" "%s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15733,242 +16181,246 @@ msgstr "" "se esperaba ID de objeto, se obtuvo basuta:\n" "%s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "valor inválido para --missing" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "no se puede abrir Ãndice de paquetes" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "objeto perdido en %s no pudo ser examinado" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "incapaz de forzar un objeto perdido" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "no es una rev '%s'" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "mala revisión '%s'" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "incapaz de añadir objetos recientes" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "versión de Ãndice no soportada %s" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "mala versión del Ãndice '%s'" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "no mostrar medidor de progreso" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "mostrar medidor de progreso" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "mostrar medidor de progreso durante la fase de escritura de objeto" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "similar a --all-progress cuando medidor de progreso es mostrado" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<versión>[,<offset>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "" "escribir el Ãndice de paquete en la versión de formato idx especificado" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "tamaño máximo de cada paquete resultante" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "ignorar objetos prestados de otros almacenes de objetos" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "ignorar objetos paquete" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "limitar ventana de paquete por objetos" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "limitar ventana de paquete por memoria en adición a lÃmite de objetos" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "longitud máxima de cadena delta permitida en el paquete resultante" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "reusar deltas existentes" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "reutilizar objetos existentes" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "usar objetos OFS_DELTA" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "usar hilos cuando se busque para mejores concordancias de delta" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "no crear un paquete resultante vacÃo" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "leer argumentos de revisión de standard input" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "limitar los objetos a aquellos que no han sido empaquetados todavÃa" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "incluir objetos alcanzables por cualquier referencia" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "incluir objetos referidos por entradas de reflog" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "incluir objetos referidos por el Ãndice" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "mostrar paquete en stdout" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "incluir objetos tag que refieren a objetos a ser empaquetados" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "mantener objetos inalcanzables" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "empaquetar objetos sueltos inalcanzables" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "desempaquetar objetos inalcanzables más nuevos que <tiempo>" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "usar el algoritmo sparse reachability" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "crear paquetes delgados" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "crear paquetes adecuados para fetches superficiales" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "ignorar paquetes que tienen un archivo .keep acompañante" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "ignorar este paquete" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "nivel de compresión del paquete" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "no ocultar commits por injertos" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "usar un Ãndice bitmap si está disponible para acelerar la cuenta de objetos" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "escribir un Ãndice de bitmap junto al Ãndice de paquete" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "escribir un Ãndice de bitmap si es posible" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "manejo de objetos perdidos" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "no se puede empaquetar objetos en packfiles promisores" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "respetar islas durante la compresión delta" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "profundidad de cadena de delta %d es muy profunda, forzando %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "pack.deltaCacheLimit es muy grande, forzando %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size no puede ser usado para construir un paquete para " "transferencia" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "tamaño mÃnimo del paquete es 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin no puede ser usado para construir un paquete indexable" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable y --unpack-unreachable son incompatibles" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "no se puede usar--filter sin --stdout" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "Enumerando objetos" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "Total %<PRIu32> (delta %<PRIu32>), reusado %<PRIu32> (delta %<PRIu32>)" @@ -16023,56 +16475,56 @@ msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "" "git pull [<opciones>] [<repositorio> [<especificación-de-referencia>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "control de fetch recursivo en submódulos" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Opciones relacionadas a fusión" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "incorporar cambios por rebase en lugar de fusión" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "permitir fast-forward" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "ejecutar automáticamente stash/stash pop antes y después de rebase" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Opciones relacionadas a fetch" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "forzar sobrescritura de la rama local" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "número de submódulos que realizan pull en paralelo" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valor inválido para pull.ff: %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "No hay candidato para rebasar entre las refs que has bajado con fetch." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "No hay candidatos para fusionar entre las refs que has bajado con fetch." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16081,7 +16533,7 @@ msgstr "" "tiene\n" "concordancia en el final remoto." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16092,44 +16544,44 @@ msgstr "" "una rama. Porque este no es el remoto configurado por default\n" "para tu rama actual, tienes que especificar una rama en la lÃnea de comando." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "No te encuentras actualmente en la rama." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Por favor especifica a qué rama quieres rebasar." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Por favor especifica a qué rama quieres fusionar." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Ver git-pull(1) para detalles." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<remoto>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<rama>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "No hay información de rastreo para la rama actual." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" "Si deseas configurar el rastreo de información para esta rama, puedes " "hacerlo con:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16138,32 +16590,32 @@ msgstr "" "Tu configuración especifica fusionar con la ref '%s'\n" "de tu remoto, pero no se pudo hacer fetch a esa ref." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "no es posible acceder al commit %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "ignorando --verify-signatures para rebase" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "La opción --[no-]autostash sólo es válida con --rebase." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "Actualizando una rama no nata con cambios agregados al Ãndice." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "pull con rebase" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "por favor realiza un commit o un stash con ellos." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16174,7 +16626,7 @@ msgstr "" "realizando fast-forward al árbol de trabajo\n" "desde commit %s." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16191,15 +16643,15 @@ msgstr "" "$ git reset --hard\n" "para recuperar." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "No se puede fusionar múltiples ramas en un head vacÃo." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "No se puede rebasar en múltiples ramas." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "no se puede rebasar con modificaciones de submódulos grabadas localmente" @@ -16292,8 +16744,8 @@ msgid "" "your current branch '%s', without telling me what to push\n" "to update which remote branch." msgstr "" -"Está haciendo un push al remoto '%s', el cual no es el upstream de\n" -"su rama actual '%s', sin decirme qué poner en el push\n" +"Estás haciendo un push al remoto '%s', el cual no es el upstream de\n" +"la rama actual '%s', sin decirme qué poner en el push\n" "para actualizar en qué rama de remoto." #: builtin/push.c:269 @@ -16312,7 +16764,7 @@ msgstr "" "Actualizaciones fueron rechazadas porque la punta de tu rama actual está\n" "detrás de su contraparte remota. Integra los cambios remotos (es decir\n" "'git pull ...') antes de hacer push de nuevo.\n" -"Mira 'Note about fast-forwards' en 'git push --help' para mas detalles." +"Mira 'Note about fast-forwards' en 'git push --help' para más detalles." #: builtin/push.c:282 msgid "" @@ -16352,7 +16804,7 @@ msgid "" "or update a remote ref to make it point at a non-commit object,\n" "without using the '--force' option.\n" msgstr "" -"No puede actualizar un ref remoto que apunta a un objeto no-commit,\n" +"No se puede actualizar un ref remoto que apunta a un objeto no-commit,\n" "o actualizar un ref remoto para hacer que apunte a un objeto no-commit,\n" "sin usar la opción '--force'.\n" @@ -16665,7 +17117,7 @@ msgstr "git rebase--interactive [<opciones>]" msgid "keep empty commits" msgstr "mantener commits vacÃos" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "permitir commits con mensajes vacÃos" @@ -16685,7 +17137,7 @@ msgstr "mover commits que comienzan con squash!/fixup!" msgid "sign commits" msgstr "firmar commits" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "mostrar un diffstat de lo que cambió en upstream" @@ -16793,7 +17245,7 @@ msgstr "cmd" msgid "the command to run" msgstr "el comando para ejecutar" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "reprogramar automaticamente cualquier `exec` que falle" @@ -16801,7 +17253,7 @@ msgstr "reprogramar automaticamente cualquier `exec` que falle" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins no tiene efecto sin --rebase-merges" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s requiere un rebase interactivo" @@ -16831,11 +17283,11 @@ msgstr "No se pudo leer '%s'" msgid "Cannot store %s" msgstr "No se puede guardar %s" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "no se pudo determinar revisión HEAD" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -16846,11 +17298,11 @@ msgstr "" "Resuelva todos los conflictos manualmente ya sea con \n" "\"git add/rm <archivo_conflictivo>\", luego ejecute \"git rebase --continue" "\".\n" -"Si prefiere saltar este parche, ejecute \"git rebase --skip\" .\n" -"Para abortar y regresar al estado previo al \"git rebase\", ejecute \"git " +"Si prefieres saltar este parche, ejecuta \"git rebase --skip\" .\n" +"Para abortar y regresar al estado previo al \"git rebase\", ejecuta \"git " "rebase --abort\"." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -16869,7 +17321,7 @@ msgstr "" "\n" "Como resultado, git no puede hacer rebase con ellos." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -16886,7 +17338,7 @@ msgstr "" " git rebase '<rama>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -16899,127 +17351,127 @@ msgstr "" " git branch --set-upstream-to=%s/<rama> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "comandos exec no pueden contener newlines" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "comando exec vacÃo" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "haciendo rebase hacia rama dada en lugar de upstream" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "permitir ejecutar hook pre-rebase" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "ser silencioso implica --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "no mostrar un diffstat de lo que cambió en upstream" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "agregar una lÃnea \"Firmado-por\" al mensaje de cada commit" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "pasado a 'git am'" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "pasado a 'git-apply'" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "cherry-pick todos los commits, incluso si no han cambiado" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "continuar" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "saltar el parche y continuar" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "aborta y revisa la rama original" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "aborta pero mantiene HEAD donde está" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "editar la lista de pendientes durante el rebase interactivo" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "muestra el archivo parche siendo aplicado o fusionado" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "usar estrategias de fusión para el rebase" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "permitir al usuario editar la lista de commits para rebasar" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(DEPRECADO) intentar recrear merges en lugar de ignorarlos" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "preservar commits vacÃos durante el rebase" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "mover commits que comienzan con squash!/fixup! bajo -i" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "ejecutar automáticamente stash/stash pop antes y después" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "agregar lÃneas exec tras cada acommit de la lista editable" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "permitir rebase commits con mensajes vacÃos" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "intentar fusiones por rebase en lugar de saltarlas" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "use 'merge-base --fork-point' para refinar upstream" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "usar la estrategia de merge dada" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "opción" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "pasar el argumento para la estrategia de fusión" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "hacer rebase a todos los commits alcanzables hasta la raÃz(raÃces)" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17027,30 +17479,30 @@ msgstr "" "el soporte para rebase.useBuiltin ha sido removido!\n" "Vea su entrada en 'git help config' para detalles." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "Parece que 'git am' está en progreso. No se puede rebasar." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "git rebase --preserve-merges está deprecado. Use --rebase-merges en su lugar." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "No hay rebase en progreso?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "La acción --edit-todo sólo puede ser usada al rebasar interactivamente." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "No se puede leer el HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17058,21 +17510,16 @@ msgstr "" "Tienes que editar todos los conflictos de fusión y luego\n" "marcarlos como resueltos usando git add" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "no se pudo descartar los cambios del árbol de trabajo" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "no se puede regresar a %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "no se pudo eliminar'%s'" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17085,180 +17532,184 @@ msgid "" "valuable there.\n" msgstr "" "Parece que ya hay un directorio %s, y\n" -"me pregunto si está en medio de otro rebase. Si ese es el \n" -"caso, por favor intente\n" +"me pregunto si estás en medio de otro rebase. Si ese es el \n" +"caso, por favor intenta\n" "\t%s\n" "Si no es el caso, por favor\n" "\t%s\n" -"y ejecúteme nuevamente. Me estoy deteniendo en caso de que tenga\n" +"y ejecútame nuevamente. Me estoy deteniendo en caso de que tengas\n" "algo de valor ahÃ.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "switch `C' espera un valor numérico" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Modo desconocido: %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy requiere --merge o --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec requiere --exec o --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "no se pueden combinar opciones de am con opciones interactivas o de merge" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "no se puede combinar '--preserve-merges' con '--rebase-merges'" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "error: no se puede combinar '--preserve-merges' con '--reschedule-failed-" "exec'" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "no se puede combinar '--rebase-merges' con '--strategy-option'" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "no se puede combinar '--rebase-merges' con '--strategy'" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "upstream inválido '%s'" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "No se pudo crear commit raÃz nuevo" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "'%s': necesita exactamente una base de fusión" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "No apunta a un commit válido '%s'" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "fatal: no existe la rama/commit: '%s'" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "No existe ref: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "No se pudo resolver HEAD a una revisión" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "No se puede ejecutar autostash" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Respuesta de stash inesperada: '%s'" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "No se pudo crear el directorio para '%s'" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Autostash creado: %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "no se pudo reset --hard" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD está ahora en %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Por favor, confÃrmalos o guárdalos." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "no se puede analizar '%s'" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "no se pudo cambiar a %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD está actualizado." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "La rama actual %s está actualizada.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD está actualizado, rebase forzado." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "Rama actual %s está actualizada, rebase forzado.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "El hook pre-rebase rechazó el rebase." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Cambios a %s:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Cambios desde %s a %s:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "En primer lugar, rebobinando HEAD para después reproducir tus cambios encima " "de ésta...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "No se puede desacoplar HEAD" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Avance rápido de %s a %s.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <git-dir>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17281,17 +17732,17 @@ msgstr "" "arreglar\n" "el árbol de trabajo con HEAD.\n" "\n" -"Puede configurar la variable de configuración 'receive.denyCurrentBranch'\n" +"Puedes configurar la variable de configuración 'receive.denyCurrentBranch'\n" "\"ignore\" o \"warn\" en el repositorio remoto para permitir\n" -"su rama actual; Sin embargo, esto no se recomienda a menos que usted\n" -"se haya organizado para actualizar su árbol de trabajo para que coincida con " +"su rama actual; Sin embargo, esto no se recomienda a menos que tú\n" +"te hayas organizado para actualizar su árbol de trabajo para que coincida con " "lo que\n" -"enviará con el push de otra manera.\n" +"enviarás con el push de otra manera.\n" "\n" "Para suprimir este mensaje y mantener el comportamiento predeterminado,\n" -"configure 'receive.denyCurrentBranch' a 'refuse'." +"configura 'receive.denyCurrentBranch' a 'refuse'." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17310,13 +17761,13 @@ msgstr "" "en el repositorio remoto para permitir borrar la rama actual.\n" "con o sin mensaje de advertencia.\n" "\n" -"Para suprimir este mensaje, puede configurarlo en 'refuse'." +"Para suprimir este mensaje, puedes configurarlo en 'refuse'." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "tranquilo" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Se tiene que especificar un directorio." @@ -17902,115 +18353,115 @@ msgstr "" "Re empaquetados incrementales son incompatibles con Ãndices bitmap. Use \n" "--no-write-bitmap-index o deshabilite la configuración pack.writebitmaps." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "no se puede iniciar pack-objects para reempaquetar objetos promisores" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: Esperando lÃneas de ID de objeto en full hex solo desde pack-objects." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" "no se puede finalizar pack-objects para reempaquetar objetos promisores" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "empaquetar todo en un único paquete" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "lo mismo que -a, y pierde objetos inaccesibles" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "eliminar paquetes redundantes, y ejecutar git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "pasar --no-reuse-delta a git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "pasar --no-reuse-object a git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "no ejecutar git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "pasar --local a git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "escribir un Ãndice de bitmap" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "pasar --delta-islands a git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "aproxime" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "con -A, no perder objetos más antiguos que este" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "con -a, re empaquetar objetos inalcanzables" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "tamaño de la ventana usado para la compresión delta" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "bytes" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" "lo mismo que arriba, pero limita el tamaño de memoria en lugar de contar " "entradas" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "limita la profundidad máxima del delta" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "limita el número máximo de hilos" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "tamaño máximo de cada paquete" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "re-empaquetar objetos en paquetes marcados con .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "no reempaquetar este paquete" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "no se pueden borrar paquetes en un repositorio de objetos-preciosos" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable y -A son incompatibles" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Nada nuevo para empaquetar." -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18029,7 +18480,7 @@ msgstr "" "WARNING: también falló.\n" "WARNING: Por favor renombralos en %s manualmente:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "falló al eliminar'%s'" @@ -18437,24 +18888,24 @@ msgstr "No se puede reiniciar el Ãndice a la revisión '%s'." msgid "Could not write new index file." msgstr "No se puede escribir un nuevo archivo Ãndice." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "no se puede combinar --exclude-promisor-objects y --missing" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "filtrado de objetos requiere --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "valor disperso inválido: '%s'" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list no soporta mostrar notas" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "no se puede combinar --use-bitmap-index con objetos de filtrado" @@ -18527,47 +18978,51 @@ msgstr "resumir secuencia revert o cherry-pick" msgid "cancel revert or cherry-pick sequence" msgstr "cancelar secuencia revert o cherry-pick" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "saltar el commit actual y continuar" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "no realizar commit de forma automática" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "editar el mensaje de commit" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "número-de-padre" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "seleccionar el padre principal" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "estrategia de fusión" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "opción para estrategia de fusión" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "adjuntar el nombre del commit" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "preservar commits iniciales vacÃos" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "mantener commits redundantes, vacÃos" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "falló al revertir" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "cherry-pick falló" @@ -18740,114 +19195,114 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "ignorando %s; no se puede manejar más de %d ref" msgstr[1] "ignorando %s; no se puede manejar más de %d refs" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "no hay refs que concuerden con %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "mostrar ramas locales y de rastreo remoto" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "mostrar ramas de rastreo remoto" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "color '*!+-' correspondiendo a la rama" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "mostrar <n> commits más tras encontrar el ancestro común" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "sinónimo de más=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "suprimir strings de nombre" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "incluir la rama actual" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "nombrar commits con sus nombres de objeto" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "mostrar bases de fusión posibles" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "mostrar refs inalcanzables por ningún otro ref" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "mostrar commits en orden topológico" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "mostrar solo commits que no están en la primera rama" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "mostrar fusiones alcanzables solo por una punta" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "orden topológico, manteniendo el orden de fechas donde sea posible" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<base>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "mostrar <n> entradas más recientes de ref-log comenzando desde la base" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog no es compatible con --all, --remotes, --independent o --merge-base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "no se dieron ramas, y el HEAD no es válido" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "opción --reflog necesita un nombre de rama" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "solo %d entrada puede ser mostrada a la vez." msgstr[1] "solo %d entradas pueden ser mostradas a la vez." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "no existe el ref %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "no se puede manejar más de %d rev." msgstr[1] "no se puede manejar más de %d revs." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "'%s' no es una ref válida." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "no se puede encontrar el commit %s (%s)" @@ -19030,94 +19485,94 @@ msgstr "La entrada de stash se guardó en caso de ser necesario nuevamente." msgid "No branch name specified" msgstr "No se especificó el nombre de la rama" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "No se puede actualizar %s con %s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "mensaje de stash" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" requiere un argumento <commit>" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Sin cambios seleccionados" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Aún no tienes un commit inicial" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "No se puede guardar el estado actual del Ãndice" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "No se pueden guardar los archivos no rastreados" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "No se puede guardar el estado actual del árbol de trabajo" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "No se puede grabar el estado del árbol de trabajo" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "No se puede usar --patch y --include-untracked o --all al mismo tiempo" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" -msgstr "Olvidó 'git add'?" +msgstr "Olvidaste 'git add'?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "No hay cambios locales para guardar" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "No se puede inicializar stash" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "No se puede guardar el estado actual" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Directorio de trabajo guardado y estado de Ãndice %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "No se pueden eliminar cambios del árbol de trabajo" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "mantener index" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "stash en modo patch" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "modo tranquilo" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "incluir archivos sin seguimiento en stash" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "incluir archivos ignorados" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "no se pudo ejecutar %s" @@ -19139,7 +19594,7 @@ msgstr "" msgid "prepend comment character and space to each line" msgstr "anteponer carácter de comentario y espacio a cada lÃnea" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Se esperaba un nombre de ref completo, se obtuvo %s" @@ -19153,7 +19608,7 @@ msgstr "subomdule--helper print-default-remote no toma argumentos" msgid "cannot strip one component off url '%s'" msgstr "no se puede quitar un componente del url '%s'" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "ancho alternativo para rutas relativas" @@ -19161,8 +19616,8 @@ msgstr "ancho alternativo para rutas relativas" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<ruta>] [<ruta>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "No se encontró url para la ruta del submódulo '%s' en .gitmodules" @@ -19181,7 +19636,7 @@ msgstr "" "run_command devolvió estado no-cero para %s\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19192,19 +19647,19 @@ msgstr "" "anidados de %s\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Suprime la salida al inicializar cada comando de submódulo" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Recursar en submódulos anidados" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <comando>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19213,57 +19668,57 @@ msgstr "" "no se pudo encontrar configuración '%s'. Asumiendo que este repositorio es " "su propio upstream autoritativo." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Falló al registrar el url para la ruta del submódulo '%s'" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Submódulo '%s' (%s) registrado para ruta '%s'\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "" "peligro: modo de actualización de comandos sugerido para el submódulo '%s'\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" "Error al registrar el modo de actualización para la ruta del submódulo '%s'" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Suprime la salida para inicializar un submódulo" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<opciones>] [<path>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" "no se ha encontrado mapeo de submódulos en .gitmodules para la ruta '%s'" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "no pudo resolver ref de HEAD dentro del submódulo '%s'" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "falló al recursar en el submódulo '%s'" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Suprimir output del estado del submódulo" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" @@ -19271,56 +19726,56 @@ msgstr "" "Usar el commit guardado en el Ãndice en lugar del guardado en el submódulo " "HEAD" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "recursar en submódulos anidados" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<ruta>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <ruta>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Sincronizando url del submódulo para '%s'\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "falló al registrar el url para la ruta del submódulo '%s'" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "error al conseguir el remoto por defecto para el submódulo '%s'" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "error al actualizar el remoto para el submódulo '%s'" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Suprime la salida del url del submódulo que se sincroniza" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<ruta>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " "really want to remove it including all of its history)" msgstr "" "El árbol de trabajo del submódulo '%s' contiene un directorio .git (use 'rm -" -"rf' si realmente quiere eliminarlo incluyendo todo en su historia)" +"rf' si realmente quieres eliminarlo incluyendo todo en su historia)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19329,81 +19784,81 @@ msgstr "" "El árbol de trabajo del submódulo '%s' contiene modificaciones locales; usa " "'-f' para descartarlas" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Directorio '%s' limpiado\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "No se pudo eliminar el árbol de trabajo del submódulo '%s'\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "no se pudo crear directorio vacÃo de submódulo %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "Submódulo '%s' (%s) no registrado para ruta '%s'\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" -"Remover arboles de trabajo de submódulos incluso si contienen cambios locales" +"Remover árboles de trabajo de submódulos incluso si contienen cambios locales" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "Quitar todos los submódulos" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<ruta>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "Usa '--all' si realmente quieres des-inicializar todos los submódulos" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "submódulo '%s' no puede agregar alterno: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "Valor '%s' para submodule.alternateErrorStrategy no es reconocido" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Valor '%s' para submodule.alternateLocation no es reconocido" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "a donde el nuevo submódulo será clonado" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "nombre del nuevo submódulo" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "url de dónde clonar el submódulo" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "profundidad para clones superficiales" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "forzar el proceso de clonado" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19412,112 +19867,112 @@ msgstr "" "<repositorio>] [--name <nombre>] [--depth <profundidad>] --url <url> --path " "<ruta>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "clon de '%s' en la ruta de submódulo '%s' falló" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "no se pudo obtener el directorio de submódulo para '%s'" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" -msgstr "Modo de actualización inválido '%s' para ruta de submodulo '%s'" +msgstr "Modo de actualización inválido '%s' para ruta de submódulo '%s'" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" -"Modo de actualización inválido '%s' configurado para ruta de submodulo '%s'" +"Modo de actualización inválido '%s' configurado para ruta de submódulo '%s'" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "Ruta de submódulo '%s' no inicializada" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" -msgstr "Tal vez quiere usar 'update --init'?" +msgstr "Tal vez quieres usar 'update --init'?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "Saltando submódulo %s no fusionado" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "Saltando submódulo '%s'" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Falló al clonar '%s'. Reintento programado" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Falló al clonar '%s' una segunda vez, abortando" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "ruta hacia el árbol de trabajo" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "" "ruta hacia el árbol de trabajo, a través de extremos de submódulos anidados" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "rebase, merge, checkout o none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "Crea un clon superficial truncado al número especificado de revisión" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "trabajos paralelos" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "si el clon inicial debe seguir la recomendación superficial" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "no mostrar el progreso de clonado" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<ruta>] [<ruta>...]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "mal valor para parámetro update" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " "the superproject is not on any branch" msgstr "" -"Rama de submódulo (%s) configurada para heredar rama del superproyecto, " -"pero el superproyecto no está en ninguna rama" +"Rama de submódulo (%s) configurada para heredar rama del superproyecto, pero " +"el superproyecto no está en ninguna rama" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "no se pudo conseguir un handle para el submódulo '%s'" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "recurrir a submódulos" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [<opciones>] [<path>...]" @@ -19527,7 +19982,7 @@ msgstr "revisar is es seguro escribir el archivo .gitmodules" #: builtin/submodule--helper.c:2159 msgid "unset the config in the .gitmodules file" -msgstr "desconfigura la opcion en elarchivo .gitmodules" +msgstr "desconfigura la opción en elarchivo .gitmodules" #: builtin/submodule--helper.c:2164 msgid "git submodule--helper config <name> [<value>]" @@ -19547,7 +20002,7 @@ msgid "please make sure that the .gitmodules file is in the working tree" msgstr "" "por favor asegúrate que el archivo .gitmodules está en el árbol de trabajo" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s no soporta --super-prefix" @@ -19555,7 +20010,7 @@ msgstr "%s no soporta --super-prefix" #: builtin/submodule--helper.c:2241 #, c-format msgid "'%s' is not a valid submodule--helper subcommand" -msgstr "'%s' no es un comando submodule--helper valido" +msgstr "'%s' no es un comando submodule--helper válido" #: builtin/symbolic-ref.c:8 msgid "git symbolic-ref [<options>] <name> [<ref>]" @@ -19611,17 +20066,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<formato>] <nombre-de-tag>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "tag '%s' no encontrado." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Etiqueta '%s' eliminada (era %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -19634,7 +20089,7 @@ msgstr "" " %s\n" "Las lÃneas que comienzan con '%c' serán ignoradas.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -19649,15 +20104,15 @@ msgstr "" "Las lÃneas que comienzan con '%c' serán conservadas; puedes eliminarlas por " "ti mismo si quieres hacerlo.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "incapaz de firmar tag" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "incapaz de escribir el archivo de tag" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -19670,138 +20125,138 @@ msgstr "" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "tipo de objeto erróneo." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "¿Sin mensaje de tag?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "El mensaje del tag ha sido dejado en %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "listar nombres de tags" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "imprimir <n> lÃneas de cada mensaje de tag" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "eliminar tags" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "verificar tags" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Opciones de creación de tags" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "tags anotadas necesitan un mensaje" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "mensaje de tag" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "forzar la edición del mensaje de tag" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "tag anotado y firmado con GPG" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "usar otra clave para firmar el tag" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "remplazar tag si existe" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "crear un reflog" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Opciones de listado de tag" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "mostrar lista de tags en columnas" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "mostrar solo tags que contienen el commit" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "mostrar solo tags que no contienen el commit" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "sólo imprimir las tags que están fusionadas" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "sólo imprimir las tags que no están fusionadas" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "sólo imprimir tags de el objeto" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column y -n son incompatibles" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "opción -n solo es permitida en modo lista" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "opción --contains solo es permitido en modo lista" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "opción --no-contains solo es permitida en modo lista" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "opción --points-at solo es permitida en modo lista" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "opciones --merged y --no-merged solo están permitidas en modo lista" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "sólo se permite una de las opciones, -m ó -F." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "demasiados parámetros" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' no es un nombre de tag válido." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "el tag '%s' ya existe" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Etiqueta '%s' actualizada (era %s)\n" @@ -19940,7 +20395,7 @@ msgstr "" #: builtin/update-index.c:1021 msgid "with --stdin: input lines are terminated by null bytes" -msgstr "con --stdin: las lineas de entrada son terminadas con bytes nulos" +msgstr "con --stdin: las lÃneas de entrada son terminadas con bytes nulos" #: builtin/update-index.c:1023 msgid "read list of paths to be updated from standard input" @@ -20126,15 +20581,15 @@ msgstr "no intente <directorio>/.git/ si <directorio> no es un directorio Git" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "interrumpir transferencia tras <n> segundos de inactividad" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <commit>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "imprimir contenido del commit" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "muestra la salida de status gpg en formato raw" @@ -20150,11 +20605,11 @@ msgstr "verboso" msgid "show statistics only" msgstr "solo mostrar estadÃsticas" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=<formato>] <tag>..." -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "imprimir contenido del tag" @@ -20186,7 +20641,7 @@ msgstr "git worktree remove [<opciones>] <worktree>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <ruta>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "falló al borrar '%s'" @@ -20263,124 +20718,124 @@ msgstr "" "'%s' es un árbol de trabajo faltante pero ya registrado;\n" "usa 'add -f' para sobreescribir, o 'prune' o 'remove' para limpiar" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "no se pudo crear directorio de '%s'" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "Preparando árbol de trabajo (nueva rama '%s')" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "Preparando árbol de trabajo (reiniciando rama '%s'; estaba en %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "Preparando árbol de trabajo (haciendo checkout a '%s')" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "Preparando árbol de trabajo (HEAD desacoplado %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "hacer checkout a <rama> incluso si ya ha hecho checkout en otro árbol de " "trabajo" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "crear una nueva rama" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "crear o restablecer una rama" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "popular el nuevo árbol de trabajo" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "mantener el nuevo árbol de trabajo bloqueado" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "configurando modo tracking (mirar git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "" "intentar emparejar el nuevo nombre de rama con una rama de rastreo remoto" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B, y --detach son mutuamente exclusivas" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "--[no-]track solo puede ser usado si una nueva rama es creada" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "razón para bloquear" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "'%s' no es un árbol de trabajo" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "El árbol de trabajo principal no puede ser bloqueado ni desbloqueado" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "'%s' ya está bloqueado; razón: %s" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "'%s' ya está bloqueado" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "'%s' no está bloqueado" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" "árboles de trabajo conteniendo submódulos no puede ser movidos o eliminado" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "forzar move incluso si el árbol de trabajo está sucio o bloqueado" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "'%s' es un árbol de trabajo principal" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "no se pudo descubrir el nombre de destino de '%s'" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "el objetivo '%s' ya existe" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20389,7 +20844,7 @@ msgstr "" "no se puede mover un árbol de trabajo bloqueado, motivo del bloqueo: %s\n" "use 'move -f -f' para sobreescribir o desbloquear primero" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20397,36 +20852,36 @@ msgstr "" "no se puede mover un árbol de trabajo bloqueado;\n" "use 'move -f -f' para sobreescribir o desbloquear primero" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "falló validación, no se puede mover el árbol de trabajo: %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "falló al mover '%s' a '%s'" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "falló al ejecutar 'git status' en '%s'" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "'%s' está sucio, use --force para borrarlo" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "no se pudo ejecutar 'git status' en '%s', código %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "forzar remoción incluso si el árbol de trabajo está sucio o bloqueado" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20435,7 +20890,7 @@ msgstr "" "no se pueden eliminar árbol de trabajo bloqueado, razón del bloqueo: %s\n" "use 'remove -f -f' para sobreescribir o desbloquear primero" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20443,7 +20898,7 @@ msgstr "" "no se pueden eliminar árbol de trabajo bloqueado;\n" "use 'remove -f -f' para sobreescribir o desbloquear primero" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "falló validación, no se puede eliminar árbol de trabajo: %s" @@ -20472,8 +20927,8 @@ msgid "" "\n" "\tchmod 0700 %s" msgstr "" -"Los permisos en su directorio de socket son demasiado flojos; otros\n" -"usuarios pueden leer sus credenciales almacenadas en caché. Considere " +"Los permisos en tu directorio de socket son demasiado flojos; otros\n" +"usuarios pueden leer sus credenciales almacenadas en caché. Considera " "ejecutar:\n" "\n" "\tchmod 0700 %s" @@ -20519,53 +20974,55 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "'git help -a' y 'git help -g' listan los subcomandos disponibles y algunas\n" "guÃas de concepto. Consulte 'git help <command>' o 'git help <concepto>'\n" -"para leer sobre un subcomando o concepto especÃfico." +"para leer sobre un subcomando o concepto especÃfico.\n" +"Mira 'git help git' para una vista general del sistema." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "no se entregó directorio para --git-dir\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "no se entregó namespace para --namespace\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "no se entregó directorio para --work-tree\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "no se entregó prefijo para --super-prefix\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c espera un string de configuración\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "no se entregó directorio para -C\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "opción %s desconocida\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "al expandir el alias '%s':'%s'" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20574,39 +21031,39 @@ msgstr "" "alias '%s' cambia las variables de entorno.\n" "Puedes usar '!git' en el alias para hacer esto" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "alias vacÃo para %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "alias recursivo: %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "error de escritura en standard output" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "error desconocido de escritura en standard output" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "cierre falló en standard output" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "bucle de alias detectado: expansión de '%s' no termina: %s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "no se puede manejar %s como un builtin" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -20617,12 +21074,12 @@ msgstr "" "\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "expansión del alias '%s' falló; '%s' no es un comando de git\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "falló al ejecutar comando '%s': %s\n" @@ -20804,19 +21261,19 @@ msgstr "fecha de expiración" msgid "no-op (backward compatibility)" msgstr "no-op (compatibilidad con versiones anteriores)" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" -msgstr "ser mas verboso" +msgstr "ser más verboso" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" -msgstr "ser mas discreto" +msgstr "ser más discreto" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "usa <n> dÃgitos para mostrar SHA-1s" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "cómo quitar espacios y #comentarios de mensajes" @@ -20834,6 +21291,14 @@ msgstr "" "actualizar el Ãndice con la resolución de conflictos reutilizada si es " "posible" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "HEAD desacoplada en " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "HEAD desacoplada de " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Agrega contenido de carpetas al Ãndice" @@ -21127,7 +21592,7 @@ msgstr "Programa divisor de mbox simple de UNIX" #: command-list.h:121 msgid "Join two or more development histories together" -msgstr "Junta dos o mas historiales de desarrollo juntos" +msgstr "Junta dos o más historiales de desarrollo juntos" #: command-list.h:122 msgid "Find as good common ancestors as possible for a merge" @@ -21270,219 +21735,227 @@ msgid "Reset current HEAD to the specified state" msgstr "Reinicia el HEAD actual a un estado especifico" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "Restaurar archivos de árboles de trabajo" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "Revierte algunos commits existentes" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Lista objetos commit en orden cronológico inverso" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Seleccionar y masajear los parámetros" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Borra archivos del árbol de trabajo y del Ãndice" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "EnvÃa una colección de parches como e-mails" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "Empujar objetos por protocolo Git a otro repositorio" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "Shell de inicio de sesión restringido para acceso SSH exclusivo de Git" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Resumir la salida 'git log'" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Muestra varios tipos de objetos" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Mostrar ramas y sus commits" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "Mostrar el Ãndice de archivo empaquetado" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Listar referencias en el repositorio local" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "El código de configuración i18n de Git para scripts de shell" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "Código de configuración de script de shell común de Git" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "" "Poner en un stash los cambios en un directorio de trabajo sucio de todas " "maneras" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "Agrega contenidos de un archivo al área de staging" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Muestra el estado del árbol de trabajo" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Eliminar el espacio en blanco innecesario" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Inicializa, actualiza o inspecciona submódulos" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Operación bidireccional entre un repositorio Subversion y Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Cambiar branches" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Lee, modifica y borra referencias simbólicas" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "Crea, lista, borra o verifica un tag de objeto firmado con GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "Crea un archivo temporal con contenidos de un blob" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Desempaqueta objetos de un archivo empaquetado" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Registra contenidos de archivos en el árbol de trabajo al Ãndice" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "" "Actualiza el nombre del objeto almacenado en una referencia de forma segura" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "" "Actualiza el archivo de información auxiliar para ayudar a los servidores " "dumb" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Enviar archivo a git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Enviar objetos empaquetados a git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Mostrar una variable lógica de Git" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Verificar firma GPG de commits" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Valida archivos Git empaquetados" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Verifica la firma GPG de etiquetas" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Interfaz web Git (interfaz web para repositorios Git)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Muestra logs con las diferencias que cada commit introduce" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Gestiona múltiples árboles de trabajo" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Crea un objeto árbol del Ãndice actual" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Definiendo atributos por ruta" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Interfaz y convenciones de lÃnea de comandos de Git" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Un tutorial básico de Git para desarrolladores" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git para usuarios CVS" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "Afinar la salida de diff" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Un conjunto mÃnimo útil de comandos diarios de Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Un Glosario de Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Hooks utilizados por Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Especifica de forma intencional archivos sin seguimiento a ignorar" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Definiendo las propiedades del submódulo" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Namespaces de Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Disposición del repositorio Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Especificando revisiones y rangos para Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Un tutorial de introducción a Git: parte dos" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Un tutorial de introducción para Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Una visión general de flujos de trabajo recomendados con Git" @@ -21574,7 +22047,7 @@ msgid "" "Error: Your local changes to the following files would be overwritten by " "merge" msgstr "" -"Error: Sus cambios locales de los siguientes archivos serán sobrescritos por " +"Error: Tus cambios locales de los siguientes archivos serán sobrescritos por " "la fusión" #: git-merge-octopus.sh:61 @@ -21757,9 +22230,9 @@ msgid "" msgstr "" "Si quiere reusar este directorio git local en lugar de clonar nuevamente de\n" " $realrepo\n" -"use la opción '--force'. Si el directorio git local no es el repositorio " +"usa la opción '--force'. Si el directorio git local no es el repositorio " "correcto\n" -"o no está seguro de lo que esto significa, escoja otro nombre con la opción " +"o no estás seguro de lo que esto significa, escoge otro nombre con la opción " "'--name'." #: git-submodule.sh:286 @@ -21900,12 +22373,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "Véase git-${cmd}(1) para más detalles." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Autostash aplicado." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "No se puede almacenar $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Rebasando ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -21945,7 +22427,7 @@ msgstr "" "Estas lÃneas pueden ser reordenadas; son ejecutadas desde arriba hacia " "abajo.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -21956,91 +22438,91 @@ msgid "" "\n" "\tgit rebase --continue" msgstr "" -"Puede enmendar el commit ahora, con\n" +"Puedes enmendar el commit ahora, con\n" "\n" "\tgit commit --amend $gpg_sign_opt_quoted\n" "\n" -"Una vez que esté satisfecho con los cambios, ejecute\n" +"Una vez que estés satisfecho con los cambios, ejecuta\n" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: no es un commit que pueda ser cogido" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Nombre de commit inválido: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "No se puede escribir el remplazo sha1 del commit actual" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Avance rápido a $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "No se puede realizar avance rápido a $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "No se puede mover HEAD a $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "Rehusando a ejecutar squash en fusión: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Error rehaciendo fusión $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "No se pudo coger $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Este es el mensaje del commit #${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "El mensaje del commit #${n} será ignorado:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Esta es una combinación de $count commit." msgstr[1] "Esta es la combinación de $count commits." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "No se puede escribir $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Esto es una combinación de 2 commits." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "No se puede aplicar $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22053,35 +22535,35 @@ msgstr "" "$rest\n" "Esto es probablemente debido a un mensaje de commit vacÃo, o el hook pre-" "commit\n" -"ha fallado. Si el hook pre-commit falló, es posible que deba resolver el " +"ha fallado. Si el hook pre-commit falló, es posible que debas resolver el " "problema antes\n" "de que sea capaz de reformular el commit." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Detenido en $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "No se puede '$squash_style' sin un commit previo" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Ejecutando: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "Ejecución fallida: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "y hizo cambios al Ãndice y/o al árbol de trabajo" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -22092,7 +22574,7 @@ msgstr "" "\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22103,29 +22585,29 @@ msgid "" msgstr "" "La ejecución tuvo éxito: $rest\n" "Pero dejó cambios en el Ãndice y/o en el árbol de trabajo\n" -"Realice un commit o stash con los cambios y, a continuación, ejecute\n" +"Realiza un commit o stash con los cambios y, a continuación, ejecuta\n" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Comando desconocido: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Por favor, corrige esto usando 'git rebase --edit-todo'." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "$head_name rebasado y actualizado satisfactoriamente." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "No se pudo eliminar CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22142,26 +22624,26 @@ msgid "" "\n" " git rebase --continue\n" msgstr "" -"Tiene cambios en el área de stage de su árbol de trabajo.\n" +"Tienes cambios en el área de stage de tu árbol de trabajo.\n" "Si estos cambios están destinados a \n" -"ser aplastados en el commit previo, ejecute:\n" +"ser aplastados en el commit previo, ejecuta:\n" "\n" " git commit --amend $gpg_sign_opt_quoted\n" "\n" -"Si estos están destinados a ir en un nuevo commit, ejecute:\n" +"Si estos están destinados a ir en un nuevo commit, ejecuta:\n" "\n" " git commit $gpg_sign_opt_quoted\n" "\n" -"En ambos casos, cuando termine, continue con:\n" +"En ambos casos, cuando termines, continue con:\n" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "" "Error tratando de encontrar la identidad del autor para remediar el commit" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -22169,40 +22651,40 @@ msgstr "" "Tienes cambios sin confirmar en tu árbol de trabajo. Por favor, confÃrmalos\n" "primero y entonces ejecuta 'git rebase --continue' de nuevo." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "No se pudo realizar el commit con los cambios en el área de stage." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "No se pudo ejecutar el editor" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "No se pudo actualizar el árbol de trabajo a $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "¿Sin HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "No se pudo crear $state_dir temporalmente" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "No se pudo marcar como interactivo" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Rebase $shortrevisions en $shortonto ($todocount comando)" msgstr[1] "Rebase $shortrevisions en $shortonto ($todocount comandos)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "No se puede inicializar los commits reescritos" @@ -22276,81 +22758,81 @@ msgid "Unable to determine absolute path of git directory" msgstr "Incapaz de determinar la ruta absoluta del directorio git" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "rastreado" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "no rastreado" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "binario" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "nada" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "sin cambios" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "agregada %d ruta\n" msgstr[1] "agregadas %d rutas\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "actualizada %d ruta\n" msgstr[1] "actualizadas %d rutas\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "revertida %d ruta\n" msgstr[1] "revertidas %d rutas\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "touch hecho a %d ruta\n" msgstr[1] "touch hecho a %d rutas\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Actualizar" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Revertir" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "nota: %s no es rastreado ahora.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "Agregar no rastreados" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "No hay archivos sin rastrear.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -22358,7 +22840,7 @@ msgstr "" "Si el parche aplica limpiamente, el hunk editado sera marcado\n" "inmediatamente para el área de stage." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -22366,7 +22848,7 @@ msgstr "" "Si el parche aplica limpiamente, el hunk editado sera marcado\n" "inmediatamente para aplicar stash." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -22374,7 +22856,8 @@ msgstr "" "Si el parche aplica limpiamente, el hunk editado sera marcado\n" "inmediatamente para sacar del área de stage." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -22382,7 +22865,8 @@ msgstr "" "Si el parche aplica de forma limpia, el hunk editado sera marcado \n" "inmediatamente para aplicar." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -22390,16 +22874,16 @@ msgstr "" "Si el parche aplica de forma limpia, el hunk editado sera marcado\n" "inmediatamente para descarte." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "falló al abrir el archivo de adición del hunk para escritura: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "Modo de edición manual de hunk -- vea abajo para una guÃa rápida.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22413,17 +22897,17 @@ msgstr "" "Lineas comenzando con %s serán removidas.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" "aborted and the hunk is left unchanged.\n" msgstr "" -"Si esto no aplica de manera limpia, se le da la oportunidad de \n" +"Si esto no aplica de manera limpia, se te da la oportunidad de \n" "editar nuevamente. Si todas las lÃneas del hunk son removidas, entonces \n" "la edición es abortada y el hunk queda sin cambios.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "falló al abrir el archivo de edición del hunk para lectura: %s" @@ -22434,13 +22918,13 @@ msgstr "falló al abrir el archivo de edición del hunk para lectura: %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" "Tu hunk editado no aplica. Editar nuevamente (decir \"no\" descarta!) [y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22455,7 +22939,7 @@ msgstr "" "d - no aplicar stage a este hunk o a ninguno de los posteriores en este " "archivo" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22469,7 +22953,7 @@ msgstr "" "a - aplicar stash a este hunk y a todos los posteriores en el archivo\n" "d - no aplicar stash a este hunk o ninguno de los posteriores en el archivo" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22484,7 +22968,7 @@ msgstr "" "d - no sacar del area de stage este hunk o ninguno de los posteriores en el " "archivo" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22498,7 +22982,7 @@ msgstr "" "a - aplicar este hunk y todos los posteriores en el archivo\n" "d - no aplicar este hunko ninguno de los posteriores en el archivo" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22512,7 +22996,7 @@ msgstr "" "a - descartar este hunk y todos los posteriores en este archivo\n" "d - no descartar este hunk o ninguno de los posteriores en el archivo" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22526,7 +23010,7 @@ msgstr "" "a - descartar este hunk y todos los posteriores en este archivo\n" "d - no descartar este hunk o ninguno posterior en el archivo" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22540,7 +23024,21 @@ msgstr "" "a - aplicar este hunk y todos los posteriores en el archivo\n" "d - no aplicar este hunk o ninguno de los siguientes en este archivo" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - aplicar este hunk al Ãndice y al árbol de trabajo\n" +"n - no aplicar este hunk al Ãndice y al árbol de trabajo\n" +"q - quit; no aplicar este hunk o ninguno de los restantes\n" +"a - aplicar este hunk y todos los posteriores en el archivo\n" +"d - no aplicar este hunk o ninguno de los siguientes en este archivo" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22558,217 +23056,232 @@ msgstr "" "J - dejar este hunk por definir, ver siguiente hunk\n" "k - dejar este hunk por definir, ver hunk previo por definir\n" "K - dejar este hunk por definir, ver hunk previo\n" -"s - dividir el hunk actual en hunks mas pequeños\n" +"s - dividir el hunk actual en hunks más pequeños\n" "e - editar manualmente el hunk actual\n" "? - imprimir ayuda\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "Los hunks seleccionados no aplican al Ãndice!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Aplicarlos al árbol de trabajo de todas maneras? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Nada fue aplicado.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "ignorando lo no fusionado: %s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Solo cambiaron archivos binarios.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Sin cambios.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Actualización del parche" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Cambio de modo de stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Aplicar stage al borrado [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "Aplicar stage a este hunk [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Aplicar stash al cambio de modo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Aplicar stash al borrado [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Aplicar stash a este hunk [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Sacar cambio de modo del stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Sacar borrado del stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Sacar este hunk del stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Aplicar cambio de modo al Ãndice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Aplicar borrado al Ãndice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Aplicar este hunk al Ãndice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Descartar cambio de modo del árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Descartar borrado del árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Descartar este hunk del árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Descartar cambio de modo del Ãndice y el árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "Descartar borrado del Ãndice y el árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "Descartar este hunk del Ãndice y el árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Aplicar cambio de modo para el Ãndice y el árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "Aplicar borrado al Ãndice y al árbol de trabajo [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "Aplicar este hunk al Ãndice y árbol de trabajo [y,n,q,a,d,/%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "Aplicar cambio de modo para el árbol de trabajo [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Aplicar borrado al árbol de trabajo [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Aplicar este hunk al árbol de trabajo [y,n,q,a,d,/%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "No hay más pedazos para el ir\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " -msgstr "a que hunk ir (<enter> para ver mas)? " +msgstr "a que hunk ir (<enter> para ver más)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "a que hunk ir? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Numero inválido: '%s'\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Lo siento, solo %d hunk disponible.\n" msgstr[1] "Lo siento, solo %d hunks disponibles.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "No hay más pedazos para buscar\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "buscar para regexp? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Regexp para la búsqueda mal formado %s: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "No hay hunks que concuerden con el patrón entregado.\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "No el anterior hunk\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "No el siguiente hunk\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "Perdón, no se puede dividir este pedazo\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "Cortar en %d hunk.\n" msgstr[1] "Cortar en %d hunks.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "Perdón, no se puede editar este pedazo\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Revisión de diff" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -22788,18 +23301,19 @@ msgstr "" "add untracked - agrega contenidos de archivos no rastreados al grupo de " "cambios del area de stage\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "falta --" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "modo --patch desconocido: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "argumento inválido %s, se esperaba --" @@ -22812,31 +23326,31 @@ msgstr "la zona local difiere de GMT por un intervalo de cero minutos\n" msgid "local time offset greater than or equal to 24 hours\n" msgstr "el offset del tiempo local es mayor o igual a 24 horas\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "el editor se cerro inapropiadamente, abortando todo" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" "'%s' contiene una versión intermedia del correo que se estaba generando.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "'%s.final' contiene el email generado.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases no es compatible con otras opciones.\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "No se puede ejecutar git format-patch desde fuera del repositorio.\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -22844,37 +23358,37 @@ msgstr "" "`batch-size` y `relogin` deben ser especificados juntos (via la lÃnea de " "comando o por opción de configuración)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Campo --suppress-cc desconocido: '%s'\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Configuración --confirm desconocida: '%s'\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "peligro: alias de sendmail con comillas no es soportado: %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "peligro: `:include:` no soportado: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "advertencia: redirección `/file` o `|pipe` no soportada : %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "advertencia: lÃnea sendmail no reconocida: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -22889,12 +23403,12 @@ msgstr "" " * Diciendo \"./%s\" si se quiere decir un archivo; o\n" " * Agregando la opción --format-patch si se quiere decir un rango.\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Falló al abrir directorio %s: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -22903,7 +23417,7 @@ msgstr "" "fatal: %s: %s\n" "peligro: no se mandaron parches\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -22913,17 +23427,17 @@ msgstr "" "No se especificaron parches!\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "No hay lÃnea de subject en %s?" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Falló al abrir para escritura %s: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -22933,31 +23447,31 @@ msgid "" msgstr "" "Lineas que comienzan en \"GIT:\" serán removidas.\n" "Considere incluir un diffstat global o una tabla de contenidos\n" -"para el parche que está escribiendo.\n" +"para el parche que estás escribiendo.\n" "\n" -"Limpiar el contenido de body si usted no desea mandar un resumen.\n" +"Limpiar el contenido de body si no deseas mandar un resumen.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "Falló al abrir %s: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Falló al abrir %s.final: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "Archivo de resumen está vacÃo, saltando al siguiente\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " -msgstr "Esta seguro de que desea usar <%s> [y/N]? " +msgstr "Estás seguro de que deseas usar <%s> [y/N]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" @@ -22965,11 +23479,11 @@ msgstr "" "Los siguientes archivos son 8bit, pero no declaran un Content-Transfer-" "Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Que codificación de 8bit deberÃa declarar [UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -22982,39 +23496,39 @@ msgstr "" "tiene el template '*** SUBJECT HERE ***'. Agrega --force si realmente lo " "deseas mandar.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "A quien se deben mandar los correos (si existe)?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "fatal: alias '%s' se expande a si mismo\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" "Qué id de mensaje será usado como En-Respuesta-Para en el primer email (si " "existe alguno)? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" -msgstr "error: no es posible extraer una dirección valida de %s\n" +msgstr "error: no es posible extraer una dirección válida de %s\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Que hacer con esta dirección? ([q]salir|[d]botar|[e]ditar): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "Ruta CA \"%s\" no existe" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23034,7 +23548,7 @@ msgstr "" " Este comportamiento is controlado por el valor de configuración " "sendemail.confirm.\n" "\n" -" Para mas información, ejecuta 'git send-email --help'.\n" +" Para más información, ejecuta 'git send-email --help'.\n" " Para mantener el comportamiento actual, pero evitar este mensaje,\n" " ejecuta 'git config --global sendemail.confirm auto'.\n" "\n" @@ -23042,134 +23556,194 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "Mandar este email? ([y]si||[n]o|[e]editar|[q]salir|[a]todo): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Necesitas mandar esta respuesta de email" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "El servidor SMTP no esta definido adecuadamente." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "El servidor no soporta STARTTLS! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "Falló STARTTLS! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "No es posible inicializar SMTP adecuadamente. Verificar config y usar ---" "smtp-debug." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "Falló al enviar %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Dry-Sent %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "Enviado %s\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Dry-OK. Log dice:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK. Log dice:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Resultado: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Resultado: OK\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "no se puede abrir el archivo %s" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Agregando cc: %s de lÃnea '%s'\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Agregando para: %s de la lÃnea '%s'\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) Agregando cc: %s de la lÃnea '%s'\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(body) Agregando cc: %s de la lÃnea '%s'\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) no se pudo ejecutar '%s'" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Agregando %s: %s de: '%s'\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) falló al cerrar el pipe para '%s'" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "no se puede mandar mensaje como 7bit" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "codificación de transferencia inválida" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "no es posible abrir %s: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" -msgstr "%s: el parche contiene una lÃnea con mas de 998 caracteres" +msgstr "%s: el parche contiene una lÃnea con más de 998 caracteres" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "Saltando %s con el sufijo de backup '%s'.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Realmente deseas mandar %s?[y|N]: " +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "El servidor soporta ulti_ack_detailed" + +#~ msgid "Server supports no-done" +#~ msgstr "El servidor soporta no-done" + +#~ msgid "Server supports multi_ack" +#~ msgstr "El servidor soporta multi_ack" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "El servidor soporta side-band-64k" + +#~ msgid "Server supports side-band" +#~ msgstr "El servidor soporta side-band" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "El servidor soporta allow-tip-sha1-in-want" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "El servidor soporta allow-reachable-sha1-in-want" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "El servidor soporta ofs-delta" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD desacoplado en %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD desacoplado de %s)" + +#~ msgid "Checking out files" +#~ msgstr "Revisando archivos" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "no se puede ser interactivo sin stdin conectado a un terminal." + +#~ msgid "failed to open '%s'" +#~ msgstr "falló al abrir '%s'" + +#~ msgid "failed to stat %s\n" +#~ msgstr "falló al analizar %s\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Si quiere saltar este commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Luego \"git cherry-pick --continue\" continuara el cherry-picking\n" +#~ "para los commits restantes.\n" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "verbo no reconocido: %s" + #~ msgid "hash version %X does not match version %X" #~ msgstr "versión de hash %X no concuerda con versión %X" @@ -23341,12 +23915,6 @@ msgstr "Realmente deseas mandar %s?[y|N]: " #~ msgid "cannot remove a locked working tree" #~ msgstr "no se puede eliminar árbol de trabajo encerrado" -#~ msgid "Applied autostash." -#~ msgstr "Autostash aplicado." - -#~ msgid "Cannot store $stash_sha1" -#~ msgstr "No se puede almacenar $stash_sha1" - #~ msgid "" #~ "\n" #~ "\tHowever, if you remove everything, the rebase will be aborted.\n" @@ -75,8 +75,8 @@ msgid "" msgstr "" "Project-Id-Version: git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-02-15 10:09+0800\n" -"PO-Revision-Date: 2019-06-05 11:20+0200\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" +"PO-Revision-Date: 2019-08-10 18:17+0200\n" "Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n" "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n" "Language: fr\n" @@ -84,38 +84,39 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n" +"X-Generator: Poedit 2.2.3\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sastuce: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "Impossible de picorer car vous avez des fichiers non fusionnés." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "Impossible de valider car vous avez des fichiers non fusionnés." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "Impossible de tirer car vous avez des fichiers non fusionnés." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "%s n'est pas possible car vous avez des fichiers non fusionnés." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -123,52 +124,65 @@ msgstr "" "Corrigez-les puis lancez 'git add/rm <fichier>'\n" "si nécessaire pour marquer la résolution et valider." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Abandon à cause de conflit non résolu." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Veuillez valider vos changements avant de fusionner." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Abandon à cause d'une fusion non terminée." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" "\n" -" git checkout -b <new-branch-name>\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"Note : extraction de '%s'.\n" +"Note : basculement sur '%s'.\n" "\n" "Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des " "modifications\n" -"expérimentales et les valider. Il vous suffit de faire une autre extraction " +"expérimentales et les valider. Il vous suffit de faire un autre basculement " "pour\n" "abandonner les commits que vous faites dans cet état sans impacter les " "autres branches\n" "\n" "Si vous voulez créer une nouvelle branche pour conserver les commits que " "vous créez,\n" -"il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme " -"ceci :\n" +"il vous suffit d'utiliser l'option -c de la commande switch comme ceci :\n" +"\n" +" git switch -c <nom-de-la-nouvelle-branche>\n" "\n" -" git checkout -b <nom-de-la-nouvelle-branche>\n" +"Ou annuler cette opération avec :\n" +"\n" +" git switch -\n" +"\n" +"Désactivez ce conseil en renseignant la variable de configuration advice." +"detachedHead à false\n" "\n" #: alias.c:50 @@ -179,99 +193,99 @@ msgstr "cmdline se termine par \\" msgid "unclosed quote" msgstr "citation non fermée" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "option d'espace non reconnue '%s'" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "option d'ignorance d'espace non reconnue '%s'" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject et --3way ne peuvent pas être utilisés ensemble." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached et --3way ne peuvent pas être utilisés ensemble." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way hors d'un dépôt" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index hors d'un dépôt" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached hors d'un dépôt" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Impossible de préparer la regexp d'horodatage %s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec a retourné %d pour l'entrée : %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "nom de fichier du patch introuvable à la ligne %d" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply : mauvais format de git-diff - /dev/null attendu, %s trouvé à la " "ligne %d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply : mauvais format de git-diff - nouveau nom de fichier inconsistant " "à la ligne %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply : mauvais format de git-diff - ancien nom de fichier inconsistant " "à la ligne %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "" "git apply : mauvais format de git-diff - /dev/null attendu à la ligne %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "mode invalide dans la ligne %d : %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "lignes d'entête inconsistantes %d et %d" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recomptage : ligne inattendue : %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "fragment de patch sans en-tête à la ligne %d : %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -286,83 +300,83 @@ msgstr[1] "" "information de nom de fichier manquante dans l'en-tête de git diff lors de " "la suppression de %d composants de préfixe de chemin (ligne %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "" "information de nom de fichier manquante dans l'en-tête de git diff (ligne %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "le nouveau fichier dépend de contenus anciens" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "le fichier supprimé a encore du contenu" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "patch corrompu à la ligne %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "le nouveau fichier %s dépend de contenus anciens" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "le fichier supprimé %s a encore du contenu" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "patch binaire corrompu à la ligne %d : %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "patch binaire non reconnu à la ligne %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "patch totalement incompréhensible à la ligne %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "lecture du lien symbolique %s impossible" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "ouverture ou lecture de %s impossible" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "début de ligne invalide : '%c'" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "La section n°%d a réussi à la ligne %d (offset %d ligne)." msgstr[1] "La section n°%d a réussi à la ligne %d (offset %d lignes)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Contexte réduit à (%ld/%ld) pour appliquer le fragment à la ligne %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -371,463 +385,463 @@ msgstr "" "pendant la recherche de :\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "données de patch binaire manquantes pour '%s'" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section " "inverse" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" "impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "" "le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "le patch binaire ne s'applique par correctement à '%s'" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s " "trouvé)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "le patch a échoué : %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "extraction de %s impossible" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "échec de la lecture de %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "lecture depuis '%s' au-delà d'un lien symbolique" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "le chemin %s a été renommé/supprimé" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s : n'existe pas dans l'index" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s : ne correspond pas à l'index" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 " "points." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Retour à une fusion à 3 points…\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "impossible de lire le contenu actuel de '%s'" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Échec du retour à une fusion à 3 points…\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Patch %s appliqué avec des conflits.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Patch %s appliqué proprement.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "le patch de suppression laisse un contenu dans le fichier" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s : type erroné" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s est de type %o, mais %o attendu" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "chemin invalide '%s'" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s : existe déjà dans l'index" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s : existe déjà dans la copie de travail" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "" "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o) de %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "le fichier affecté '%s' est au-delà d'un lien symbolique" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s : le patch ne s'applique pas" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Vérification du patch %s..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "" "l'information sha1 est manquante ou inutilisable pour le sous-module %s" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "le mode change pour %s, qui n'est pas dans la HEAD actuelle" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "l'information de sha1 est manquante ou inutilisable (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "échec de make_cache_entry pour le chemin '%s'" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "impossible d'ajouter %s à l'index temporaire" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "impossible d'écrire l'index temporaire dans %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "suppression de %s dans l'index impossible" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "patch corrompu pour le sous-module %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "stat du fichier nouvellement créé '%s' impossible" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" "création du magasin de stockage pour le fichier nouvellement créé %s " "impossible" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "ajout de l'élément de cache %s impossible" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "échec de l'écriture dans '%s'" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "fermeture du fichier '%s'" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "écriture du fichier '%s' mode %o impossible" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Patch %s appliqué proprement." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "erreur interne" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Application du patch %%s avec %d rejet..." msgstr[1] "Application du patch %%s avec %d rejets..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "troncature du nom de fichier .rej en %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "impossible d'ouvrir %s" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Section n°%d appliquée proprement." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Section n°%d rejetée." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Chemin '%s' non traité." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "entrée non reconnue" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "lecture du fichier d'index impossible" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "ouverture impossible du patch '%s' :%s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "%d erreur d'espace ignorée" msgstr[1] "%d erreurs d'espace ignorées" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d ligne a ajouté des erreurs d'espace." msgstr[1] "%d lignes ont ajouté des erreurs d'espace." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "%d ligne ajoutée après correction des erreurs d'espace." msgstr[1] "%d lignes ajoutées après correction des erreurs d'espace." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Impossible d'écrire le nouveau fichier d'index" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "chemin" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "ne pas appliquer les modifications qui correspondent au chemin donné" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "appliquer les modifications qui correspondent au chemin donné" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "num" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "supprimer <num> barres obliques des chemins traditionnels de diff" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "ignorer les additions réalisées par le patch" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "" "afficher le nombre de lignes ajoutées et supprimées en notation décimale" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "au lieu d'appliquer le patch, afficher un résumé de l'entrée" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "au lieu d'appliquer le patch, voir si le patch est applicable" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "s'assurer que le patch est applicable sur l'index actuel" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "marquer les nouveaux fichiers `git add --intent-to-add`" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "appliquer les patch sans toucher à la copie de travail" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "accepter un patch qui touche hors de la copie de travail" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "tenter une fusion à 3 points si le patch ne s'applique pas proprement" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" "construire un index temporaire fondé sur l'information de l'index embarqué" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "les chemins sont séparés par un caractère NUL" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "action" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "" "détecter des lignes nouvelles ou modifiées qui contiennent des erreurs " "d'espace" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "ignorer des modifications d'espace lors de la recherche de contexte" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "appliquer le patch en sens inverse" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "ne pas s'attendre à au moins une ligne de contexte" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "accepter les recouvrements de sections" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "mode verbeux" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "tolérer des erreurs de détection de retours chariot manquants en fin de " "fichier" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "ne pas se fier au compte de lignes dans les en-têtes de section" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "racine" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "préfixer tous les noms de fichier avec <root>" @@ -870,98 +884,98 @@ msgstr "nom d'objet invalide : %s" msgid "not a tree object: %s" msgstr "objet arbre invalide : %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "l'arbre de travail actuel est non-suivi" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "fmt" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "format d'archive" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "préfixe" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "préfixer chaque chemin de fichier dans l'archive" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "fichier" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "écrire l'archive dans ce fichier" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "lire .gitattributes dans le répertoire de travail" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "afficher les fichiers archivés sur stderr" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "stockage seulement" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "compression rapide" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "compression efficace" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "afficher les formats d'archive supportés" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "dépôt" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "récupérer l'archive depuis le dépôt distant <dépôt>" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "commande" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "chemin vers la commande distante git-upload-archive" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Option --remote inattendue" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "L'option --exec ne peut être utilisée qu'en complément de --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Option --output inattendue" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Format d'archive inconnu '%s'" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Argument non supporté pour le format '%s' : -%d" @@ -1005,7 +1019,7 @@ msgstr "le chemin n'est pas codé en UTF-8 valide : %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "le chemin est trop long (%d caractères, SHA1 : %s) : %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "erreur de compression (%d)" @@ -1108,12 +1122,12 @@ msgstr "Bissection : une base de fusion doit être testée\n" msgid "a %s revision is needed" msgstr "une révision %s est nécessaire" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "impossible de créer le fichier '%s'" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "impossible de lire le fichier '%s'" @@ -1153,41 +1167,41 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "Bissection : %d révision à tester après ceci %s\n" msgstr[1] "Bissection : %d révisions à tester après ceci %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents et --reverse ne font pas bon ménage." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "--reverse et --first-parent ensemble nécessitent la spécification d'un " "dernier commit" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "échec de la préparation du parcours des révisions" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de " "premier parent" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "pas de chemin %s dans %s" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "impossible de lire le blob %s pour le chemin %s" @@ -1330,12 +1344,12 @@ msgstr "Nom d'objet ambigu : '%s'." msgid "Not a valid branch point: '%s'." msgstr "Point d'embranchement invalide : '%s'." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' est déjà extrait dans '%s'" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "la HEAD de la copie de travail %s n'est pas mise à jour" @@ -1350,8 +1364,8 @@ msgstr "'%s' ne semble pas être un fichier bundle v2" msgid "unrecognized header: %s%s (%d)" msgstr "en-tête non reconnu : %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "impossible d'ouvrir '%s'" @@ -1360,60 +1374,64 @@ msgstr "impossible d'ouvrir '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Le dépôt ne dispose pas des commits prérequis suivants :" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "la vérification d'un colis requiert un dépôt" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "Le colis contient cette référence :" msgstr[1] "Le colis contient ces %d références :" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "Le colis enregistre l'historique complet." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "Le colis exige cette référence :" msgstr[1] "Le colis exige ces %d références :" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "impossible de dupliquer le descripteur de liasse" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Impossible de créer des objets groupés" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "les objets groupés ont disparu" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "rev-list a disparu" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "la référence '%s' est exclue par les options de rev-list" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "argument non reconnu : %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Refus de créer un colis vide." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "impossible de créer '%s'" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "l'index de groupe a disparu" @@ -1422,8 +1440,8 @@ msgstr "l'index de groupe a disparu" msgid "invalid color value: %.*s" msgstr "Valeur invalide de couleur : %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "impossible d'analyser %s" @@ -1433,7 +1451,7 @@ msgstr "impossible d'analyser %s" msgid "%s %s is not a commit!" msgstr "%s %s n'est pas un commit !" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1453,27 +1471,27 @@ msgstr "" "Supprimez ce message en lançant\n" "\"git config advice.graftFileDeprecated false\"" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "La validation %s a une signature GPG non fiable, prétendument par %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "La validation %s a une mauvaise signature GPG prétendument par %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "La validation %s n'a pas de signature GPG." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "La validation %s a une signature GPG correcte par %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1485,187 +1503,245 @@ msgstr "" "variable de configuration i18n.commitencoding à l'encodage utilisé par votre " "projet.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "le graphe de commit est trop petit" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "" "la signature du graphe de commit %X ne correspond pas à la signature %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "la version %X du graphe de commit ne correspond pas à la version %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "" "l'empreinte de la version %X du graphe de commit ne correspond pas à la " "version %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "entrée de table de consultation de morceaux de graphe de commite manquante ; " "le fichier est peut être incomplet" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "décalage de bloc %08x%08x du graphe de commit inadéquat" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "l'id de bloc de graphe de commit %08x apparaît des multiples fois" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "le graphe de commit n'a pas de section de graphes de base" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "la chaîne de graphe de commit ne correspond pas" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "" +"chaîne de graphe de commit invalide : la ligne '%s' n'est pas une empreinte" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "impossible de trouver tous les fichiers du graphe de commit" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "" +"position de commit invalide. Le graphe de commit est vraisemblablement " +"corrompu" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "impossible de trouver le commit %s" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "impossible d'obtenir le type de l'objet %s" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Lecture des commits connus dans un graphe de commit" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "Expansion des commits joignables dans un graphe de commit" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "Suppression les marques de commit dans le graphe de commits" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "Calcul des chiffres de génération du graphe de commits" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Recherche de commits pour un graphe de commits dans %d paquet" msgstr[1] "Recherche de commits pour un graphe de commits dans %d paquets" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "erreur à l'ajout du packet %s" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "erreur à l'ouverture de l'index pour %s" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "Recherche de commits pour un graphe de commits depuis %d réf" msgstr[1] "Recherche de commits pour un graphe de commits depuis %d réfs" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "" "Recherche de commits pour un graphe de commits parmi les objets empaquetés" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "Comptage des commits distincts dans un graphe de commit" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "le graphe de commits ne peut pas écrire %d commits" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "trop de commits pour écrire un graphe" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "échec à l'écriture le nombre correct d'id de base de fusion" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "impossible de créer les répertoires de premier niveau de %s" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "impossible de créer '%s'" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Écriture le graphe de commits en %d passe" msgstr[1] "Écriture le graphe de commits en %d passes" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "impossible d'ouvrir le fichier de graphe de commit" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "échec du renommage du fichier de graphe de commits" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "impossible de renommer le fichier temporaire de graphe de commits" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "Analyse des commits de fusion" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "id de commit %s dupliqué inattendu" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "fusion du graphe de commits" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "le graphe de commits ne peut pas écrire %d commits" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "trop de commits pour écrire un graphe" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" "le graphe de commit a une somme de contrôle incorrecte et est " "vraisemblablement corrompu" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "le graphe de commit a un ordre d'OID incorrect : %s puis %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" "le graphe de commit a une valeur de dispersion incorrecte : dispersion[%d] = " "%u != %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "échec de l'analyse le commit %s depuis le graphe de commits" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Verification des commits dans le graphe de commits" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "échec de l'analyse du commit %s depuis la base de données d'objets pour le " "graphe de commit" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" "l'OID de l'arbre racine pour le commit %s dans le graphe de commit est %s != " "%s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "" "la liste des parents du graphe de commit pour le commit %s est trop longue" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "le parent du graphe de commit pour %s est %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "" "la liste de parents du graphe de commit pour le commit %s se termine trop tôt" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" @@ -1673,7 +1749,7 @@ msgstr "" "le graphe de commit a un numéro de génération nul pour le commit %s, mais " "non-nul ailleurs" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" @@ -1681,12 +1757,12 @@ msgstr "" "le graphe de commit a un numéro de génération non-nul pour le commit %s, " "mais nul ailleurs" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "la génération du graphe de commit pour le commit %s est %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1697,7 +1773,7 @@ msgstr "" msgid "memory exhausted" msgstr "plus de mémoire" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1712,313 +1788,313 @@ msgstr "" "\t%s\n" "possibilité d'inclusions multiples." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "expansion impossible du chemin d'inclusion '%s'" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "les inclusions de configuration relatives doivent venir de fichiers" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "" "les conditions d'inclusion de configuration relative doivent venir de " "fichiers" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "la clé ne contient pas de section: %s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "la clé ne contient pas de nom de variable : %s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "clé invalide : %s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "clé invalide (retour chariot) : %s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "paramètre de configuration mal formé: %s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "formatage mal formé dans %s" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "ligne %d de config incorrecte dans le blob %s" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "ligne %d de config incorrecte dans le fichier %s" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "ligne %d de config incorrecte dans l'entrée standard" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "ligne %d de config incorrecte dans le blob de sous-module %s" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "ligne %d de config incorrecte dans la ligne de commande %s" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "ligne %d de config incorrecte dans %s" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "hors plage" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "unité invalide" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "valeur numérique de configuration invalide '%s' pour '%s' : %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob " "%s : %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans le fichier " "%s : %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans l'entrée " "standard : %s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans le blob de " "sous-module %s : %s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans la ligne de " "commande %s : %s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "" "valeur numérique de configuration incorrecte '%s' pour '%s' dans %s : %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' pour '%s' n'est pas un horodatage valide" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "longueur d'abbrev hors plage : %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "niveau de compression zlib incorrect %d" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar ne devrait être qu'un unique caractère" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "mode invalide pour la création d'objet : %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "valeur mal formée pour %s" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "valeur mal formée pour %s : %s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "doit être parmi nothing, matching, simple, upstream ou current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "niveau de compression du paquet %d" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "impossible de charger l'objet blob de config '%s'" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "la référence '%s' ne pointe pas sur un blob" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "impossible de résoudre le blob de config '%s'" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "échec de l'analyse de %s" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "lecture de la configuration de ligne de commande impossible" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "erreur inconnue pendant la lecture des fichiers de configuration" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "%s invalide : '%s'" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "valeur '%s' de core.untrackedCache inconnue ; utilisation de 'keep' par " "défaut" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "" "la valeur '%d' de splitIndex.maxPercentChange devrait se situer entre 0 et " "100" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" "impossible d'analyser '%s' depuis le configuration en ligne de commande" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "" "variable de configuration '%s' incorrecte dans le fichier '%s' à la ligne %d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "nom de section invalide '%s'" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s a des valeurs multiples" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "impossible d'écrire le fichier de configuration %s" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "impossible de verrouiller le fichier de configuration %s" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "ouverture de %s" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "motif invalide : %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "fichier de configuration invalide %s" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "échec de fstat sur %s" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "impossible de réaliser un map de '%s'" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "échec de chmod sur %s" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "impossible d'écrire le fichier de configuration %s" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "impossible de régler '%s' à '%s'" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "impossible de désinitialiser '%s'" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "nom de section invalide : %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "valeur manquante pour '%s'" @@ -2184,19 +2260,19 @@ msgstr "chemin étrange '%s' bloqué" msgid "unable to fork" msgstr "fork impossible" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Vérification de la connectivité" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "Impossible de lancer 'git rev-list'" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "impossible d'écrire dans la rev-list" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "impossible de fermer l'entrée standard du rev-list" @@ -2419,7 +2495,7 @@ msgstr "" "l'expression rationnelle depuis la configuration a trop de groupes de " "capture (max=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "Marquage de %d îlots, fait.\n" @@ -2497,35 +2573,35 @@ msgstr "" "Erreurs dans la variable de configuration 'diff.dirstat' :\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "l'application de diff externe a disparu, arrêt à %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S et --find-object sont mutuellement exclusifs" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow a besoin d'une spécification de chemin unique" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "valeur invalide de --stat : %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s attend une valeur numérique" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2534,42 +2610,42 @@ msgstr "" "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "classe de modification inconnue '%c' dans --diff-fileter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "valeur inconnue après ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "impossible de résoudre '%s'" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "forme <n>/<m> attendue par %s" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "caractère attendu par %s, '%s' trouvé" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "mauvais argument --color-moved : %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "mode invalide '%s' dans --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2577,155 +2653,155 @@ msgstr "" "l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et " "\"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "argument invalide pour %s" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "échec de l'analyse du paramètre de l'option --submodule : '%s'" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "mauvais argument pour --word-diff : %s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Options de format de sortie de diff" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "générer la rustine" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "supprimer la sortie des différences" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "générer les diffs avec <n> lignes de contexte" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "générer le diff en format brut" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "synonyme de '-p --raw'" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "synonyme de '-p --stat'" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "--stat pour traitement automatique" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "afficher seulement la dernière ligne de --stat" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<param1,param2>..." -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" "afficher la distribution des quantités de modifications relatives pour " "chaque sous-répertoire" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "synonyme pour --dirstat=cumulative" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "synonyme pour --dirstat=files,param1,param2..." -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "avertir si les modifications introduisent des marqueurs de conflit ou des " "erreurs d'espace" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" "résumé succinct tel que les créations, les renommages et les modifications " "de mode" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "n'afficher que les noms de fichiers modifiés" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "n'afficher que les noms et les status des fichiers modifiés" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "générer un diffstat" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<largeur>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "générer un diffstat avec la largeur indiquée" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "génerer un diffstat avec la largeur de nom indiquée" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "génerer un diffstat avec la largeur de graphe indiquée" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<compte>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "générer un diffstat avec des lignes limitées" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "générer une résumé compact dans le diffstat" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "produire un diff binaire qui peut être appliqué" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" "afficher les noms complets des objets pre- et post-image sur les lignes " "\"index\"" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "afficher un diff coloré" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "<sorte>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2733,7 +2809,7 @@ msgstr "" "surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', " "'nouveau' dans le diff" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2741,93 +2817,93 @@ msgstr "" "ne pas compresser les chemins et utiliser des NULs comme terminateurs de " "champs dans --raw ou --numstat" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<préfixe>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "afficher le préfixe de source indiqué au lieu de \"a/\"" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "préfixer toutes les lignes en sortie avec la chaîne indiquée" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "n'afficher aucun préfixe, ni de source, ni de destination" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "afficher le contexte entre les sections à concurrence du nombre de ligne " "indiqué" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<caractère>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "spécifier le caractère pour indiquer une nouvelle ligne au lieu de '+'" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "spécifier le caractère pour indiquer une ancienne ligne au lieu de '-'" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "" "spécifier le caractère pour indiquer une ligne de contexte au lieu de ' '" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "Options de renommage de diff" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "" "casser les modifications d'une réécrire complète en paires de suppression et " "création" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "détecter les renommages" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "supprimer la pré-image pour les suppressions" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "détecter les copies" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "" "utiliser les fichiers non-modifiés comme sources pour trouver des copies" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "désactiver la détection de renommage" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "utiliser des blobs vides comme source de renommage" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "continuer à afficher l'historique d'un fichier au delà des renommages" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2835,161 +2911,161 @@ msgstr "" "empêcher la détection de renommage/copie si le nombre de cibles de renommage/" "copie excède la limite indiquée" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Options de l'algorithme de diff" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "produire le diff le plus petit possible" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "ignorer les espaces lors de la comparaison de ligne" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "ignorer des modifications du nombre d'espaces" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "ignorer des modifications d'espace en fin de ligne" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "ignore le retour chariot en fin de ligne" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "ignorer les modifications dont les lignes sont vides" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "" "heuristique qui déplace les limites de sections de diff pour faciliter la " "lecture" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "générer un diff en utilisant l'algorithme de différence \"patience\"" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "" "générer un diff en utilisant l'algorithme de différence \"histogramme\"" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<algorithme>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "choisir un algorithme de différence" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<texte>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\"" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<mode>" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" "afficher des différences par mot, en utilisant <mode> pour délimiter les " "mots modifiés" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<regex>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "utiliser <regex> pour décider ce qu'est un mot" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "les lignes déplacées sont colorées différemment" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "comment les espaces sont ignorés dans --color-moved" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Autres options diff" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "lancé depuis un sous-répertoire, exclure les modifications en dehors et " "afficher les chemins relatifs" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "traiter les fichiers comme texte" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "échanger les entrées, inverser le diff" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "sortir un code d'erreur 1 s'il y avait de différences, 0 sinon" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "désactiver tous les affichages du programme" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "autoriser l'exécution d'un assistant externe de diff" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "lancer les filtres externes de conversion en texte lors de la comparaison de " "fichiers binaires" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<quand>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "" "ignorer les modifications dans les sous-modules lors de la génération de diff" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<format>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "spécifier comment les différences dans les sous-modules sont affichées" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "masquer les entrées 'git add -N' de l'index" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "traiter les entrées 'git add -N' comme réelles dans l'index" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<chaîne>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" @@ -2997,7 +3073,7 @@ msgstr "" "rechercher les différences qui modifient le nombre d'occurrences de la " "chaîne spécifiée" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -3005,26 +3081,26 @@ msgstr "" "rechercher les différences qui modifient le nombre d'occurrences de la regex " "spécifiée" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "" "afficher toutes les modifications dans l'ensemble de modifications avec -S " "ou -G" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "" "traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<id-objet>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" @@ -3032,35 +3108,35 @@ msgstr "" "rechercher les différences qui modifient le nombre d'occurrences de l'objet " "indiqué" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "sélectionner les fichiers par types de diff" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<fichier>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Sortie vers un fichier spécifié" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "détection de renommage inexact annulée à cause d'un trop grand nombre de " "fichiers." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" "recherche uniquement des copies par modification de chemin à cause d'un trop " "grand nombre de fichiers." -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3168,32 +3244,32 @@ msgstr "impossible d'écrire sur un distant" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc nécessite multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "ligne de superficiel invalide : %s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "ligne de fin de superficiel invalide : %s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "objet non trouvé : %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "Erreur dans l'objet : %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "Pas de superficiel trouvé : %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "superficiel/non superficiel attendu, %s trouvé" @@ -3212,7 +3288,7 @@ msgstr "commit invalide %s" msgid "giving up" msgstr "abandon" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "fait" @@ -3253,154 +3329,130 @@ msgstr "échec de %s" msgid "error in sideband demultiplexer" msgstr "erreur dans le démultiplexer latéral" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Le serveur ne supporte les clients superficiels" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Le serveur supporte multi_ack_detailed" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Le serveur support no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Le serveur supporte multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Le serveur supporte side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Le serveru supporte side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Le serveur supporte allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Le serveur supporte allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Le serveur supporte ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Le serveur supporte filter" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "La version du serveur est %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Le serveur supporte %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Le serveur ne supporte les clients superficiels" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Le receveur ne gère pas --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Le receveur ne gère pas --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Le receveur ne gère pas --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "pas de commit commun" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack : échec de le récupération." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Le serveur ne supporte les requêtes superficielles" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Le serveur supporte filter" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "impossible d'écrire la requête sur le distant" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "erreur à la lecture de l'entête de section '%s'" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "'%s' attendu, '%s' reçu" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "ligne d'acquittement inattendue : '%s'" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "erreur lors du traitement des acquittements : %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "fichier paquet attendu à envoyer après 'ready'" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "aucune autre section attendue à envoyer après absence de 'ready'" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "erreur lors du traitement de l'information de superficialité : %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "wanted-ref attendu, '%s' trouvé" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "wanted-ref inattendu : '%s'" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "erreur lors du traitement des références voulues : %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "pas de HEAD distante correspondante" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "référence distante inconnue %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "Le serveur n'autorise pas de requête pour l'objet %s non annoncé" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg n'a pas pu signer les données" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "impossible de créer un fichier temporaire" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "impossible d'écrire la signature détachée dans '%s'" @@ -3410,18 +3462,18 @@ msgstr "impossible d'écrire la signature détachée dans '%s'" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "couleur invalide '%.*s' ignorée dans log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "'%s' : lecture de %s impossible" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "échec du stat de '%s'" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "'%s' : lecture tronquée" @@ -3492,7 +3544,7 @@ msgstr "commandes git disponibles depuis un autre endroit de votre $PATH" msgid "These are common Git commands used in various situations:" msgstr "Ci-dessous les commandes Git habituelles dans diverses situations :" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "type de liste de commandes non supporté '%s'" @@ -3641,7 +3693,7 @@ msgstr "nom d'identifiant vide (pour <%s>) non permis" msgid "name consists only of disallowed characters: %s" msgstr "le nom n'est constitué que de caractères interdits : %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "format de date invalide : %s" @@ -3675,6 +3727,11 @@ msgstr "attendu : 'tree:<profondeur>'" msgid "sparse:path filters support has been dropped" msgstr "sparse : le support des filtres de chemin a été abandonné" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "spécificateur de filtre invalide '%s'" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "impossible de modifier le prometteur distant de clone partiel" @@ -3707,8 +3764,8 @@ msgstr "Impossible de créer '%s.lock' : %s" msgid "failed to read the cache" msgstr "impossible de lire le cache" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "impossible d'écrire le nouveau fichier d'index" @@ -3731,93 +3788,93 @@ msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion." msgid "error building trees" msgstr "erreur de construction des arbres" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "impossible de créer le chemin '%s' %s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Suppression de %s pour faire de la place pour le sous-répertoire\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": peut-être un conflit D/F ?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "refus de perdre le fichier non suivi '%s'" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "impossible de lire l'objet %s '%s'" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "blob attendu pour %s '%s'" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "échec à l'ouverture de '%s' : %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "échec à la création du lien symbolique '%s' : %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "ne sait pas traiter %06o %s '%s'" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Échec de la fusion du sous-module %s (non extrait)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Échec de fusion du sous-module %s (commits non présents)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" "Échec de la fusion du sous-module %s (les commits ne descendent pas de la " "base de fusion)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Avance rapide du sous-module %s au commit suivant :" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Avance rapide du sous-module %s" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Échec de fusion du sous-module %s (fusion suivant les commits non trouvée)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Échec de fusion du sous-module %s (pas en avance rapide)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Résolution possible de fusion trouvée pour le sous-module :\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3834,33 +3891,33 @@ msgstr "" "\n" "qui acceptera cette suggestion.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Échec de fusion du sous-module %s (plusieurs fusions trouvées)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Échec à l'exécution de la fusion interne" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "Impossible d'ajouter %s à la base de données" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "Fusion automatique de %s" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" "Erreur : refus de perdre le fichier non suivi %s ; écriture dans %s à la " "place." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3869,7 +3926,7 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de " "%s laissée dans l'arbre." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3878,7 +3935,7 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version " "%s de %s laissée dans l'arbre." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3887,7 +3944,7 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de " "%s laissée dans l'arbre dans le fichier %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3896,41 +3953,41 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version " "%s de %s laissée dans l'arbre dans le fichier %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "renommage" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "renommé" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Refus de perdre le fichier modifié %s" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "Refus de perdre le fichier non suivi %s, même s'il gêne." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s est un répertoire dans %s ajouté plutôt comme %s" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "Refus de perdre le fichier non suivi %s ; ajout comme %s à la place" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3939,18 +3996,18 @@ msgstr "" "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche " "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (laissé non résolu)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "CONFLIT (renommage/renommage) : renommage '%s'->'%s' dans %s. Renommage '%s'-" ">'%s' dans %s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3961,7 +4018,7 @@ msgstr "" "parce que le répertoire %s a été renommé en plusieurs autres répertoires, " "sans aucune destination récupérant la majorité des fichiers." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3970,7 +4027,7 @@ msgstr "" "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne " "des renommages implicites de répertoire déplaçant les chemins suivants : %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3979,7 +4036,7 @@ msgstr "" "CONFLIT (renommage implicite de répertoire) : impossible de transformer " "plusieurs chemins sur %s ; les chemins concernés sont : %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3988,7 +4045,7 @@ msgstr "" "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. " "Renommage de répertoire %s->%s dans %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3997,52 +4054,52 @@ msgstr "" "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été " "renommé." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "impossible de lire l'objet %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "l'objet %s n'est pas un blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "modification" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "modifié" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "contenu" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "ajout/ajout" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "%s sauté (fusion identique à l'existant)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "sous-module" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLIT (%s) : Conflit de fusion dans %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "Ajout plutôt comme %s" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -4051,7 +4108,7 @@ msgstr "" "Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé " "en %s ; déplacé dans %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -4061,7 +4118,7 @@ msgstr "" "a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé " "vers %s." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -4070,7 +4127,7 @@ msgstr "" "Chemin mis à jour : %s renommé en %s dans %s, dans un répertoire qui a été " "renommé en %s ; déplacé dans %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -4080,36 +4137,36 @@ msgstr "" "répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être " "être déplacé vers %s." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Suppression de %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "fichier/répertoire" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "répertoire/fichier" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "CONFLIT (%s) : Il y a un répertoire nommé %s dans %s. Ajout de %s comme %s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "Ajout de %s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -4119,132 +4176,137 @@ msgstr "" "fusion :\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "Déjà à jour !" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "échec de fusion des arbres %s et %s" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Fusion :" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "%u ancêtre commun trouvé :" msgstr[1] "%u ancêtres communs trouvés :" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "la fusion n'a pas retourné de commit" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "Impossible d'analyser l'objet '%s'" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Impossible d'écrire l'index." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "le fichier d'index multi-paquet %s est trop petit" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "" "la signature de l'index multi-paquet 0x%08x ne correspond pas à la signature " "0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "la version d'index multi-paquet %d n'est pas reconnue" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "la version %u du condensé ne correspond pas" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "décalage de section invalide (trop grand)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "" "identifiant de terminaison de tronçon d'index multi-paquet terminant " "apparaît plus tôt qu'attendu" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "index multi-paquet manque de tronçon de nom de paquet" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "index multi-paquet manque de tronçon de d'étalement OID requis" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "index multi-paquet manque de tronçon de recherche OID" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "index multi-paquet manque de tronçon de décalage d'objet" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "" "index multi-paquet les noms de paquets sont en désordre : '%s' avant '%s'" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "mauvais pack-int-id : %u (%u paquets au total)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" "multi-pack-index stock un décalage en 64-bit, mais off_t est trop petit" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "échec de l'ajout du fichier paquet '%s'" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "échec à l'ouverture du fichier paquet '%s'" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "échec de localisation de l'objet %d dans le fichier paquet" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "fichier paquet à éliminer %s non trouvé" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "échec du nettoyage de l'index de multi-paquet à %s" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Recherche de fichiers paquets référencés" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" @@ -4252,49 +4314,57 @@ msgstr "" "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = " "étalement[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Vérification de l'ordre des OID dans MIDX" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "recherche d'oid en désordre : oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Classement des objets par fichier paquet" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Vérification des décalages des objets" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "échec de la lecture de l'élément de cache pour oid[%d] = %s" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "impossible de lire le fichier paquet %s" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "Impossible de démarrer le groupement d'objets" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "Impossible de finir le groupement d'objets" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "impossible de créer le fil lazy_dir : %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "impossible de créer le fil lazy_name : %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "impossible de joindre le fil lazy_name : %s" @@ -4363,16 +4433,16 @@ msgstr "impossible d'analyser l'objet : %s" msgid "hash mismatch %s" msgstr "incohérence de hachage %s" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "offset avant la fin du fichier paquet (.idx cassé ?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4634,24 +4704,29 @@ msgstr "impossible de créer le lstat en fil : %s" msgid "unable to parse --pretty format" msgstr "impossible d'analyser le format --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "impossible de démarrer `log`" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "impossible de lire la sortie de `log`" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "impossible d'analyser le commit '%s'" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "impossible d'analyser l'entête git '%.*s'" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "échec de la génération de diff" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "impossible d'analyser le journal pour '%s'" @@ -4768,11 +4843,10 @@ msgid "unordered stage entries for '%s'" msgstr "entrées de préparation non ordonnées pour '%s'" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "fichier d'index corrompu" @@ -4826,12 +4900,12 @@ msgstr "impossible de rafraîchir l'index partagé '%s'" msgid "broken index, expect %s in %s, got %s" msgstr "index cassé, %s attendu dans %s, %s obtenu" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "impossible de fermer '%s'" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "stat impossible de '%s'" @@ -4912,7 +4986,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Rebasage de %s sur %s (%d commande)" msgstr[1] "Rebasage de %s sur %s (%d commandes)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4921,7 +4995,7 @@ msgstr "" "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un " "commit.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4929,7 +5003,7 @@ msgstr "" "\n" "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4944,7 +5018,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4954,12 +5028,12 @@ msgstr "" "Cependant, si vous effacez tout, le rebasage sera annulé.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Veuillez noter que les commits vides sont en commentaire" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "impossible d'écrire '%s'" @@ -4996,97 +5070,98 @@ msgstr "" "Les comportements disponibles sont : ignore, warn, error.\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "%s ne pointe pas sur un objet valide!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "symref pendant %s ignoré" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "réf cassé %s ignoré" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "impossible d'ouvrir '%s' en écriture : %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "impossible de lire la réf '%s'" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "la référence '%s' existe déjà " -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "id d'objet inattendu pendant l'écriture de '%s'" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "impossible d'écrire dans '%s'" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "impossible d'ouvrir '%s' en écriture" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "id d'objet inattendu pendant la suppression de '%s'" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "le journal pour la réf %s contient un trou après %s" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "le journal pour la réf %s s'arrête de manière inattendue sur %s" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "le journal pour la réf %s est vide" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "refus de mettre à jour une réf avec un nom cassé '%s'" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "échec de update_ref pour la réf '%s' : %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "mises à jour multiples pour la réf '%s' non permises" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "mises à jour des références interdites en environnement de quarantaine" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' existe ; impossible de créer '%s'" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "impossible de traiter '%s' et '%s' en même temps" @@ -5113,268 +5188,252 @@ msgid "invalid refspec '%s'" msgstr "spécificateur de réference invalide : '%s'" # à priori on parle d'une branche ici -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "disparue" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "en avance de %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "en retard de %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "en avance de %d, en retard de %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "format attendu : %%(color:<couleur>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "couleur non reconnue : %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Valeur entière attendue refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Valeur entière attendue refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "argument %%(%s) non reconnu : %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) n'accepte pas d'argument" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "argument %%(objectsize) non reconnu : %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) n'accepte pas d'argument" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) n'accepte pas d'argument" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) n'accepte pas d'argument" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "argument %%(trailers) inconnu : %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "valeur positive attendue contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "argument %%(contents) non reconnu : %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "valeur positive attendue objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "argument %%(objectname) non reconnu : %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "format attendu : %%(align:<largeur>,<position>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "position non reconnue : %s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "largeur non reconnue : %s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "argument %%(align) non reconnu : %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "valeur positive attendue avec l'atome %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "argument %%(if) non reconnu : %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "nom de champ malformé %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "nom de champ inconnu : %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "" "pas un dépôt git, mais le champ '%.*s' nécessite l'accès aux données d'objet" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "format : atome %%(if) utilisé sans un atome %%(then)" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "format : atome %%(then) utilisé sans un atome %%(if)" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "format : atome %%(then) utilisé plus d'une fois" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "format: atome %%(then) utilisé après %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "format : atome %%(else) utilisé sans un atome %%(if)" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "format : atome %%(else) utilisé sans un atome %%(then)" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "format : atome %%(else) utilisé plus d'une fois" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "format : atome %%(end) utilisé sans atome correspondant" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "Chaîne de formatage mal formée %s" -#: ref-filter.c:1453 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing %s)" -msgstr "(aucune branche, rebasage de %s)" +msgid "no branch, rebasing %s" +msgstr "aucune branche, rebasage de %s" -#: ref-filter.c:1456 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(aucune branche, rebasage de la HEAD détachée %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "aucune branche, rebasage de la HEAD détachée %s" -#: ref-filter.c:1459 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(aucune branche, bisect a démarré sur %s)" +msgid "no branch, bisect started on %s" +msgstr "aucune branche, bisect a démarré sur %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD détachée sur %s)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "aucune branche" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD détachée depuis %s)" - -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(aucune branche)" - -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "objet manquant %s pour %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "échec de parse_object_buffer sur %s pour %s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "objet malformé à '%s'" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "réf avec un nom cassé %s ignoré" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "format: atome %%(end) manquant" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "l'option « %s » est incompatible avec --merged" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "l'option « %s » est incompatible avec --no-merged" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "nom d'objet malformé %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "l'option '%s' doit pointer sur un commit" @@ -5728,8 +5787,8 @@ msgstr "impossible de délier '%s' qui est errant" msgid "Recorded preimage for '%s'" msgstr "Pré-image enregistrée pour '%s'" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "impossible de créer le répertoire '%s'" @@ -5763,20 +5822,20 @@ msgstr "Résolution pour '%s' oubliée\n" msgid "unable to open rr-cache directory" msgstr "impossible d'ouvrir le répertoire rr-cache" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "votre branche actuelle semble cassée" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "votre branche actuelle '%s' ne contient encore aucun commit" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent est incompatible avec --bisect" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s" @@ -5849,24 +5908,29 @@ msgstr "mode de nettoyage invalide de message de validation '%s'" msgid "could not delete '%s'" msgstr "Impossible de supprimer '%s'" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "impossible de supprimer '%s'" + +#: sequencer.c:321 msgid "revert" msgstr "revert" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "action inconnue : %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5874,7 +5938,7 @@ msgstr "" "après résolution des conflits, marquez les chemins corrigés\n" "avec 'git add <chemins>' ou 'git rm <chemins>'" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5884,44 +5948,44 @@ msgstr "" "avec 'git add <chemins>' ou 'git rm <chemins>'\n" "puis validez le résultat avec 'git commit'" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "impossible de verrouiller '%s'" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "impossible d'écrire la fin de ligne dans '%s'" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "échec lors de la finalisation de '%s'" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "impossible de lire '%s'" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "vos modifications locales seraient écrasées par %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "validez vos modifications ou les remiser pour continuer." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s : avance rapide" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Mode de nettoyage invalide %s" @@ -5929,70 +5993,70 @@ msgstr "Mode de nettoyage invalide %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Impossible d'écrire le nouveau fichier index" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "impossible de mettre à jour l'arbre de cache" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "impossible de résoudre le commit HEAD" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "aucune clé présente dans '%.*s'" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "Impossible de décoter la valeur de '%s'" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "impossible d'ouvrir '%s' en lecture" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "'GIT_AUTHOR_NAME' déjà fourni" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "'GIT_AUTHOR_EMAIL' déjà fourni" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "'GIT_AUTHOR_DATE' déjà fourni" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "variable inconnue '%s'" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "'GIT_AUTHOR_NAME' manquant" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "'GIT_AUTHOR_EMAIL' manquant" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "'GIT_AUTHOR_DATE' manquant" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "format de date invalide '%s' dans '%s'" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -6021,15 +6085,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "écriture du commit racine" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "échec du crochet 'prepare-commit-msg'" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6058,7 +6122,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6084,306 +6148,349 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "impossible de retrouver le commit nouvellement créé" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "impossible d'analyser le commit nouvellement créé" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "impossible de résoudre HEAD après création du commit" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "HEAD détachée" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (commit racine)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "impossible de lire HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s n'est pas un commit !" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "impossible d'analyser le commit HEAD" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "impossible d'analyser l'auteur du commit" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree a échoué à écrire un arbre" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "impossible de lire le message de validation de '%s'" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "échec de l'écriture de l'objet commit" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "impossible d'analyser le commit %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "impossible d'analyser le commit parent %s" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "commande inconnue : %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Ceci est la combinaison de %d commits." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "une HEAD est nécessaire à la correction" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "Impossible de lire HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "impossible de lire le message de validation de HEAD" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "impossible d'écrire '%s'" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Ceci est le premier message de validation :" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "impossible de lire le message de validation de %s" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Ceci est le message de validation numéro %d :" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Le message de validation %d sera ignoré :" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "votre fichier d'index n'est pas fusionné." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "impossible de réparer le commit racine" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "le commit %s est une fusion mais l'option -m n'a pas été spécifiée." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "le commit %s n'a pas de parent %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "impossible d'obtenir un message de validation pour %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s : impossible d'analyser le commit parent %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "impossible de renommer '%s' en '%s'" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "impossible d'annuler %s... %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "impossible d'appliquer %s... %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s : échec à la lecture de l'index" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s : échec du rafraîchissement de l'index" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s n'accepte pas d'argument : '%s'" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "argument manquant pour %s" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "impossible d'analyser '%.*s'" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "ligne %d invalide : %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "'%s' impossible avec le commit précédent" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "impossible de lire '%s'." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "annulation d'un picorage en cours" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "annulation d'un retour en cours" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "feuille d'instruction inutilisable : '%s'" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "aucun commit analysé." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "impossible de picorer pendant l'annulation d'un commit." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "impossible d'annuler un commit pendant un picorage." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "valeur invalide pour %s : %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "\"écrase-sur\" inutilisable" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "feuille d'options malformée : %s" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "l'ensemble de commits spécifié est vide" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "un picorage ou un retour est déjà en cours" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "un retour est déjà en cours" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "essayez \"git revert (--continue | %s--abort | --quit)\"" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "essayez \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "un picorage est déjà en cours" -#: sequencer.c:2660 +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "essayez \"git cherry-pick (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "impossible de créer le répertoire de séquenceur '%s'" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "impossible de verrouiller HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "aucun picorage ou retour en cours" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "impossible de résoudre HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "impossible d'abandonner depuis une branche non encore créée" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "impossible d'ouvrir '%s'" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "impossible de lire '%s' : %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "fin de fichier inattendue" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "le fichier HEAD de préparation de picorage '%s' est corrompu" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Vous semblez avoir déplacé la HEAD. Pas de rembobinage, vérifiez votre HEAD !" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "Pas de retour en cours ?" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "aucun picorage en cours" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "échec du saut de commit" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "il n'y a rien à sauter" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"Avez-vous déjà validé ?\n" +"essayez \"git %s -continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "impossible de mettre à jour %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "impossible de lire HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "impossible de copier '%s' vers '%s'" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6402,27 +6509,27 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "impossible d'appliquer %s... %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Impossible de fusionner %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "impossible de copier '%s' vers '%s'" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "impossible de lire l'index" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6437,11 +6544,11 @@ msgstr "" "git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "et a mis à jour l'index ou l'arbre de travail\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6458,77 +6565,77 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "nom de label illégal '%.*s'" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "écriture d'un commit racine bidon" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "écriture de 'écraser-sur'" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "impossible de trouver l'arbre de %s" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "impossible d'écrire l'index" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "impossible de résoudre '%s'" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "impossible de fusionner avec une révision courante" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "impossible d'analyser '%.*s'" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "rien à fusionner : '%.*s'" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "" "une fusion octopus ne peut pas être exécutée par dessus une nouvelle racine" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "impossible de lire le message de validation de '%s'" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "impossible de seulement essayer de fusionner '%.*s'" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "fusion : Impossible d'écrire le nouveau fichier index" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Autoremisage appliqué.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "impossible de stocker %s" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6539,31 +6646,31 @@ msgstr "" "Vos modifications sont à l'abri dans la remise.\n" "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "extraction de %s impossible" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s n'est pas un OID valide" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "Impossible de détacher HEAD" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "arrêt à HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Arrêté à %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6584,48 +6691,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "arrêt à %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "commande inconnue %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "impossible de lire orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "impossible de lire 'onto'" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "impossible de mettre à jour HEAD sur %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "impossible de rebaser : vous avez des modifications non indexées." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "impossible de corriger un commit non-existant" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "fichier invalide : '%s'" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "contenu invalide : '%s'" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6635,42 +6742,42 @@ msgstr "" "Vous avez des modifications non validées dans votre copie de travail.\n" "Veuillez les valider d'abord, puis relancer 'git rebase --continue'." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "impossible d'écrire le fichier : '%s'" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "impossible de supprimer CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "impossible de valider les modifications indexées." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s : impossible de picorer un %s" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s : mauvaise révision" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "impossible d'annuler en tant que commit initial" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script : options non gérées" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script : erreur lors de la préparation des révisions" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6680,15 +6787,15 @@ msgstr "" "rebase --continue'.\n" "Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "rien à faire" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "impossible d'éviter les commandes de picorage non nécessaires" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "le script a déjà été réarrangé." @@ -6916,195 +7023,200 @@ msgstr "le dépôt de référence '%s' est superficiel" msgid "reference repository '%s' is grafted" msgstr "le dépôt de référence '%s' est greffé" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "ligne invalide pendant l'analyse des refs alternatives : %s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "échec de mmap" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "le fichier objet %s est vide" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "objet libre corrompu '%s'" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "données incorrectes à la fin de l'objet libre '%s'" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "type d'objet invalide" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "impossible de dépaqueter l'entête %s avec --allow-unknow-type" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "impossible de dépaqueter l'entête %s" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "impossible d'analyser l'entête %s avec --allow-unknow-type" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "impossible d'analyser l'entête %s" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "impossible de lire l'objet %s" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "remplacement %s non trouvé pour %s" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "l'objet libre %s (stocké dans %s) est corrompu" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "impossible d'écrire le fichier %s" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "impossible de régler les droits de '%s'" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "erreur d'écriture d'un fichier" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "erreur en fermeture du fichier d'objet esseulé" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "droits insuffisants pour ajouter un objet à la base de données %s du dépôt" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "impossible de créer un fichier temporaire" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "impossible d'écrire le fichier d'objet esseulé" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "impossible de compresser le nouvel objet %s (%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "échec de deflateEnd sur l'objet %s (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "données de source d'objet instable pour %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "échec de utime() sur %s" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "impossible de lire l'objet pour %s" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "commit corrompu" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "étiquette corrompue" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "erreur de lecture à l'indexation de %s" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "lecture tronquée pendant l'indexation de %s" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s : échec de l'insertion dans la base de données" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%s : type de fichier non supporté" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s n'est pas un objet valide" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s n'est pas un objet '%s' valide" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "impossible d'ouvrir %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "incohérence de hachage pour %s (%s attendu)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "impossible de mmap %s" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "impossible de dépaqueter l'entête de %s" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "impossible d'analyser l'entête de %s" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "impossible de dépaqueter le contenu de %s" @@ -7124,18 +7236,17 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" "running \"git config advice.objectNameWarning false\"" msgstr "" -"Git ne crée normalement jamais de référence qui se termine par 40 caractères " -"hexa\n" -"car elle serait ignorée si vous spécifiiez 40-hexa. Ces références\n" -"peuvent être créées par erreur. Par exemple,\n" +"Git ne crée normalement jamais de référence qui se termine par 40\n" +"caractères hexa car elle serait ignorée si vous spécifiez juste\n" +"40-hexa. Ces références peuvent être créées par erreur. Par exemple,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "où \"$br\" est d'une manière ou d'une autre vide et une référence 40-hexa " "est créée.\n" @@ -7143,6 +7254,58 @@ msgstr "" "message\n" "en lançant \"git config advice.objectNameWarning false\"" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u Gio" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u Gio/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u Mio" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u Mio/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u Kio" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u Kio/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u octet" +msgstr[1] "%u octets" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u octet/s" +msgstr[1] "%u octets/s" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -7179,7 +7342,7 @@ msgstr "Le chemin '%s' est dans le sous-module '%.*s'" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "l'entrée de sous-module '%s' (%s) est un %s, pas un commit" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Échec de résolution de HEAD comme référence valide." @@ -7218,7 +7381,7 @@ msgstr "le sous-module '%s' a un index sale" msgid "Submodule '%s' could not be updated." msgstr "le sous-module '%s' n'a pas pu être mis à jour." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7226,12 +7389,12 @@ msgstr "" "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail " "n'est pas supporté" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "impossible de trouve le nom pour le sous-module '%s'" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7242,16 +7405,16 @@ msgstr "" "'%s' sur\n" "'%s'\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "récursion impossible dans le sous-module '%s'" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "impossible de démarrer ls-files dans .." -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree a renvoyé un code de retour inattendu %d" @@ -7425,15 +7588,10 @@ msgstr "Abandon." msgid "failed to push all needed submodules" msgstr "échec de la poussée de tous les sous-modules nécessaires" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "option non supportée par le protocole" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "ligne invalide pendant l'analyse des refs alternatives : %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "échec de l'écriture totale sur l'assistant distant" @@ -7479,7 +7637,7 @@ msgstr "impossible de lancer fast-import" msgid "error while running fast-import" msgstr "erreur au lancement de fast-import" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "impossible de lire la réf %s" @@ -7534,26 +7692,26 @@ msgstr "l'assistant %s ne gère pas --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "l'assistant %s ne gère pas 'push-option'" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "" "l'assistant %s ne gère pas push ; un spécificateur de référence est " "nécessaire" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "l'assistant %s ne gère pas 'force'" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "impossible de lancer fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "erreur au lancement de fast-export" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7562,47 +7720,47 @@ msgstr "" "Aucune référence en commun et aucune spécfiée ; rien à faire.\n" "Vous devriez peut-être spécifier une branche telle que 'master'.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "réponse malformée dans le liste de réfs : %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "échec de read(%s)" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "échec de write(%s)" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "échec du fil d'exécution %s" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "échec de jonction du fil d'exécution %s : %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "impossible de démarrer le fil d'exécution pour copier les données : %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "échec du processus %s pour l'attente" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "échec du processus %s" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "impossible de démarrer le fil d'exécution pour copier les données" @@ -7618,7 +7776,7 @@ msgstr "mode invalide dans l'entrée d'arbre" msgid "empty filename in tree entry" msgstr "nom de fichier vide dans une entrée de l'arbre" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "fichier arbre trop court" @@ -7859,8 +8017,8 @@ msgid "Aborting\n" msgstr "Abandon\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Extraction des fichiers" +msgid "Updating files" +msgstr "Mise à jour des fichiers" #: unpack-trees.c:350 msgid "" @@ -7901,35 +8059,35 @@ msgstr "numéro de port invalide" msgid "invalid '..' path segment" msgstr "segment de chemin '..' invalide" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "échec de la lecture de '%s'" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" "'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" "le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre " "de travail" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "'%s' n'existe pas" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' n'est pas un fichier .git, code d'erreur %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' ne pointe pas en retour sur '%s'" @@ -7948,158 +8106,164 @@ msgstr "impossible d'accéder à '%s'" msgid "unable to get current working directory" msgstr "impossible d'accéder au répertoire de travail courant" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Chemins non fusionnés :" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr " (utilisez \"git restore --staged <fichier>...\" pour désindexer)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (utilisez \"git reset %s <fichier>...\" pour désindexer)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr "" +" (utilisez \"git restore --source=%s --staged <fichier>...\" pour " +"désindexer)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (utilisez \"git rm --cached <fichier>...\" pour désindexer)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (utilisez \"git add <fichier>...\" pour marquer comme résolu)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (utilisez \"git add/rm <fichier>...\" si nécessaire pour marquer comme " "résolu)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (utilisez \"git rm <fichier>...\" pour marquer comme résolu)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Modifications qui seront validées :" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Modifications qui ne seront pas validées :" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (utilisez \"git add <fichier>...\" pour mettre à jour ce qui sera validé)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (utilisez \"git add/rm <fichier>...\" pour mettre à jour ce qui sera " "validé)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (utilisez \"git checkout -- <fichier>...\" pour annuler les modifications " -"dans la copie de travail)" +" (utilisez \"git restore <fichier>...\" pour annuler les modifications dans " +"le répertoire de travail)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (valider ou annuler le contenu non suivi ou modifié dans les sous-modules)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (utilisez \"git %s <fichier>...\" pour inclure dans ce qui sera validé)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "supprimé des deux côtés :" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "ajouté par nous :" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "supprimé par eux :" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "ajouté par eux :" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "supprimé par nous :" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "ajouté de deux côtés :" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "modifié des deux côtés :" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "nouveau fichier :" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "copié :" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "supprimé :" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "modifié :" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "renommé :" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "modif. type :" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "inconnu :" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "non fusionné :" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "nouveaux commits, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "contenu modifié, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "contenu non suivi, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Votre remisage contient actuellement %d entrée" msgstr[1] "Votre remisage contient actuellement %d entrées" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Sous-modules modifiés mais non mis à jour :" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Changements du sous-module à valider :" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -8107,107 +8271,119 @@ msgstr "" "Ne touchez pas à la ligne ci-dessus.\n" "Tout ce qui suit sera éliminé." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"%.2f secondes ont été nécessaires pour calculer les valeurs d'avance/retard " +"de la branche.\n" +"Vous pouvez utiliser '--no-ahead-behind' pour éviter ceci.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Vous avez des chemins non fusionnés." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (réglez les conflits puis lancez \"git commit\")" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (utilisez \"git merge --abort\" pour annuler la fusion)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Tous les conflits sont réglés mais la fusion n'est pas terminée." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (utilisez \"git commit\" pour terminer la fusion)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Vous êtes au milieu d'une session am." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "Le patch actuel est vide." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (réglez les conflits puis lancez \"git am --continue\")" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (utilisez \"git am --skip\" pour sauter ce patch)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (utilisez \"git am --abort\" pour restaurer la branche d'origine)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo est manquant." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "Aucune commande réalisée." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Dernière commande effectuée (%d commande effectuée) :" msgstr[1] "Dernières commandes effectuées (%d commandes effectuées) :" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (voir plus dans le fichier %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Aucune commande restante." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Prochaine commande à effectuer (%d commande restante) :" msgstr[1] "Prochaines commandes à effectuer (%d commandes restantes) :" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (utilisez \"git rebase --edit-todo\" pour voir et éditer)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Vous êtes en train de rebaser la branche '%s' sur '%s'." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Vous êtes en train de rebaser." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (réglez les conflits puis lancez \"git rebase --continue\")" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (utilisez \"git rebase --skip\" pour sauter ce patch)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (utilisez \"git rebase --abort\" pour extraire la branche d'origine)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (tous les conflits sont réglés : lancez \"git rebase --continue\")" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -8215,144 +8391,136 @@ msgstr "" "Vous êtes actuellement en train de fractionner un commit pendant un rebasage " "de la branche '%s' sur '%s'." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "" "Vous êtes actuellement en train de fractionner un commit pendant un rebasage." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Une fois la copie de travail nettoyée, lancez \"git rebase --continue\")" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Vous êtes actuellement en train d'éditer un commit pendant un rebasage de la " "branche '%s' sur '%s'." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "" "Vous êtes actuellement en train d'éditer un commit pendant un rebasage." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (utilisez \"git commit --amend\" pour corriger le commit actuel)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (utilisez \"git rebase --continue\" quand vous avez effectué toutes vos " "modifications)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Picorage en cours." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Vous êtes actuellement en train de picorer le commit %s." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (réglez les conflits puis lancez \"git cherry-pick --continue\")" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (lancez \"git cherry-pick --continue\" pour continuer)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (utilisez \"git cherry-pick --abort\" pour annuler le picorage)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Rétablissement en cours." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Vous êtes actuellement en train de rétablir le commit %s." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (réglez les conflits puis lancez \"git revert --continue\")" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (lancez \"git revert --continue\" pour continuer)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (tous les conflits sont réglés : lancez \"git revert --continue\")" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (utilisez \"git revert --abort\" pour annuler le rétablissement)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Vous êtes en cours de bissection, depuis la branche '%s'." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Vous êtes en cours de bissection." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (utilisez \"git bisect reset\" pour revenir à la branche d'origine)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "Sur la branche " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "rebasage interactif en cours ; sur " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "rebasage en cours ; sur " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "HEAD détachée sur " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "HEAD détachée depuis " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Actuellement sur aucun branche." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Validation initiale" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Aucun commit" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "Fichiers non suivis" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Fichiers ignorés" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8364,32 +8532,32 @@ msgstr "" "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help " "status')." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "Fichiers non suivis non affichés%s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (utilisez -u pour afficher les fichiers non suivis)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "Aucune modification" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou " "\"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "aucune modification ajoutée à la validation\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8398,66 +8566,66 @@ msgstr "" "aucune modification ajoutée à la validation mais des fichiers non suivis " "sont présents (utilisez \"git add\" pour les suivre)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "aucune modification ajoutée à la validation mais des fichiers non suivis " "sont présents\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les " "suivre)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "rien à valider\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "rien à valider, la copie de travail est propre\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Encore aucun commit sur " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (aucune branche)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "différent" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "derrière " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "devant " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "Impossible de %s : vous avez des modifications non indexées." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "de plus, votre index contient des modifications non validées." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "%s impossible : votre index contient des modifications non validées." @@ -8471,7 +8639,7 @@ msgstr "git add [<options>] [--] <chemin>..." msgid "unexpected diff status %c" msgstr "état de diff inattendu %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "échec de la mise à jour des fichiers" @@ -8520,8 +8688,8 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "simuler l'action" @@ -8530,7 +8698,7 @@ msgstr "simuler l'action" msgid "interactive picking" msgstr "sélection interactive" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "sélection interactive des sections" @@ -8703,7 +8871,7 @@ msgstr "décalage horaire invalide" msgid "Patch format detection failed." msgstr "Échec de détection du format du patch." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "échec de la création du répertoire '%s'" @@ -8712,7 +8880,7 @@ msgstr "échec de la création du répertoire '%s'" msgid "Failed to split patches." msgstr "Échec de découpage des patchs." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "impossible d'écrire le fichier d'index" @@ -8753,18 +8921,18 @@ msgstr "ligne d'identification invalide : %.*s" msgid "unable to parse commit %s" msgstr "impossible d'analyser le commit %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 " "points." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "" "Utilisation de l'information de l'index pour reconstruire un arbre de base..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8772,29 +8940,24 @@ msgstr "" "Avez-vous édité le patch à la main ?\n" "Il ne s'applique pas aux blobs enregistrés dans son index." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Retour à un patch de la base et fusion à 3 points..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Échec d'intégration des modifications." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "application à un historique vide" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "impossible de continuer : %s n'existe pas." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"impossible d'être interactif sans entrée standard connectée à un terminal." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Le corps de la validation est :" @@ -8802,35 +8965,36 @@ msgstr "Le corps de la validation est :" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Appliquer ? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all : " -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Application de %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Pas de changement -- Patch déjà appliqué." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "le patch a échoué à %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" "Utilisez 'git am --show-current-patch' pour visualiser le patch en échec" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8841,7 +9005,7 @@ msgstr "" "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce " "patch." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8854,17 +9018,17 @@ msgstr "" "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour " "accepter son état." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "Impossible d'analyser l'objet '%s'." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "échec du nettoyage de l'index" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8872,145 +9036,145 @@ msgstr "" "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n" "Pas de retour à ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valeur invalide pour --patch-format : %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<options>] [(<mbox> | <Maildir>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<options>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "exécution interactive" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "option historique -- no-op" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "permettre de revenir à une fusion à 3 points si nécessaire" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "être silencieux" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "ajouter une ligne Signed-off-by au message de validation" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "recoder en utf-8 (par défaut)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "passer l'option -k à git-mailinfo" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "passer l'option -b à git-mailinfo" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "passer l'option -m à git-mailinfo" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "passer l'option --keep-cr à git-mailsplit fpour le format mbox" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "ne pas passer l'option --keep-cr à git-mailsplit indépendamment de am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "retirer tout le contenu avant la ligne des ciseaux" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "le passer jusqu'à git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "format" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "format de présentation des patchs" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "surcharger le message d'erreur lors d'un échec d'application de patch" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "continuer à appliquer les patchs après résolution d'un conflit" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "synonymes de --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "sauter le patch courant" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "" "restaurer la branche originale et abandonner les applications de patch." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "abandonne l'opération de patch mais garde HEAD où il est." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "afficher le patch en cours d'application." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "mentir sur la date de validation" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "utiliser l'horodatage actuel pour la date d'auteur" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "id-clé" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "signer les commits avec GPG" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(utilisation interne pour git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -9018,17 +9182,17 @@ msgstr "" "L'option -b/--binary ne fait plus rien depuis longtemps,\n" "et elle sera supprimée. Veuillez ne plus l'utiliser." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "échec à la lecture de l'index" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" "le répertoire précédent de rebasage %s existe toujours mais mbox donnée." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -9037,12 +9201,16 @@ msgstr "" "Répertoire abandonné %s trouvé.\n" "Utilisez \"git am --abort\" pour le supprimer." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "" "Pas de résolution de l'opération en cours, nous ne sommes pas dans une " "reprise." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "le mode interactif requiert des rustines sur la ligne de commande" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<options>] [<patch>...]" @@ -9276,79 +9444,84 @@ msgstr "refus de bissecter sur un arbre 'cg-seeked'" msgid "bad HEAD - strange symbolic ref" msgstr "mauvaise HEAD - référence symbolique douteuse" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "réference invalide : '%s'" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "effectuer 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "écrire les termes dans .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "vérifier l'état de la bissection" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "vérifier si des révisions sont attendues" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "réinitialiser l'état de la bissection" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "écrire l'état de la bissection dans BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "vérifier et régler les termes dans un état de la bissection" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "vérifier si les termes bons ou mauvais existent" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "afficher les termes de bissection" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "démarrer une session de bissection" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "pas de journal pour BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms exige deux arguments" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state ne supporte aucun argument" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset supporte soit aucun argument, soit un commit" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write supporte soit 4 arguments, soit 5 arguments" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms exige 3 arguments" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check exige 2 ou 3 arguments" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms exige 0 ou 1 argument" @@ -9360,140 +9533,157 @@ msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<options-de-révision> sont documentés dans git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "couleur attendue : %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "doit finir avec une couleur" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "couleur invalide '%s' dans color.blame.repeatedlines" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "valeur invalide pour blame.coloring" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "référence à ignorer %s introuvable" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "" "Montrer les éléments de blâme au fur et à mesure de leur découverte, de " "manière incrémentale" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Ne pas traiter les commits racine comme des limites (Défaut : désactivé)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Montrer les statistiques de coût d'activité" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Forcer l'affichage de l'état d'avancement" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Montrer le score de sortie pour les éléments de blâme" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "Montrer les noms de fichier originaux (Défaut : auto)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Afficher dans un format propice à la consommation par machine" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "Afficher en format porcelaine avec l'information de commit par ligne" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Utiliser le même mode de sortie que git-annotate (Défaut : désactivé)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Afficher les horodatages bruts (Défaut : désactivé)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Supprimer le nom de l'auteur et l'horodatage (Défaut : désactivé)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "Afficher le courriel de l'auteur au lieu du nom (Défaut : désactivé)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Ignorer les différences d'espace" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "rév" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "ignore <rev> pendant le blâme" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "ignorer les révisions listées dans <fichier>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "" "colorer différemment les métadonnées redondantes avec la ligne précédente" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "colorier les lignes par âge" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "" "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Utiliser les révisions du fichier <fichier> au lieu d'appeler git-rev-list" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Utiliser le contenu de <fichier> comme image finale" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "score" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "Trouver les copies de ligne dans et entre les fichiers" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Trouver les mouvements de ligne dans et entre les fichiers" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "" "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" "--progress ne peut pas être utilisé avec --incremental ou les formats " @@ -9507,18 +9697,18 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "il y a 10 ans et 11 mois" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "le fichier %s n'a qu'%lu ligne" msgstr[1] "le fichier %s n'a que %lu lignes" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Assignation de blâme aux lignes" @@ -9552,7 +9742,7 @@ msgstr "git branch [<options>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<options>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9561,7 +9751,7 @@ msgstr "" "suppression de la branche '%s' qui a été fusionnée dans\n" " '%s', mais pas dans HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9570,12 +9760,12 @@ msgstr "" "branche '%s' non supprimée car elle n'a pas été fusionnée dans\n" " '%s', même si elle est fusionnée dans HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Impossible de rechercher l'objet commit pour '%s'" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9584,125 +9774,125 @@ msgstr "" "La branche '%s' n'est pas totalement fusionnée.\n" "Si vous souhaitez réellement la supprimer, lancez 'git branch -D %s'." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Échec de la mise à jour du fichier de configuration" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "impossible d'utiliser -a avec -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Impossible de rechercher l'objet commit pour HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "branche de suivi '%s' non trouvée." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "branche '%s' non trouvée." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Erreur lors de la suppression de la branche de suivi '%s'" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Erreur lors de la suppression de la branche '%s'" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Branche de suivi %s supprimée (précédemment %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Branche %s supprimée (précédemment %s).\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "impossible d'analyser la chaîne de format" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "impossible de résoudre HEAD" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) pointe hors de refs/heads/" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "La branche %s est en cours de rebasage sur %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "La branche %s est en cours de bissection sur %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "impossible de copier la branche actuelle, il n'y en a pas." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "impossible de renommer la branche actuelle, il n'y en a pas." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nom de branche invalide : '%s'" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Échec de renommage de la branche" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Échec de copie de la branche" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Création d'une copie d'une branche mal nommée '%s'" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Renommage d'une branche mal nommée '%s'" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "La branche a été renommée en %s, mais HEAD n'est pas mise à jour !" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "" "La branche est renommée, mais la mise à jour du fichier de configuration a " "échoué" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "" "La branche est copiée, mais la mise à jour du fichier de configuration a " "échoué" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9713,180 +9903,180 @@ msgstr "" " %s\n" "Les lignes commençant par '%c' seront ignorées.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Options génériques" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "afficher le hachage et le sujet, doublé pour la branche amont" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "supprimer les messages d'information" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "régler le mode de suivi (voir git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "ne pas utiliser" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "amont" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "modifier l'information amont" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Désactiver l'information amont" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "utiliser la coloration dans la sortie" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "agir sur les branches de suivi distantes" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "afficher seulement les branches qui contiennent le commit" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "afficher seulement les branches qui ne contiennent pas le commit" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Actions spécifiques à git-branch :" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "afficher à la fois les branches de suivi et les branches locales" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "supprimer une branche totalement fusionnée" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "supprimer une branche (même non fusionnée)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "déplacer/renommer une branche et son reflog" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "déplacer/renommer une branche, même si la cible existe" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "copier une branche et son reflog" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "copier une branche, même si la cible existe" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "afficher les noms des branches" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "afficher le nom de la branche courante" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "créer le reflog de la branche" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "éditer la description de la branche" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "forcer la création, le déplacement/renommage, ou la suppression" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "afficher seulement les branches qui sont fusionnées" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "afficher seulement les branches qui ne sont pas fusionnées" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "afficher les branches en colonnes" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "objet" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "afficher seulement les branches de l'objet" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "le tri et le filtrage sont non-sensibles à la casse" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "format à utiliser pour la sortie" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD non trouvée sous refs/heads !" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column et --verbose sont incompatibles" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "le nom de branche est requis" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "Impossible de décrire une HEAD détachée" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "impossible d'éditer la description de plus d'une branche" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Aucun commit sur la branche '%s'." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "Aucune branche nommée '%s'." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "trop de branches pour une opération de copie" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "trop d'arguments pour une opération de renommage" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "trop d'arguments pour spécifier une branche amont" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -9894,37 +10084,41 @@ msgstr "" "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur " "aucune branche." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "pas de branche '%s'" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "la branche '%s' n'existe pas" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "trop d'arguments pour désactiver un amont" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "impossible de désactiver une branche amont de HEAD quand elle ne pointe sur " "aucune branche." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branche '%s' n'a aucune information de branche amont" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche" +"Les options -a et -r de 'git branch' n'ont pas de sens avec un nom de " +"branche.\n" +"Vouliez-vous plutôt dire -a|-r --list <motif> ?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9945,7 +10139,7 @@ msgstr "La création d'un colis requiert un dépôt." msgid "Need a repository to unbundle." msgstr "Le dépaquetage d'un colis requiert un dépôt." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9953,7 +10147,7 @@ msgstr "" "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p " "| <type> | --textconv | --filters) [--path=<chemin>] <objet>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9961,74 +10155,74 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "une seule option de traitement ne peut être spécifiée à la fois" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<type> peut être : blob, tree, commit ou tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "afficher le type de l'objet" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "afficher la taille de l'objet" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "afficher avec mise en forme le contenu de l'objet" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "utiliser un chemin spécifique pour --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "autoriser -s et -t à travailler sur des objets cassés/corrompus" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "bufferiser la sortie de --batch" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" "afficher l'information et le contenu des objets passés en entrée standard" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "afficher l'information des objets passés en entrée standard" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "suivre les liens symbolique internes à la copie de travail (utilisé avec --" "batch ou --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "montrer tous les objets avec --batch ou --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "ne pas ordonner la sortie de --batch-all-objects" @@ -10057,8 +10251,8 @@ msgid "terminate input and output records by a NUL character" msgstr "" "terminer les enregistrements en entrée et en sortie par un caractère NUL" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "supprimer l'état d'avancement" @@ -10150,9 +10344,9 @@ msgid "write the content to temporary files" msgstr "écrire le contenu dans des fichiers temporaires" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "chaîne" @@ -10164,93 +10358,116 @@ msgstr "lors de la création de fichiers, préfixer par <chaîne>" msgid "copy out the files from named stage" msgstr "copier les fichiers depuis l'index nommé" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<options>] <branche>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<options>] [<branche>] -- <fichier>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<options>] <branche>" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<options>] [--source=<branche>] <fichier>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "le chemin '%s' n'a pas notre version" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "le chemin '%s' n'a pas leur version" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "le chemin '%s' n'a aucune des versions nécessaires" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "le chemin '%s' n'a pas les versions nécessaires" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "chemin '%s' : impossible de fusionner" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Impossible d'ajouter le résultat de fusion pour '%s'" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "%d conflit du fusion recréé" +msgstr[1] "%d conflits du fusion recréés" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "%d chemin mis à jour depuis %s" +msgstr[1] "%d chemins mis à jour depuis %s" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "%d chemin mis à jour depuis l'index" +msgstr[1] "%d chemins mis à jour depuis l'index" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' ne peut pas être utilisé avec des mises à jour de chemins" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' ne peut pas être utilisé avec %s" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en " "même temps." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "le chemin '%s' n'est pas fusionné" +msgid "neither '%s' or '%s' is specified" +msgstr "ni '%s', ni '%s' spécifié" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "%d conflit du fusion recréé" -msgstr[1] "%d conflits du fusion recréés" +msgid "'%s' must be used when '%s' is not specified" +msgstr "'%s' ne peut pas être utilisé quand '%s' n'est pas spécifié" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "%d chemin mis à jour depuis %s" -msgstr[1] "%d chemins mis à jour depuis %s" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' ou '%s' ne peut pas être utilisé avec %s" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "%d chemin mis à jour depuis l'index" -msgstr[1] "%d chemins mis à jour depuis l'index" +msgid "path '%s' is unmerged" +msgstr "le chemin '%s' n'est pas fusionné" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "vous devez d'abord résoudre votre index courant" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10260,56 +10477,56 @@ msgstr "" "suivants :\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "" "les modifications indexées dans les fichiers suivants seraient perdues : %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Impossible de faire un reflog pour '%s' : %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD est maintenant sur" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "impossible de mettre à jour HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Remise à zéro de la branche '%s'\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Déjà sur '%s'\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Basculement et remise à zéro de la branche '%s'\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Basculement sur la nouvelle branche '%s'\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Basculement sur la branche '%s'\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... et %d en plus.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10332,7 +10549,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10361,24 +10578,28 @@ msgstr[1] "" "git branch <nouvelle-branche> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "erreur interne lors du parcours des révisions" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "La position précédente de HEAD était sur" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Vous êtes sur une branche qui doit encore naître" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "une seule référence attendue" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "une seule référence attendue, %d fournies." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10387,153 +10608,209 @@ msgstr "" "'%s' pourrait être un fichier local ou un branche de suivi.\n" "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "référence invalide : %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "la référence n'est pas un arbre : %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "branche attendue, mais étiquette '%s' reçue" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "une branche est attendue, mais une branche distante '%s' a été reçue" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "une branche est attendue, mais '%s' a été reçue" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "une branche est attendue, mais un commit '%s' a été reçu" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"impossible de basculer de branche pendant une fusion\n" +"Envisagez \"git merge --quit\" ou \"git worktree add\"." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"impossible de basculer de branche pendant une session am\n" +"Envisagez \"git am --quit\" ou \"git worktree add\"." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"impossible de basculer de branche pendant un rebasage\n" +"Envisagez \"git rebase --quit\" ou \"git worktree add\"." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"impossible de basculer de branche pendant un picorage\n" +"Envisagez \"git cherry-pick --quit\" ou \"git worktree add\"." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"impossible de basculer de branche pendant un retour\n" +"Envisagez \"git revert --quit\" ou \"git worktree add\"." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "Vous basculez de branche en cours de bissection" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "impossible d'utiliser des chemins avec un basculement de branches" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' ne peut pas être utilisé avec un basculement de branches" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' ne peut pas être utilisé avec '%s'" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "'%s' n'accepte pas <point-de-départ>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "branche" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "argument de branche ou de commit manquant" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "créer et extraire une nouvelle branche" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "forcer l'affichage de l'état d'avancement" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "créer/réinitialiser et extraire une branche" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "effectuer une fusion à 3 points avec la nouvelle branche" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "créer un reflog pour une nouvelle branche" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "style" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "style de conflit (merge (fusion) ou diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "détacher la HEAD au commit nommé" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "forcer l'extraction (laisser tomber les modifications locales)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "nouvelle branche" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "nouvelle branche sans parent" -#: builtin/checkout.c:1366 -msgid "checkout our version for unmerged files" -msgstr "extraire notre version pour les fichiers non fusionnés" - -#: builtin/checkout.c:1369 -msgid "checkout their version for unmerged files" -msgstr "extraire leur version pour les fichiers non fusionnés" - -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "forcer l'extraction (laisser tomber les modifications locales)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "effectuer une fusion à 3 points avec la nouvelle branche" - -#: builtin/checkout.c:1375 builtin/merge.c:284 +#: builtin/checkout.c:1459 builtin/merge.c:288 msgid "update ignored files (default)" msgstr "mettre à jour les fichiers ignorés (par défaut)" -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "style" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "style de conflit (merge (fusion) ou diff3)" - -#: builtin/checkout.c:1381 -msgid "do not limit pathspecs to sparse entries only" -msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux" - -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "ne pas essayer d'interpréter 'git checkout <branche-inexistante>'" - -#: builtin/checkout.c:1385 +#: builtin/checkout.c:1462 msgid "do not check if another worktree is holding the given ref" msgstr "" "ne pas vérifier si une autre copie de travail contient le référence fournie" -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "forcer l'affichage de l'état d'avancement" +#: builtin/checkout.c:1475 +msgid "checkout our version for unmerged files" +msgstr "extraire notre version pour les fichiers non fusionnés" -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "utiliser le mode de superposition (défaut)" +#: builtin/checkout.c:1478 +msgid "checkout their version for unmerged files" +msgstr "extraire leur version pour les fichiers non fusionnés" + +#: builtin/checkout.c:1482 +msgid "do not limit pathspecs to sparse entries only" +msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux" -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B et --orphan sont mutuellement exclusifs" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p et --overlay sont mutuellement exclusifs" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track requiert un nom de branche" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "nom de branche manquant ; essayez -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "impossible de résoudre %s" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "Vous devez spécifier un ou des chemins à restaurer" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "spécification de chemin invalide" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "" "'%s' n'est pas un commit et une branche '%s' ne peut pas en être créée depuis" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach n'accepte pas un argument de chemin '%s'" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10541,7 +10818,7 @@ msgstr "" "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n" "de l'extraction de l'index." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10570,6 +10847,69 @@ msgstr "" "ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n" "votre config." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "branche" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "créer et extraire une nouvelle branche" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "créer/réinitialiser et extraire une branche" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "créer un reflog pour une nouvelle branche" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "" +"essayer d'interpréter 'git checkout <branche-inexistante>' (par défaut)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "utiliser le mode de superposition (défaut)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "créer et basculer sur une nouvelle branche" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "créer/réinitialiser et basculer sur une branche" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "interpréter 'git switch <branche-inexistante>'" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "laisser tomber les modifications locales" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "de quel <arbre-esque> faire l'extraction" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "restaurer l'index" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "restaurer l'arbre de travail (par défaut)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "ignorer les entrées non-fusionnées" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "utiliser le mode de superposition" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10601,7 +10941,12 @@ msgstr "Ignorerait le dépôt %s\n" msgid "failed to remove %s" msgstr "échec de la suppression de %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "lstat de %s impossible\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10614,7 +10959,7 @@ msgstr "" "foo - sélectionner un élément par un préfixe unique\n" " - (vide) ne rien sélectionner\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10635,38 +10980,38 @@ msgstr "" "* - choisir tous les éléments\n" " - (vide) terminer la sélection\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Hein (%s) ?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Entrez les motifs à ignorer>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Sélectionner les éléments à supprimer" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Supprimer %s [y/N] ? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Au revoir.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10684,64 +11029,64 @@ msgstr "" "help - cet écran\n" "? - aide pour la sélection en ligne" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Commandes ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Et maintenant ?" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Supprimerait l'élément suivant :" msgstr[1] "Supprimerait les éléments suivants :" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Plus de fichier à nettoyer, sortie." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "ne pas afficher les noms des fichiers supprimés" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "forcer" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "nettoyage interactif" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "supprimer les répertoires entiers" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "motif" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "ajouter <motif> aux règles ignore" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "supprimer les fichiers ignorés, aussi" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "supprimer seulement les fichiers ignorés" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x et -X ne peuvent pas être utilisés ensemble" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10749,7 +11094,7 @@ msgstr "" "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de " "nettoyer" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10757,159 +11102,164 @@ msgstr "" "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de " "nettoyer" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "ne pas créer d'extraction" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "créer un dépôt nu" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "créer un dépôt miroir (implique dépôt nu)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "pour cloner depuis un dépôt local" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "ne pas utiliser de liens durs locaux, toujours copier" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "régler comme dépôt partagé" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "spécificateur de chemin" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "initialiser les sous-modules dans le clone" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "nombre de sous-modules clonés en parallèle" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "répertoire-modèle" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "répertoire depuis lequel les modèles vont être utilisés" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "dépôt de référence" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "utiliser seulement --reference pour cloner" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "nom" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "extraire <branche> au lieu de la HEAD du répertoire distant" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "chemin vers git-upload-pack sur le serveur distant" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "profondeur" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "créer un clone superficiel de cette profondeur" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "heure" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "créer un clone superficiel depuis une date spécifique" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "révision" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "" "approfondir l'historique d'un clone superficiel en excluant une révision" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "cloner seulement une branche, HEAD ou --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "" "ne pas cloner les tags et indiquer aux récupérations futures de ne pas le " "faire" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "tous les sous-modules clonés seront superficiels" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "séparer le répertoire git de la copie de travail" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "clé=valeur" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "régler la configuration dans le nouveau dépôt" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "spécifique au serveur" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "option à transmettre" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "n'utiliser que des adresses IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "n'utiliser que des adresses IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "" +"tous les sous-modules clonés utiliseront leur branche de suivi à distance" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10917,148 +11267,148 @@ msgstr "" "Aucun nom de répertoire n'a pu être deviné\n" "Veuillez spécifier un répertoire dans la ligne de commande" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info : impossible d'ajouter une alternative pour '%s' : %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "échec à l'ouverture de '%s'" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s existe et n'est pas un répertoire" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "échec du stat de %s\n" +msgid "failed to start iterator over '%s'" +msgstr "échec du démarrage un itérateur sur '%s'" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "échec pour délier '%s'" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "échec de la création du lien '%s'" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "échec de la copie vers '%s'" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "échec de l'itération sur '%s'" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "fait.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Le clone a réussi, mais l'extraction a échoué.\n" "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n" -"et réessayer l'extraction avec 'git checkout -f HEAD'\n" +"et réessayer avec 'git restore --source=HEAD :/'\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Impossible de trouver la branche distante '%s' à cloner." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "impossible de mettre à jour %s" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "la HEAD distante réfère à une référence non existante, impossible de " "l'extraire.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "impossible d'extraire la copie de travail" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "impossible d'écrire les paramètres dans le fichier de configuration" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "impossible de remballer pour nettoyer" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "impossible de délier le fichier temporaire alternates" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Trop d'arguments." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Vous devez spécifier un dépôt à cloner." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les options --bare et --origin %s sont incompatibles." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare et --separate-git-dir sont incompatibles." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "le dépôt '%s' n'existe pas" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "la profondeur %s n'est pas un entier positif" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" "le chemin de destination '%s' existe déjà et n'est pas un répertoire vide." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "la copie de travail '%s' existe déjà ." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "impossible de créer les répertoires de premier niveau dans '%s'" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "impossible de créer le répertoire de la copie de travail '%s'" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clonage dans le dépôt nu '%s'\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clonage dans '%s'...\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -11066,41 +11416,41 @@ msgstr "" "clone --recursive n'est pas compatible avec à la fois --reference et --" "reference-if-able" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "--depth est ignoré dans les clones locaux : utilisez plutôt \"file://\"." -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "" "--shallow-since est ignoré dans les clones locaux : utilisez plutôt \"file://" "\"." -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" "--shallow-exclude est ignoré dans les clones locaux : utilisez plutôt " "\"file://\"." -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter est ignoré dans les clones locaux ; utilisez plutôt file:// ." -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "le dépôt source est superficiel, option --local ignorée" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local est ignoré" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "La branche distante %s n'a pas été trouvée dans le dépôt amont %s" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Vous semblez avoir cloné un dépôt vide." @@ -11149,7 +11499,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "le parent dupliqué %s est ignoré" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "nom d'objet invalide %s" @@ -11177,13 +11527,13 @@ msgstr "parent" msgid "id of a parent commit object" msgstr "id d'un objet commit parent" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "message" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "message de validation" @@ -11191,8 +11541,8 @@ msgstr "message de validation" msgid "read commit log message from file" msgstr "lire le message de validation depuis un fichier" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "signer la validation avec GPG" @@ -11239,80 +11589,86 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Sinon, veuillez utiliser 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Sinon, veuillez utiliser 'git cherry-pick --skip'\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Si vous souhaitez sauter ce commit, utilisez :\n" +"utilisez ensuite :\n" "\n" -" git reset\n" +" git cherry-pick --continue\n" +"\n" +"pour continuer le picorage des commits restants.\n" +"Si vous souhaitez sauter ce commit, utilisez :\n" +"\n" +" git cherry-pick --skipped\n" "\n" -"Puis \"git cherry-pick --continue\" continuera le picorage \n" -"des commits restants.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "échec du dépaquetage de l'objet arbre HEAD" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "impossible de créer l'index temporaire" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "échec de l'ajout interactif" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "impossible de mettre à jour l'index temporaire" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Impossible de mettre à jour l'arbre de cache principal" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "impossible d'écrire le fichier new_index" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "impossible de faire une validation partielle pendant une fusion." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "impossible de faire une validation partielle pendant un picorage." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "impossible de lire l'index" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "impossible d'écrire le fichier d'index temporaire" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "entête d'auteur manquant dans le commit '%s'" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "le commit '%s' a une ligne d'auteur malformée" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "paramètre --author mal formé" -#: 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" @@ -11320,38 +11676,38 @@ msgstr "" "impossible de sélectionner un caractère de commentaire\n" "qui n'est pas utilisé dans le message de validation actuel" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "impossible de rechercher le commit %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lecture du message de journal depuis l'entrée standard)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "impossible de lire le journal depuis l'entrée standard" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "impossible de lire le fichier de journal '%s'" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "impossible de lire SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "impossible de lire MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "impossible d'écrire le modèle de commit" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11366,7 +11722,7 @@ msgstr "" "\t%s\n" "et essayez à nouveau.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11381,7 +11737,7 @@ msgstr "" "\t%s\n" "et essayez à nouveau.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11391,7 +11747,7 @@ msgstr "" "commençant par '%c' seront ignorées, et un message vide abandonne la " "validation.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11402,148 +11758,148 @@ msgstr "" "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n" "si vous le souhaitez. Un message vide abandonne la validation.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAuteur : %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sDate : %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sValidateur : %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "Impossible de lire l'index" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Erreur lors de la construction des arbres" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Veuillez fournir le message en utilisant l'option -m ou -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author '%s' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun " "auteur existant" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Mode de fichier ignoré invalide '%s'" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Mode de fichier non suivi invalide '%s'" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long et -z sont incompatibles" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "L'utilisation simultanée de --reset-author et --author n'a pas de sens" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "Il n'y a rien à corriger." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Vous êtes en plein picorage -- impossible de corriger (amend)." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Les options --squash et --fixup ne peuvent pas être utilisées ensemble" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Une seule option parmi -c/-C/-F/--fixup peut être utilisée." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author ne peut être utilisé qu'avec -C, -c ou --amend." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Une seule option parmi --include/--only/--all/--interactive/--patch peut " "être utilisée." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "Aucun chemin avec les options --include/--only n'a pas de sens." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "des chemins '%s ...' avec l'option -a n'a pas de sens" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "afficher l'état avec concision" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "afficher l'information de branche" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "afficher l'information de remisage" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "calcule les valeurs complètes en avance/en retard" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "version" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "sortie pour traitement automatique" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "afficher l'état en format long (par défaut)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "terminer les éléments par NUL" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "mode" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, " "no. (Défaut : all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11551,11 +11907,11 @@ msgstr "" "afficher les fichiers ignorés, \"mode\" facultatif : traditional " "(traditionnel), matching (correspondant), no. (Défaut : traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "quand" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11563,238 +11919,256 @@ msgstr "" "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all " "(tous), dirty (sale), untracked (non suivi). (Défaut : all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "afficher les fichiers non suivis en colonnes" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "ne pas détecter les renommages" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "" "détecter les renommages, en spécifiant optionnellement le facteur de " "similarité" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" "Combinaison non supportée d'arguments sur les fichiers ignorés et non-suivis" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "supprimer le résumé après une validation réussie" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "afficher les diff dans le modèle de message de validation" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Options du message de validation" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "lire le message depuis un fichier" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "auteur" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "remplacer l'auteur pour la validation" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "date" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "remplacer la date pour la validation" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "commit" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "réutiliser et éditer le message du commit spécifié" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "réutiliser le message du commit spécifié" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "utiliser un message au format autosquash pour corriger le commit spécifié" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "utiliser un message au format autosquash pour compresser le commit spécifié" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "à présent je suis l'auteur de la validation (utilisé avec -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "ajouter une entrée Signed-off-by :" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "utiliser le fichier de modèle spécifié" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "forcer l'édition du commit" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "inclure l'état dans le modèle de message de validation" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Valider les options des contenus" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "valider tous les fichiers modifiés" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "ajouter les fichiers spécifiés à l'index pour la validation" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "ajouter des fichiers en mode interactif" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "ajouter les modifications en mode interactif" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "valider seulement les fichiers spécifiés" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "éviter d'utiliser les crochets pre-commit et commit-msg" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "afficher ce qui serait validé" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "corriger la validation précédente" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "éviter d'utiliser le crochet post-rewrite" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "accepter d'enregistrer une modification vide" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "accepter d'enregistrer une modification avec un message vide" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Fichier MERGE_HEAD corrompu (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "impossible de lire MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "impossible de lire le message de validation : %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Abandon de la validation dû à un message de validation vide.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Abandon de la validation ; vous n'avez pas édité le message\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "le dépôt a été mis à jour, mais impossible d'écrire le fichier\n" "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n" -"n'a pas été dépassé, puis lancez \"git reset HEAD\" pour réparer." +"n'a pas été dépassé, puis lancez \"git restore --staged :/\" pour réparer." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <objdir>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <objdir>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <objdir>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <objdir>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <options de division>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "répertoire" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "Le répertoire d'objet où stocker le graphe" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" +"si le graphe de commit est divisé, vérifier seulement le fichier sommet" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "impossible d'ouvrir le graphe de commit '%s'" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "commencer le parcours à toutes les réfs" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "scanner les index compactés listés sur stdin à la recherche de commits" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "commencer le parcours aux commits listés sur stdin" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" "inclure tous les commits déjà présents dans le fichier de graphe de commits" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "permettre d'écrire un fichier incrémental de graphe de commit" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" +"le nombre maximum de commits dans un graphe de commit divisé pas de base" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "rapport maximum entre deux niveaux d'un graphe de commit divisé" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs" @@ -11802,7 +12176,7 @@ msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs" msgid "git config [<options>]" msgstr "git config [<options>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "argument --type non reconnu, %s" @@ -11908,7 +12282,7 @@ msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]" msgid "Type" msgstr "Type" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "ce type est assigné à la valeur" @@ -11954,7 +12328,7 @@ msgstr "" "afficher l'origine de la configuration (fichier, entrée standard, blob, " "ligne de commande)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "valeur" @@ -12254,7 +12628,7 @@ msgstr "ne considérer que les étiquettes correspondant à <motif>" msgid "do not consider tags matching <pattern>" msgstr "ne pas considérer les étiquettes correspondant à <motif>" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "afficher les objets commits abrégés en dernier recours" @@ -12430,162 +12804,201 @@ msgstr "pas d'<outil> spécifié pour --tool=<outil>" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "pas de <commande> spécifié pour --extcmd=<commande>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <options> <var d'env>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "type" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "valeur par défaut pour git_env_*(...) en cas d'absence" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "" +"mode silencieux n'utilisant la valeur de git_env_*() que pour le code de " +"sortie" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"l'option `--default` attend une valeur booléenne avec `--type=bool`, pas `%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"l'option `--default` attend une valeur entier long non signé avec `--" +"type=ulong`, pas `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [options-de-liste-de-révisions]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "afficher la progression après <n> objets" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "sélectionner la gestion des étiquettes signées" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "" "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" +"sélectionner la gestion des messages de validation dans un encodage " +"alternatif" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Enregistrer les marques dans ce fichier" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "importer les marques depuis ce fichier" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Afficher l'arbre complet pour chaque commit" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Utiliser la fonction \"done\" pour terminer le flux" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Sauter l'affichage de données de blob" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "spécificateur de référence" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Appliquer le spécificateur de référence aux références exportées" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "anonymise la sortie" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "les parents références qui ne sont pas dans le flux d'export rapide par id " "d'objet" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Afficher les ids d'objet originaux des blobs/commits" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<options>] <groupe>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<options>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "récupérer depuis tous les dépôts distants" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "chemin vers lequel télécharger le paquet sur le poste distant" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "forcer l'écrasement de la branche locale" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "récupérer depuis plusieurs dépôts distants" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "récupérer toutes les étiquettes et leurs objets associés" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "ne pas récupérer toutes les étiquettes (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "nombre de sous-modules récupérés en parallèle" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "" "éliminer les branches de suivi distant si la branche n'existe plus dans le " "dépôt distant" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui " "encombrent les étiquettes modifiées" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "à la demande" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "contrôler la récupération récursive dans les sous-modules" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "conserver le paquet téléchargé" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "permettre la mise à jour de la référence HEAD" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "approfondir l'historique d'un clone superficiel" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "convertir en un dépôt complet" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "préfixer ceci à la sortie du chemin du sous-module" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12593,99 +13006,129 @@ msgstr "" "par défaut pour la récupération récursive de sous-modules (priorité plus " "basse que les fichiers de config)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "accepter les références qui mettent à jour .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "correspondance de référence" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "spécifier une correspondance de référence pour la récupération" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "lancer 'gc --auto' après la récupération" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "vérifier les mises à jour forcées sur toutes les branches mises à jour" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "impossible de trouver la référence HEAD distante" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "" "le paramètre de configuration fetch.output contient une valeur invalide %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "objet %s non trouvé" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[à jour]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[rejeté]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "impossible de récupérer dans la branche actuelle" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[mise à jour de l'étiquette]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "impossible de mettre à jour la référence locale" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "écraserait l'étiquette existante" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[nouvelle étiquette]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[nouvelle branche]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[nouvelle référence]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "mise à jour forcée" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "pas en avance rapide" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"Fetch indique normalement quelles branches ont subi une mise à jour forcée,\n" +"mais ceci a été désactivé. Pour ré-activer, utilisez le drapeau\n" +"'--show-forced-update' ou lancez 'git config fetch.showForcedUpdates true'." + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"%.2f secondes ont été nécessaires pour vérifier les mises à jour forcées.\n" +"Vous pouvez utiliser '--no-show-forced-update' ou lancer\n" +"'git config fetch.showForcedUpdates false' pour éviter ceci.\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s n'a pas envoyé tous les objets nécessaires\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "%s rejeté parce que les racines superficielles ne sont pas mises à jour" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "Depuis %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12694,50 +13137,50 @@ msgstr "" "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n" " 'git remote prune %s' pour supprimer des branches anciennes en conflit" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s sera en suspens)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s est devenu en suspens)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[supprimé]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(aucun(e))" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "L'option \"%s\" est ignorée pour %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "Récupération de %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Impossible de récupérer %s" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12745,7 +13188,7 @@ msgstr "" "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans " "extensions.partialClone" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12753,46 +13196,46 @@ msgstr "" "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n" "distant depuis lesquels les nouvelles révisions devraient être récupérées." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "Vous devez spécifier un nom d'étiquette." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Une profondeur négative dans --deepen n'est pas supportée" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen et --depth sont mutuellement exclusifs" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow sur un dépôt complet n'a pas de sens" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "fetch --all n'accepte pas d'argument de dépôt" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all n'a pas de sens avec des spécifications de référence" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "distant ou groupe distant inexistant : %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "La récupération d'un groupe et les spécifications de référence n'ont pas de " "sens" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12862,7 +13305,7 @@ msgstr "échapper les champs réservés pour compatibilité avec Tcl" msgid "show only <n> matched refs" msgstr "n'afficher que <n> références correspondant" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "respecter les couleurs de formatage" @@ -13030,7 +13473,7 @@ msgstr "Vérification des répertoires d'objet" msgid "Checking %s link" msgstr "Vérification du lien %s" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s invalide" @@ -13116,7 +13559,7 @@ msgstr "afficher la progression" msgid "show verbose names for reachable objects" msgstr "afficher les noms étendus pour les objets inaccessibles" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Vérification des objets" @@ -13149,7 +13592,7 @@ msgstr "échec de l'analyse de '%s' valeur '%s'" msgid "cannot stat '%s'" msgstr "impossible de faire un stat de '%s'" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "impossible de lire '%s'" @@ -13227,7 +13670,7 @@ msgstr "" "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> " "(utilisez --force si ce n'est pas le cas)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13252,266 +13695,266 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "pas de support des fils, ignore %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "impossible de lire l'arbre (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "impossible de faire un grep sur un objet de type %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'option '%c' attend une valeur numérique" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "rechercher dans l'index plutôt que dans la copie de travail" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "rechercher dans les contenus non gérés par git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "rechercher dans les fichiers suivis et non-suivis" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "ignorer les fichiers spécifiés via '.gitignore'" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "rechercher récursivement dans chaque sous-module" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "afficher les lignes qui ne correspondent pas" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "correspondance insensible à la casse" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "rechercher les motifs aux séparateurs de mots" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "traiter les fichiers binaires comme texte" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "ne pas chercher les motifs dans les fichiers binaires" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "traiter les fichiers binaires avec les filtres textconv" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "rechercher dans les sous-répertoires (défaut)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "descendre au plus de <profondeur> dans l'arborescence" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "utiliser des expressions régulières étendues POSIX" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "utiliser des expressions régulières basiques POSIX (par défaut)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "interpréter les motifs comme de chaînes fixes" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "utiliser des expressions régulières compatibles avec Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "afficher les numéros de ligne" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "afficher le numéro de colonne de la première correspondance" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "ne pas pas afficher les noms de fichier" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "afficher les noms de fichier" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "afficher les noms de fichiers relativement au répertoire de base" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "synonyme pour --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "n'afficher que les noms des fichiers sans correspondance" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "imprimer une caractère NUL après le noms de fichier" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "n'afficher que les parties correspondantes d'une ligne" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "afficher le nombre de correspondances au lieu des lignes correspondant" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "mettre en évidence les correspondances" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "" "imprimer une ligne vide entre les correspondances de fichiers différents" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "afficher le nom de fichier une fois au dessus des correspondances du même " "fichier" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "afficher <n> lignes de contexte avant et après les correspondances" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "afficher <n> lignes de contexte avant les correspondances" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "afficher <n> lignes de contexte après les correspondances" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "utiliser <n> fils de travail" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "raccourci pour -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "" "afficher une ligne avec le nom de la fonction avant les correspondances" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "afficher la fonction contenante" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "lire les motifs depuis fichier" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "rechercher <motif>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "combiner les motifs spécifiés par -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "" "indiquer des correspondances avec le code de sortie mais sans rien afficher" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" "n'afficher que les correspondances de fichiers qui correspondent à tous les " "motifs" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "afficher l'arbre d'analyse pour le motif grep" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "pagineur" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "afficher les fichiers correspondant dans le pagineur" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permettre l'appel de grep(1) (ignoré par ce build)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "aucun motif fourni" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "" "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "impossible de résoudre la révision : %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "option de combinaison invalide, ignore --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "pas de support des fils, ignore --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "nombre de fils spécifié invalide (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "option non supportée avec --recurse-submodules" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "--cached et des arbres sont fournis en même temps" @@ -13528,10 +13971,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "type" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "type d'objet" @@ -13648,12 +14087,12 @@ msgstr "aucun visualiseur de manuel n'a pris en charge la demande" msgid "no info viewer handled the request" msgstr "aucun visualiseur de 'info' n'a pris en charge la demande" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "'%s' est un alias de '%s'" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "Mauvais chaîne alias.%s : %s" @@ -13667,291 +14106,286 @@ msgstr "usage : %s%s" msgid "'git help config' for more information" msgstr "'git help config' pour plus d'information" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "type d'objet non correspondant à %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "objet attendu non reçu %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "objet %s : type attendu %s, reçu %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "impossible de remplir %d octet" msgstr[1] "impossible de remplir %d octets" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "fin de fichier prématurée" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "erreur de lecture sur l'entrée" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "plus d'octets utilisés que disponibles" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "le paquet est trop grand pour la définition actuelle de off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "le paquet dépasse la taille maximale permise" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "impossible de créer '%s'" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "impossible d'ouvrir le fichier paquet '%s'" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "la signature du paquet ne correspond pas" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "la version de paquet %<PRIu32> non supportée" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "le paquet a un mauvais objet à l'offset %<PRIuMAX> : %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "la décompression (inflate) a retourné %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "dépassement de la valeur d'offset pour l'objet delta de base" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "l'objet delta de base est hors limite" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "type d'objet inconnu %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "impossible de lire (pread) le fichier paquet" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "fin prématurée du fichier paquet, %<PRIuMAX> octet lu" msgstr[1] "fin prématurée du fichier paquet, %<PRIuMAX> octets lus" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "grave incohérence dans la décompression (inflate)" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "COLLISION SHA1 TROUVÉE AVEC %s !" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "impossible de lire %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "impossible de lire l'information existante de l'objet %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "impossible de lire l'objet existant %s" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "objet blob invalide %s" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "erreur de fsck dans l'objet empaqueté" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Tous les objets enfants de %s ne sont pas accessibles" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "échec d'application du delta" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Réception d'objets" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Indexation d'objets" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "le paquet est corrompu (SHA1 ne correspond pas)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "impossible d'obtenir le statut (fstat) du fichier paquet" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "le paquet est invalide à la fin" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusion extrême dans parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Résolution des deltas" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "impossible de créer le fil : %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "confusion extrême" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "complété avec %d objet local" msgstr[1] "complété avec %d objets locaux" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "" "Somme de contrôle de fin inattendue pour %s (corruption sur le disque ?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "le paquet a %d delta non résolu" msgstr[1] "le paquet a %d deltas non résolus" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "impossible de compresser l'objet ajouté (%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "l'objet local %s est corrompu" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "impossible d'écrire le fichier %s '%s'" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "impossible de fermer le fichier %s écrit '%s'" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "erreur en fermeture du fichier paquet" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "impossible de stocker le fichier paquet" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "impossible de stocker le fichier d'index" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "mauvais pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Impossible d'ouvrir le fichier paquet existant '%s'" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "pas un delta : %d objet" msgstr[1] "pas un delta : %d objets" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "longueur chaînée = %d : %lu objet" msgstr[1] "longueur chaînée = %d : %lu objets" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "Impossible de revenir au répertoire de travail courant" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "mauvais %s" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin ne peut pas être utilisé sans --stdin" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin requiert un dépôt git" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "--verify sans nom de fichier paquet donné" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "erreur de fsck dans les objets paquets" @@ -14046,17 +14480,17 @@ msgstr "permissions" msgid "specify that the git repository is to be shared amongst several users" msgstr "spécifier que le dépôt git sera partagé entre plusieurs utilisateurs" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "impossible de créer le répertoire (mkdir) %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "impossible de se déplacer vers le répertoire (chdir) %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -14065,12 +14499,12 @@ msgstr "" "%s (ou --work-tree=<répertoire>) n'est pas autorisé sans spécifier %s (ou --" "git-dir=<répertoire>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Impossible d'accéder à l'arbre de travail '%s'" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -14078,59 +14512,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<symbole>[(=|:)<valeur>])...] [<fichier>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "éditer les fichiers sur place" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "éliminer les lignes de fin vides" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "où placer les nouvelles lignes terminales" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "action si les lignes terminales existent déjà " -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "action si les lignes terminales manquent" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "éliminer les lignes terminales vides" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "ne pas appliquer les règles de la configuration" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "joindre les valeurs continuées avec des caractères blancs" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "paramètres d'analyse" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "ne pas traiter spécialement ---" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "ligne de fin" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "ligne(s) de fin à ajouter" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer n'a aucune signification avec --only-input" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "aucun fichier en entrée pour l'éditon sur place" @@ -14142,115 +14576,115 @@ msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]" msgid "git show [<options>] <object>..." msgstr "git show [<options>] <objet>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "option --decorate invalide : %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "afficher la source" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "Utiliser le fichier de correspondance de mail" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "décorer seulement les références correspondant à <motif>" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "ne pas décorer les références correspondant à <motif>" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "décorer les options" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "" "Traiter seulement l'intervalle de lignes n,m du fichier en commençant le " "compte à 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "Sortie finale : %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s : fichier incorrect" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "impossible de lire l'objet %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "type inconnu : %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "format.headers sans valeur" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "le nom du répertoire de sortie est trop long" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "impossible d'ouvrir le fichier correctif %s" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "exactement une plage nécessaire" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "ceci n'est pas une plage" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "la lettre de motivation doit être au format courriel" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "échec de création du fichier de lettre de motivation" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to aberrant : %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "deux répertoires de sortie ?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "commit inconnu %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "échec à résoudre '%s' comme une référence valide" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "impossible de trouver la base de fusion exacte" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -14263,279 +14697,275 @@ msgstr "" "Ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> " "manuellement" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "échec à trouver la base de fusion exacte" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "le commit de base devrait être l'ancêtre de la liste de révisions" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "le commit de base ne devrait pas faire partie de la liste de révisions" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "impossible d'obtenir l'id du patch" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "échec d'inférence d'intervalles de différence d'intervalles" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "utiliser [PATCH n/m] même avec un patch unique" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "utiliser [PATCH] même avec des patchs multiples" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "afficher les patchs sur la sortie standard" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "générer une lettre de motivation" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "" "utiliser une séquence simple de nombres pour les nom des fichiers de sortie" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "utiliser <sfx> au lieu de '.patch'" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "démarrer la numérotation des patchs à <n> au lieu de 1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "marquer la série comme une Nième réédition" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "utiliser [RFC PATCH] au lieu de [PATCH]" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "utiliser [<préfixe>] au lieu de [PATCH]" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "stocker les fichiers résultats dans <répertoire>" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "ne pas retirer/ajouter [PATCH]" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "ne pas imprimer les diffs binaires" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "écrire une empreinte à zéro dans l'entête From" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "ne pas inclure un patch correspondant à un commit amont" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "afficher le format du patch au lieu du défaut (patch + stat)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "Communication" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "en-tête" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "ajouter l'en-tête de courriel" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "courriel" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "ajouter l'en-tête \"To:\"" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "ajouter l'en-tête \"Cc:\"" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "ident" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "id-message" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "répondre dans le premier message à <id-message>" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "limite" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "attacher le patch" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "patch à l'intérieur" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "" "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "signature" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "ajouter une signature" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "commit-de-base" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "Ajouter un arbre prérequis à la série de patchs" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "ajouter une signature depuis un fichier" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "ne pas afficher les noms de fichiers des patchs" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "" "afficher la barre de progression durant la phase de génération des patchs" -#: builtin/log.c:1606 -msgid "rev" -msgstr "rév" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" "afficher les modifications par rapport à <rév> dans la première page ou une " "rustine" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" "afficher les modifications par rapport à <refspec> dans la première page ou " "une rustine" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "pourcentage par lequel la création est pondérée" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "ligne d'identification invalide : %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "-n et -k sont mutuellement exclusifs" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "--name-only n'a pas de sens" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "--name-status n'a pas de sens" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "--check n'a pas de sens" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "sortie standard, ou répertoire, lequel ?" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff requiert --cover-letter ou une rustine unique" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Interdiff :" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff contre v%d :" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor requiert --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff requiert --cover-letter ou une rustine unique" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Diff-intervalle :" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Diff-intervalle contre v%d :" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "lecture du fichier de signature '%s' impossible" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Génération des patchs" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "échec de création des fichiers en sortie" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14664,7 +15094,7 @@ msgstr "" msgid "do not print remote URL" msgstr "ne pas afficher les URL distantes" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "exécutable" @@ -14741,190 +15171,194 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "mbox vide : '%s'" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<options>] [<commit>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "le commutateur `m' a besoin d'une valeur" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "le commutateur '%s' a besoin d'une valeur" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Impossible de trouver la stratégie de fusion '%s'.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Les stratégies disponibles sont :" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Les stratégies personnalisées sont :" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "ne pas afficher un diffstat à la fin de la fusion" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "afficher un diffstat à la fin de la fusion" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(synonyme de --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "ajouter (au plus <n>) éléments du journal court au message de validation de " "la fusion" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "créer une validation unique au lieu de faire une fusion" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "effectuer une validation si la fusion réussit (défaut)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "éditer le message avant la validation" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "autoriser l'avance rapide (défaut)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "abandonner si l'avance rapide n'est pas possible" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "vérifier que le commit nommé a une signature GPG valide" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "stratégie" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "stratégie de fusion à utiliser" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "option=valeur" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "option pour la stratégie de fusion sélectionnée" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "" "message de validation de la fusion (pour une fusion sans avance rapide)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "abandonner la fusion en cours" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort mais laisser l'index et l'arbre de travail inchangés" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "continuer la fusion en cours" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "permettre la fusion d'historiques sans rapport" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "vérifier le crochet commit-msg" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "impossible de lancer le remisage." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "échec du remisage" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "pas un objet valide : %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree a échoué" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (rien à compresser)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Validation compressée -- HEAD non mise à jour\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' ne pointe pas sur un commit" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Impossible de gérer autre chose que la fusion de deux têtes." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Options inconnue pour merge-recursive : -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "impossible d'écrire %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "Impossible de lire depuis '%s'" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Pas de validation de la fusion ; utilisez 'git commit' pour terminer la " "fusion.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14936,11 +15370,11 @@ msgstr "" "branche de sujet.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Un message vide abandonne la validation.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14949,70 +15383,74 @@ msgstr "" "Les lignes commençant par '%c' seront ignorées, et un message vide\n" "abandonne la validation.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Message de validation vide." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Merveilleux.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "La fusion automatique a échoué ; réglez les conflits et validez le " "résultat.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "Pas de branche courante." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "Pas de branche distante pour la branche courante." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "Pas de branche amont par défaut définie pour la branche courante." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Pas de branche de suivi pour %s depuis %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Mauvaise valeur '%s' dans l'environnement '%s'" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "pas possible de fusionner ceci dans %s : %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "pas possible de fusionner ceci" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort n'accepte pas d'argument" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Il n'y a pas de fusion à abandonner (MERGE_HEAD manquant)." -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit n'accepte pas d'argument" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue ne supporte aucun argument" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Il n'y a pas de fusion en cours (MERGE_HEAD manquant)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15020,7 +15458,7 @@ msgstr "" "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n" "Veuillez valider vos modifications avant de pouvoir fusionner." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15028,94 +15466,98 @@ msgstr "" "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n" "Veuillez valider vos modifications avant de pouvoir fusionner." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "Vous ne pouvez pas combiner --squash avec --no-ff." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "Vous ne pouvez pas combiner --squash avec --commit." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "Pas de validation spécifiée et merge.defaultToUpstream n'est pas défini." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "La validation compressée vers une tête vide n'est pas encore supportée" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Une validation sans avance rapide n'a pas de sens dans une tête vide" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - pas possible de fusionner ceci" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "" "Possible de fusionner exactement une seule validation dans une tête vide" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "refus de fusionner des historiques sans relation" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Déjà à jour." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Mise à jour %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Essai de fusion vraiment triviale dans l'index...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "Non.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Déjà à jour. Ouais !" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "Pas possible d'avancer rapidement, abandon." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Retour de l'arbre à l'original...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Essai de la stratégie de fusion %s...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Aucune stratégie de fusion n'a pris en charge la fusion.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "La fusion avec la stratégie %s a échoué.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Utilisation de %s pour préparer la résolution à la main.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -15249,23 +15691,39 @@ msgid "allow creation of more than one tree" msgstr "autoriser la création de plus d'un arbre" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<dir>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<taille>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" "répertoire objet contenant un ensemble de paires de fichiers paquet et " "d'index de paquet" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"pendant le repaquetage, collecter les fichiers paquet de plus petite taille " +"dans un lot plus grand que cette taille" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "trop d'arguments" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "l'option --batch-size ne sert que pour la sous-commande 'repack'" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "verbe non reconnu : %s" +msgid "unrecognized subcommand: %s" +msgstr "sous-commande non reconnue : %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15356,53 +15814,53 @@ msgstr "%s, source=%s, destination=%s" msgid "Renaming %s to %s\n" msgstr "Renommage de %s en %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "le renommage de '%s' a échoué" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<options>] <validation>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<options>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<options>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "afficher seulement les noms (pas de SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "utiliser seulement les étiquettes pour nommer les validations" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "utiliser seulement les références correspondant à <motif>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignorer les références correspondant à <motif>" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "" "afficher toutes les validations accessibles depuis toutes les références" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "lire depuis l'entrée standard" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "autoriser l'affichage des noms `non définis` (par défaut)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "déréférencer les étiquettes en entrée (usage interne)" @@ -15549,7 +16007,7 @@ msgstr "impossible d'écrire l'objet note" msgid "the note contents have been left in %s" msgstr "le contenu de la note a été laissé dans %s" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "impossible d'ouvrir ou lire '%s'" @@ -15783,7 +16241,7 @@ msgstr "" "validez le résultat avec 'git notes merges --commit', ou abandonnez la " "fusion avec 'git notes merge --abort'.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Impossible de résoudre '%s' comme une référence valide." @@ -15818,7 +16276,7 @@ msgstr "références-notes" msgid "use notes from <notes-ref>" msgstr "utiliser les notes depuis <références-notes>" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "sous-commande inconnue : %s" @@ -15837,129 +16295,129 @@ msgstr "" "git pack-objects [options...] base-name [< <liste-références> | < <liste-" "objets>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "mauvais CRC d'objet empaqueté pour %s" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "objet empaqueté corrompu pour %s" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "delta récursif détecté pour l'objet %s" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "%u objets commandés, %<PRIu32> attendus" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "le fichier packet est invalide : %s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "ouverture du fichier paquet pour réutilisation impossible : %s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "impossible de rechercher (seek) dans le fichier paquet réutilisé" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "lecture du fichier de paquet réutilisé impossible" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" "désactivation de l'écriture en bitmap, les fichiers paquets sont scindés à " "cause de pack.packSizeLimit" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "Écriture des objets" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "échec du stat de %s" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "désactivation de l'écriture en bitmap car certains objets ne sont pas " "compressés" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "dépassement de décalage de base de delta pour %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "décalage de base de delta est hors limite pour %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "Décompte des objets" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "impossible de récupérer la taille de %s" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "impossible d'analyser l'entête d'objet de %s" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "l'objet %s ne peut être lu" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "paquet sous-optimal - mémoire insuffisante" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Compression par delta en utilisant jusqu'à %d fils d'exécution" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "impossible d'empaqueter les objets joignables depuis l'étiquette %s" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "Compression des objets" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "inconsistance dans le compte de delta" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15968,7 +16426,7 @@ msgstr "" "ID d'objet de bord attendu, reçu des données illisibles :\n" "%s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15977,248 +16435,252 @@ msgstr "" "ID d'objet attendu, reçu des données illisibles :\n" "%s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "valeur invalide pour --missing" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "impossible d'ouvrir l'index de paquet" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "l'objet libre à %s n'a pas pu être examiné" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "impossible de forcer l'objet libre" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "'%s' n'est pas une révision" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "mauvaise révision '%s'" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "impossible d'ajouter les objets récents" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "version d'index non supportée %s" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "mauvaise version d'index '%s'" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "ne pas afficher la barre de progression" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "afficher la barre de progression" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "afficher la barre de progression durant la phase d'écrite des objets" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "similaire à --all-progress quand la barre de progression est affichée" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<version>[,<décalage>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "" "écrire le fichier d'index du paquet dans le format d'index de version " "spécifié" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "taille maximum de chaque fichier paquet en sortie" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "ignorer les objets empruntés à un autre magasin d'objets" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "ignorer les objets empaquetés" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "limiter la fenêtre d'empaquetage par objets" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "" "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "longueur maximum de la chaîne de delta autorisée dans le paquet résultant" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "réutiliser les deltas existants" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "réutiliser les objets existants" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "utiliser les objets OFS_DELTA" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "" "utiliser des fils lors de la recherche pour une meilleure correspondance des " "deltas" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "ne pas créer un paquet vide" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "lire les paramètres de révision depuis l'entrée standard" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "inclure les objets accessibles depuis toute référence" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "inclure les objets référencés par les éléments de reflog" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "inclure les objets référencés par l'index" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "afficher l'empaquetage sur la sortie standard" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "garder les objets inaccessibles" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "empaqueter les objets inaccessibles détachés" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "dépaqueter les objets inaccessibles plus récents que <heure>" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "utiliser l'algorithme de joignabilité creuse" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "créer des paquets légers" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "créer des paquets permettant des récupérations superficielles" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "ignorer les paquets qui ont un fichier .keep" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "ignorer ce paquet" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "niveau de compression du paquet" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "ne pas cacher les validations par greffes" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "utiliser un index en bitmap si disponible pour accélerer le décompte des " "objets" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "écrire un index en bitmap associé à l'index de paquet" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "écrire un index de bitmap si possible" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "gestion des objets manquants" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "respecter les îlots pendant la compression des deltas" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "la profondeur %d de chaîne de delta est trop grande, forcée à %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "pack.deltaCacheLimit est trop grand, forcé à %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size ne peut pas être utilisé pour construire un paquet à " "transférer" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "la taille limite minimale d'un paquet est 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin ne peut pas être utilisé pour construire un paquet indexable" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "impossible d'utiliser --filter sans --stdout" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "Énumération des objets" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" @@ -16273,44 +16735,44 @@ msgstr "Valeur invalide pour %s : %s" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "contrôler la récupération récursive dans les sous-modules" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Options relatives à la fusion" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "autoriser l'avance rapide" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "remiser avant et réappliquer après le rebasage automatiquement" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Options relatives au rapatriement" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "forcer l'écrasement de la branche locale" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "nombre de sous-modules tirés en parallèle" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valeur invalide pour pull.ff : %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -16318,14 +16780,14 @@ msgstr "" "Il n'y a pas de candidate sur laquelle rebaser parmi les références que vous " "venez de récupérer." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Il n'y a pas de candidate avec laquelle fusionner parmi les références que " "vous venez de récupérer." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16333,7 +16795,7 @@ msgstr "" "Généralement, cela signifie que vous avez indiqué un spécificateur\n" "de référence joker qui n'a pas eu de correspondance sur le serveur distant." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16345,44 +16807,44 @@ msgstr "" "configuration\n" "pour la branche actuelle, vous devez spécifier la branche avec la commande." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Vous n'êtes actuellement sur aucune branche." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Veuillez spécifier sur quelle branche vous souhaiter rebaser." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Veuillez spécifier une branche avec laquelle fusionner." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Référez-vous à git-pull(1) pour de plus amples détails." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<distant>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<branche>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "Pas d'information de suivi distant pour la branche actuelle." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" "Si vous souhaitez indiquer l'information de suivi distant pour cette " "branche, vous pouvez le faire avec :" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16392,34 +16854,34 @@ msgstr "" "'%s'\n" "du serveur distant, mais cette référence n'a pas été récupérée." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "impossible d'accéder le commit %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "--verify-signatures est ignoré pour un rebasage" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Mise à jour d'une branche non encore créée avec les changements ajoutés dans " "l'index." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "tirer avec un rebasage" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "veuillez les valider ou les remiser." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16430,7 +16892,7 @@ msgstr "" "avance rapide de votre copie de travail\n" "depuis le commit %s." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16447,15 +16909,15 @@ msgstr "" "$ git reset --hard\n" "pour régénérer." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Impossible de fusionner de multiples branches sur une tête vide." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Impossible de rebaser sur de multiples branches." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "impossible de rebaser avec des modifications de sous-modules enregistrées " @@ -16939,7 +17401,7 @@ msgstr "git rebase--interactive [<options>]" msgid "keep empty commits" msgstr "garder les validations vides" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "autoriser les validations avec des messages vides" @@ -16959,7 +17421,7 @@ msgstr "déplacer les commits qui commencent par squash!/fixup!" msgid "sign commits" msgstr "signer les commits" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "afficher un diffstat de ce qui a changé en amont" @@ -17067,7 +17529,7 @@ msgstr "cmd" msgid "the command to run" msgstr "la commande à lancer" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "re-planifier automatiquement tout `exec` qui échoue" @@ -17075,7 +17537,7 @@ msgstr "re-planifier automatiquement tout `exec` qui échoue" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s requiert un rebasage interactif" @@ -17105,11 +17567,11 @@ msgstr "Impossible de lire '%s'" msgid "Cannot store %s" msgstr "Impossible de stocker %s" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "impossible de déterminer la révision HEAD" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -17123,7 +17585,7 @@ msgstr "" "arrêter\n" "et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -17142,7 +17604,7 @@ msgstr "" "\n" "Résultat, git ne peut pas les rebaser." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -17159,7 +17621,7 @@ msgstr "" " git rebase '<branche>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -17173,127 +17635,127 @@ msgstr "" " git branch --set-upstream-to=%s/<branche> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "les commandes exec ne peut pas contenir de retour à la ligne" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "commande exec vide" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "rebaser sur la branche %s au lieu de la branche amont" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "permettre le lancement du crochet pre-rebase" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "être silencieux. implique --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "ne pas afficher un diffstat de ce qui a changé en amont" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "ajouter une ligne Signed-off-by à chaque message de validation" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "passé à 'git am'" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "passé jusqu'à git-apply" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "picorer tous les commits, même sans modifiant" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "continuer" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "sauter le patch courant et continuer" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "abandonner et extraire la branche d'origine" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "abandonne mais garde HEAD où il est" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "éditer la liste à faire lors d'un rebasage interactif" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "afficher le patch en cours d'application ou de fusion" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "utiliser des stratégies de fusion pour rebaser" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "laisser l'utilisateur éditer la liste des commits à rebaser" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(DÉCONSEILLÉ) essayer de recréer les fusions au lieu de les ignorer" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "préserver les validations vides pendant le rebasage" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "déplace les commits qui commencent par squash!/fixup! sous -i" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "remiser et réappliquer automatiquement avant et après" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "ajouter les lignes exec après chaque commit de la liste éditable" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "autoriser les commits de rebasage avec des messages vides" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "essayer de rebaser les fusions au lieu de les garder" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "utiliser la stratégie de fusion indiquée" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "option" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "passer les arguments jusqu'à la stratégie de fusion" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "rebaser tous les objets inatteignables depuis les racines" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17301,32 +17763,32 @@ msgstr "" "les support de rebase.useBuiltin a été supprimé !\n" "Voir son entrée dans 'git help config' pour plus de détails." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "Il semble que 'git-am' soit en cours. Impossible de rebaser." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "git rebase --preserve-merges est déconseillé. Utilisez --rebase-merges à la " "place." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Pas de rebasage en cours ?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "L'action --edit-todo peut seulement être utilisée lors d'un rebasage " "interactif." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "Impossible de lire HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17334,21 +17796,16 @@ msgstr "" "Vous devez éditer tous les conflits de fusion et\n" "les marquer comme résolus avec git add" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "Impossible de supprimer les changements de l'arbre de travail" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "Impossible de revenir à %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "impossible de supprimer '%s'" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17370,172 +17827,176 @@ msgstr "" "chose\n" "d'important ici.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "l'option `C' attend un valeur numérique" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "mode inconnu : %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy requiert --merge ou --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec requiert --exec ou --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "impossible de combiner les options am avec l'options interactive ou merge" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "erreur : impossible de combiner '--preserve-merges' avec '--reschedule-" "failed-exec'" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "impossible de combiner '--rebase-merges' avec '--strategy-option'" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "impossible de combiner '--rebase-merges' avec '--strategy'" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "amont invalide '%s'" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "Impossible de créer un nouveau commit racine" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "'%s': exactement une base de fusion nécessaire" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "ne pointe pas sur une validation valide : '%s'" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "fatal : pas de branche ou commit '%s'" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Référence inexistante : %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Impossible de résoudre le commit HEAD vers un révision" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Autoremisage impossible" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "réponse de remisage inattendue : '%s'" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "Impossible de créer le répertoire pour '%s'" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Autoremisage créé : %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "impossible de réinitialiser --hard" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD est maintenant à %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Veuillez les valider ou les remiser." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "impossible d'analyser '%s'" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "Impossible de basculer vers %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD est à jour." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "La branche courante %s est à jour.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD est à jour, rebasage forcé." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "La branche courante %s est à jour, rebasage forcé.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "Le crochet pre-rebase a refusé de rebaser." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Changements vers %s :\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Changements de %s sur %s :\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Rembobinage préalable de head pour pouvoir rejouer votre travail par-" "dessus...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "Impossible de détacher HEAD" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Avance rapide de %s sur %s.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <répertoire-git>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17565,7 +18026,7 @@ msgstr "" "Pour éliminer ce message et conserver le comportement par défaut,\n" "réglez « receive.denyCurrentBranch » à 'refuse'." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17585,11 +18046,11 @@ msgstr "" "\n" "Pour éliminer ce message, réglez-le à 'refuse'." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "quiet" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Vous devez spécifier un répertoire." @@ -18184,117 +18645,117 @@ msgstr "" "Utilisez\n" "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" "ne pas démarrer pack-objects pour ré-empaqueter les objects de prometteur" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack : attente de lignes d'Id d'objets en hexa complet seulement depuis " "les objects de paquet." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" "impossible de terminer pack-objects pour ré-empaqueter les objets de " "prometteur" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "empaqueter tout dans un seul paquet" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "identique à -a et transformer les objets inaccessibles en suspens" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "supprimer les paquets redondants et lancer git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "passer --no-reuse-delta à git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "passer --no-reuse-object à git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "ne pas lancer git update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "passer --local à git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "écrire un index en bitmap" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "passer --delta-islands à git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "date approximative" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "avec -a, repaquétiser les objets inaccessibles" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "taille de la fenêtre utilisée pour la compression des deltas" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "octets" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "limite la profondeur maximale des deltas" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "limite le nombre maximal de fils" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "taille maximum de chaque fichier paquet" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "réempaqueter les objets dans des paquets marqués avec .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "ne pas rempaqueter ce paquet" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable et -A sont incompatibles" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Rien de neuf à empaqueter." -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18313,7 +18774,7 @@ msgstr "" "ALERTE : aussi échoué.\n" "ALERTE : Veuillez les renommer manuellement dans %s :\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "échec de la suppression de '%s'" @@ -18725,24 +19186,24 @@ msgstr "Impossible de réinitialiser le fichier d'index à la révision '%s'." msgid "Could not write new index file." msgstr "Impossible d'écrire le nouveau fichier d'index." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "impossible de combiner --exclude-promisor-objects et --missing" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "le filtrage d'objet exige --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "valeur invalide de 'sparse' '%s'" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list ne supporte l'affichage des notes" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet" @@ -18815,47 +19276,51 @@ msgstr "reprendre le retour ou picorage" msgid "cancel revert or cherry-pick sequence" msgstr "annuler le retour ou picorage" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "sauter le commit courant et continuer" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "ne pas valider automatiquement" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "éditer le message de validation" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "numéro-de-parent" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "sélectionner le parent principal" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "stratégie de fusion" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "option pour la stratégie de fusion" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "ajouter le nom de validation" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "préserver les validations vides initialement" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "garder les validations redondantes, vides" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "revert a échoué" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "le picorage a échoué" @@ -19031,117 +19496,117 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "%s ignoré; impossible de gérer plus de %d référence" msgstr[1] "%s ignoré; impossible de gérer plus de %d références" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "aucune référence correspond à %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "afficher les branches de suivi distantes et les branches locales" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "afficher les branches de suivi distantes" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "couleur '*!+-' correspondant à la branche" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "afficher <n> validations de plus après l'ancêtre commun" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "synonyme de more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "supprimer les chaînes de nommage" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "inclure la branche courante" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "nommer les validations avec leurs noms d'objet" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "afficher les bases possibles de fusion" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "afficher les références inaccessibles depuis toute autre référence" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "afficher les validations dans l'ordre topologique" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "" "afficher seulement les validations qui ne sont pas sur la première branche" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "afficher les fusions accessibles depuis une seule pointe" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "tri topologique, maintenant l'ordre par date si possible" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<base>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "" "afficher les <n> plus récents éléments de ref-log en commençant à la base" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog est incompatible avec --all, --remotes, --independant et --merge-" "base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "aucune branche spécifiée, et HEAD est invalide" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "--reflog requiert un nom de branche" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "%d entrée seulement ne peut être montrée en même temps." msgstr[1] "%d entrées seulement ne peuvent être montrée en même temps." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "référence inexistante %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "impossible de gérer plus de %d révision." msgstr[1] "impossible de gérer plus de %d révisions." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "'%s' n'est pas une référence valide." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "impossible de trouver le commit %s (%s)" @@ -19330,95 +19795,95 @@ msgstr "" msgid "No branch name specified" msgstr "Aucune branche spécifiée" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "Impossible de mettre à jour %s avec %s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "message pour le remisage" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" exige un argument <commit>" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Aucun changement sélectionné" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Vous n'avez pas encore la validation initiale" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "Impossible de sauver l'état courant de l'index" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "Impossible de sauver les fichiers non-suivis" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "Impossible de sauver l'état courant de la copie de travail" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "Impossible d'enregistrer l'état de la copie de travail" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "" "Impossible d'utiliser --patch et --include-untracked ou --all en même temps" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Vous avez sûrement oublié 'git add' ?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "Pas de modifications locales à sauver" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Impossible d'initialiser le remisage" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Impossible de sauver l'état courant" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Arbre de travail et état de l'index sauvegardés dans %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Impossible de supprimer les changements de la copie de travail" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "conserver l'index" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "remiser une mode rustine" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "mode silencieux" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "inclure les fichiers non suivis dans la remise" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "inclure les fichiers ignorés" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "impossible d'exécuter %s" @@ -19441,7 +19906,7 @@ msgstr "" msgid "prepend comment character and space to each line" msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Nom de référence complet attendu, %s obtenu" @@ -19455,7 +19920,7 @@ msgstr "submodule--helper print-default-remote n'accepte aucun argument" msgid "cannot strip one component off url '%s'" msgstr "impossible de supprimer un composant de l'URL '%s'" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "ancre alternative pour les chemins relatifs" @@ -19463,8 +19928,8 @@ msgstr "ancre alternative pour les chemins relatifs" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules" @@ -19483,7 +19948,7 @@ msgstr "" "run_command a retourné un statut non-nul pour %s\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19494,20 +19959,20 @@ msgstr "" "modules inclus de %s\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "" "Supprimer la sortie lors de l'entrée dans chaque commande de sous-module" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Parcourir récursivement les sous-modules" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <commande>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19516,60 +19981,60 @@ msgstr "" "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme " "son propre amont d'autorité." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "" "attention : nous vous suggérons de spécifier une commande de mode de mise à " "jour pour le sous-module '%s'\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module " "'%s'" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<options>] [<chemin>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" "Pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le " "chemin '%s'" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "impossible de résoudre HEAD dans le sous-module '%s'" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "récursion impossible dans le sous-module '%s'" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "supprimer la sortie d'état du sous-module" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" @@ -19577,48 +20042,48 @@ msgstr "" "Utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD " "du sous-module" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "parcourir récursivement les sous-modules" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<chemin>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper <nom> <chemin>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Synchronisation de l'URL sous-module pour '%s'\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "échec d'enregistrement de l'URL pour le chemin de sous-module '%s'" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "échec d'obtention du dépôt distant par défaut pour le sous-module '%s'" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "échec de mise à jour du dépôt distant pour le sous-module '%s'" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "" "Supprimer la sortie lors de la synchronisation de l'URL d'un sous-module" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<chemin>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19628,7 +20093,7 @@ msgstr "" "'rm -rf' si vous voulez vraiment le supprimer en incluant tout son " "historique)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19637,84 +20102,84 @@ msgstr "" "L'arbre de travail du sous-module '%s' contient des modifications locales ; " "utilisez '-f' pour les annuler" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Répertoire '%s' nettoyé\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "Impossible de supprimer l'arbre de travail du sous-module '%s'\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "impossible de créer le répertoire vide du sous-module %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "Sous-module '%s' (%s) non enregistré pour le chemin '%s'\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" "Éliminer les arbres de travail des sous-modules même s'ils contiennent des " "modifications locales" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "Désenregistrer tous les sous-modules" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<chemin>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "" "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "" "La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "emplacement où le sous-module sera cloné" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "nom du nouveau sous-module" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "URL depuis laquelle cloner le sous-module" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "profondeur de l'historique des clones superficiels" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "forcer l'affichage de la progression du clonage" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19722,94 +20187,94 @@ msgstr "" "git submodule--helper clone [--prefix=<chemin>] [--quiet] [--reference " "<dépôt>] [--name <nom>] [--depth <profondeur>] --url <url> --path <chemin>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a échoué" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "impossible de créer le répertoire de sous-module pour '%s'" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "mode de mise à jour '%s' invalide pour le chemin de sous-module '%s'" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" "Mode de mise à jour '%s'invalide configuré pour le chemin de sous-module '%s'" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "Le chemin de sous-module '%s' n'est pas initialisé" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "Vous voudriez sûrement utiliser 'update --init' ?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "Sous-module non fusionné %s non traité" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "Sous-module '%s' non traité" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Impossible de cloner '%s'. Réessai prévu" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Impossible de cloner '%s' pour la seconde fois, abandon" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "chemin dans la copie de travail" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "" "chemin dans la copie de travail, traversant les frontières de sous-modules" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "valeurs possibles : rebase, merge, checkout ou none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "Créer un clone superficiel tronqué au nombre de révisions spécifié" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "jobs parallèles" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "spécifie si le clonage initial doit être aussi superficiel" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "ne pas afficher la progression du clonage" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "valeur invalide pour la mise à jour du paramètre" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " @@ -19818,16 +20283,16 @@ msgstr "" "la branche du sous-module %s est configurée pour hériter de la branche du " "superprojet, mais le superprojet n'est sur aucune branche" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "impossible de trouver une poignée de dépôt pour le sous-module '%s'" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "parcourir récursivement les sous-modules" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper embed-git-dir [<options>] [<chemin>...]" @@ -19857,7 +20322,7 @@ msgid "please make sure that the .gitmodules file is in the working tree" msgstr "" "veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s ne gère pas --super-prefix" @@ -19922,17 +20387,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<format>] <nométiquette>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "étiquette '%s' non trouvée." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Étiquette '%s' supprimée (elle était sur %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -19945,7 +20410,7 @@ msgstr "" " %s\n" "Les lignes commençant par '%c' seront ignorées.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -19960,15 +20425,15 @@ msgstr "" "Les lignes commençant par '%c' seront gardées ; vous pouvez les retirer vous-" "même si vous le souhaitez.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "impossible de signer l'étiquette" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "impossible d'écrire le fichier d'étiquettes" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -19983,139 +20448,139 @@ msgstr "" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "mauvais type d'objet." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "pas de message pour l'étiquette ?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Le message pour l'étiquette a été laissé dans %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "afficher les noms des étiquettes" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "affiche <n> lignes de chaque message d'étiquette" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "supprimer des étiquettes" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "vérifier des étiquettes" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Options de création de l'étiquette" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "étiquette annotée, nécessite un message" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "message pour l'étiquette" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "forcer l'édition du message d'étiquetage" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "étiquette annotée et signée avec GPG" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "utiliser une autre clé pour signer l'étiquette" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "remplacer l'étiquette si elle existe" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "créer un reflog" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Options d'affichage des étiquettes" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "afficher la liste des étiquettes sous forme de colonnes" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "afficher seulement les étiquettes qui contiennent la validation" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "afficher seulement les étiquettes qui ne contiennent pas la validation" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "afficher seulement les étiquettes qui sont fusionnées" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "afficher seulement les étiquettes qui ne sont pas fusionnées" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "afficher seulement les étiquettes de l'objet" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column et -n sont incompatibles" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "l'option -n est autorisée seulement en mode de liste" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "l'option --contains est autorisée seulement en mode de liste" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "l'option --contains est autorisée seulement en mode liste" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "l'option --points-at est autorisée seulement en mode liste" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "" "les options --merged et --no-merged ne sont autorisées qu'en mode liste" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "une seule option -F ou -m est autorisée." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "trop de paramètres" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' n'est pas un nom d'étiquette valide." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "l'étiquette '%s' existe déjà " -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n" @@ -20449,15 +20914,15 @@ msgstr "" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "interrompre le transfert après <n> secondes d'inactivité" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <commit>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "afficher le contenu du commit" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "afficher les messages bruts de gpg" @@ -20473,11 +20938,11 @@ msgstr "verbeux" msgid "show statistics only" msgstr "afficher seulement les statistiques" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..." -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "afficher le contenu de l'étiquette" @@ -20509,7 +20974,7 @@ msgstr "git worktree remove [<options>] <arbre-de-travail>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <chemin>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "échec de la suppression de '%s'" @@ -20588,129 +21053,129 @@ msgstr "" "'%s' est un arbre de travail manquant mais déjà enregistré ;\n" "utilisez 'add -f' pour passer outre, ou 'prune' ou 'remove' pour corriger" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "impossible de créer le répertoire de '%s'" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "Préparation de l'arbre de travail (nouvelle branche '%s')" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" "Préparation de l'arbre de travail (réinitialisation de la branche '%s' ; " "précédemment sur %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "Préparation de l'arbre de travail (extraction de '%s')" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "Préparation de l'arbre de travail (HEAD détachée %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "extraire la <branche> même si elle est déjà extraite dans une autre copie de " "travail" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "créer une nouvelle branche" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "créer ou réinitialiser une branche" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "remplissage de la nouvelle copie de travail" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "conserver le verrou sur le nouvel arbre de travail" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "régler le mode de suivi (voir git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "essayer de nommer la nouvelle branche comme la branche amont" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B et --detach sont mutuellement exclusifs" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "" "--[no-]track ne peut être utilisé qu'à la création d'une nouvelle branche" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "raison du verrouillage" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "'%s' n'est pas une copie de travail" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "" "La copie de travail principale ne peut pas être verrouillée ou déverrouillée" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "'%s' est déjà verrouillé, car '%s'" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "'%s' est déjà verrouillé" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "'%s' n'est pas verrouillé" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" "les arbres de travail contenant des sous-modules ne peuvent pas être " "déplacés ou supprimés" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "" "forcer le déplacement même si l'arbre de travail est sale ou verrouillé" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "'%s' est un arbre de travail principal" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "impossible de trouver le nom de la destination à partir de '%s'" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "la cible '%s' existe déjà " -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20720,7 +21185,7 @@ msgstr "" "verrouillage : %s\n" "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20728,37 +21193,37 @@ msgstr "" "impossible de déplacer un arbre de travail verrouillé;\n" "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "la validation a échoué, impossible de déplacer l'arbre de travail : %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "échec au déplacement de '%s' vers '%s'" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "échec du lancement de 'git status' sur '%s'" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "'%s' est sale, utilisez --force pour le supprimer" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "impossible de lancer 'git status' sur '%s', code %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "" "forcer la suppression même si l'arbre de travail est sale ou verrouillé" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20768,7 +21233,7 @@ msgstr "" "verrouillage : %s\n" "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20776,7 +21241,7 @@ msgstr "" "impossible de supprimer un arbre de travail verrouillé;\n" "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "" @@ -20853,53 +21318,55 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "'git help -a' et 'git help -g' listent les sous-commandes disponibles et\n" "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n" -"pour en lire plus à propos d'une commande spécifique ou d'un concept." +"pour en lire plus à propos d'une commande spécifique ou d'un concept.\n" +"Voir 'git help git' pour un survol du système." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "aucun répertoire fourni pour --git-dir\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "aucun espace de nom fournit pour --namespace\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "aucun répertoire fourni pour --work-tree\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "aucun préfixe fourni pour --super-prefix\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c requiert une chaîne de configuration\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "aucun répertoire fourni pour -C\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "option inconnue : %s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "lors de l'expansion de l'alias '%s' : '%s'" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20908,39 +21375,39 @@ msgstr "" "l'alias '%s' modifie les variables d'environnement.\n" "Vous pouvez utiliser '!git' dans l'alias pour le faire" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "alias vide pour %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "alias recursif : %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "échec d'écriture sur la sortie standard" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "échec inconnu d'écriture sur la sortie standard" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "échec de fermeture de la sortie standard" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "boucle d'alias détectée : l'expansion de '%s' ne finit jamais : %s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "impossible d'utiliser %s comme une fonction intégrée" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -20949,13 +21416,13 @@ msgstr "" "usage : %s\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" "l'expansion de l'alias '%s' a échoué : '%s' n'est pas une commande git\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "échec au lancement de la commande '%s' : %s\n" @@ -21137,19 +21604,19 @@ msgstr "date-d'expiration" msgid "no-op (backward compatibility)" msgstr "sans action (rétrocompatibilité)" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "être plus verbeux" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "être plus silencieux" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "utiliser <n> chiffres pour afficher les SHA-1s" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "comment éliminer les espaces et les commentaires # du message" @@ -21166,6 +21633,14 @@ msgid "update the index with reused conflict resolution if possible" msgstr "" "met à jour l'index avec les résolutions de conflit réutilisées si possible" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "HEAD détachée sur " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "HEAD détachée depuis " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Ajouter le contenu de fichiers dans l'index" @@ -21613,218 +22088,226 @@ msgid "Reset current HEAD to the specified state" msgstr "Réinitialiser la HEAD courante à l'état spécifié" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "restaurer les fichiers l'arbre de travail" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "Inverser des commits existants" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Afficher les objets commit dans l'ordre chronologique inverse" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Analyser et préparer les paramètres" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Supprimer des fichiers de la copie de travail et de l'index" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "Envoyer un ensemble de patchs comme courriels" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "Pousser les objets sur un autre dépôt via le protocole Git" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "shell de login restreint pour un accès SSH vers Git seulement" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Résumer la sortie de 'git log'" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Afficher différents types d'objets" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Afficher les branches et leurs commits" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "Afficher l'index de l'archive empaquetée" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Lister les références du dépôt local" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "Le code d'initialisation i18n pour les scripts shell" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "Le code d'initialisation commun aux scripts shell Git" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "Remiser les modifications d'un répertoire de travail sale" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "Ajouter le contenu de fichiers à l'index" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Afficher l'état de la copie de travail" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Retirer les espaces inutiles" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Initialiser, mettre à jour et inspecter les sous-modules" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Opération Bidirectionnelles entre un dépôt Subversion et Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Basculer de branche" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Lire, modifier et supprimer les références symboliques" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "" "Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "Créer un fichier temporaire avec le contenu d'un blob" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Dépaqueter les objets depuis une archive empaquetée" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Enregistrer le contenu d'un fichier de l'arbre de travail dans l'index" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "" "Mettre à jour le nom d'objet stocké dans une référence en toute sécurité" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "" "Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs " "idiots" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Renvoyer une archive dans git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Renvoyer des objets empaquetés dans git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Afficher un variable logique de Git" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Vérifier la signature GPG de commits" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Valider des fichiers d'archive Git empaquetés" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Vérifier la signature GPG d'étiquettes" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Interface web de Git" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Afficher les journaux avec la différence que chaque commit introduit" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Gère de arbres de travail multiples" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Créer un objet arbre depuis l'index courant" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Définition des attributs par chemin" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "interface en ligne de commande et conventions de Git" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Tutoriel du cœur de Git pour les développeurs" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git pour les utilisateurs de CVS" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "Bidouillage de la sortie diff" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Un ensemble minimal utile des commandes de Git pour tous les jours" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Un glossaire Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Crochets utilisés par Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Définition des propriétés de sous-module" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Espaces de nom de Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Disposition d'un dépôt Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Spécification des révisions et portées pour Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Une introduction pratique à Git : deuxième partie" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Une introduction pratique à Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Un aperçu des flux de travail recommandés avec Git" @@ -22245,12 +22728,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "Référez-vous à git-${cmd}(1) pour de plus amples détails." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Autoremisage appliqué." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "Impossible de stocker $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Rebasage ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -22289,7 +22781,7 @@ msgstr "" "\n" "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -22308,83 +22800,83 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1 n'est pas un commit qui peut être picorer" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Nom de commit invalide : $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "Impossible de sauver le sha1 du remplaçant du commit en cours" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Avance rapide sur $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "Avance rapide impossible sur $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "Impossible de déplacer HEAD sur $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "Refus d'écraser un commit de fusion: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Erreur lors de la réapplication de la fusion $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "Impossible de picorer $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Ceci est le ${n}ième message de validation :" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "Le message de validation ${n} sera ignoré :" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Ceci est la combinaison de $count commit." msgstr[1] "Ceci est la combinaison de $count commits." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "Impossible d'écrire $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Ceci est la combinaison de 2 commits." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "Impossible d'appliquer $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22401,31 +22893,31 @@ msgstr "" "le\n" "problème avant de pouvoir reformuler le message du commit." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Arrêté à $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "'$squash_style' impossible avec le commit précédent" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Exécution : $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "L'exécution a échoué : $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "et a mis à jour l'index ou la copie de travail" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -22436,7 +22928,7 @@ msgstr "" "git rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22451,25 +22943,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Commande inconnue : $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Veuillez corriger ceci en utilisant 'git rebase --edit-todo'." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "Rebasage et mise à jour de $head_name avec succès." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "Impossible de supprimer CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22500,12 +22992,12 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "" "Erreur lors de la recherche de l'identité de l'auteur pour corriger le commit" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -22513,40 +23005,40 @@ msgstr "" "Vous avez des modifications non validées dans votre copie de travail.\n" "Veuillez les valider d'abord, puis relancer 'git rebase --continue'." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "impossible de valider les modifications indexées." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "Impossible de lancer l'éditeur" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "Impossible d'extraire $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "Pas de HEAD ?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "Impossible de créer un répertoire temporaire $state_dir" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "Impossible de marquer comme interactif" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)" msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "Impossible d'initialiser les commits réécrits" @@ -22618,81 +23110,81 @@ msgid "Unable to determine absolute path of git directory" msgstr "Impossible de déterminer le chemin absolu du répertoire git" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %s12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "indexé" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "non-indexé" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "binaire" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "rien" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "inchangé" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "%d chemin ajouté\n" msgstr[1] "%d chemins ajoutés\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "%d chemin mis à jour\n" msgstr[1] "%d chemins mis à jour\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "%d chemin inversé\n" msgstr[1] "%d chemins inversés\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "%d chemin touché\n" msgstr[1] "%d chemins touchés\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Mise à jour" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Inverser" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "note : %s n'est plus suivi à présent.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "Ajouter un fichier non-suivi" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "Aucun Fichier non suivi.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -22700,7 +23192,7 @@ msgstr "" "Si le patch s'applique proprement, la section éditée sera\n" "immédiatement marquée comme indexée." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -22708,7 +23200,7 @@ msgstr "" "Si le patch s'applique proprement, la section éditée sera\n" "immédiatement marquée comme remisée." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -22716,7 +23208,8 @@ msgstr "" "Si le patch s'applique proprement, la section éditée sera\n" "immédiatement marquée comme desindexée." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -22724,7 +23217,8 @@ msgstr "" "Si le patch s'applique proprement, la section éditée sera\n" "immédiatement marquée comme appliquée." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -22732,17 +23226,17 @@ msgstr "" "Si le patch s'applique proprement, la section éditée sera\n" "immédiatement marquée comme éliminée." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "impossible d'ouvrir le fichier d'édition de section en écriture : %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "" "Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22756,7 +23250,7 @@ msgstr "" "Les lignes commençant par %s seront éliminées.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" @@ -22766,7 +23260,7 @@ msgstr "" "l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n" "alors l'édition sera abandonnée et la section conservée.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s" @@ -22777,14 +23271,14 @@ msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" "Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" " "l'élimine !) [y|n] ? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22798,7 +23292,7 @@ msgstr "" "a - indexer cette section et toutes les suivantes de ce fichier\n" "d - ne pas indexer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22812,7 +23306,7 @@ msgstr "" "a - remiser cette section et toutes les suivantes de ce fichier\n" "d - ne pas remiser cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22826,7 +23320,7 @@ msgstr "" "a - désindexer cette section et toutes les suivantes de ce fichier\n" "d - ne pas désindexer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22840,7 +23334,7 @@ msgstr "" "a - appliquer cette section et toutes les suivantes de ce fichier\n" "d - ne pas appliquer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22854,7 +23348,7 @@ msgstr "" "a - supprimer cette section et toutes les suivantes de ce fichier\n" "d - ne pas supprimer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22868,7 +23362,7 @@ msgstr "" "a - éliminer cette section et toutes les suivantes de ce fichier\n" "d - ne pas éliminer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22882,7 +23376,21 @@ msgstr "" "a - appliquer cette section et toutes les suivantes de ce fichier\n" "d - ne pas appliquer cette section ni les suivantes de ce fichier" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - appliquer cette section à l'arbre de travail\n" +"n - ne pas appliquer cette section\n" +"q - quitter ; ne pas appliquer cette section ni les autres restantes\n" +"a - appliquer cette section et toutes les suivantes de ce fichier\n" +"d - ne pas appliquer cette section ni les suivantes de ce fichier" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22904,218 +23412,234 @@ msgstr "" "e - éditer manuellement la section actuelle\n" "? - afficher l'aide\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "Les sections sélectionnées ne s'applique pas à l'index !\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Les appliquer quand même à l'arbre de travail ? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Rien n'a été appliqué.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "fichier non-fusionné ignoré : %s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Seuls des fichiers binaires ont changé.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Aucune modification.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Mise à jour par patch" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "Indexer cette section [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Remiser le changement de mode [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Remiser la suppression [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Remiser cette section [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Désindexer le changement de mode [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Désindexer la suppression [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Désindexer cette section [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Appliquer la suppression à l'index [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Appliquer cette section à l'index [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,d" "%s,?] ? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,d" "%s,?] ? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "" "Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d%s,?] ? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "" +"Appliquer le changement de mode dans l'arbre de travail [y,n,q,a,d%s,?] ? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Appliquer la suppression dans l'arbre de travail [y,n,q,a,d%s,?] ? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Appliquer la section à l'arbre de travail [y,n,q,a,d%s,?] ? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "Aucune autre section à atteindre\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "aller à quelle section (<ret> pour voir plus) ? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "aller à quelle section ? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Nombre invalide : '%s'\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Désolé, %d seule section disponible.\n" msgstr[1] "Désolé, Seulement %d sections disponibles.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "aucune autre section à rechercher\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "rechercher la regex ? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Regex de recherche malformée %s : %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "Aucune section ne correspond au motif donné\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "Pas de section précédente\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "Pas de section suivante\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "Désolé, impossible de découper cette section\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "Découpée en %d section.\n" msgstr[1] "Découpée en %d sections.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "Désolé, impossible d'éditer cette section\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Réviser la différence" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -23133,18 +23657,19 @@ msgstr "" "diff - visualiser les diff entre HEAD et l'index\n" "add untracked - ajouter les fichiers non-suivis aux modifications à indexer\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "-- manquant" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "mode de --patch inconnu : %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "argument invalide %s, -- attendu" @@ -23158,31 +23683,31 @@ msgstr "" msgid "local time offset greater than or equal to 24 hours\n" msgstr "le décalage de temps local est plus grand ou égal à 24 heures\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "l'éditeur est sorti en erreur, abandon total" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" "'%s' contient une version intermédiaire du courriel que vous composiez.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "'%s.final' contient le courriel composé.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases est incompatible avec d'autres options\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "Lancement de git format-patch impossible à l'extérieur d'un dépôt\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -23190,39 +23715,39 @@ msgstr "" "`batch-size` et `relogin` doivent être spécifiés ensembles (via la ligne de " "commande ou des options de configuration)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Champ de --suppress-cc inconnu : '%s'\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Paramètre de --confirm inconnu : '%s'\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "" "attention : les guillemets ne sont pas supportés dans alias sendmail : %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "attention : `:include:` n'est pas supporté : %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "" "attention : les redirections `/file` ou `|pipe` ne sont pas supportées : %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "attention : ligne sendmail non reconnue : %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -23237,12 +23762,12 @@ msgstr "" " * en indiquant \"./%s\" si vous désignez un fichier, ou\n" " * en fournissant l'option --format-patch pour une plage.\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Échec à l'ouverture du répertoire %s : %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -23251,7 +23776,7 @@ msgstr "" "fatal : %s : %s\n" "attention : aucun patch envoyé\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -23261,17 +23786,17 @@ msgstr "" "Aucun fichier patch spécifié !\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Ligne de sujet non trouvée dans %s ?" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Impossible d'ouvrir %s en écriture : %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -23285,27 +23810,27 @@ msgstr "" "\n" "Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "Échec à l'ouverture de %s : %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Échec à l'ouverture de %s.final : %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "Le courriel de résumé étant vide, il a été ignoré\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Êtes-vous sur de vouloir utiliser <%s> [y/N] ? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" @@ -23313,11 +23838,11 @@ msgstr "" "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-" "Transfer-Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -23330,22 +23855,22 @@ msgstr "" "a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez " "vraiment envoyer.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "À qui les courriels doivent-ils être envoyés (s'il y en a) ?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "fatal : l'alias '%s' se développe en lui-même\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" "Message-ID à utiliser comme In-Reply-To pour le premier courriel (s'il y en " "a) ? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n" @@ -23353,16 +23878,16 @@ msgstr "erreur : impossible d'extraire une adresse valide depuis : %s\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Que faire de cette adresse ? ([q]uitter|[d]élaisser|[e]diter): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "le chemin vers la CA \"%s\" n'existe pas" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23389,130 +23914,130 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "Envoyer ce courriel ? ([y]es|[n]o|[e]dit|[q]uit|[a]ll) : " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Une réponse est nécessaire" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "Le serveur SMTP nécessaire n'est pas défini correctement." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Le serveur ne supporte pas STARTTLS ! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "échec de STARTTLS ! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "Impossible d'initialiser SMTP. Vérifiez la configuration et utilisez --smtp-" "debug." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "échec de l'envoi de %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Envoi simulé de %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "%s envoyé\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Simulation OK. Le journal indique :\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK. Le journal indique :\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Résultat : " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Résultat : OK\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "impossible d'ouvrir le fichier %s" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Ajout de cc: %s depuis la ligne '%s'\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Ajout de to: %s depuis la ligne '%s'\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) Ajout de cc: %s depuis la ligne '%s'\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(corps) Ajout de cc: %s depuis la ligne '%s'\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Impossible d'exécuter '%s'" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Ajout de %s : %s depuis : '%s'\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) échec de la fermeture du pipe vers '%s'" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "impossible d'envoyer un message comme 7bit" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "codage de transfert invalide" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "impossible d'ouvrir %s :%s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s : le patch contient une ligne plus longue que 998 caractères" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "%s sauté avec un suffix de sauvegarde '%s'.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : " diff --git a/po/git.pot b/po/git.pot index 14c6327266..d799696ad0 100644 --- a/po/git.pot +++ b/po/git.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,71 +18,78 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "" -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "" -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "" -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "" -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "" -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." msgstr "" -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "" -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "" -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "" -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "" -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" "\n" -" git checkout -b <new-branch-name>\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" @@ -94,92 +101,92 @@ msgstr "" msgid "unclosed quote" msgstr "" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "" -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "" -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -190,527 +197,527 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "" msgstr[1] "" -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" "%.*s" msgstr "" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "" -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "" -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "" -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "" -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "" msgstr[1] "" -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "" -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "" -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "" -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "" msgstr[1] "" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "" msgstr[1] "" -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "" msgstr[1] "" -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "" @@ -751,98 +758,98 @@ msgstr "" msgid "not a tree object: %s" msgstr "" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "" @@ -886,7 +893,7 @@ msgstr "" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "" @@ -974,12 +981,12 @@ msgstr "" msgid "a %s revision is needed" msgstr "" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "" @@ -1017,37 +1024,37 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "" msgstr[1] "" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "" -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "" @@ -1166,12 +1173,12 @@ msgstr "" msgid "Not a valid branch point: '%s'." msgstr "" -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "" @@ -1186,8 +1193,8 @@ msgstr "" msgid "unrecognized header: %s%s (%d)" msgstr "" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "" @@ -1196,60 +1203,64 @@ msgstr "" msgid "Repository lacks these prerequisite commits:" msgstr "" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "" msgstr[1] "" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "" -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "" msgstr[1] "" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "" -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "" @@ -1258,8 +1269,8 @@ msgstr "" msgid "invalid color value: %.*s" msgstr "" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "" @@ -1269,7 +1280,7 @@ msgstr "" msgid "%s %s is not a commit!" msgstr "" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1281,215 +1292,270 @@ msgid "" "\"git config advice.graftFileDeprecated false\"" msgstr "" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "" -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" "variable i18n.commitencoding to the encoding your project uses.\n" msgstr "" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "" msgstr[1] "" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "" msgstr[1] "" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "" -#: commit-graph.c:1050 -msgid "too many commits to write graph" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" msgstr "" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "" msgstr[1] "" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" msgstr "" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" msgstr "" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1498,7 +1564,7 @@ msgstr "" msgid "memory exhausted" msgstr "" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1508,294 +1574,294 @@ msgid "" "This might be due to circular includes." msgstr "" -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "" @@ -1951,19 +2017,19 @@ msgstr "" msgid "unable to fork" msgstr "" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "" @@ -2171,7 +2237,7 @@ msgstr "" msgid "island regex from config has too many capture groups (max=%d)" msgstr "" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "" @@ -2236,523 +2302,523 @@ msgid "" "%s" msgstr "" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" msgstr "" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "" -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "" -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" msgstr "" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" msgstr "" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" msgstr "" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" msgstr "" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" msgstr "" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" msgstr "" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -2854,32 +2920,32 @@ msgstr "" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "" @@ -2898,7 +2964,7 @@ msgstr "" msgid "giving up" msgstr "" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "" @@ -2939,154 +3005,130 @@ msgstr "" msgid "error in sideband demultiplexer" msgstr "" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" +#: fetch-pack.c:908 +#, c-format +msgid "Server version is %.*s" msgstr "" -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" msgstr "" -#: fetch-pack.c:959 -#, c-format -msgid "Server version is %.*s" +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" msgstr "" -#: fetch-pack.c:965 +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "" -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "" @@ -3096,18 +3138,18 @@ msgstr "" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "" @@ -3177,7 +3219,7 @@ msgstr "" msgid "These are common Git commands used in various situations:" msgstr "" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "" @@ -3301,7 +3343,7 @@ msgstr "" msgid "name consists only of disallowed characters: %s" msgstr "" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "" @@ -3333,6 +3375,11 @@ msgstr "" msgid "sparse:path filters support has been dropped" msgstr "" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "" @@ -3358,8 +3405,8 @@ msgstr "" msgid "failed to read the cache" msgstr "" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "" @@ -3382,90 +3429,90 @@ msgstr "" msgid "error building trees" msgstr "" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr "" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3476,108 +3523,108 @@ msgid "" "which will accept this suggestion.\n" msgstr "" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree." msgstr "" -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " "left in tree." msgstr "" -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree at %s." msgstr "" -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " "left in tree at %s." msgstr "" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" "\"->\"%s\" in \"%s\"%s" msgstr "" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr "" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3585,310 +3632,323 @@ msgid "" "getting a majority of the files." msgstr "" -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " "implicit directory rename(s) putting the following path(s) there: %s." msgstr "" -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " "implicit directory renames tried to put these paths there: %s" msgstr "" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" ">%s in %s" msgstr "" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " "renamed." msgstr "" -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " "moving it to %s." msgstr "" -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " "in %s, suggesting it should perhaps be moved to %s." msgstr "" -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " "%s; moving it to %s." msgstr "" -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " "was renamed in %s, suggesting it should perhaps be moved to %s." msgstr "" -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" " %s" msgstr "" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "" msgstr[1] "" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "" -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "" @@ -3954,16 +4014,16 @@ msgstr "" msgid "hash mismatch %s" msgstr "" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4214,24 +4274,29 @@ msgstr "" msgid "unable to parse --pretty format" msgstr "" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "" @@ -4342,11 +4407,10 @@ msgid "unordered stage entries for '%s'" msgstr "" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "" @@ -4400,12 +4464,12 @@ msgstr "" msgid "broken index, expect %s in %s, got %s" msgstr "" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "" @@ -4465,19 +4529,19 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "" msgstr[1] "" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" msgstr "" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" msgstr "" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4486,19 +4550,19 @@ msgid "" "\n" msgstr "" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" "\n" msgstr "" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "" @@ -4526,97 +4590,98 @@ msgid "" "\n" msgstr "" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "" @@ -4642,267 +4707,251 @@ msgstr "" msgid "invalid refspec '%s'" msgstr "" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "" -#: ref-filter.c:1453 -#, c-format -msgid "(no branch, rebasing %s)" -msgstr "" - -#: ref-filter.c:1456 -#, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "" - -#: ref-filter.c:1459 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, bisect started on %s)" +msgid "no branch, rebasing %s" msgstr "" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 +#: ref-filter.c:1488 #, c-format -msgid "(HEAD detached at %s)" +msgid "no branch, rebasing detached HEAD %s" msgstr "" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 +#: ref-filter.c:1491 #, c-format -msgid "(HEAD detached from %s)" +msgid "no branch, bisect started on %s" msgstr "" -#: ref-filter.c:1478 -msgid "(no branch)" +#: ref-filter.c:1501 +msgid "no branch" msgstr "" -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "" @@ -5217,8 +5266,8 @@ msgstr "" msgid "Recorded preimage for '%s'" msgstr "" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "" @@ -5252,20 +5301,20 @@ msgstr "" msgid "unable to open rr-cache directory" msgstr "" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "" @@ -5331,74 +5380,79 @@ msgstr "" msgid "could not delete '%s'" msgstr "" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "" + +#: sequencer.c:321 msgid "revert" msgstr "" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "" -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "" -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "" @@ -5406,70 +5460,70 @@ msgstr "" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5486,15 +5540,15 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5509,7 +5563,7 @@ msgid "" " git commit --amend --reset-author\n" msgstr "" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5523,305 +5577,346 @@ msgid "" " git commit --amend --reset-author\n" msgstr "" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr "" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "" -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "" -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "" -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "" -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "" -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "" -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "" -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "" -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" +#: sequencer.c:2668 +msgid "revert is already in progress" msgstr "" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "" + +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "" + +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" msgstr "" -#: sequencer.c:2660 +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -5833,27 +5928,27 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -5863,11 +5958,11 @@ msgid "" "\n" msgstr "" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -5878,76 +5973,76 @@ msgid "" "\n" msgstr "" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -5955,31 +6050,31 @@ msgid "" "You can run \"git stash pop\" or \"git stash drop\" at any time.\n" msgstr "" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -5992,105 +6087,105 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "" -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" "first and then run 'git rebase --continue' again." msgstr "" -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "" -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" "Or you can abort the rebase with 'git rebase --abort'.\n" msgstr "" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "" @@ -6295,194 +6390,199 @@ msgstr "" msgid "reference repository '%s' is grafted" msgstr "" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "" @@ -6502,13 +6602,65 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" "running \"git config advice.objectNameWarning false\"" msgstr "" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "" +msgstr[1] "" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -6542,7 +6694,7 @@ msgstr "" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "" @@ -6581,18 +6733,18 @@ msgstr "" msgid "Submodule '%s' could not be updated." msgstr "" -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" msgstr "" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -6600,16 +6752,16 @@ msgid "" "'%s'\n" msgstr "" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "" -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "" @@ -6768,15 +6920,10 @@ msgstr "" msgid "failed to push all needed submodules" msgstr "" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "" @@ -6819,7 +6966,7 @@ msgstr "" msgid "error while running fast-import" msgstr "" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "" @@ -6872,71 +7019,71 @@ msgstr "" msgid "helper %s does not support 'push-option'" msgstr "" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" "Perhaps you should specify a branch such as 'master'.\n" msgstr "" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "" @@ -6952,7 +7099,7 @@ msgstr "" msgid "empty filename in tree entry" msgstr "" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "" @@ -7132,7 +7279,7 @@ msgid "Aborting\n" msgstr "" #: unpack-trees.c:318 -msgid "Checking out files" +msgid "Updating files" msgstr "" #: unpack-trees.c:350 @@ -7171,32 +7318,32 @@ msgstr "" msgid "invalid '..' path segment" msgstr "" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "" @@ -7215,390 +7362,394 @@ msgstr "" msgid "unable to get current working directory" msgstr "" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr "" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" msgstr "" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "" -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "" -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "" -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "" msgstr[1] "" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." msgstr "" -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "" -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr "" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr "" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "" -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr "" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "" -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "" -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr "" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr "" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "" -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "" -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "" msgstr[1] "" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr "" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "" -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "" msgstr[1] "" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr "" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "" -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr "" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr "" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "" -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "" -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "" -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "" -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr "" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "" -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "" -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr "" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr "" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "" -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "" -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "" -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "" -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "" -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "" - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "" - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "" -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -7606,92 +7757,92 @@ msgid "" "new files yourself (see 'git help status')." msgstr "" -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr "" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "" -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "" -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "" #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "" -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "" -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "" @@ -7705,7 +7856,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "" @@ -7753,8 +7904,8 @@ msgstr "" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "" @@ -7763,7 +7914,7 @@ msgstr "" msgid "interactive picking" msgstr "" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "" @@ -7918,7 +8069,7 @@ msgstr "" msgid "Patch format detection failed." msgstr "" -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "" @@ -7927,7 +8078,7 @@ msgstr "" msgid "Failed to split patches." msgstr "" -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "" @@ -7964,42 +8115,38 @@ msgstr "" msgid "unable to parse commit %s" msgstr "" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "" -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." msgstr "" -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "" -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "" -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "" -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "" @@ -8007,41 +8154,42 @@ msgstr "" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "" -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" "already introduced the same changes; you might want to skip this patch." msgstr "" -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8049,184 +8197,188 @@ msgid "" "You might run `git rm` on a file to accept \"deleted by them\" for it." msgstr "" -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "" -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "" -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "" -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "" -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "" -#: builtin/am.c:2276 +#: builtin/am.c:2274 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." msgstr "" -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" "Use \"git am --abort\" to remove it." msgstr "" -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "" +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "" @@ -8437,79 +8589,84 @@ msgstr "" msgid "bad HEAD - strange symbolic ref" msgstr "" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "" @@ -8521,133 +8678,150 @@ msgstr "" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" @@ -8659,18 +8833,18 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "" msgstr[1] "" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "" @@ -8702,147 +8876,147 @@ msgstr "" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" " '%s', but not yet merged to HEAD." msgstr "" -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" " '%s', even though it is merged to HEAD." msgstr "" -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" "If you are sure you want to delete it, run 'git branch -D %s'." msgstr "" -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "" -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "" -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "" -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "" -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -8850,213 +9024,215 @@ msgid "" "Lines starting with '%c' will be stripped.\n" msgstr "" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "" -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "" -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9075,83 +9251,83 @@ msgstr "" msgid "Need a repository to unbundle." msgstr "" -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" msgstr "" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" msgstr "" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "" @@ -9179,8 +9355,8 @@ msgstr "" msgid "terminate input and output records by a NUL character" msgstr "" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "" @@ -9270,9 +9446,9 @@ msgid "write the content to temporary files" msgstr "" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "" @@ -9284,146 +9460,169 @@ msgstr "" msgid "copy out the files from named stage" msgstr "" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "" -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "" + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "" +msgstr[1] "" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "" +msgstr[1] "" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "" +msgstr[1] "" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" +msgid "neither '%s' or '%s' is specified" msgstr "" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "" -msgstr[1] "" +msgid "'%s' must be used when '%s' is not specified" +msgstr "" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "" -msgstr[1] "" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "" -msgstr[1] "" +msgid "path '%s' is unmerged" +msgstr "" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" "%s" msgstr "" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr "" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -9438,7 +9637,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -9455,181 +9654,231 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "" -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" "Please use -- (and optionally --no-guess) to disambiguate" msgstr "" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "" -#: builtin/checkout.c:1292 -msgid "paths cannot be used with switching branches" +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" msgstr "" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1305 #, c-format -msgid "'%s' cannot be used with switching branches" +msgid "a branch is expected, got remote branch '%s'" msgstr "" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1306 builtin/checkout.c:1314 #, c-format -msgid "'%s' cannot be used with '%s'" +msgid "a branch is expected, got '%s'" msgstr "" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1309 #, c-format -msgid "Cannot switch branch to a non-commit '%s'" +msgid "a branch is expected, got commit '%s'" msgstr "" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." msgstr "" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." msgstr "" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." msgstr "" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." msgstr "" -#: builtin/checkout.c:1361 builtin/worktree.c:496 -msgid "detach HEAD at named commit" +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." msgstr "" -#: builtin/checkout.c:1362 -msgid "set upstream info for new branch" +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" msgstr "" -#: builtin/checkout.c:1364 -msgid "new-branch" +#: builtin/checkout.c:1352 +msgid "paths cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1364 -msgid "new unparented branch" +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 +#, c-format +msgid "'%s' cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1366 -msgid "checkout our version for unmerged files" +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 +#, c-format +msgid "'%s' cannot be used with '%s'" msgstr "" -#: builtin/checkout.c:1369 -msgid "checkout their version for unmerged files" +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" msgstr "" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" +#: builtin/checkout.c:1388 +#, c-format +msgid "Cannot switch branch to a non-commit '%s'" msgstr "" -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" msgstr "" -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" msgstr "" -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "" + +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 msgid "style" msgstr "" -#: builtin/checkout.c:1378 +#: builtin/checkout.c:1440 msgid "conflict style (merge or diff3)" msgstr "" -#: builtin/checkout.c:1381 -msgid "do not limit pathspecs to sparse entries only" +#: builtin/checkout.c:1452 builtin/worktree.c:504 +msgid "detach HEAD at named commit" +msgstr "" + +#: builtin/checkout.c:1453 +msgid "set upstream info for new branch" msgstr "" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" msgstr "" -#: builtin/checkout.c:1385 +#: builtin/checkout.c:1457 +msgid "new-branch" +msgstr "" + +#: builtin/checkout.c:1457 +msgid "new unparented branch" +msgstr "" + +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "" + +#: builtin/checkout.c:1462 msgid "do not check if another worktree is holding the given ref" msgstr "" -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" +#: builtin/checkout.c:1475 +msgid "checkout our version for unmerged files" msgstr "" -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" +#: builtin/checkout.c:1478 +msgid "checkout their version for unmerged files" +msgstr "" + +#: builtin/checkout.c:1482 +msgid "do not limit pathspecs to sparse entries only" msgstr "" -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -9646,6 +9895,68 @@ msgid "" "checkout.defaultRemote=origin in your config." msgstr "" +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -9676,7 +9987,12 @@ msgstr "" msgid "failed to remove %s" msgstr "" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -9685,7 +10001,7 @@ msgid "" " - (empty) select nothing\n" msgstr "" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -9698,38 +10014,38 @@ msgid "" " - (empty) finish selecting\n" msgstr "" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "" -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "" -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -9740,401 +10056,405 @@ msgid "" "? - help for prompt selection" msgstr "" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "" msgstr[1] "" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "" -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" msgstr "" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" msgstr "" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" msgstr "" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" +msgid "failed to start iterator over '%s'" msgstr "" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "" -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "" -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "" -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "" -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "" -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "" -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" msgstr "" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "" @@ -10181,7 +10501,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "" @@ -10209,13 +10529,13 @@ msgstr "" msgid "id of a parent commit object" msgstr "" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "" @@ -10223,8 +10543,8 @@ msgstr "" msgid "read commit log message from file" msgstr "" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "" @@ -10261,111 +10581,114 @@ msgid "" msgstr "" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" msgstr "" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "" -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "" -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "" -#: 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" msgstr "" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -10375,7 +10698,7 @@ msgid "" "and try again.\n" msgstr "" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -10385,14 +10708,14 @@ msgid "" "and try again.\n" msgstr "" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -10400,377 +10723,393 @@ msgid "" "An empty message aborts the commit.\n" msgstr "" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "" -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "" -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "" -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "" -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "" -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "" -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" msgstr "" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" msgstr "" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" msgstr "" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "" @@ -10778,7 +11117,7 @@ msgstr "" msgid "git config [<options>]" msgstr "" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "" @@ -10883,7 +11222,7 @@ msgstr "" msgid "Type" msgstr "" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "" @@ -10927,7 +11266,7 @@ msgstr "" msgid "show origin of config (file, standard input, blob, command line)" msgstr "" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "" @@ -11204,7 +11543,7 @@ msgstr "" msgid "do not consider tags matching <pattern>" msgstr "" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "" @@ -11375,350 +11714,406 @@ msgstr "" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" msgstr "" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr "" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr "" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" msgstr "" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "" -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "" -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -11785,7 +12180,7 @@ msgstr "" msgid "show only <n> matched refs" msgstr "" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "" @@ -11951,7 +12346,7 @@ msgstr "" msgid "Checking %s link" msgstr "" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "" @@ -12036,7 +12431,7 @@ msgstr "" msgid "show verbose names for reachable objects" msgstr "" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "" @@ -12069,7 +12464,7 @@ msgstr "" msgid "cannot stat '%s'" msgstr "" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "" @@ -12135,7 +12530,7 @@ msgid "" "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" msgstr "" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -12158,258 +12553,258 @@ msgstr "" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "" @@ -12424,10 +12819,6 @@ msgid "git hash-object --stdin-paths" msgstr "" #: builtin/hash-object.c:98 -msgid "type" -msgstr "" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "" @@ -12538,12 +12929,12 @@ msgstr "" msgid "no info viewer handled the request" msgstr "" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "" @@ -12557,290 +12948,285 @@ msgstr "" msgid "'git help config' for more information" msgstr "" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "" @@ -12933,87 +13319,87 @@ msgstr "" msgid "specify that the git repository is to be shared amongst several users" msgstr "" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" "dir=<directory>)" msgstr "" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" msgstr "" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "" @@ -13025,384 +13411,380 @@ msgstr "" msgid "git show [<options>] <object>..." msgstr "" -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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=<base-commit-id> manually" msgstr "" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "" -#: builtin/log.c:1606 -msgid "rev" -msgstr "" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -13523,7 +13905,7 @@ msgstr "" msgid "do not print remote URL" msgstr "" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "" @@ -13596,361 +13978,373 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "" -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr "" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "" -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" "\n" msgstr "" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" "the commit.\n" msgstr "" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "" -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "" -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "" -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "" -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "" -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "" -#: builtin/merge.c:1349 -msgid "No commit specified and merge.defaultToUpstream not set." +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." msgstr "" #: builtin/merge.c:1366 +msgid "No commit specified and merge.defaultToUpstream not set." +msgstr "" + +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "" -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "" -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -14081,20 +14475,32 @@ msgid "allow creation of more than one tree" msgstr "" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" msgstr "" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" +msgid "unrecognized subcommand: %s" msgstr "" #: builtin/mv.c:18 @@ -14184,52 +14590,52 @@ msgstr "" msgid "Renaming %s to %s\n" msgstr "" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "" -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "" @@ -14369,7 +14775,7 @@ msgstr "" msgid "the note contents have been left in %s" msgstr "" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "" @@ -14590,7 +14996,7 @@ msgid "" "abort'.\n" msgstr "" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "" @@ -14624,7 +15030,7 @@ msgstr "" msgid "use notes from <notes-ref>" msgstr "" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "" @@ -14639,369 +15045,373 @@ msgid "" "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" msgstr "" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" @@ -15055,61 +15465,61 @@ msgstr "" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "" -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." msgstr "" -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -15117,74 +15527,74 @@ msgid "" "for your current branch, you must specify a branch on the command line." msgstr "" -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "" -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "" -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "" -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "" -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "" -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" "from the remote, but no such ref was fetched." msgstr "" -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "" -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "" -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "" -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -15192,7 +15602,7 @@ msgid "" "commit %s." msgstr "" -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -15203,15 +15613,15 @@ msgid "" "to recover." msgstr "" -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "" -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "" -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" @@ -15612,7 +16022,7 @@ msgstr "" msgid "keep empty commits" msgstr "" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "" @@ -15632,7 +16042,7 @@ msgstr "" msgid "sign commits" msgstr "" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "" @@ -15740,7 +16150,7 @@ msgstr "" msgid "the command to run" msgstr "" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "" @@ -15748,7 +16158,7 @@ msgstr "" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "" @@ -15778,11 +16188,11 @@ msgstr "" msgid "Cannot store %s" msgstr "" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -15791,7 +16201,7 @@ msgid "" "abort\"." msgstr "" -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -15803,7 +16213,7 @@ msgid "" "As a result, git cannot rebase them." msgstr "" -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -15814,7 +16224,7 @@ msgid "" "\n" msgstr "" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -15823,174 +16233,169 @@ msgid "" "\n" msgstr "" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." msgstr "" -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "" -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" msgstr "" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -16003,167 +16408,171 @@ msgid "" "valuable there.\n" msgstr "" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "" -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "" -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "" -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "" -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -16180,7 +16589,7 @@ msgid "" "'receive.denyCurrentBranch' configuration variable to 'refuse'." msgstr "" -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -16192,11 +16601,11 @@ msgid "" "To squelch this message, you can set it to 'refuse'." msgstr "" -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "" @@ -16759,111 +17168,111 @@ msgid "" "--no-write-bitmap-index or disable the pack.writebitmaps configuration." msgstr "" -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "" -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -16875,7 +17284,7 @@ msgid "" "WARNING: Please rename them in %s manually:\n" msgstr "" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "" @@ -17266,24 +17675,24 @@ msgstr "" msgid "Could not write new index file." msgstr "" -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "" @@ -17350,47 +17759,51 @@ msgstr "" msgid "cancel revert or cherry-pick sequence" msgstr "" -#: builtin/revert.c:106 -msgid "don't automatically commit" +#: builtin/revert.c:105 +msgid "skip current commit and continue" msgstr "" #: builtin/revert.c:107 +msgid "don't automatically commit" +msgstr "" + +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "" @@ -17545,113 +17958,113 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "" msgstr[1] "" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "" msgstr[1] "" -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "" msgstr[1] "" -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "" -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "" @@ -17827,94 +18240,94 @@ msgstr "" msgid "No branch name specified" msgstr "" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "" @@ -17935,7 +18348,7 @@ msgstr "" msgid "prepend comment character and space to each line" msgstr "" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "" @@ -17949,7 +18362,7 @@ msgstr "" msgid "cannot strip one component off url '%s'" msgstr "" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "" @@ -17957,8 +18370,8 @@ msgstr "" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "" @@ -17975,7 +18388,7 @@ msgid "" "." msgstr "" -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -17983,312 +18396,312 @@ msgid "" "." msgstr "" -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " "authoritative upstream." msgstr "" -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" msgstr "" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " "really want to remove it including all of its history)" msgstr "" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " "them" msgstr "" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" msgstr "" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " "the superproject is not on any branch" msgstr "" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "" @@ -18317,7 +18730,7 @@ msgstr "" msgid "please make sure that the .gitmodules file is in the working tree" msgstr "" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "" @@ -18376,17 +18789,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "" -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "" -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -18395,7 +18808,7 @@ msgid "" "Lines starting with '%c' will be ignored.\n" msgstr "" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -18405,15 +18818,15 @@ msgid "" "want to.\n" msgstr "" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -18422,138 +18835,138 @@ msgid "" "\tgit tag -f %s %s^{}" msgstr "" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "" -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "" -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "" -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "" @@ -18857,15 +19270,15 @@ msgstr "" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "" -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "" @@ -18881,11 +19294,11 @@ msgstr "" msgid "show statistics only" msgstr "" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "" -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "" @@ -18917,7 +19330,7 @@ msgstr "" msgid "git worktree unlock <path>" msgstr "" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "" @@ -18986,175 +19399,175 @@ msgid "" "use 'add -f' to override, or 'prune' or 'remove' to clear" msgstr "" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" "use 'move -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" "use 'remove -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "" @@ -19219,101 +19632,102 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" "You can use '!git' in the alias to do this" msgstr "" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" "\n" msgstr "" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "" @@ -19487,19 +19901,19 @@ msgstr "" msgid "no-op (backward compatibility)" msgstr "" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "" @@ -19515,6 +19929,14 @@ msgstr "" msgid "update the index with reused conflict resolution if possible" msgstr "" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "" + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "" + #: command-list.h:50 msgid "Add file contents to the index" msgstr "" @@ -19940,214 +20362,222 @@ msgid "Reset current HEAD to the specified state" msgstr "" #: command-list.h:156 -msgid "Revert some existing commits" +msgid "Restore working tree files" msgstr "" #: command-list.h:157 -msgid "Lists commit objects in reverse chronological order" +msgid "Revert some existing commits" msgstr "" #: command-list.h:158 -msgid "Pick out and massage parameters" +msgid "Lists commit objects in reverse chronological order" msgstr "" #: command-list.h:159 -msgid "Remove files from the working tree and from the index" +msgid "Pick out and massage parameters" msgstr "" #: command-list.h:160 -msgid "Send a collection of patches as emails" +msgid "Remove files from the working tree and from the index" msgstr "" #: command-list.h:161 -msgid "Push objects over Git protocol to another repository" +msgid "Send a collection of patches as emails" msgstr "" #: command-list.h:162 -msgid "Restricted login shell for Git-only SSH access" +msgid "Push objects over Git protocol to another repository" msgstr "" #: command-list.h:163 -msgid "Summarize 'git log' output" +msgid "Restricted login shell for Git-only SSH access" msgstr "" #: command-list.h:164 -msgid "Show various types of objects" +msgid "Summarize 'git log' output" msgstr "" #: command-list.h:165 -msgid "Show branches and their commits" +msgid "Show various types of objects" msgstr "" #: command-list.h:166 -msgid "Show packed archive index" +msgid "Show branches and their commits" msgstr "" #: command-list.h:167 -msgid "List references in a local repository" +msgid "Show packed archive index" msgstr "" #: command-list.h:168 -msgid "Git's i18n setup code for shell scripts" +msgid "List references in a local repository" msgstr "" #: command-list.h:169 -msgid "Common Git shell script setup code" +msgid "Git's i18n setup code for shell scripts" msgstr "" #: command-list.h:170 -msgid "Stash the changes in a dirty working directory away" +msgid "Common Git shell script setup code" msgstr "" #: command-list.h:171 -msgid "Add file contents to the staging area" +msgid "Stash the changes in a dirty working directory away" msgstr "" #: command-list.h:172 -msgid "Show the working tree status" +msgid "Add file contents to the staging area" msgstr "" #: command-list.h:173 -msgid "Remove unnecessary whitespace" +msgid "Show the working tree status" msgstr "" #: command-list.h:174 -msgid "Initialize, update or inspect submodules" +msgid "Remove unnecessary whitespace" msgstr "" #: command-list.h:175 -msgid "Bidirectional operation between a Subversion repository and Git" +msgid "Initialize, update or inspect submodules" msgstr "" #: command-list.h:176 -msgid "Read, modify and delete symbolic refs" +msgid "Bidirectional operation between a Subversion repository and Git" msgstr "" #: command-list.h:177 -msgid "Create, list, delete or verify a tag object signed with GPG" +msgid "Switch branches" msgstr "" #: command-list.h:178 -msgid "Creates a temporary file with a blob's contents" +msgid "Read, modify and delete symbolic refs" msgstr "" #: command-list.h:179 -msgid "Unpack objects from a packed archive" +msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "" #: command-list.h:180 -msgid "Register file contents in the working tree to the index" +msgid "Creates a temporary file with a blob's contents" msgstr "" #: command-list.h:181 -msgid "Update the object name stored in a ref safely" +msgid "Unpack objects from a packed archive" msgstr "" #: command-list.h:182 -msgid "Update auxiliary info file to help dumb servers" +msgid "Register file contents in the working tree to the index" msgstr "" #: command-list.h:183 -msgid "Send archive back to git-archive" +msgid "Update the object name stored in a ref safely" msgstr "" #: command-list.h:184 -msgid "Send objects packed back to git-fetch-pack" +msgid "Update auxiliary info file to help dumb servers" msgstr "" #: command-list.h:185 -msgid "Show a Git logical variable" +msgid "Send archive back to git-archive" msgstr "" #: command-list.h:186 -msgid "Check the GPG signature of commits" +msgid "Send objects packed back to git-fetch-pack" msgstr "" #: command-list.h:187 -msgid "Validate packed Git archive files" +msgid "Show a Git logical variable" msgstr "" #: command-list.h:188 -msgid "Check the GPG signature of tags" +msgid "Check the GPG signature of commits" msgstr "" #: command-list.h:189 -msgid "Git web interface (web frontend to Git repositories)" +msgid "Validate packed Git archive files" msgstr "" #: command-list.h:190 -msgid "Show logs with difference each commit introduces" +msgid "Check the GPG signature of tags" msgstr "" #: command-list.h:191 -msgid "Manage multiple working trees" +msgid "Git web interface (web frontend to Git repositories)" msgstr "" #: command-list.h:192 -msgid "Create a tree object from the current index" +msgid "Show logs with difference each commit introduces" msgstr "" #: command-list.h:193 -msgid "Defining attributes per path" +msgid "Manage multiple working trees" msgstr "" #: command-list.h:194 -msgid "Git command-line interface and conventions" +msgid "Create a tree object from the current index" msgstr "" #: command-list.h:195 -msgid "A Git core tutorial for developers" +msgid "Defining attributes per path" msgstr "" #: command-list.h:196 -msgid "Git for CVS users" +msgid "Git command-line interface and conventions" msgstr "" #: command-list.h:197 -msgid "Tweaking diff output" +msgid "A Git core tutorial for developers" msgstr "" #: command-list.h:198 -msgid "A useful minimum set of commands for Everyday Git" +msgid "Git for CVS users" msgstr "" #: command-list.h:199 -msgid "A Git Glossary" +msgid "Tweaking diff output" msgstr "" #: command-list.h:200 -msgid "Hooks used by Git" +msgid "A useful minimum set of commands for Everyday Git" msgstr "" #: command-list.h:201 -msgid "Specifies intentionally untracked files to ignore" +msgid "A Git Glossary" msgstr "" #: command-list.h:202 -msgid "Defining submodule properties" +msgid "Hooks used by Git" msgstr "" #: command-list.h:203 -msgid "Git namespaces" +msgid "Specifies intentionally untracked files to ignore" msgstr "" #: command-list.h:204 -msgid "Git Repository Layout" +msgid "Defining submodule properties" msgstr "" #: command-list.h:205 -msgid "Specifying revisions and ranges for Git" +msgid "Git namespaces" msgstr "" #: command-list.h:206 -msgid "A tutorial introduction to Git: part two" +msgid "Git Repository Layout" msgstr "" #: command-list.h:207 -msgid "A tutorial introduction to Git" +msgid "Specifying revisions and ranges for Git" msgstr "" #: command-list.h:208 +msgid "A tutorial introduction to Git: part two" +msgstr "" + +#: command-list.h:209 +msgid "A tutorial introduction to Git" +msgstr "" + +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "" @@ -20533,12 +20963,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "" -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "" + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -20559,7 +20998,7 @@ msgid "" "These lines can be re-ordered; they are executed from top to bottom.\n" msgstr "" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -20571,83 +21010,83 @@ msgid "" "\tgit rebase --continue" msgstr "" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "" msgstr[1] "" -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "" -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -20657,31 +21096,31 @@ msgid "" "you are able to reword the commit." msgstr "" -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -20689,7 +21128,7 @@ msgid "" msgstr "" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -20699,25 +21138,25 @@ msgid "" "\tgit rebase --continue" msgstr "" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "" -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "" -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -20735,50 +21174,50 @@ msgid "" " git rebase --continue\n" msgstr "" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." msgstr "" -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "" -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "" msgstr[1] "" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "" @@ -20840,120 +21279,122 @@ msgid "Unable to determine absolute path of git directory" msgstr "" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." msgstr "" -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." msgstr "" -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." msgstr "" -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." msgstr "" -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." msgstr "" -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -20963,14 +21404,14 @@ msgid "" msgstr "" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" "aborted and the hunk is left unchanged.\n" msgstr "" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "" @@ -20981,12 +21422,12 @@ msgstr "" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -20995,7 +21436,7 @@ msgid "" "d - do not stage this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -21004,7 +21445,7 @@ msgid "" "d - do not stash this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -21013,7 +21454,7 @@ msgid "" "d - do not unstage this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -21022,7 +21463,7 @@ msgid "" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -21031,7 +21472,7 @@ msgid "" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -21040,7 +21481,7 @@ msgid "" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -21049,7 +21490,16 @@ msgid "" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -21062,211 +21512,226 @@ msgid "" "? - print help\n" msgstr "" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "" -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "" -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "" + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "" + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "" + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "" -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "" -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "" -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "" msgstr[1] "" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -21277,18 +21742,19 @@ msgid "" "changes\n" msgstr "" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "" @@ -21301,66 +21767,66 @@ msgstr "" msgid "local time offset greater than or equal to 24 hours\n" msgstr "" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" msgstr "" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -21370,36 +21836,36 @@ msgid "" " * Giving --format-patch option if you mean a range.\n" msgstr "" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" "warning: no patches were sent\n" msgstr "" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" "\n" msgstr "" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -21408,37 +21874,37 @@ msgid "" "Clear the body content if you don't wish to send a summary.\n" msgstr "" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "" -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" msgstr "" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "" -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -21447,20 +21913,20 @@ msgid "" "want to send.\n" msgstr "" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "" @@ -21468,16 +21934,16 @@ msgstr "" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "" -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -21494,128 +21960,128 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "" -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "" -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "" -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "" @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" -"PO-Revision-Date: 2019-06-03 21:37+0200\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" +"PO-Revision-Date: 2019-08-11 11:48+0200\n" "Last-Translator: Alessandro Menti <alessandro.menti@alessandromenti.it>\n" "Language-Team: Italian <>\n" "Language: it\n" @@ -20,51 +20,51 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 19.04.1\n" +"X-Generator: Lokalize 19.04.3\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%ssuggerimento: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" "Il cherry picking non è possibile perché ci sono file di cui non è stato " "eseguito il merge." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "" "Il commit non è possibile perché ci sono file di cui non è stato eseguito il " "merge." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "" "Il merge non è possibile perché ci sono file di cui non è stato eseguito il " "merge." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "" "Il pull non è possibile perché ci sono file di cui non è stato eseguito il " "merge." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "" "Il revert non è possibile perché ci sono file di cui non è stato eseguito il " "merge." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "" "Impossibile eseguire il %s perché ci sono file di cui non è stato eseguito " "il merge." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -72,35 +72,42 @@ msgstr "" "Correggili nell'albero di lavoro, quindi usa 'git add/rm <file>...' come " "appropriato per risolverli ed esegui un commit." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Esco a causa di un conflitto non risolto." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Il merge non è stato concluso (esiste MERGE_HEAD)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Esegui il commit delle modifiche prima di eseguire il merge." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Esco a causa di un merge non terminato." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" "\n" -" git checkout -b <new-branch-name>\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" "Nota: eseguo il checkout di '%s'.\n" @@ -110,13 +117,20 @@ msgstr "" "sperimentali ed eseguirne il commit, e puoi scartare qualunque commit " "eseguito\n" "in questo stato senza che ciò abbia alcuna influenza sugli altri branch " -"eseguendo\n" -"un nuovo checkout.\n" +"tornando\n" +"su un branch.\n" "\n" "Se vuoi creare un nuovo branch per mantenere i commit creati, puoi farlo\n" -"(ora o in seguito) rieseguendo il checkout con il parametro -b. Ad esempio:\n" +"(ora o in seguito) usando l'opzione -c con il comando switch. Ad esempio:\n" +"\n" +" git switch -c <nome nuovo branch>\n" +"\n" +"Oppure puoi annullare quest'operazione con:\n" +"\n" +" git switch -\n" "\n" -" git checkout -b <nome-nuovo-branch>\n" +"Disattiva questo consiglio impostando la variabile di configurazione\n" +"advice.detachedHead a false\n" "\n" #: alias.c:50 @@ -127,95 +141,95 @@ msgstr "la riga di comando termina con \\" msgid "unclosed quote" msgstr "virgolette non chiuse" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "opzione spazi bianchi '%s' non riconosciuta" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "opzione ignora spazi bianchi '%s' non riconosciuta" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject e --3way non possono essere usati insieme." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached e --3way non possono essere usati insieme." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way al di fuori di un repository" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index al di fuori di un repository" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached al di fuori di un repository" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Impossibile preparare l'espressione regolare timestamp %s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec ha restituito %d per l'input: %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "impossibile trovare il nome del file nella patch alla riga %d" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: git-diff errato - atteso /dev/null, ricevuto %s alla riga %d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: git-diff errato - nuovo nome del file inconsistente alla riga %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: git-diff errato - vecchio nome del file inconsistente alla riga %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: git-diff errato - atteso /dev/null alla riga %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" -msgstr "modalità non valida alla riga %d: %s" +msgstr "modo non valido alla riga %d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "righe di intestazione %d e %d inconsistenti" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount: riga inattesa: %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "frammento di patch senza intestazione alla riga %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -230,110 +244,110 @@ msgstr[1] "" "l'intestazione git diff non riporta le informazioni sul file una volta " "rimossi %d componenti iniziali del percorso (riga %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "l'intestazione git diff non riporta le informazioni sul file (riga %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" -msgstr "il nuovo file dipende da contenuti precedenti" +msgstr "il nuovo file dipende da vecchi contenuti" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "il file eliminato ha ancora dei contenuti" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "patch corrotta alla riga %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" -msgstr "il nuovo file %s dipende da contenuti precedenti" +msgstr "il nuovo file %s dipende da vecchi contenuti" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "il file eliminato %s ha ancora dei contenuti" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** attenzione: il file %s diventa vuoto ma non è eliminato" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "patch binaria corrotta alla riga %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "patch binaria non riconosciuta alla riga %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "patch con soli contenuti garbage alla riga %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "impossibile leggere il collegamento simbolico %s" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "impossibile aprire o leggere %s" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "inizio della riga non valido: '%c'" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "Applicazione frammento %d riuscita alla riga %d (offset: %d riga)." msgstr[1] "Applicazione frammento %d riuscita alla riga %d (offset: %d righe)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Contesto ridotto a (%ld/%ld) per applicare il frammento alla riga %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" "%.*s" msgstr "" -"durante la ricerca per:\n" +"durante la ricerca di:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "dati della patch binaria mancanti per '%s'" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "impossibile applicare una patch binaria al contrario senza l'hunk contrario " "per '%s'" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" "impossibile applicare una patch binaria a '%s' senza la riga d'indice " "completa" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." @@ -341,434 +355,434 @@ msgstr "" "la patch si applica a '%s' (%s), che non corrisponde ai contenuti correnti " "del file." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" -msgstr "la patch si applica a un file vuoto '%s' ma non è vuoto" +msgstr "la patch si applica a un file vuoto '%s' ma il file non è vuoto" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "impossibile leggere la postimmagine %s necessaria per '%s'" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "la patch binaria non si applica correttamente a '%s'" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "la patch binaria su '%s' crea risultati non corretti (atteso %s, ricevuto %s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "patch non riuscita: %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "impossibile eseguire il checkout di '%s'" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "lettura di %s non riuscita" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "lettura di '%s' oltre un collegamento simbolico" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "il percorso %s è stato rinominato/eliminato" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s: non esiste nell'indice" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s: non corrisponde all'indice" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "dal repository manca il blob necessario per ripiegare sul merge a tre vie." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Ripiego sul merge a tre vie...\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "impossibile leggere i contenuti correnti di '%s'" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Ripiego sul merge a tre vie non riuscito...\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Patch applicata a '%s' con conflitti.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Patch '%s' applicata correttamente.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "la rimozione della patch lascia contenuti del file" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: tipo errato" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s ha il tipo %o, atteso %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" -msgstr "percorso non valido: %s" +msgstr "percorso '%s' non valido" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s: esiste già nell'indice" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s: esiste già nella directory di lavoro" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" -msgstr "" -"la nuova modalità (%o) di %s non corrisponde alla vecchia modalità (%o)" +msgstr "il nuovo modo (%o) di %s non corrisponde al vecchio modo (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" -msgstr "" -"la nuova modalità (%o) di %s non corrisponde alla vecchia modalità (%o) di %s" +msgstr "il nuovo modo (%o) di %s non corrisponde al vecchio modo (%o) di %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "il file interessato '%s' si trova oltre un collegamento simbolico" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: la patch non si applica correttamente" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Controllo della patch %s in corso..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "le informazioni SHA1 per il sottomodulo %s sono mancanti o inutili" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" -msgstr "modifica modalità per %s che non è nell'HEAD corrente" +msgstr "modifica modo per %s che non è nell'HEAD corrente" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "le informazioni SHA1 sono mancanti o inutili (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry non riuscito per il percorso '%s'" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "impossibile aggiungere %s all'indice temporaneo" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "impossibile scrivere l'indice temporaneo in %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "impossibile rimuovere %s dall'indice" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "patch corrotta per il sottomodulo %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "impossibile eseguire lo stat del file appena creato '%s'" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "impossibile creare l'archivio di backup per il file appena creato %s" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "impossibile aggiungere la voce della cache per %s" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "scrittura in '%s' non riuscita" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "chiusura del file '%s' in corso" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" -msgstr "impossibile scrivere il file '%s' in modalità %o" +msgstr "impossibile scrivere il file '%s' con modo %o" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Patch %s applicata correttamente." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "errore interno" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Applicazione della patch %%s con %d frammento respinto..." msgstr[1] "Applicazione della patch %%s con %d frammenti respinti..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "nome file .rej troncato a %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "impossibile aprire %s" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Frammento %d applicato correttamente." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Frammento %d respinto." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Patch '%s' ignorata." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "input non riconosciuto" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "impossibile leggere il file index" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "impossibile aprire la patch '%s': %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "%d errore di spazi bianchi soppresso" msgstr[1] "%d errori di spazi bianchi soppressi" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d riga aggiunge errori di spazi bianchi." msgstr[1] "%d righe aggiungono errori di spazi bianchi." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "%d riga applicata dopo la correzione di errori di spazi bianchi." msgstr[1] "%d righe applicate dopo la correzione di errori di spazi bianchi." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Impossibile scrivere il nuovo file index" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "percorso" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "non applicare le modifiche corrispondenti al percorso specificato" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "applica le modifiche corrispondenti al percorso specificato" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "num" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "rimuovi <num> barre iniziali dai percorsi diff tradizionali" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "ignora le aggiunte create dalla patch" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" -msgstr "invece di applicare la patch, mostra l'output di diffstat per l'input" +msgstr "" +"invece di applicare la patch, visualizza l'output di diffstat per l'input" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" -msgstr "mostra il numero di righe aggiunte ed eliminate in notazione decimale" +msgstr "" +"visualizza il numero di righe aggiunte ed eliminate in notazione decimale" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" -msgstr "invece di applicare la patch, mostra un riassunto per l'input" +msgstr "invece di applicare la patch, visualizza un riassunto per l'input" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "invece di applicare la patch, verifica se può essere applicata" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "assicura che la patch sia applicabile all'indice corrente" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "contrassegna i nuovi file con `git add --intent-to-add`" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "applica una patch senza modificare l'albero di lavoro" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "" "accetta una patch che apporta modifiche al di fuori dell'area di lavoro" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "applica anche la patch (da usare con --stat/--summary/--check)" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "prova un merge a tre vie se la patch non si applica correttamente" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "compila un index temporaneo basato sulle informazioni indice incluse" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "i percorsi sono separati con un carattere NUL" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" -msgstr "assicura almeno <n> righe di contesto corrispondente" +msgstr "assicura che almeno <n> righe di contesto corrispondano" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "azione" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "rileva righe nuove o modificate che hanno errori di spazi bianchi" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "ignora modifiche agli spazi bianchi durante la ricerca dei contesti" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "applica la patch in maniera inversa" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "non aspettare almeno una riga di contesto" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "lascia i frammenti respinti nei file *.rej corrispondenti" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "consenti la sovrapposizione dei frammenti" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "visualizza ulteriori dettagli" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "tollera carattere fine riga rilevato erroneamente come mancante alla fine " "del file" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "" "non fare affidamento sul numero di righe nelle intestazioni dei frammenti" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "radice" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" -msgstr "anteponi <root> a tutti i nomi file" +msgstr "anteponi <radice> a tutti i nomi file" #: archive.c:14 msgid "git archive [<options>] <tree-ish> [<path>...]" @@ -809,98 +823,98 @@ msgstr "%s non è un nome oggetto valido" msgid "not a tree object: %s" msgstr "%s non è un oggetto albero valido" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "la directory di lavoro corrente non è tracciata" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "fmt" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "formato archivio" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "prefisso" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "anteponi <prefisso> a ogni nome percorso nell'archivio" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "file" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "scrivi l'archivio in questo file" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "leggi il file .gitattributes nella directory di lavoro" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "elenca i file archiviati sullo standard error" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "salva solamente" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "comprimi più velocemente" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "comprimi meglio" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "elenca i formati archivio supportati" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "repository" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "recupera l'archivio dal repository remoto <repository>" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "comando" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "percorso al comando remoto git-upload-archive" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Opzione --remote inattesa" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "L'opzione --exec può essere usata solo con --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Opzione --output inattesa" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Formato archivio '%s' sconosciuto" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Argomento non supportato per il formato '%s': -%d" @@ -913,7 +927,7 @@ msgstr "impossibile eseguire lo streaming del blob %s" #: archive-tar.c:260 archive-zip.c:363 #, c-format msgid "unsupported file mode: 0%o (SHA1: %s)" -msgstr "modalità file non supportata: 0%o (SHA1: %s)" +msgstr "modo file non supportato: 0%o (SHA1: %s)" #: archive-tar.c:287 archive-zip.c:353 #, c-format @@ -944,7 +958,7 @@ msgstr "il percorso non è codificato validamente in UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "percorso troppo lungo (%d caratteri, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "errore deflate (%d)" @@ -970,7 +984,7 @@ msgid "" "Use '\\!' for literal leading exclamation." msgstr "" "I pattern negativi sono ignorati negli attributi git\n" -"Usare '\\!' per specificare un punto esclamativo iniziale letteralmente." +"Usa '\\!' per specificare letteralmente un punto esclamativo iniziale." #: bisect.c:468 #, c-format @@ -1046,12 +1060,12 @@ msgstr "Bisezione: dev'essere testata una base del merge\n" msgid "a %s revision is needed" msgstr "è richiesta una revisione %s" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "impossibile creare il file '%s'" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "impossibile leggere il file '%s'" @@ -1093,41 +1107,41 @@ msgstr[0] "" msgstr[1] "" "Bisezione in corso: %d revisioni rimanenti da testare dopo questa %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents e --reverse non sono compatibili." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "impossibile usare --contents con il nome oggetto del commit finale" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "le opzioni --reverse e --first-parent se usate insieme richiedono che sia " "specificato l'ultimo commit" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "impostazione percorso revisioni non riuscita" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "le opzioni --reverse e --first-parent se usate insieme richiedono che sia " "specificato un intervallo nella catena del primo commit genitore" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "il percorso %s in %s non esiste" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "impossibile leggere il blob %s per il percorso %s" @@ -1269,12 +1283,12 @@ msgstr "Nome oggetto ambiguo: '%s'." msgid "Not a valid branch point: '%s'." msgstr "Punto di branch non valido: '%s'." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "Il checkout di '%s' è già stato eseguito in '%s'" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "L'HEAD dell'albero di lavoro %s non è aggiornato" @@ -1289,8 +1303,8 @@ msgstr "'%s' non sembra essere un file bundle v2" msgid "unrecognized header: %s%s (%d)" msgstr "intestazione non riconosciuta: %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "impossibile aprire '%s'" @@ -1299,60 +1313,64 @@ msgstr "impossibile aprire '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Dal repository mancano questi commit richiesti come prerequisito:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "è necessario un repository per verificare un bundle" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" -msgstr[0] "Il bundle contiene questo ref:" -msgstr[1] "Il bundle contiene questi %d ref:" +msgstr[0] "Il bundle contiene questo riferimento:" +msgstr[1] "Il bundle contiene questi %d riferimenti:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." -msgstr "Il bundle registra una cronologia completa." +msgstr "Nel bundle è registrata una cronologia completa." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" -msgstr[0] "Il bundle richiede questo ref:" -msgstr[1] "Il bundle richiede questi %d ref:" +msgstr[0] "Il bundle richiede questo riferimento:" +msgstr[1] "Il bundle richiede questi %d riferimenti:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "impossibile duplicare il descrittore bundle" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Impossibile avviare pack-objects" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "comando pack-objects morto" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "comando rev-list morto" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" -msgstr "il ref '%s' è escluso dalle opzioni di rev-list" +msgstr "il riferimento '%s' è escluso dalle opzioni di rev-list" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "argomento non riconosciuto: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Mi rifiuto di creare un bundle vuoto." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "impossibile creare '%s'" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "comando index-pack morto" @@ -1361,8 +1379,8 @@ msgstr "comando index-pack morto" msgid "invalid color value: %.*s" msgstr "valore colore non valido: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "impossibile analizzare %s" @@ -1372,7 +1390,7 @@ msgstr "impossibile analizzare %s" msgid "%s %s is not a commit!" msgstr "%s %s non è un commit!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1386,33 +1404,33 @@ msgstr "" "Il supporto per <GIT_DIR>/info/graft è deprecato\n" "e sarà rimosso in una versione futura di Git.\n" "\n" -"Usare \"git replace --convert-graft-file\"\n" +"Usa \"git replace --convert-graft-file\"\n" "per convertire i graft in ref sostitutivi.\n" "\n" -"Per disabilitare questo messaggio, eseguire\n" +"Per disabilitare questo messaggio, esegui\n" "\"git config advice.graftFileDeprecated false\"" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "Il commit %s ha una firma GPG non affidabile, presumibilmente di %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "Il commit %s ha una firma GPG non valida presumibilmente di %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Il commit %s non ha una firma GPG." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Il commit %s ha una firma GPG valida di %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1423,86 +1441,108 @@ msgstr "" "la variabile di configurazione i18n.commitencoding alla codifica usata\n" "dal tuo progetto.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "il file grafo dei commit %s è troppo piccolo" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "la firma del grafo dei commit %X non corrisponde alla firma %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "la versione del grafo dei commit %X non corrisponde alla versione %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "" "la versione hash del grafo dei commit %X non corrisponde alla versione %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "voce blocco grafo dei commit mancante nella tabella di ricerca; il file " "potrebbe non essere completo" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "offset blocco grafo dei commit improprio %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "l'ID del blocco grafo dei commit %08x compare più volte" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "il grafo dei commit non ha un blocco grafi di base" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "la catena del grafo dei commit non corrisponde" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "catena grafo dei commit non valida: la riga '%s' non è un hash" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "impossibile trovare tutti i file grafo dei commit" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "" +"posizione commit non valida. Il grafo dei commit è probabilmente corrotto" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "impossibile trovare il commit %s" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "impossibile recuperare il tipo dell'oggetto %s" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Caricamento commit noti nel grafo dei commit in corso" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "Espansione dei commit raggiungibili nel grafo dei commit in corso" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "Rimozione dei contrassegni commit nel grafo dei commit in corso" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "Calcolo numeri generazione del grafo dei commit in corso" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Ricerca dei commit per il grafo dei commit in %d pack in corso" msgstr[1] "Ricerca dei commit per il grafo dei commit in %d pack in corso" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "errore durante l'aggiunta del pack %s" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "errore durante l'apertura dell'indice per %s" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" @@ -1511,98 +1551,132 @@ msgstr[0] "" msgstr[1] "" "Ricerca dei commit per il grafo dei commit da %d riferimenti in corso" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "" "Ricerca dei commit per il grafo dei commit fra gli oggetti nei pack in corso" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "Conteggio commit distinti nel grafo dei commit in corso" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "" -"il formato del grafo dei commit non può essere usato per scrivere %d commit" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Ricerca degli archi aggiuntivi nel grafo dei commit in corso" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "troppi commit da scrivere nel grafo" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "impossibile scrivere il numero esatto degli ID grafo di base" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "impossibile creare le prime directory di %s" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "impossibile creare '%s'" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Scrittura in %d passaggio del grafo dei commit in corso" msgstr[1] "Scrittura in %d passaggi del grafo dei commit in corso" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "impossibile aprire il file catena grafo dei commit" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "impossibile ridenominare il file di base grafo dei commit" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "impossibile ridenominare il file temporaneo grafo dei commit" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "Scansione dei commit sottoposti a merge in corso" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "ID commit duplicato inatteso: %s" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "Merge del grafo dei commit in corso" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "" +"il formato del grafo dei commit non può essere usato per scrivere %d commit" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "troppi commit da scrivere nel grafo" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" "il file del grafo dei commit ha un checksum non corretto e probabilmente è " "corrotto" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "il grafo dei commit ha un ordine OID non corretto: %s seguito da %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" "il grafo dei commit ha un valore fanout non corretto: fanout[%d] = %u != %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "impossibile analizzare il commit %s nel grafo dei commit" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Verifica dei commit nel grafo dei commit in corso" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "impossibile analizzare il commit %s dal database oggetti per il grafo dei " "commit" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" "l'OID dell'albero radice per il commit %s nel grafo dei commit è %s != %s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "l'elenco genitori nel grafo dei commit per il commit %s è troppo lungo" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "il genitore nel grafo dei commit per %s è %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "" "l'elenco genitori nel grafo dei commit per il commit %s è finito prima del " "previsto" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" @@ -1610,7 +1684,7 @@ msgstr "" "il grafo dei commit ha un numero generazione zero per il commit %s ma non " "pari a zero per gli altri" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" @@ -1618,12 +1692,12 @@ msgstr "" "il grafo dei commit ha un numero generazione non pari a zero per il commit " "%s ma pari a zero per gli altri" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "il numero generazione nel grafo dei commit per il commit %s è %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1633,7 +1707,7 @@ msgstr "" msgid "memory exhausted" msgstr "memoria esaurita" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1648,309 +1722,309 @@ msgstr "" "\t%s\n" "Ciò può essere dovuto a delle inclusioni circolari." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "impossibile espandere il percorso di inclusione '%s'" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "le inclusioni configurazione relative devono provenire da file" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "" "i condizionali di inclusione configurazione relativi devono provenire da file" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "la chiave non contiene una sezione: %s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "la chiave non contiene un nome variabile: %s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "chiave non valida: %s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "chiave non valida (nuova riga): %s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "parametro configurazione fittizio: %s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "formato fittizio in %s" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "riga configurazione %d errata nel blob %s" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "riga configurazione %d errata nel file %s" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "riga configurazione %d errata nello standard input" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "riga configurazione %d errata nel blob sottomodulo %s" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "riga configurazione %d errata nella riga di comando %s" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "riga configurazione %d errata in %s" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "fuori intervallo" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "unità non valida" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "valore configurazione numerico '%s' errato per '%s': %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "valore configurazione numerico '%s' errato per '%s' nel blob %s: %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "valore configurazione numerico '%s' errato per '%s' nel file %s: %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" "valore configurazione numerico '%s' errato per '%s' nello standard input: %s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "valore configurazione numerico '%s' errato per '%s' nel blob sottomodulo %s: " "%s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" "valore configurazione numerico '%s' errato per '%s' nella riga di comando " "%s: %s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "valore configurazione numerico '%s' errato per '%s' in %s: %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "espansione directory utente in '%s' non riuscita" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' per '%s' non è un timestamp valido" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "lunghezza abbreviazione fuori intervallo: %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "livello compressione zlib %d non valido" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar dovrebbe essere composto da un solo carattere" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "modalità non valida per la creazione di un oggetto: %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "valore malformato per %s" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "valore malformato per %s: %s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "dev'essere nothing, matching, simple, upstream o current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "livello compressione pack %d non valido" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "impossibile caricare l'oggetto blob configurazione '%s'" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "il riferimento '%s' non punta ad un blob" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "impossibile risolvere il blob configurazione '%s'" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "analisi di %s non riuscita" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "impossibile analizzare la configurazione a riga di comando" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "" "si è verificato un errore imprevisto durante la lettura dei file di " "configurazione" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "%s non valido: '%s'" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "valore core.untrackedCache '%s' non valido; utilizzerò il valore predefinito " "'keep'" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "" "il valore splitIndex.maxPercentChange '%d' dovrebbe essere compreso fra 0 e " "100" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "impossibile analizzare '%s' dalla configurazione a riga di comando" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "variabile configurazione '%s' errata nel file '%s' alla riga %d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "nome sezione '%s' non valido" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s ha più valori" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "scrittura del nuovo file di configurazione %s non riuscita" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "impossibile bloccare il file di configurazione %s" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "apertura di %s in corso" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "pattern non valido: %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "file di configurazione %s non valido" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "fstat di %s non riuscita" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "impossibile eseguire mmap su '%s'" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "esecuzione chmod su %s non riuscita" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "impossibile scrivere il file di configurazione %s" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "impossibile impostare '%s' a '%s'" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "impossibile eliminare l'impostazione di '%s'" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "nome sezione non valido: %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" -msgstr "valore mancante per %s" +msgstr "valore mancante per '%s'" #: connect.c:61 msgid "the remote end hung up upon initial contact" @@ -2013,7 +2087,7 @@ msgstr "errore protocollo: '%s' non atteso" #: connect.c:441 #, c-format msgid "invalid ls-refs response: %s" -msgstr "responso ls-refs non valido: %s" +msgstr "risposta ls-refs non valida: %s" #: connect.c:445 msgid "expected flush after ref listing" @@ -2031,7 +2105,7 @@ msgstr "impossibile impostare SO_KEEPALIVE sul socket" #: connect.c:635 connect.c:698 #, c-format msgid "Looking up %s ... " -msgstr "Risoluzione di %s in corso..." +msgstr "Risoluzione di %s in corso... " #: connect.c:639 #, c-format @@ -2046,7 +2120,7 @@ msgid "" "Connecting to %s (port %s) ... " msgstr "" "fatto.\n" -"Connessione a %s (porta %s) in corso..." +"Connessione a %s (porta %s) in corso... " #: connect.c:665 connect.c:742 #, c-format @@ -2114,19 +2188,19 @@ msgstr "percorso strano '%s' bloccato" msgid "unable to fork" msgstr "impossibile eseguire fork" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Controllo connessione in corso" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" -msgstr "Non è stato possibile eseguire 'git-rev-list'" +msgstr "Impossibile eseguire 'git-rev-list'" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "scrittura nella rev-list non riuscita" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "chiusura standard input della rev-list non riuscita" @@ -2349,7 +2423,7 @@ msgstr "" "l'espressione regolare dell'isola tratta dalla configurazione ha troppi " "gruppi cattura (massimo=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "Contrassegnate %d isole, fatto.\n" @@ -2428,36 +2502,36 @@ msgstr "" "Trovati errori nella variabile di configurazione 'diff.dirstat':\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "processo esterno diff morto, mi fermo a %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "" "le opzioni --name-only, --name-status, --check e -s sono mutuamente esclusive" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "le opzioni -G, -S e --find-object sono mutuamente esclusive" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow richiede esattamente uno specificatore percorso" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "valore non valido per --stat: %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s richiede un valore numerico" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2466,42 +2540,42 @@ msgstr "" "Analisi del parametro dell'opzione --dirstat/-X non riuscita:\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "classe modifica '%c' sconosciuta in --diff-filter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "valore sconosciuto dopo ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "impossibile risolvere '%s'" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s richiede il formato <n>/<m>" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s richiede un carattere, ricevuto '%s'" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "argomento --color-moved errato: %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "modo non valido '%s' in --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2509,151 +2583,151 @@ msgstr "" "l'opzione diff-algorithm accetta i valori \"myers\", \"minimal\", \"patience" "\" e \"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "argomento non valido per %s" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "analisi del parametro dell'opzione --submodule non riuscita: '%s'" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "argomento --word-diff errato: %s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Opzioni formato output diff" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "genera patch" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "non visualizzare l'output del diff" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "genera diff con <n> righe di contesto" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "genera il diff in formato grezzo" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "sinonimo di '-p --raw'" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "sinonimo di '-p --stat'" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "--stat leggibile da una macchina" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "emetti in output solo l'ultima riga di --stat" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<parametro1,parametro2>..." -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" "emetti in output la distribuzione del numero di modifiche relativo a ogni " "sottodirectory" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "sinonimo di --dirstat=cumulative" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "sinonimo di --dirstat=files,parametro1,parametro2..." -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "avvisa se le modifiche introducono marcatori conflitto o errori spazi bianchi" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "" "riassunto conciso (ad es. elementi creati, ridenominati e modifiche modi)" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "visualizza solo i nomi dei file modificati" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "visualizza solo i nomi e lo stato dei file modificati" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<ampiezza>[,<ampiezza nome>[,<numero>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "genera diffstat" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<ampiezza>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "genera il diffstat con un'ampiezza specificata" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "genera il diffstat con un'ampiezza nomi specificata" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "genera il diffstat con un'ampiezza grafo specificata" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<numero>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "genera il diffstat con righe limitate" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "genera riassunto conciso nel diffstat" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "stampa in output un diff binario che può essere applicato" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "visualizza i nomi oggetto pre e post immagine nelle righe \"indice\"" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "visualizza diff colorato" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "<tipo>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2661,7 +2735,7 @@ msgstr "" "evidenzia gli errori di spazi bianchi nelle righe 'contesto', 'vecchie' o " "'nuove' nel diff" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2669,92 +2743,91 @@ msgstr "" "non rimuovere i nomi percorso e usare caratteri NUL come terminatori campo " "in --raw o --numstat" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<prefisso>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "visualizza il prefisso sorgente specificato invece di \"a/\"" -#: diff.c:5357 -#, fuzzy +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" -msgstr "visualizza il prefisso sorgente specificato invece di \"b/\"" +msgstr "visualizza il prefisso destinazione specificato invece di \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "anteponi un prefisso aggiuntivo ad ogni riga dell'output" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "non visualizzare alcun prefisso sorgente o destinazione" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "visualizza il contesto tra gli hunk del diff fino al numero di righe " "specificato" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<carattere>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "specifica il carattere che indica una nuova riga al posto di '+'" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "specifica il carattere che indica una vecchia riga al posto di '-'" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "specifica il carattere che indica un contesto al posto di ' '" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "Opzioni rinominazione diff" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "" "spezza modifiche di riscrittura completa in coppie eliminazione/creazione" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "rileva le ridenominazioni" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "ometti la preimmagine per le eliminazioni" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "rileva le copie" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "usa file non modificati come sorgente per trovare copie" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "disabilita rilevamento ridenominazione" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "usa blob vuoti come sorgente ridenominazione" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "" "continua a elencare la cronologia di un file al di là delle ridenominazioni" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2762,159 +2835,159 @@ msgstr "" "impedisci il rilevamento ridenominazione/copia se il numero delle " "destinazioni ridenominazione/copia eccede il limite specificato" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Opzioni algoritmo diff" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "produci il diff più piccolo possibile" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "ignora gli spazi bianchi durante il confronto delle righe" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "ignora le modifiche al numero degli spazi bianchi" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "ignora modifiche agli spazi bianchi a fine riga" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "ignora carattere ritorno a capo a fine riga" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "ignora modifiche che riguardano solo righe vuote" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "" "euristica per spostare i limiti degli hunk nel diff per una lettura agevole" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "genera il diff usando l'algoritmo \"patience diff\"" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "genera il diff usando l'algoritmo \"histogram diff\"" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<algoritmo>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "seleziona un algoritmo diff" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<testo>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "genera il diff usando l'algoritmo \"anchored diff\"" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<modalità >" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" "visualizza il diff parola per parola usando <modalità > per delimitare le " "parole modificate" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<espressione regolare>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "usa <espressione regolare> per decidere cosa costituisce una parola" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "" "equivalente di --word-diff=color --word-diff-regex=<espressione regolare>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "le righe di codice spostate sono colorate in modo diverso" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "modo in cui sono ignorati gli spazi bianchi in --color-moved" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Altre opzioni diff" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "se eseguito da una sottodirectory, escludi le modifiche esterne ad essa e " "visualizza i percorsi relativi" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "tratta tutti i file come se fossero di testo" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "scambia i due input, genera un diff al contrario" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "esci con codice 1 se ci sono differenze, con 0 altrimenti" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "disabilita l'intero output del programma" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "consenti l'esecuzione di un helper diff esterno" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "esegui filtri di conversione in testo esterni quando si confrontano file " "binari" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<quando>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "ignora le modifiche ai sottomoduli durante la generazione del diff" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<formato>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" -msgstr "specifica come verranno visualizzare le differenze nei sottomoduli" +msgstr "specifica come verranno visualizzate le differenze nei sottomoduli" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "nascondi le voci 'git add -N' nell'indice" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "tratta le voci 'git add -N' come reali nell'indice" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<stringa>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" @@ -2922,7 +2995,7 @@ msgstr "" "cerca differenze che modificano il numero di occorrenze della stringa " "specificata" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -2930,24 +3003,24 @@ msgstr "" "cerca differenze che modificano il numero di occorrenze dell'espressione " "regolare specificata" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "visualizza tutte le modifiche nel changeset con -S o -G" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "" "tratta la <stringa> nell'opzione -S come un'espressione regolare POSIX estesa" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "controlla l'ordine con cui i file appariranno nell'output" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<ID oggetto>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" @@ -2955,34 +3028,34 @@ msgstr "" "cerca differenze che modificano il numero di occorrenze dell'oggetto " "specificato" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "seleziona file in base al tipo diff" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<file>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Salva l'output in un file specifico" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "il rilevamento ridenominazione non esatta è stato omesso per la presenza di " "troppi file." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" "trovate solo copie dai percorsi modificati per la presenza di troppi file." -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3088,32 +3161,32 @@ msgstr "impossibile scrivere sul remoto" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc richiede multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "riga shallow non valida: '%s'" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "riga unshallow non valida: '%s'" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "oggetto non trovato: %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "errore nell'oggetto: %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "nessuno shallow trovato: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "attesi shallow/unshallow, ricevuto %s" @@ -3132,7 +3205,7 @@ msgstr "commit non valido: %s" msgid "giving up" msgstr "smetto di provare" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "fatto" @@ -3175,155 +3248,131 @@ msgstr "%s non riuscito" msgid "error in sideband demultiplexer" msgstr "errore nel demultiplexer della banda laterale" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Il server non supporta client shallow" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Il server supporta multi_ack_detailes" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Il server supporta no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Il server supporta multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Il server supporta side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Il server supporta side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Il server supporta allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Il server supporta allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Il server supporta ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Il server supporta filter" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "La versione del server è %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Il server supporta %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Il server non supporta client shallow" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Il server non supporta --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Il server non supporta --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Il server non supporta --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "nessun commit in comune" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: recupero non riuscito." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Il server non supporta le richieste shallow" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Il server supporta filter" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "impossibile scrivere la richiesta sul remoto" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "errore durante la lettura dell'intestazione di sezione '%s'" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "atteso '%s', ricevuto '%s'" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "riga di conferma inattesa: '%s'" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "errore durante l'elaborazione degli ack: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "ci si attendeva che il packfile fosse inviato dopo 'ready'" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "" "ci si attendeva che nessun'altra sezione fosse inviata in assenza di 'ready'" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "errore durante l'elaborazione delle informazioni shallow: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "atteso wanted-ref, ricevuto '%s'" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "wanted-ref inatteso: '%s'" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "errore durante l'elaborazione dei riferimenti desiderati: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "nessun head remoto corrispondente" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "il remoto non ha inviato tutti gli oggetti necessari" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "riferimento remoto non esistente: %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "Il server non consente richieste per l'oggetto non pubblicizzato %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg non è riuscito a firmare i dati" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "impossibile creare il file temporaneo" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "scrittura della firma separata in '%s' non riuscita" @@ -3333,18 +3382,18 @@ msgstr "scrittura della firma separata in '%s' non riuscita" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "ignoro il colore non valido '%.*s' in log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "'%s': impossibile leggere %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "stat di '%s' non riuscito" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "'%s': lettura troppo breve" @@ -3414,7 +3463,7 @@ msgstr "comandi git disponibili altrove nel tuo $PATH" msgid "These are common Git commands used in various situations:" msgstr "Questi sono i comandi Git comuni usati in varie situazioni:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "tipo elenco comandi non supportato: '%s'" @@ -3535,13 +3584,13 @@ msgstr "" #: ident.c:379 msgid "no email was given and auto-detection is disabled" msgstr "" -"nessun indirizzo email specificato e rilevamento automatico disabilitato" +"nessun indirizzo e-mail specificato e rilevamento automatico disabilitato" #: ident.c:384 #, c-format msgid "unable to auto-detect email address (got '%s')" msgstr "" -"impossibile rilevare automaticamente l'indirizzo email (ho ricavato '%s')" +"impossibile rilevare automaticamente l'indirizzo e-mail (ho ricavato '%s')" #: ident.c:401 msgid "no name was given and auto-detection is disabled" @@ -3562,7 +3611,7 @@ msgstr "nome ident vuoto (per <%s>) non consentito" msgid "name consists only of disallowed characters: %s" msgstr "il nome è composto solo da caratteri non consentiti: %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "formato data non valido: %s" @@ -3592,7 +3641,12 @@ msgstr "atteso 'tree:<profondità >'" #: list-objects-filter-options.c:84 msgid "sparse:path filters support has been dropped" -msgstr "" +msgstr "il supporto per i filtri sparse:percorso è stato rimosso" + +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "specificatore filtro '%s' non valido" #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" @@ -3627,8 +3681,8 @@ msgstr "Impossibile creare '%s.lock': %s" msgid "failed to read the cache" msgstr "lettura della cache non riuscita" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "impossibile scrivere il nuovo file index" @@ -3653,93 +3707,93 @@ msgstr "" msgid "error building trees" msgstr "errore durante la costruzione degli alberi" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "creazione del percorso '%s' non riuscita%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Rimuovo %s per fare spazio alla sottodirectory\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": forse si tratta di un conflitto D/F?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "mi rifiuto di perdere un file non tracciato in '%s'" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "impossibile leggere l'oggetto %s '%s'" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "atteso blob per %s '%s'" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "apertura di '%s' non riuscita: %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "creazione del collegamento simbolico '%s' non riuscita: %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "non so che fare con %06o %s '%s'" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Merge del sottomodulo %s non riuscito (checkout non eseguito)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Merge del sottomodulo %s non riuscito (commit non presenti)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" "Merge del sottomodulo %s non riuscito (i commit non seguono la base del " "merge)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Eseguo il fast forward del sottomodulo %s al seguente commit:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Eseguo il fast forward del sottomodulo %s" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Merge del sottomodulo %s non riuscito (merge dopo i commit non trovato)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Merge del sottomodulo %s non riuscito (non fast forward)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Trovata possibile risoluzione merge per il sottomodulo:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3756,32 +3810,32 @@ msgstr "" "\n" "per accettare questo suggerimento.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Merge del sottomodulo %s non riuscito (più merge trovati)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Esecuzione del merge interno non riuscita" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "Impossibile aggiungere %s al database" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "Merge automatico di %s in corso" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" "Errore: mi rifiuto di perdere il file non tracciato %s; scrivo invece in %s." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3790,7 +3844,7 @@ msgstr "" "CONFLITTO (%s/eliminazione): %s eliminato in %s e %s in %s. Versione %s di " "%s lasciata nell'albero." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3799,7 +3853,7 @@ msgstr "" "CONFLITTO (%s/eliminazione): %s eliminato in %s e %s come %s in %s. Versione " "%s di %s lasciata nell'albero." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3808,7 +3862,7 @@ msgstr "" "CONFLITTO (%s/eliminazione): %s eliminato in %s e %s in %s. Versione %s di " "%s lasciata nell'albero in %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3817,43 +3871,43 @@ msgstr "" "CONFLITTO (%s/eliminazione): %s eliminato in %s e %s come %s in %s. Versione " "%s di %s lasciata nell'albero in %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "ridenominazione" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "rinominato" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Mi rifiuto di perdere un file sporco in %s" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" "Mi rifiuto di perdere un file non tracciato in %s, benché sia d'ostacolo." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "CONFLITTO (ridenominazione/aggiunta): elemento ridenominato %s->%s in %s. %s " "aggiunto in %s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s è una directory in %s; la aggiungo come %s" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "Mi rifiuto di perdere un file non tracciato in %s; lo aggiungo come %s" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3862,18 +3916,18 @@ msgstr "" "CONFLITTO (ridenominazione/ridenominazione): file ridenominato \"%s\"->\"%s" "\" nel branch \"%s\", ridenominato \"%s\"->\"%s\" in \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (lasciato irrisolto)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "CONFLITTO (ridenominazione/ridenominazione): file ridenominato %s->%s in %s. " "Ridenominato %s->%s in %s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3884,7 +3938,7 @@ msgstr "" "perché la directory %s è stata ridenominata in più directory diverse e " "nessuna directory di destinazione contiene la maggior parte dei file." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3894,7 +3948,7 @@ msgstr "" "%s è d'ostacolo alle seguenti ridenominazioni directory che spostano in tale " "posizione i seguenti percorsi: %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3904,7 +3958,7 @@ msgstr "" "un percorso in %s; delle ridenominazioni directory implicite hanno tentato " "di spostare in tale posizione i seguenti percorsi: %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3913,7 +3967,7 @@ msgstr "" "CONFLITTO (ridenominazione/ridenominazione): directory ridenominata %s->%s " "in %s. Directory ridenominata %s->%s in %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3922,52 +3976,52 @@ msgstr "" "ATTENZIONE: evito di applicare la ridenominazione %s -> %s a %s perché %s " "stesso è stato ridenominato." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "impossibile leggere l'oggetto %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "l'oggetto %s non è un blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "modifica" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "modificato" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "contenuto" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "aggiunta/aggiunta" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Omesso %s (elemento sottoposto a merge uguale a quello esistente)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "sottomodulo" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLITTO (%s): conflitto di merge in %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "Lo aggiungo come %s" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3976,7 +4030,7 @@ msgstr "" "Percorso aggiornato: %s aggiunto in %s in una directory ridenominata in %s; " "lo sposto in %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3985,7 +4039,7 @@ msgstr "" "CONFLITTO (posizione file): %s aggiunto in %s in una directory ridenominata " "in %s, il che suggerisce che forse dovrebbe essere spostato in %s." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -3994,7 +4048,7 @@ msgstr "" "Percorso aggiornato: %s ridenominato in %s in %s in una directory " "ridenominata in %s; lo sposto in %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -4004,37 +4058,37 @@ msgstr "" "ridenominata in %s, il che suggerisce che forse dovrebbe essere spostato in " "%s." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Rimozione di %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "file/directory" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "directory/file" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "CONFLITTO (%s): una directory denominata %s esiste già in %s. Aggiungo %s " "come %s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "Aggiunta %s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "CONFLITTO (aggiungi/aggiungi): conflitto di merge in %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -4043,176 +4097,189 @@ msgstr "" "Le tue modifiche locali ai seguenti file sarebbero sovrascritte dal merge:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "Già aggiornato!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "merge degli alberi %s e %s non riuscito" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Merge in corso:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "trovato %u antenato comune:" msgstr[1] "trovati %u antenati comuni:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "il merge non ha restituito alcun commit" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "Impossibile analizzare l'oggetto '%s'" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Impossibile scrivere l'indice." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "il file multi-pack-index %s è troppo piccolo" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "la firma del multi-pack-index 0x%08x non corrisponde alla firma 0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "versione %d multi-pack-index non riconosciuta" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "la versione dell'hash %u non corrisponde" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "offset blocco non valido (troppo grande)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "l'ID blocco finale multi-pack-index compare prima di quanto previsto" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "dal multi-pack-index manca il blocco richiesto pack-name" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "dal multi-pack-index manca il blocco richiesto fanout OID" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "dal multi-pack-index manca il blocco richiesto lookup OID" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "dal multi-pack-index manca il blocco richiesto offset oggetti" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "nomi pack multi-pack-index in disordine: '%s' appare prima di '%s'" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "pack-int-id non valido: %u (%u pack totali)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "" "nel multi-pack-index è salvato un offset a 64 bit, ma off_t è troppo piccolo" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "errore durante la preparazione del packfile dal multi-pack-index" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "aggiunta del packfile '%s' non riuscita" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "apertura del pack-index '%s' non riuscita" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "ricerca dell'oggetto %d nel packfile non riuscita" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "non ho visto il file pack %s da scartare" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "pulizia del multi-pack-index %s non riuscita" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Ricerca di file pack referenziati in corso" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "" "fanout oid in disordine: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Verifica ordine OID in MIDX in corso" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "lookup oid in disordine: oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Ordinamento degli oggetti nel packfile in corso" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Verifica offset oggetti in corso" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "caricamento voce pack per oid[%d] = %s non riuscito" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "caricamento pack-index per il packfile %s non riuscito" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "offset oggetto non corretto per oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "impossibile avviare pack-objects" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "impossibile finire pack-objects" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "impossibile creare il thread lazy_dir: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "impossibile creare il thread lazy_name: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "impossibile bloccare il thread lazy_name: %s" @@ -4284,17 +4351,17 @@ msgstr "impossibile analizzare l'oggetto: %s" msgid "hash mismatch %s" msgstr "hash non corrispondente: %s" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "offset collocato prima della fine del packfile (.idx corrotto?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "" "offset collocato prima dell'inizio dell'indice pack per %s (indice corrotto?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4556,24 +4623,29 @@ msgstr "impossibile creare lstat in versione threaded: %s" msgid "unable to parse --pretty format" msgstr "impossibile analizzare il formato --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "impossibile avviare `log`" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "impossibile leggere l'output di `log`" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "impossibile analizzare il commit '%s'" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "impossibile analizzare l'header Git '%.*s'" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "generazione del diff non riuscita" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "impossibile analizzare il registro di '%s'" @@ -4690,11 +4762,10 @@ msgid "unordered stage entries for '%s'" msgstr "voci stage non ordinate per '%s'" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "file indice corrotto" @@ -4748,12 +4819,12 @@ msgstr "impossibile aggiornare l'indice condiviso '%s'" msgid "broken index, expect %s in %s, got %s" msgstr "indice corrotto, atteso %s in %s, presente %s" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "impossibile chiudere '%s'" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "impossibile eseguire lo stat di '%s'" @@ -4838,7 +4909,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Rebase di %s su %s (%d comando)" msgstr[1] "Rebase di %s su %s (%d comandi)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4847,7 +4918,7 @@ msgstr "" "Non eliminare alcuna riga. Usa esplicitamente 'drop' per rimuovere un " "commit.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4855,7 +4926,7 @@ msgstr "" "\n" "Rimuovendo una riga da qui IL COMMIT CORRISPONDENTE ANDRÀ PERDUTO.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4869,7 +4940,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4879,12 +4950,12 @@ msgstr "" "Ciò nonostante, se rimuovi tutto, il rebase sarà annullato.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Nota che i commit vuoti sono commentati" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "impossibile scrivere '%s'" @@ -4922,97 +4993,98 @@ msgstr "" "I comportamenti possibili sono ignore, warn, error.\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "%s non punta a un oggetto valido!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "ignoro il riferimento simbolico pendente %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "ignoro il riferimento rotto %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "impossibile aprire '%s' in scrittura: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "impossibile leggere il riferimento '%s'" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "il riferimento '%s' esiste già " -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "ID oggetto inatteso durante la scrittura di '%s'" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "impossibile scrivere su '%s'" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "impossibile aprire '%s' in scrittura" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "ID oggetto inatteso durante l'eliminazione di '%s'" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "il registro per il riferimento %s ha delle voci mancanti dopo %s" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "il registro per il riferimento %s è terminato inaspettatamente a %s" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "il registro per %s è vuoto" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "mi rifiuto di aggiornare il riferimento con il nome non valido '%s'" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "update_ref per il riferimento '%s' non riuscita: %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "aggiornamenti multipli per il riferimento '%s' non consentiti" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "aggiornamenti riferimento vietati nell'ambiente quarantena" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' esiste già ; impossibile creare '%s'" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "impossibile gestire '%s' e '%s' contemporaneamente" @@ -5038,141 +5110,141 @@ msgstr "impossibile eliminare i riferimenti: %s" msgid "invalid refspec '%s'" msgstr "specificatore riferimento '%s' non valido" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "sparito" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "dopo %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "prima di %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "dopo %d, prima di %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "formato atteso: %%(color:<colore>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "colore non riconosciuto: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Atteso valore intero: refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Atteso valore intero: refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "argomento %%(%s) non riconosciuto: %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) non accetta argomenti" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "argomento %%(objectsize) non riconosciuto: %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) non accetta argomenti" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) non accetta argomenti" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) non accetta argomenti" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "argomento %%(trailers) sconosciuto: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "atteso valore positivo in contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "argomento %%(contents) non riconosciuto: %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "atteso valore positivo in objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "argomento %%(objectname) non riconosciuto: %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "formato atteso: %%(align:<ampiezza>,<posizione>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "valore non riconosciuto: position:%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "valore non riconosciuto: width:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "argomento %%(align) non riconosciuto: %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "attesa ampiezza positiva con l'atom %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "argomento %%(if) non riconosciuto: %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "nome campo malformato: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "nome campo sconosciuto: %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" @@ -5180,127 +5252,111 @@ msgstr "" "non è un repository git, ma il campo '%.*s' richiede l'accesso ai dati " "oggetto" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "formato: atomo %%(if) usato senza un atomo %%(then)" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "formato: atomo %%(then) usato senza un atomo %%(if)" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "formato: atomo %%(then) usato più di una volta" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "formato: atomo %%(then) usato dopo %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "formato: atomo %%(else) usato senza un atomo %%(if)" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "formato: atomo %%(else) usato senza un atomo %%(then)" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "formato: atomo %%(else) usato più di una volta" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "formato: atomo %%(end) usato senza l'atomo corrispondente" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "stringa di formato %s malformata" -#: ref-filter.c:1453 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing %s)" -msgstr "(nessun branch, eseguo il rebase di %s)" +msgid "no branch, rebasing %s" +msgstr "nessun branch, eseguo il rebase di %s" -#: ref-filter.c:1456 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(nessun branch, eseguo il rebase dell'HEAD scollegato %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "nessun branch, eseguo il rebase dell'HEAD scollegato %s" -#: ref-filter.c:1459 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(nessun branch, bisezione avviata su %s)" +msgid "no branch, bisect started on %s" +msgstr "nessun branch, bisezione avviata su %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD scollegato su %s)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "nessun branch" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD scollegato da %s)" - -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(nessun branch)" - -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "oggetto %s mancante per %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer non riuscito su %s per %s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "oggetto malformato in '%s'" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "ignoro il riferimento con il nome malformato %s" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "formato: atomo %%(end) mancante" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "l'opzione `%s' non è compatibile con --merged" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "l'opzione `%s' non è compatibile con --no-merged" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "nome dell'oggetto %s malformato" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "l'opzione `%s' deve puntare ad un commit" @@ -5552,11 +5608,11 @@ msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" msgstr[0] "" -"Il tuo branch è indietro rispetto a '%s' di %d commit e ne posso eseguire il " -"fast forward.\n" +"Il tuo branch, rispetto a '%s', è indietro di %d commit e ne posso eseguire " +"il fast forward.\n" msgstr[1] "" -"Il tuo branch è indietro rispetto a '%s' di %d commit e ne posso eseguire il " -"fast forward.\n" +"Il tuo branch, rispetto a '%s', è indietro di %d commit e ne posso eseguire " +"il fast forward.\n" #: remote.c:2051 msgid " (use \"git pull\" to update your local branch)\n" @@ -5659,8 +5715,8 @@ msgstr "impossibile eseguire l'unlink dell'oggetto smarrito '%s'" msgid "Recorded preimage for '%s'" msgstr "Salvata preimmagine di '%s'" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "impossibile creare la directory '%s'" @@ -5694,20 +5750,20 @@ msgstr "Risoluzione per '%s' dimenticata\n" msgid "unable to open rr-cache directory" msgstr "impossibile aprire la directory cache rr" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "sembra che il tuo branch corrente sia rotto" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "il tuo branch corrente '%s' non ha ancora commit" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent non è compatibile con --bisect" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L non supporta ancora formati diff oltre a -p e -s" @@ -5779,24 +5835,29 @@ msgstr "modalità pulizia messaggio commit non valida: '%s'" msgid "could not delete '%s'" msgstr "impossibile eliminare '%s'" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "impossibile rimuovere '%s'" + +#: sequencer.c:321 msgid "revert" msgstr "revert" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "azione sconosciuta: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5804,7 +5865,7 @@ msgstr "" "dopo aver risolto i conflitti, contrassegna i percorsi corretti\n" "con 'git add <path>' o 'git rm <path>'" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5814,44 +5875,44 @@ msgstr "" "con 'git add <path>' o 'git rm <path>' ed esegui\n" "il commit del risultato con 'git commit'" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "impossibile bloccare '%s'" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "impossibile scrivere il carattere di fine riga in '%s'" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "finalizzazione di '%s' non riuscita" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "impossibile leggere '%s'" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "le tue modifiche locali sarebbero sovrascritte da %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "esegui il commit delle modifiche o lo stash per procedere." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: fast forward" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Modalità pulizia non valida: %s" @@ -5859,70 +5920,70 @@ msgstr "Modalità pulizia non valida: %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: impossibile scrivere il nuovo file indice" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "impossibile aggiornare l'albero cache" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "impossibile risolvere il commit HEAD" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "nessuna chiave presente in '%.*s'" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "impossibile rimuovere gli apici dal valore di '%s'" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "impossibile aprire '%s' in lettura" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "'GIT_AUTHOR_NAME' già specificato" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "'GIT_AUTHOR_EMAIL' già specificato" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "'GIT_AUTHOR_DATE' già specificato" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "variabile '%s' sconosciuta" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "'GIT_AUTHOR_NAME' mancante" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "'GIT_AUTHOR_EMAIL' mancante" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "'GIT_AUTHOR_DATE' mancante" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "formato data '%s' non valido in '%s'" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5952,15 +6013,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "scrittura commit radice in corso" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "hook 'prepare-commit-msg' non riuscito" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5974,20 +6035,20 @@ msgid "" "\n" " git commit --amend --reset-author\n" msgstr "" -"Il tuo nome e l'indirizzo email sono stati configurati " -"automaticamenteusando\n" +"Il tuo nome e l'indirizzo e-mail sono stati configurati automaticamente " +"usando\n" "il tuo nome utente ed il nome host. Per favore, verifica che siano esatti.\n" "È possibile eliminare questo messaggio impostandoli esplicitamente.\n" "Esegui il seguente comando e segui le istruzioni fornite nel tuo editor\n" "per modificare il file di configurazione:\n" "\n" " git config --global --edit\n" -"Dopo questa operazione, puoi ripristinare l'identità usata in questo " -"commitcon:\n" +"Dopo questa operazione, puoi ripristinare l'identità usata in questo commit " +"con:\n" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -6000,322 +6061,365 @@ msgid "" "\n" " git commit --amend --reset-author\n" msgstr "" -"Il tuo nome e l'indirizzo email sono stati configurati " -"automaticamenteusando\n" +"Il tuo nome e l'indirizzo e-mail sono stati configurati automaticamente " +"usando\n" "il tuo nome utente ed il nome host. Per favore, verifica che siano esatti.\n" "È possibile eliminare questo messaggio impostandoli esplicitamente:\n" "\n" " git config --global user.name \"Il tuo nome\"\n" " git config --global user.email tu@esempio.com\n" "\n" -"Dopo questa operazione, puoi ripristinare l'identità usata in questo " -"commitcon:\n" +"Dopo questa operazione, puoi ripristinare l'identità usata in questo commit " +"con:\n" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "impossibile trovare il commit appena creato" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "impossibile analizzare il commit appena creato" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "impossibile risolvere HEAD dopo la creazione del commit" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "HEAD scollegato" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (commit radice)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "impossibile analizzare HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "L'HEAD %s non è un commit!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "impossibile analizzare il commit HEAD" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "impossibile analizzare l'autore del commit" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree non è riuscito a scrivere un albero" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "impossibile leggere il messaggio di commit da '%s'" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "scrittura dell'oggetto del commit non riuscita" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "impossibile analizzare il commit %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "impossibile analizzare il commit genitore %s" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "comando sconosciuto: %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Questa è una combinazione di %d commit." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "è necessaria un'HEAD per il fixup" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "impossibile leggere l'HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "impossibile leggere il messaggio di commit dell'HEAD" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "impossibile scrivere '%s'" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Questo è il primo messaggio di commit:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "impossibile leggere il messaggio di commit di %s" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Questo è il messaggio di commit numero %d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Il messaggio di commit numero %d sarà saltato:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "il file indice non è stato sottoposto a merge." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "impossibile eseguire il fixup sul commit radice" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "il commit %s è un merge ma non è stata specificata l'opzione -m." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "il commit %s non ha il genitore %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "impossibile ottenere il messaggio di commit per %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: impossibile analizzare il commit genitore %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "impossibile ridenominare '%s' in '%s'" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "non è stato possibile eseguire il revert di %s... %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "non è stato possibile applicare %s... %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: lettura dell'indice non riuscita" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: aggiornamento dell'indice non riuscito" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s non accetta argomenti: '%s'" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "argomenti mancanti per %s" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "impossibile analizzare '%.*s'" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "riga %d non valida: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "impossibile eseguire '%s' senza un commit precedente" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "impossibile leggere '%s'." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "annullo un'operazione di cherry-pick in corso" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "annullo un'operazione di revert in corso" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "correggi la situazione usando 'git rebase --edit-todo'." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "foglio istruzioni inutilizzabile: '%s'" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "nessun commit analizzato." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "impossibile eseguire un cherry-pick durante un revert." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "impossibile eseguire un revert durante un cherry-pick." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "valore non valido per %s: %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "squash-onto inutilizzabile" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "foglio opzioni malformati: '%s'" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "è stato passato un insieme di commit vuoto" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "è già in corso un'operazione di cherry-pick o di revert" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "un'operazione di revert è già in corso" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "prova \"git revert (--continue | %s--abort | --quit)\"" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "prova \"git cherry-pick (--continue | --quit | -- abort)\"" +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "un'operazione di cherry-pick è già in corso" -#: sequencer.c:2660 +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "prova \"git cherry-pick (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "impossibile creare la directory sequencer '%s'" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "impossibile bloccare HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "nessuna operazione di cherry-pick o revert in corso" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "impossibile risolvere HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "" "impossibile interrompere l'operazione da un branch che deve essere ancora " "creato" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "impossibile aprire '%s'" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "impossibile leggere '%s': %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "fine del file inattesa" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" "il file '%s' in cui è stato salvato l'HEAD prima del cherry pick è corrotto" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Sembra che tu abbia spostato l'HEAD. Non eseguo il rewind, controlla l'HEAD!" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "nessun revert in corso" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "nessun cherry-pick in corso" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "salto del commit non riuscito" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "non c'è nulla da saltare" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"hai già eseguito il commit?\n" +"prova \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "impossibile aggiornare %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "impossibile leggere l'HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "impossibile copiare '%s' in '%s'" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6334,27 +6438,27 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "Impossibile applicare %s... %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Impossibile eseguire il merge di %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "impossibile copiare '%s' in '%s'" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "impossibile leggere l'indice" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6369,11 +6473,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "e sono state apportate modifiche all'indice e/o all'albero di lavoro\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6390,76 +6494,76 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "nome etichetta illecito: '%.*s'" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "scrittura commit radice falso in corso" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "scrittura squash-onto in corso" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "impossibile trovare l'albero di %s" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "impossibile scrivere l'indice" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "impossibile risolvere '%s'" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "impossibile eseguire il merge senza una revisione corrente" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "impossibile analizzare '%.*s'" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "non c'è nulla di cui eseguire il merge: '%.*s'" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "il merge octopus non può essere eseguito su un [nuovo commit radice]" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "impossibile ottenere il messaggio di commit per '%s'" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "non è stato nemmeno possibile tentare di eseguire il merge di '%.*s'" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "merge: impossibile scrivere il nuovo file indice" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Stash automatico applicato.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "impossibile memorizzare %s" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6470,31 +6574,31 @@ msgstr "" "Le tue modifiche sono al sicuro nello stash.\n" "Puoi eseguire \"git stash pop\" o \"git stash drop\" in qualunque momento.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "impossibile eseguire il checkout di %s" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s: non è un OID valido" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "impossibile scollegare l'HEAD" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Fermato a HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Fermato a %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6516,49 +6620,49 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Fermato a %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "comando %d sconosciuto" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "impossibile leggere orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "impossibile leggere 'onto'" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "impossibile aggiornare l'HEAD a %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "" "impossibile eseguire il rebase: ci sono delle modifiche non in staging." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "impossibile modificare un commit inesistente" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "file non valido: '%s'" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "contenuti non validi: '%s'" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6569,42 +6673,42 @@ msgstr "" "di lavoro. Eseguine prima il commit e quindi esegui nuovamente 'git rebase\n" "--continue'." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "impossibile scrivere il file: '%s'" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "impossibile rimuovere CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "impossibile eseguire il commit delle modifiche in staging." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: impossibile eseguire il cherry pick di un %s" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: revisione non valida" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "impossibile eseguire il revert come commit iniziale" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: opzioni non gestite" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: errore durante la preparazione delle revisioni" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6614,15 +6718,15 @@ msgstr "" "eseguire 'git rebase --continue'.\n" "Oppure puoi interrompere il rebase con 'git rebase --abort'.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "nulla da fare" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "impossibile saltare i comandi pick non necessari" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "lo script è già stato riordinato." @@ -6851,196 +6955,201 @@ msgstr "il repository di riferimento '%s' è shallow" msgid "reference repository '%s' is grafted" msgstr "il repository di riferimento '%s' è un graft" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "riga non valida durante l'analisi dei riferimenti degli alternati: %s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "tento di eseguire mmap %<PRIuMAX> al di sopra del limite %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "mmap non riuscita" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "l'oggetto %s è vuoto" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "oggetto sciolto '%s' corrotto" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "dati inutilizzabili presenti alla fine dell'oggetto sciolto '%s'" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "tipo oggetto non valido" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "impossibile decomprimere l'intestazione %s con --allow-unknown-type" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "impossibile decomprimere l'intestazione %s" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "impossibile analizzare l'intestazione %s con --allow-unknown-type" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "impossibile analizzare l'intestazione %s" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "lettura dell'oggetto %s non riuscita" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "%s sostitutivo non trovato per %s" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "l'oggetto sciolto %s (salvato in %s) è corrotto" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "l'oggetto archiviato %s (salvato in %s) è corrotto" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "impossibile scrivere il file %s" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "impossibile impostare i permessi a '%s'" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "errore di scrittura del file" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "errore durante la chiusura del file oggetto sciolto" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "permessi non sufficienti per l'aggiunta di un oggetto al database repository " "%s" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "impossibile creare il file temporaneo" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "impossibile scrivere il file oggetto sciolto" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "impossibile comprimere con deflate il nuovo oggetto %s (%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "deflateEnd non riuscita sull'oggetto %s (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "sono confuso dall'origine dati oggetto non stabile per %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "utime() di %s non riuscita" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "impossibile leggere l'oggetto per %s" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "commit corrotto" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "tag corrotto" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "errore di lettura durante l'indicizzazione di %s" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "lettura troppo breve durante l'indicizzazione di %s" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s: inserimento del record nel database non riuscito" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%s: tipo di file non supportato" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s non è un oggetto valido" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s non è un oggetto '%s' valido" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "impossibile aprire %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "mancata corrispondenza per %s (atteso %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "impossibile eseguire mmap su %s" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "impossibile decomprimere l'intestazione di %s" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "impossibile analizzare l'intestazione di %s" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "impossibile decomprimere i contenuti di %s" @@ -7060,7 +7169,7 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -7071,13 +7180,65 @@ msgstr "" "semplicemente 40 caratteri esadecimali. Questi riferimenti\n" "potrebbero essere creati per errore. Ad esempio:\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "dove \"$br\" è vuoto per qualche motivo e quindi viene creato un\n" "riferimento con 40 caratteri esadecimali. Esamina tali\n" "riferimenti ed eliminali se necessario. Disabilita questo\n" "messaggio eseguendo \"git config advice.objectNameWarning false\"" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u byte" +msgstr[1] "%u byte" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u byte/s" +msgstr[1] "%u byte/s" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -7113,7 +7274,7 @@ msgstr "Lo specificatore percorso '%s' è nel sottomodulo '%.*s'" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "la voce sottomodulo '%s' (%s) è un %s, non un commit" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Impossibile risolvere HEAD come riferimento valido." @@ -7154,7 +7315,7 @@ msgstr "il sottomodulo '%s' ha l'indice sporco" msgid "Submodule '%s' could not be updated." msgstr "Impossibile aggiornare il sottomodulo '%s'." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7162,12 +7323,12 @@ msgstr "" "relocate_gitdir non è supportata per il sottomodulo '%s' con più di un " "albero di lavoro" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "impossibile ricercare il nome per il sottomodulo '%s'" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7178,16 +7339,16 @@ msgstr "" "'%s' a\n" "'%s'\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "impossibile eseguire l'azione ricorsivamente nel sottomodulo '%s'" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "impossibile avviare ls-files in .." -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree ha restituito il valore di ritorno inatteso %d" @@ -7361,15 +7522,10 @@ msgstr "Interrompo l'operazione." msgid "failed to push all needed submodules" msgstr "push di tutti i sottomoduli richiesti non riuscito" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "operazione non supportata dal protocollo" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "riga non valida durante l'analisi dei riferimenti degli alternati: %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "scrittura completa verso l'helper remoto non riuscita" @@ -7414,7 +7570,7 @@ msgstr "impossibile eseguire fast-import" msgid "error while running fast-import" msgstr "errore durante l'esecuzione di fast-import" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "impossibile leggere il riferimento %s" @@ -7469,26 +7625,26 @@ msgstr "l'helper %s non supporta --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "l'helper %s non supporta 'push-option'" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "" "l'helper remoto non supporta il push; è necessario uno specificatore " "riferimento" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "l'helper %s non supporta 'force'" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "impossibile eseguire fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "errore durante l'esecuzione di fast-export" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7497,47 +7653,47 @@ msgstr "" "Nessun riferimento in comune e nessuno specificato; non eseguo nulla.\n" "Forse dovresti specificare un branch come 'master'.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "risposta malformata nell'elenco riferimenti: %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "read(%s) non riuscita" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "write(%s) non riuscita" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "thread %s non riuscito" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "join non riuscita per il thread %s: %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "impossibile avviare il thread per la copia dei dati: %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "wait non riuscita per il processo %s" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "processo %s non riuscito" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "impossibile avviare il thread per la copia dei dati" @@ -7553,7 +7709,7 @@ msgstr "modo malformato nella voce dell'albero" msgid "empty filename in tree entry" msgstr "nome file vuoto nella voce dell'albero" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "file alber troppo corto" @@ -7655,7 +7811,7 @@ msgid "" "%%sPlease move or remove them before you merge." msgstr "" "I seguenti file non tracciati presenti nell'albero di lavoro sarebbero " -"eliminati con il merge:\n" +"eliminati dal merge:\n" "%%sSpostali o eliminali prima di eseguire il merge." #: unpack-trees.c:139 @@ -7665,7 +7821,7 @@ msgid "" "%%s" msgstr "" "I seguenti file non tracciati presenti nell'albero di lavoro sarebbero " -"eliminati con il merge:\n" +"eliminati dal merge:\n" "%%s" #: unpack-trees.c:142 @@ -7717,7 +7873,7 @@ msgid "" "%%sPlease move or remove them before you merge." msgstr "" "I seguenti file non tracciati presenti nell'albero di lavoro sarebbero " -"sovrascritti con il merge:\n" +"sovrascritti dal merge:\n" "%%sSpostali o eliminali prima di eseguire il merge." #: unpack-trees.c:157 @@ -7727,7 +7883,7 @@ msgid "" "%%s" msgstr "" "I seguenti file non tracciati presenti nell'albero di lavoro sarebbero " -"sovrascritti con il merge:\n" +"sovrascritti dal merge:\n" "%%s" #: unpack-trees.c:160 @@ -7803,8 +7959,8 @@ msgid "Aborting\n" msgstr "Interrompo l'operazione\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Checkout dei file in corso" +msgid "Updating files" +msgstr "Aggiornamento dei file in corso" #: unpack-trees.c:350 msgid "" @@ -7846,35 +8002,35 @@ msgstr "numero di porta non valido" msgid "invalid '..' path segment" msgstr "parte percorso '..' non valida" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "lettura di '%s' non riuscita" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" "'%s' nell'albero di lavoro principale non è la directory del repository" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" "il file '%s' non contiene il percorso assoluto alla posizione dell'albero di " "lavoro" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "'%s' non esiste" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' non è un file .git, codice d'errore %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' non punta a '%s'" @@ -7893,167 +8049,173 @@ msgstr "impossibile accedere a '%s'" msgid "unable to get current working directory" msgstr "impossibile ottenere la directory di lavoro corrente" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Percorsi non sottoposti a merge:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr "" +" (usa \"git restore --staged <file>...\" per rimuovere gli elementi " +"dall'area di staging)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" msgstr "" -" (usa \"git reset %s <file>...\" per rimuovere gli elementi dall'area di " -"staging)" +" (usa \"git restore --source=%s --staged <file>...\" per rimuovere gli " +"elementi dall'area di staging)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" " (usa \"git rm --cached <file>...\" per rimuovere gli elementi dall'area di " "staging)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" " (usa \"git add <file>...\" per contrassegnare il conflitto come risolto)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (usa \"git add/rm <file>...\" come appropriato per contrassegnare il " "conflitto come risolto)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" " (usa \"git rm <file>...\" per contrassegnare il conflitto come risolto)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Modifiche di cui verrà eseguito il commit:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Modifiche non nell'area di staging per il commit:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (usa \"git add <file>...\" per aggiornare gli elementi di cui sarà " "eseguito il commit)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (usa \"git add/rm <file>...\" per aggiornare gli elementi di cui sarà " "eseguito il commit)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (usa \"git checkout -- <file>...\" per scartare le modifiche nella " -"directory di lavoro)" +" (usa \"git restore <file>...\" per scartare le modifiche nella directory " +"di lavoro)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (esegui il commit o scarta il contenuto non tracciato o modificato nei " "sottomoduli)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (usa \"git %s <file>...\" per includere l'elemento fra quelli di cui verrà " "eseguito il commit)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "entrambi eliminati:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "aggiunto da noi:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "eliminato da loro:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "aggiunto da loro:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "eliminato da noi:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "entrambi aggiunti:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "entrambi modificati:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "nuovo file:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "copiato:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "eliminato:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "modificato:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "rinominato:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "modifica tipo:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "sconosciuto:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "non sottoposto a merge:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "nuovi commit, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "contenuto modificato, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "contenuto non tracciato, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Lo stash attualmente ha %d voce" msgstr[1] "Lo stash attualmente ha %d voci" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Sottomoduli modificati ma non aggiornati:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Modifiche ai sottomoduli di cui verrà eseguito il commit:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -8061,111 +8223,123 @@ msgstr "" "Non modificare o rimuovere la riga soprastante.\n" "Tutto ciò che si trova al di sotto di essa sarà ignorato." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"Sono stati necessari %.2f secondi per calcolare il numero di commit\n" +"precedenti/successivi nel branch.\n" +"Puoi usare '--no-ahead-behind' per evitare il calcolo.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Hai dei percorsi non sottoposti a merge." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (risolvi i conflitti ed esegui \"git commit\")" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (usa \"git merge --abort\" per interrompere il merge)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Tutti i conflitti sono stati risolti ma il merge è ancora in corso." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (usa \"git commit\" per terminare il merge)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Sei nel bel mezzo di una sessione am." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "La patch corrente è vuota." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (risolvi i conflitti e quindi esegui \"git am --continue\")" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (usa \"git am --skip\" per saltare questa patch)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (usa \"git am --abort\" per ripristinare il branch originario)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo è mancante." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "Nessun comando eseguito." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Ultimo comando eseguito (%d comando eseguito):" msgstr[1] "Ultimi comandi eseguiti (%d comandi eseguiti):" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (vedi di più nel file %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Nessun comando rimanente." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Prossimo comando da eseguire (%d comando rimanente):" msgstr[1] "Prossimi comandi da eseguire (%d comandi rimanenti):" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr "" " (usa \"git rebase --edit-todo\" per visualizzare e modificare le " "operazioni)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Attualmente stai eseguendo il rebase del branch '%s' su '%s'." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Attualmente stai eseguendo un rebase." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (risolvi i conflitti e quindi esegui \"git rebase --continue\")" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (usa \"git rebase --skip\" per saltare questa patch)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (usa \"git rebase --abort\" per eseguire il checkout del branch originario)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr "" " (tutti i conflitti sono stati risolti: esegui \"git rebase --continue\")" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -8173,145 +8347,137 @@ msgstr "" "Attualmente stai dividendo un commit durante il rebase del branch '%s' su " "'%s'." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Attualmente stai dividendo un commit durante un rebase." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Una volta che la tua directory di lavoro è pulita, esegui \"git rebase --" "continue\")" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Attualmente stai modificando un commit durante il rebase del branch '%s' su " "'%s'." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Attualmente stai modificando un commit durante un rebase." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (usa \"git commit --amend\" per correggere il commit corrente)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (usa \"git rebase --continue\" una volta soddisfatto delle tue modifiche)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Cherry-pick in corso." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Attualmente stai eseguendo il cherry-pick del commit %s." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (risolvi i conflitti ed esegui \"git cherry-pick --continue\")" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (esegui \"git cherry-pick --continue\" per continuare)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (tutti i conflitti sono stati risolti: esegui \"git cherry-pick --continue" "\")" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (usa \"git cherry-pick --abort\" per annullare l'operazione di cherry-pick)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Revert in corso." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Attualmente stai eseguendo il revert del commit %s." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (risolvi i conflitti ed esegui \"git revert --continue\")" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (esegui \"git revert --continue\" per continuare)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" " (tutti i conflitti sono stati risolti: esegui \"git revert --continue\")" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (usa \"git revert --abort\" per annullare l'operazione di revert)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Attualmente stai eseguendo una bisezione partendo dal branch '%s'." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Attualmente stai eseguendo una bisezione." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (usa \"git bisect reset\" per tornare al branch originario)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "Sul branch " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "rebase interattivo in corso su " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "rebase in corso su " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "HEAD scollegato su " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "HEAD scollegato da " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Attualmente non sei su alcun branch." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Commit iniziale" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Non ci sono ancora commit" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "File non tracciati" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "File ignorati" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8323,31 +8489,31 @@ msgstr "" "ma devi stare attento a non dimenticarti di aggiungere\n" "autonomamente i file nuovi (vedi 'git help status')." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "File non tracciati non elencati%s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (usa l'opzione -u per visualizzare i file non tracciati)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "Nessuna modifica" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "nessuna modifica aggiunta al commit (usa \"git add\" e/o \"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "nessuna modifica aggiunta al commit\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8356,68 +8522,68 @@ msgstr "" "non è stato aggiunto nulla al commit ma sono presenti file non tracciati " "(usa \"git add\" per tracciarli)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "non è stato aggiunto nulla al commit ma sono presenti file non tracciati\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "non c'è nulla di cui eseguire il commit (crea/copia dei file e usa \"git add" "\" per tracciarli)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "non c'è nulla di cui eseguire il commit\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "non c'è nulla di cui eseguire il commit (usa -u per visualizzare i file non " "tracciati)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "non c'è nulla di cui eseguire il commit, l'albero di lavoro è pulito\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Non ci sono ancora commit su" -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (nessun branch)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "differente" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "indietro " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "avanti " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "impossibile eseguire %s: ci sono delle modifiche non in staging." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "" "inoltre, l'indice contiene modifiche di cui non è stato eseguito il commit." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "" @@ -8433,7 +8599,7 @@ msgstr "git add [<opzioni>] [--] <specificatore percorso>..." msgid "unexpected diff status %c" msgstr "stato diff inatteso %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "aggiornamento dei file non riuscito" @@ -8481,8 +8647,8 @@ msgstr "Impossibile applicare '%s'" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "I seguenti percorsi sono ignorati da uno dei file .gitignore:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "test controllato" @@ -8491,7 +8657,7 @@ msgstr "test controllato" msgid "interactive picking" msgstr "scelta interattiva" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "seleziona gli hunk in modalità interattiva" @@ -8662,7 +8828,7 @@ msgstr "offset fuso orario non valido" msgid "Patch format detection failed." msgstr "Rilevamento del formato della patch non riuscito." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "creazione della directory '%s' non riuscita" @@ -8671,7 +8837,7 @@ msgstr "creazione della directory '%s' non riuscita" msgid "Failed to split patches." msgstr "Divisione delle patch non riuscita." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "impossibile scrivere il file indice" @@ -8712,17 +8878,17 @@ msgstr "riga ident non valida: %.*s" msgid "unable to parse commit %s" msgstr "impossibile analizzare il commit %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Dal repository mancano i blob necessari per ripiegare sul merge a tre vie." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "" "Utilizzo le informazioni dell'indice per ricostruire un albero di base..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8730,30 +8896,24 @@ msgstr "" "Hai modificato manualmente la patch?\n" "Non può essere applicata ai blob registrati nel suo indice." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Ripiego sul patching della base e sul merge a tre vie..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Merge delle modifiche non riuscito." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "applicazione a una cronologia vuota" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "impossibile riprendere l'attività : %s non esiste." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"impossibile eseguire l'attività in modalità interattiva con lo standard " -"input non collegato a un terminale." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Il corpo del commit è:" @@ -8761,36 +8921,37 @@ msgstr "Il corpo del commit è:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" "Applico? Sì [y]/No [n]/Modifica [e]/[V]isualizza patch/[A]ccetta tutto:" -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Indice sporco: impossibile applicare le patch (elemento sporco: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Applicazione in corso: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Nessuna modifica -- patch già applicata." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "Patch non riuscita a %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" "Usa 'git am --show-current-patch' per visualizzare la patch non riuscita" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8800,7 +8961,7 @@ msgstr "" "Se non rimane nulla da aggiungere all'area di staging, forse qualcos'altro\n" "ha già introdotto le stesse modifiche; potresti voler saltare questa patch." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8813,17 +8974,17 @@ msgstr "" "Potresti eseguire `git rm` su un file per accettarne la risoluzione " "\"eliminato da loro\"." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "Impossibile analizzare l'oggetto '%s'." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "pulizia dell'indice non riuscita" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8832,148 +8993,148 @@ msgstr "" "'am'.\n" "Non ritorno indietro a ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valore non valido per --patch-format: %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<opzioni>] [(<mbox> | <Maildir>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<opzioni>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "esegui in modalità interattiva" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "opzione storica -- non esegue nulla" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "consenti il ripiego sul merge a tre vie se necessario" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "non visualizzare messaggi" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "aggiungi una riga Signed-off-by al messaggio di commit" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "converti codifica in UTF-8 (impostazione predefinita)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "fornisci l'argomento -k a git-mailinfo" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "fornisci l'argomento -b a git-mailinfo" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "fornisci l'argomento -m a git-mailinfo" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "fornisci a git-mailsplit l'argomento --keep-cr per il formato mbox" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "non fornire l'argomento --keep-cr a git-mailsplit indipendentemente dal " "valore di am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "rimuovi tutte le righe prima di una riga \"taglia qui\"" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "passa l'argomento a git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "formato" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "il formato delle patch" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "" "esegui l'override del messaggio d'errore quando si verifica un errore legato " "alle patch" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "" "continua l'applicazione delle patch dopo la risoluzione di un conflitto" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "sinonimi di --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "salta la patch corrente" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "ripristina il branch originario e interrompi l'operazione di patching." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "interrompi l'operazione di patching ma mantieni HEAD dov'è." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "visualizza la patch in fase di applicazione." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "menti sulla data del commit" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "usa il timestamp corrente come data autore" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "ID chiave" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "firma i commit con GPG" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(a uso interno per git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -8981,18 +9142,18 @@ msgstr "" "L'opzione -b/--binary non esegue nulla da molto tempo e\n" "sarà rimossa. Non usarla più." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "lettura dell'indice non riuscita" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" "la directory di rebase precedente %s esiste ancora ma è stata specificata " "un'mbox." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -9001,10 +9162,16 @@ msgstr "" "Trovata directory smarrita %s.\n" "Usa \"git am --abort\" per eliminarla." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Operazione di risoluzione non in corso, non riprendiamo." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "" +"la modalità interattiva richiede che le patch siano fornite sulla riga di " +"comando" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<opzioni>] [<patch>...]" @@ -9240,80 +9407,85 @@ msgstr "non eseguirò la bisezione su un albero sottoposto a cg-seek" msgid "bad HEAD - strange symbolic ref" msgstr "head non valida - riferimento simbolico strano" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "riferimento non valido: '%s'" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "esegui 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "scrivi i termini in .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "pulisci lo stato bisezione" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "controlla se le revisioni attese sono presenti" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "reimposta lo stato della bisezione" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "scrivi lo stato della bisezione in BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "controlla e imposta i termini in uno stato bisezione" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "" "controlla se esistono termini per revisioni non funzionanti o funzionanti" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "stampa i termini della bisezione" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "inizia la sessione di bisezione" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "aggiorna BISECT_HEAD anziché eseguire il checkout del commit corrente" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "non registrare le operazioni eseguite per BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms richiede due argomenti" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state non richiede argomenti" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset richiede o nessun argomento o un commit" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write richiede o quattro o cinque argomenti" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms richiede tre argomenti" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check richiede due o tre argomenti" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms richiede zero o un argomento" @@ -9325,151 +9497,168 @@ msgstr "git blame [<opzioni>] [<opzioni revisione>] [<revisione>] [--] <file>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "le <opzioni revisione> sono documentate in git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "atteso colore: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "deve terminare con un colore" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "colore '%s' non valido in color.blame.repeatedLines" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "valore non valido per blame.coloring" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "impossibile trovare la revisione %s da ignorare" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "" "Visualizza le voci blame incrementalmente, a mano a mano che le troviamo" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Visualizza un hash SHA-1 vuoto per i commit limite (impostazione " "predefinita: off)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Non gestire i commit radice come commit limite (impostazione predefinita: " "off)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Visualizza le statistiche sul costo dell'operazione" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Forza l'indicazione d'avanzamento dell'operazione" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Visualizza il punteggio di output per le voci blame" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "" "Visualizza il nome file originario (impostazione predefinita: automatico)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "" "Visualizza il numero di riga originario (impostazione predefinita: off)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "" "Visualizza l'output in un formato progettato per l'utilizzo da parte di una " "macchina" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "" "Visualizza il formato porcelain con le informazioni sul commit per ogni riga" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Usa la stessa modalità di output di git-annotate (impostazione predefinita: " "off)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Visualizza il timestamp grezzo (impostazione predefinita: off)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "" "Visualizza l'hash SHA1 del commit in forma lunga (impostazione predefinita: " "off)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "" "Non visualizzare il nome autore e il timestamp (impostazione predefinita: " "off)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "" -"Visualizza l'indirizzo email dell'autore invece del nome (impostazione " +"Visualizza l'indirizzo e-mail dell'autore invece del nome (impostazione " "predefinita: off)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Ignora le differenze relative agli spazi bianchi" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "revisione" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "Ignora <revisione> durante l'esecuzione del blame" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "Ignora le revisioni specificate in <file>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "colora in modo differente i metadati ridondanti della riga precedente" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "colora le righe in base all'età " -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Usa un'euristica sperimentale per migliorare i diff" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Usa cicli extra per trovare una corrispondenza migliore" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Usa le revisioni salvate in <file> anziché richiamare git-rev-list" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Usa i contenuti di <file> come immagine finale" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "punteggio" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "Trova copie delle righe all'interno e fra file" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Trova righe spostate all'interno e fra file" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "Elabora solo l'intervallo righe n,m, contandole da 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" "--progress non può essere usato con --incremental o con i formati porcelain" @@ -9482,18 +9671,18 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "4 anni, 11 giorni fa" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "il file %s ha solo %lu riga" msgstr[1] "il file %s ha solo %lu righe" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Eseguo il blame sulle righe" @@ -9525,7 +9714,7 @@ msgstr "git branch [<opzioni>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<opzioni>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9534,7 +9723,7 @@ msgstr "" "elimino il branch '%s' di cui è stato eseguito il merge in\n" " '%s', ma di cui non è ancora stato eseguito il merge in HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9543,12 +9732,12 @@ msgstr "" "non elimino il branch '%s' di cui non è ancora stato eseguito il merge in\n" " '%s', benché ne sia stato eseguito il merge in HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Impossibile trovare l'oggetto commit per '%s'" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9557,129 +9746,129 @@ msgstr "" "Il branch '%s' non è stato sottoposto completamente a un merge.\n" "Se sei sicuro di volerlo eliminare, esegui 'git branch -D %s'." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Aggiornamento del file di configurazione non riuscito" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "impossibile usare -a con -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Impossibile trovare l'oggetto commit per HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "" "Impossibile eliminare il branch '%s' di cui è stato eseguito il checkout in " "'%s'" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "branch remoto tracciato '%s' non trovato." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "branch '%s' non trovato." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Errore durante l'eliminazione del branch remoto tracciato '%s'" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Errore durante l'eliminazione del branch '%s'" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" -msgstr "Eliminato branch remoto tracciato %s (era %s).\n" +msgstr "Branch remoto tracciato %s eliminato (era %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" -msgstr "Eliminato branch %s (era %s).\n" +msgstr "Branch %s eliminato (era %s).\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "impossibile analizzare la stringa di formato" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "impossibile risolvere HEAD" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) punta a un oggetto non in refs/heads/" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Rebase del branch %s in corso in %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "Bisezione del branch %s in corso in %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "" "impossibile copiare il branch corrente quando non si è su alcun branch." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "" -"impossibile rinominare il branch corrente quando non si è su alcun branch." +"impossibile ridenominare il branch corrente quando non si è su alcun branch." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nome branch non valido: '%s'" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Ridenominazione del branch non riuscita" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Copia del branch non riuscita" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Creata copia del branch mal denominato '%s'" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Branch mal denominato '%s' rinominato" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Branch rinominato in %s, ma HEAD non è aggiornato!" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "" "Il branch è stato rinominato, ma l'aggiornamento del file di configurazione " "non è riuscito" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "" "Il branch è stato copiato, ma l'aggiornamento del file di configurazione non " "è riuscito" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9690,186 +9879,186 @@ msgstr "" " %s\n" "Le righe che iniziano con '%c' saranno omesse.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Opzioni generiche" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "" "visualizza l'hash e l'oggetto, usa l'opzione due volte per il branch upstream" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "non visualizzare i messaggi informativi" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "imposta la modalità tracking (vedi git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "non usare" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "upstream" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "modifica le informazioni sull'upstream" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Rimuovi le informazioni sull'upstream" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "usa l'output colorato" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "agisci sui branch remoti tracciati" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "stampa solo i branch che contengono i commit" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "stampa solo i branch che non contengono i commit" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Azioni specifiche di git-branch:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "elenca sia i branch remoti tracciati sia quelli locali" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "elimina il branch completamente sottoposto a merge" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "elimina il branch (anche se non è stato sottoposto a merge)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "sposta/rinomina un branch e il suo registro dei riferimenti" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "sposta/rinomina un branch anche se la destinazione esiste" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "copia un branch e il suo registro dei riferimenti" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "copia un branch anche se la destinazione esiste" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "elenca i nomi dei branch" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "visualizza il nome del branch corrente" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "crea il registro dei riferimenti del branch" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "modifica la descrizione del branch" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "forza la creazione, spostamento/ridenominazione, eliminazione" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "stampa solo i branch sottoposti a merge" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "stampa solo i branch non sottoposti a merge" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "elenca i branch in colonne" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "oggetto" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "stampa solo i branch dell'oggetto" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "" "l'ordinamento e il filtraggio non fanno differenza tra maiuscole e minuscole" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "formato da usare per l'output" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD non trovato fra i riferimenti/head!" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column e --verbose non sono compatibili" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "nome branch richiesto" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "Impossibile fornire una descrizione per l'HEAD scollegato" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "impossibile modificare la descrizione per più di un branch" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Non esiste ancora nessun commit sul branch '%s'." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "Non esiste alcun branch denominato '%s'." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "sono presenti troppi branch per consentire un'operazione di copia" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "" "sono presenti troppi argomenti per consentire un'operazione di " "ridenominazione" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "" "sono presenti troppi argomenti per consentire l'impostazione del nuovo " "upstream" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -9877,38 +10066,41 @@ msgstr "" "impossibile impostare l'upstream di HEAD a %s quando non punta ad alcun " "branch." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "branch '%s' non esistente" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "il branch '%s' non esiste" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "" "sono presenti troppi argomenti per rimuovere le informazioni sull'upstream" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "impossibile rimuovere le informazioni sull'upstream di HEAD quando non punta " "ad alcun branch." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Il branch '%s' non ha informazioni sull'upstream" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"le opzioni -a e -r per 'git branch' non hanno senso con il nome di un branch" +"Le opzioni di 'git branch' -a e -r non richiedono un nome branch.\n" +"Forse volevi usare: -a|-r --list <pattern>?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9929,7 +10121,7 @@ msgstr "Per creare un bundle è necessario un repository." msgid "Need a repository to unbundle." msgstr "Per decomprimere un bundle è necessario un repository." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9937,7 +10129,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <tipo> | --textconv | --filters) [--path=<percorso>] <oggetto>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9945,75 +10137,75 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "può essere specificata solo un'opzione batch" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<tipo> può essere uno fra blob, tree, commit, tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "visualizza tipo oggetto" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "visualizza dimensioni oggetto" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "esci con codice d'uscita zero se non si sono verificati errori" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "stampa il contenuto dell'oggetto con un formato leggibile" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "esegui textconv sul contenuto dell'oggetto (per gli oggetti blob)" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "esegui i filtri sul contenuto dell'oggetto (per gli oggetti blob)" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "usa un percorso specifico per --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "consenti a -s e -t di funzionare con oggetti malformati/corrotti" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "esegui il buffering dell'output di --batch" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" "visualizza le informazioni e il contenuto degli oggetti forniti nello " "standard input" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "visualizza le informazioni degli oggetti forniti nello standard input" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "segui i collegamenti simbolici entro l'albero (usato con --batch o --batch-" "check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "visualizza tutti gli oggetti con --batch o --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "non ordinare l'output di --batch-all-objects" @@ -10041,8 +10233,8 @@ msgstr "leggi i nomi dei file dallo standard input" msgid "terminate input and output records by a NUL character" msgstr "termina i record di input e output con un carattere NUL" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "non visualizzare l'avanzamento dell'operazione" @@ -10132,9 +10324,9 @@ msgid "write the content to temporary files" msgstr "scrivi il contenuto in file temporanei" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "stringa" @@ -10146,93 +10338,116 @@ msgstr "aggiungi il prefisso <stringa> durante la creazione dei file" msgid "copy out the files from named stage" msgstr "copia i file dalla fase specificata" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<opzioni>] <branch>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<opzioni>] [<branch>] -- <file>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<opzioni>] <branch>" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<opzioni>] [--source=<branch>] <file>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "il percorso '%s' non ha la nostra versione" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "il percorso '%s' non ha la loro versione" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "il percorso '%s' non ha tutte le versioni necessarie" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "il percorso '%s' non ha le versioni necessarie" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "percorso '%s': impossibile eseguire il merge" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Impossibile aggiungere il risultato del merge per '%s'" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "Ricreato %d conflitto di merge" +msgstr[1] "Ricreati %d conflitti di merge" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "Aggiornato %d percorso da %s" +msgstr[1] "Aggiornati %d percorsi da %s" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "Aggiornato %d percorso dall'indice" +msgstr[1] "Aggiornati %d percorsi dall'indice" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' non può essere usato con i percorsi in fase di aggiornamento" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' non può essere usato con %s" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Impossibile aggiornare dei percorsi e passare al branch '%s' " "contemporaneamente." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "il percorso '%s' non è stato sottoposto a merge" +msgid "neither '%s' or '%s' is specified" +msgstr "né '%s' né '%s' sono stati specificati" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "Ricreato %d conflitto di merge" -msgstr[1] "Ricreati %d conflitti di merge" +msgid "'%s' must be used when '%s' is not specified" +msgstr "'%s' dev'essere usato quando '%s' non è specificato" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "Aggiornato %d percorso da %s" -msgstr[1] "Aggiornati %d percorsi da %s" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' o '%s' non possono essere usati con %s" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "Aggiornato %d percorso dall'indice" -msgstr[1] "Aggiornati %d percorsi dall'indice" +msgid "path '%s' is unmerged" +msgstr "il percorso '%s' non è stato sottoposto a merge" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "prima devi risolvere l'indice corrente" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10241,55 +10456,55 @@ msgstr "" "impossibile continuare con modifiche in stage nei file seguenti:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "le modifiche in stage nei seguenti file potrebbero andare perdute: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Impossibile esaminare il registro dei riferimenti per '%s': %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD si trova ora a" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "impossibile aggiornare HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Ripristina il branch '%s'\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Si è già su '%s'\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Si è passati al branch '%s' e lo si è reimpostato\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Si è passati a un nuovo branch '%s'\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Si è passati al branch '%s'\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ...e altri %d.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10312,7 +10527,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10339,24 +10554,28 @@ msgstr[1] "" " git branch <nome del nuovo branch> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "errore interno durante la visita delle revisioni" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "La precedente posizione di HEAD era" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Sei su un branch che deve ancora essere creato" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "atteso solo un riferimento" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "atteso solo un riferimento, %d specificati." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10365,156 +10584,212 @@ msgstr "" "'%s' potrebbe essere sia un file locale, sia un branch da tracciare.\n" "Usa -- (e facoltativamente --no-guess) per rimuovere l'ambiguità " -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "riferimento non valido: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "il riferimento non è un albero: %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "atteso branch, ricevuto tag '%s'" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "atteso branch, ricevuto branch remoto '%s'" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "atteso branch, ricevuto '%s'" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "atteso branch, ricevuto commit '%s'" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"impossibile cambiare branch durante un merge\n" +"Considera l'uso di \"git merge --quit\" o di \"git worktree add\"." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"impossibile cambiare branch nel bel mezzo di una sessione am\n" +"Considera l'uso di \"git am --quit\" o di \"git worktree add\"." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"impossibile cambiare branch durante un rebase\n" +"Considera l'uso di \"git rebase --quit\" o di \"git worktree add\"." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"impossibile cambiare branch durante un cherry-pick\n" +"Considera l'uso di \"git cherry-pick --quit\" o di \"git worktree add\"." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"impossibile cambiare branch durante un revert\n" +"Considera l'uso di \"git revert --quit\" o di \"git worktree add\"." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "stai cambiando branch durante una bisezione" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "i percorsi non possono essere usati passando da un branch a un altro" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' non può essere usato passando da un branch a un altro" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' non può essere usato con '%s'" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "'%s' non accetta l'argomento <punto di partenza>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Impossibile cambiare branch per passare a '%s' che non è un commit" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "branch" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "argomento branch o commit mancante" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "crea un nuovo branch ed eseguine il checkout" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "forza l'indicazione d'avanzamento dell'operazione" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "crea/reimposta un branch ed eseguine il checkout" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "esegui un merge a tre vie con il nuovo branch" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "crea il registro dei riferimenti per il nuovo branch" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "stile" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "stile conflitti (merge o diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "scollega l'HEAD al commit specificato" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "imposta le informazioni sull'upstream per il nuovo branch" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "esegui forzatamente il checkout (scarta le modifiche locali)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "nuovo branch" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "nuovo branch senza genitore" -#: builtin/checkout.c:1366 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "aggiorna i file ignorati (impostazione predefinita)" + +#: builtin/checkout.c:1462 +msgid "do not check if another worktree is holding the given ref" +msgstr "" +"non controllare se un altro albero di lavoro contiene il riferimento " +"specificato" + +#: builtin/checkout.c:1475 msgid "checkout our version for unmerged files" msgstr "" "esegui il checkout della nostra versione per i file non sottoposti a merge" -#: builtin/checkout.c:1369 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "" "esegui il checkout della loro versione per i file non sottoposti a merge" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "esegui forzatamente il checkout (scarta le modifiche locali)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "esegui un merge a tre vie con il nuovo branch" - -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" -msgstr "aggiorna i file ignorati (impostazione predefinita)" - -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "stile" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "stile conflitti (merge o diff3)" - -#: builtin/checkout.c:1381 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "non limitare gli specificatori percorso solo alle voci sparse" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "non indovinare 'git checkout <branch inesistente>'" - -#: builtin/checkout.c:1385 -msgid "do not check if another worktree is holding the given ref" -msgstr "" -"non controllare se un altro albero di lavoro contiene il riferimento " -"specificato" - -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "forza l'indicazione d'avanzamento dell'operazione" - -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "usa modalità overlay (impostazione predefinita)" - -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "le opzioni -b, -B e --orphan sono mutuamente esclusive" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "le opzioni -p e --overlay sono mutualmente esclusive" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track richiede il nome di un branch" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "nome del branch mancante; prova con -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "impossibile risolvere %s" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "devi specificare il percorso/i percorsi da ripristinare" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "specificatore percorso non valido" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "" "'%s' non è un commit e non si può creare un branch '%s' che parta da esso" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach non accetta un percorso '%s' come argomento" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10522,7 +10797,7 @@ msgstr "" "git checkout: --ours/--theirs, --force e --merge sono incompatibili quando\n" "si esegue il checkout dell'indice." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10553,6 +10828,68 @@ msgstr "" "rispetto a un particolare remoto, ad es. 'origin', potresti voler\n" "impostare checkout.defaultRemote=origin nel tuo file di configurazione." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "branch" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "crea un nuovo branch ed eseguine il checkout" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "crea/reimposta un branch ed eseguine il checkout" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "crea il registro dei riferimenti per il nuovo branch" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "prevedi 'git checkout <branch inesistente>' (impostazione predefinita)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "usa modalità overlay (impostazione predefinita)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "crea un nuovo branch e passa a quest'ultimo" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "crea/reimposta un branch e passa a quest'ultimo" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "prevedi 'git switch <branch inesistente>'" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "scarta le modifiche locali" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "albero da cui eseguire il checkout" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "ripristina l'indice" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "ripristina l'albero di lavoro (impostazione predefinita)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "ignora voci non sottoposte a merge" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "usa modalità overlay" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10585,7 +10922,12 @@ msgstr "Salterei il repository %s\n" msgid "failed to remove %s" msgstr "eliminazione di %s non riuscita" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "impossibile eseguire l'lstat di %s\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10598,7 +10940,7 @@ msgstr "" "pippo - seleziona un elemento basandoti su un prefisso univoco\n" " - (vuoto) non selezionare niente\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10619,38 +10961,38 @@ msgstr "" "* - seleziona tutti gli elementi\n" " - (vuoto) termina il processo di selezione\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Eh (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Immetti i pattern da ignorare>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ATTENZIONE: Impossibile trovare elementi corrispondenti a %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Seleziona gli elementi da eliminare" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Eliminare %s [y/N]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Ciao.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10669,64 +11011,64 @@ msgstr "" "help - visualizza questa schermata\n" "? - guida al prompt di selezione" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Comandi ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Cosa faccio ora" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Eliminerei il seguente elemento:" msgstr[1] "Eliminerei i seguenti elementi:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Non ci sono più file da ripulire, esco." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "non stampare i nomi dei file eliminati" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "forza l'operazione" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "pulizia interattiva" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "rimuovi intere directory" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "pattern" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "aggiungi <pattern> alle regole usate per ignorare i file" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "elimina anche i file ignorati" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "elimina solo i file ignorati" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x e -X non possono essere usati insieme" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10734,7 +11076,7 @@ msgstr "" "clean.requireForce è impostato a true e né -i, né -n, né -f sono stati " "specificati; mi rifiuto di eseguire la pulizia" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10742,158 +11084,164 @@ msgstr "" "clean.requireForce è true per impostazione predefinita e né -i, né -n, né -f " "sono stati specificati; mi rifiuto di eseguire la pulizia" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<opzioni>] [--] <repository> [<directory>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "non creare un checkout" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "crea un repository spoglio" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "crea un repository mirror (implica che sia spoglio)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "per clonare da un repository locale" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "non usare i collegamenti reali locali, copia sempre i file" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "imposta il repository come condiviso" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "specificatore percorso" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "inizializza sottomoduli durante la clonazione" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "numero di sottomoduli clonati in parallelo" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "directory modelli" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "directory da cui saranno recuperati i modelli" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "repository di riferimento" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "usa --reference solo durante la clonazione" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "nome" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "usa <nome> anziché 'origin' per tracciare l'upstream" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "esegui il checkout di <branch> anziché dell'HEAD del remoto" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "percorso al comando remoto git-upload-pack" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "profondità " -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "crea un clone shallow con questa profondità " -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "tempo" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "crea un clone shallow a partire dall'istante specificato" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "revisione" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "" "aumenta la profondità della cronologia del clone shallow fino alla revisione " "specificata esclusa" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "clona solo un branch, HEAD o quello specificato con --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "non clonare alcun tag e fai sì che i fetch successivi non li seguano" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "tutti i sottomoduli clonati saranno shallow" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "directory Git" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "separa la directory Git dall'albero di lavoro" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "chiave=valore" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "imposta la configurazione nel nuovo repository" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "specifica del server" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "opzione da trasmettere" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "usa solo indirizzi IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "usa solo indirizzi IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "" +"tutti i sottomoduli clonati useranno il loro rispettivo branch remoto " +"tracciato" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10901,149 +11249,149 @@ msgstr "" "Non è stato possibile indovinare alcun nome directory.\n" "Specifica una directory tramite la riga di comando" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "informazione: Impossibile aggiungere un alternato a '%s': %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "apertura di '%s' non riuscita" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s esiste e non è una directory" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "stat di %s non riuscito\n" +msgid "failed to start iterator over '%s'" +msgstr "impossibile avviare l'iteratore su '%s'" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "unlink di '%s' non riuscito" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "creazione del collegamento '%s' non riuscita" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "copia del file in '%s' non riuscita" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "iterazione su '%s' non riuscita" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "fatto.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Clone completato con successo, ma il checkout non è riuscito.\n" "Puoi esaminare gli elementi di cui è stato eseguito il checkout\n" "con 'git status' e riprovare ad eseguire il checkout con\n" -"'git checkout -f HEAD'\n" +"'git restore --source=HEAD :/'\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Impossibile trovare il branch remoto %s da clonare." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "impossibile aggiornare %s" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "l'HEAD remoto fa riferimento a un riferimento inesistente, impossibile " "eseguire il checkout.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "impossibile eseguire il checkout dell'albero di lavoro" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "impossibile scrivere i parametri nel file di configurazione" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "impossibile eseguire il repack per pulire l'area di lavoro" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "impossibile eseguire l'unlink del file alternates temporaneo" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Troppi argomenti." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Devi specificare un repository da clonare." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "le opzioni --bare e --origin %s non sono compatibili." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "le opzioni --bare e --separate-git-dir non sono compatibili." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "il repository '%s' non esiste" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "la profondità %s non è un numero positivo" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" "il percorso di destinazione '%s' esiste già e non è una directory vuota." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "l'albero di lavoro '%s' esiste già ." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "impossibile creare le prime directory di '%s'" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "impossibile creare la directory dell'albero di lavoro '%s'" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clone nel repository spoglio '%s' in corso...\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clone in '%s' in corso...\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -11051,36 +11399,36 @@ msgstr "" "il clone --recursive non è compatibile né con --reference né con --reference-" "if-able" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "L'opzione --depth è ignorata nei cloni locali; usa file://." -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "L'opzione --shallow-since è ignorata nei cloni locali; usa file://." -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "L'opzione --shallow-exclude è ignorata nei cloni locali; usa file://." -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "L'opzione --filter è ignorata nei cloni locali; usa file://." -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "il repository sorgente è shallow, ignoro l'opzione --local" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "l'opzione --local è ignorata" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Il branch remoto %s non è stato trovato nell'upstream %s" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Sembra che tu abbia clonato un repository vuoto." @@ -11129,7 +11477,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "genitore duplicato %s ignorato" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "%s non è un nome oggetto valido" @@ -11157,13 +11505,13 @@ msgstr "genitore" msgid "id of a parent commit object" msgstr "ID di un oggetto commit genitore" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "messaggio" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "messaggio di commit" @@ -11171,8 +11519,8 @@ msgstr "messaggio di commit" msgid "read commit log message from file" msgstr "leggi il messaggio di log del commit da un file" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "firma il commit con GPG" @@ -11219,80 +11567,86 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Altrimenti, usa 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Altrimenti, usa 'git cherry-pick --skip'\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Se vuoi ignorare questo commit, usa:\n" +"e quindi usa:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"per riprendere l'esecuzione il cherry-pick per i commit rimanenti.\n" +"Se vuoi saltare questo commit, usa:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Quindi il comando \"git cherry-pick --continue\" farà riprendere\n" -"il cherry picking per i commit rimanenti.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "decompressione dell'oggetto HEAD dell'albero non riuscita" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "impossibile creare l'indice temporaneo" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "aggiunta interattiva non riuscita" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "impossibile aggiornare l'indice temporaneo" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Impossibile aggiornare l'albero cache principale" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "impossibile scrivere il file new_index" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "impossibile eseguire un commit parziale durante un merge." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "impossibile eseguire un commit parziale durante un cherry-pick." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "impossibile leggere l'indice" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "impossibile scrivere il file indice temporaneo" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "dal commit '%s' manca l'intestazione autore" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "il commit '%s' ha una riga autore malformata" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "parametro --author malformato" -#: 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" @@ -11300,38 +11654,38 @@ msgstr "" "impossibile selezionare un carattere commento non usato\n" "nel messaggio di commit corrente" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "impossibile trovare il commit %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lettura del messaggio di log dallo standard input)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "impossibile leggere il log dallo standard input" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "impossibile leggere il file di log '%s'" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "impossibile leggere SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "impossibile leggere MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "impossibile scrivere il modello di commit" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11346,7 +11700,7 @@ msgstr "" "\t%s\n" "e riprova.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11361,7 +11715,7 @@ msgstr "" "\t%s\n" "e riprova.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11370,7 +11724,7 @@ msgstr "" "Immetti il messaggio di commit per le modifiche. Le righe che iniziano\n" "con '%c' saranno ignorate e un messaggio vuoto interromperà il commit.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11381,149 +11735,149 @@ msgstr "" "con '%c' saranno mantenute; puoi rimuoverle autonomamente se lo desideri.\n" "Un messaggio vuoto interromperà il commit.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAutore: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sData: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sEsecutore commit: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "Impossibile leggere l'indice" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Errore durante la costruzione degli alberi" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Fornisci il messaggio usando l'opzione -m o -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" -"--author '%s' non è nel formato 'Nome <email>' e non corrisponde ad alcun " +"--author '%s' non è nel formato 'Nome <e-mail>' e non corrisponde ad alcun " "autore esistente" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Modo non valido ignorato: '%s'" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Modo file non tracciati non valido: '%s'" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long e -z non sono compatibili" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "L'uso di entrambe le opzioni --reset-author e --author non ha senso" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "Non c'è nulla da modificare." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Sei nel bel mezzo di un merge - impossibile eseguire l'amend." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Sei nel bel mezzo di un cherry-pick - impossibile eseguire l'amend." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Le opzioni --squash e --fixup non possono essere usate insieme" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Solo una delle opzioni -c/-C/-F/--fixup può essere usata." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "L'opzione -m non può essere combinata con -c/-C/-F." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "L'opzione --reset-author può essere usata solo con -C, -c o --amend." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Può essere usata solo una delle opzioni --include/--only/--all/--" "interactive/--patch." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "" "Non specificare un percorso con le opzioni --include/--only non ha senso." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "i percorsi '%s ...' non hanno senso con -a" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "visualizza concisamente lo stato" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "visualizza le informazioni sul branch" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "visualizza le informazioni sullo stash" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "calcola tutti i valori dopo/prima di" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "versione" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "output leggibile da una macchina" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "visualizza lo stato in forma lunga (impostazione predefinita)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "termina le voci con NUL" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "modo" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "visualizza file non tracciati, modalità facoltative: all, normal, no. " "(Impostazione predefinita: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11531,11 +11885,11 @@ msgstr "" "visualizza file ignorati, modalità facoltative: traditional, matching, no. " "(Impostazione predefinita: traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "quando" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11543,240 +11897,256 @@ msgstr "" "ignora modifiche ai sottomoduli, opzione facoltativa \"quando\": all, dirty, " "untracked. (Impostazione predefinita: all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "elenca i file non tracciati in colonne" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "non rilevare le ridenominazioni" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "" "rileva le ridenominazioni, imposta facoltativamente l'indice di similarità " -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" "Combinazione di argomenti sui file ignorati e non tracciati non supportata" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "" "ometti di visualizzare il riepilogo dopo un commit completato con successo" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "visualizza il diff nel modello del messaggio di commit" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Opzioni messaggio di commit" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "leggi il messaggio da un file" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "autore" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "sovrascrivi l'autore per il commit" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "data" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "sovrascrivi la data per il commit" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "commit" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "riusa il messaggio del commit specificato per poi modificarlo" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "riusa il messaggio del commit specificato" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "usa il messaggio in formato autosquash per correggere il commit specificato" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "usa il messaggio in formato autosquash per eseguire lo squash del commit " "specificato" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "il commit ora ha me come autore (opzione usata con -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "aggiungi Signed-off-by:" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "usa il file modello specificato" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "forza la modifica del commit" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "includi lo stato nel modello del messaggio di commit" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Opzioni contenuto commit" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "esegui il commit di tutti i file modificati" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "aggiungi i file specificati all'indice per il commit" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "aggiungi i file in modalità interattiva" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "aggiungi le modifiche in modalità interattiva" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "esegui il commit solo dei file specificati" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "ignora gli hook pre-commit e commit-msg" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "visualizza gli elementi di cui sarebbe eseguito il commit" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "modifica il commit precedente" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "ignora l'hook post-rewrite" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "accetta di registrare una modifica vuota" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "accetta di registrare una modifica con un messaggio vuoto" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "File MERGE_HEAD corrotto (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "impossibile leggere MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "impossibile leggere il messaggio di commit: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Interrompo il commit a causa di un messaggio di commit vuoto.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Interrompo il commit; non hai modificato il messaggio.\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "Il repository è stato aggiornato, ma non è stato\n" "possibile scrivere il file new_index. Verifica che il\n" "disco non sia pieno e che la quota non sia stata\n" -"superata, quindi esegui \"git reset HEAD\" per procedere\n" -"al ripristino." +"superata, quindi esegui \"git restore --staged :/\" per\n" +"procedere al ripristino." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <directory oggetti>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <directory oggetti>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <directory oggetti>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <directory oggetti>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <directory oggetti>] [--append] [--" -"reachable|--stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <directory oggetti>] [--append|--split] " +"[--reachable|--stdin-packs|--stdin-commits] <opzioni split>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "directory" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "La directory oggetti in cui memorizzare il grafo" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "se il grafo dei commit è diviso, verifica solo l'ultimo file" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "Impossibile aprire il grafo dei commit '%s'" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "inizia la visita da tutti i riferimenti" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "" "esamina i pack-index elencati sullo standard input alla ricerca di commit" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "inizia la visita ai commit elencati sullo standard input" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "includi tutti i commit già presenti nel file commit-graph" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "consenti la scrittura di un file grafo dei commit incrementale" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "numero massimo di commit in un grafo dei commit diviso non di base" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "rapporto massimo fra due livelli di un grafo dei commit diviso" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "usa al più un'opzione fra --reachable, --stdin-commits o --stdin-packs" @@ -11784,7 +12154,7 @@ msgstr "usa al più un'opzione fra --reachable, --stdin-commits o --stdin-packs" msgid "git config [<options>]" msgstr "git config [<opzioni>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "argomento --type non riconosciuto: %s" @@ -11893,7 +12263,7 @@ msgstr "trova l'impostazione colore: slot [standard-output-è-una-tty]" msgid "Type" msgstr "Tipo" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "al valore è assegnato questo tipo" @@ -11940,7 +12310,7 @@ msgstr "" "visualizza l'origine del file di configurazione (file, standard input, blob, " "riga di comando)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "valore" @@ -12237,7 +12607,7 @@ msgstr "considera solo i tag corrispondenti al <pattern>" msgid "do not consider tags matching <pattern>" msgstr "non considerare i tag corrispondenti al <pattern>" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "visualizza l'oggetto commit abbreviato come fallback" @@ -12417,160 +12787,199 @@ msgstr "nessuno <strumento> specificato per --tool=<strumento>" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "nessun <comando> specificato per --extcmd=<comando>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <opzioni> <variabile d'ambiente>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "tipo" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "" +"impostazione predefinita su cui ripiegheranno le chiamate git_env_*(...)" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "" +"non visualizzare messaggi, usa solo il valore di git_env_*() come codice " +"d'uscita" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"l'opzione `--default' richiede un valore booleano con `--type=bool`, non `%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"l'opzione `--default' richiede un valore unsigned long con `--type=ulong`, " +"non `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [opzioni-elenco-rev]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "visualizza l'avanzamento dopo <n> oggetti" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "seleziona la gestione dei tag firmati" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "seleziona la gestione dei tag che contrassegnano oggetti filtrati" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" +"seleziona la gestione dei messaggi di commit in una codifica alternativa" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Esegui il dump dei contrassegni in questo file" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Importa i contrassegni da questo file" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Usa un tagger falso se i tag non ne hanno uno" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Visualizza in output l'albero completo per ogni commit" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Usa la funzionalità \"fatto\" per terminare il flusso" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Ometti l'output dei dati dei blob" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "specificatore riferimento" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Applica lo specificatore riferimento ai riferimenti esportati" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "rendi anonimo l'output" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "Fai riferimento ai genitori non nel flusso fast-export tramite l'ID oggetto" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Visualizza gli ID oggetto originari dei blob/commit" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<opzioni>] [<repository> [<specificatore riferimento>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<opzioni>] <gruppo>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<opzioni>] [(<repository> | <gruppo>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<opzioni>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "esegui il fetch da tutti i remoti" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "aggiungi i dati a .git/FETCH_HEAD anziché sovrascriverli" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "percorso in cui caricare il pack sul remoto" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "forza la sovrascrittura del riferimento locale" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "esegui il fetch da più remoti" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "esegui il fetch di tutti i tag e degli oggetti associati" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "non eseguire il fetch di alcun tag (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "numero di sottomoduli recuperati in parallelo" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "" "elimina i branch che ne tracciano uno remoto ma non più presenti sul remoto" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "elimina i tag locali non più presenti sul remoto e sovrascrivi i tag " "modificati" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "a richiesta" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "controlla il recupero ricorsivo dei sottomoduli" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "mantieni il pack scaricato" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "consenti l'aggiornamento del riferimento HEAD" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "aumenta la profondità della cronologia di un clone shallow" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "" "aumenta la profondità della cronologia di un clone shallow in base al tempo" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "converti in un repository completo" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "anteponi questo prefisso all'output del percorso del sottomodulo" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12578,97 +12987,128 @@ msgstr "" "impostazione predefinita per il recupero ricorsivo dei sottomoduli (a " "priorità minore rispetto ai file di configurazione)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "accetta i riferimenti che aggiornano .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "mappa riferimenti" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "specifica la mappa dei riferimenti per il fetch" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "segnala che abbiamo solo oggetti raggiungibili da quest'oggetto" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "esegui 'gc --auto' dopo il fetch" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "controlla aggiornamenti forzati su tutti i branch aggiornati" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "Impossibile trovare l'HEAD del riferimento remoto" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "il valore dell'opzione fetch.output contiene il valore non valido %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "oggetto %s non trovato" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[aggiornato]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[rifiutato]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "impossibile eseguire il fetch nel branch corrente" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[tag aggiornato]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "impossibile aggiornare il riferimento locale" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "sovrascriverebbe il tag esistente" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[nuovo tag]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[nuovo branch]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[nuovo riferimento]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "aggiornamento forzato" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" -msgstr "non fast-forward" +msgstr "non fast forward" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"Il fetch normalmente indica quali branch siano stati sottoposti ad\n" +"aggiornamento forzato, ma tale controllo è stato disabilitato. Per\n" +"riabilitarlo, usa l'opzione '--show-forced-updates' o esegui 'git config\n" +"fetch.showForcedUpdates true'." + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"Sono stati richiesti %.2f secondi per controllare la presenza di eventuali\n" +"aggiornamenti forzati. Puoi usare '--no-show-forced-updates' o eseguire\n" +"'git config fetch.showForcedUpdates false' per omettere questo controllo.\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s non ha inviato tutti gli oggetti necessari\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "%s rifiutato perché non è consentito aggiornare radici shallow" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "Da %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12678,52 +13118,52 @@ msgstr "" "eseguire\n" " 'git remote prune %s' per rimuovere ogni branch vecchio in conflitto" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s diventerà pendente)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s è diventato pendente)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[eliminato]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(nessuno)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Mi rifiuto di eseguire il fetch nel branch corrente %s di un repository non " "bare" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "L'opzione \"%s\" con il valore \"%s\" non è valida per %s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "L'opzione \"%s\" è ignorata per %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "Recupero di %s in corso\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Impossibile recuperare %s" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12731,7 +13171,7 @@ msgstr "" "--filter può essere usato solo con il remoto configurato nelle estensioni." "partialClone" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12739,45 +13179,45 @@ msgstr "" "Non è stato specificato alcun repository remoto. Specifica un URL o il\n" "nome di un remoto da cui dovranno essere recuperate le nuove revisioni." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "Devi specificare il nome di un tag." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Le profondità negative in --deepen non sono supportate" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "le opzioni --deepen e --depth sono mutualmente esclusive" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "--depth e --unshallow non possono essere usati insieme." -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow su un repository completo non ha senso" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "fetch --all non richiede un repository come argomento" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all non ha senso con degli specificatori riferimento" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "Remoto o gruppo remoti non esistente: %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "Recuperare un gruppo e specificare gli specificatori riferimento non ha senso" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12850,7 +13290,7 @@ msgstr "racchiudi i segnaposto fra virgolette in modo da poterli usare con Tcl" msgid "show only <n> matched refs" msgstr "visualizza solo <n> riferimenti corrispondenti" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "rispetta le stringhe di formato per i colori" @@ -13018,7 +13458,7 @@ msgstr "Controllo directory oggetti in corso" msgid "Checking %s link" msgstr "Controllo collegamento %s" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s non valido" @@ -13103,7 +13543,7 @@ msgstr "visualizza l'avanzamento" msgid "show verbose names for reachable objects" msgstr "visualizza nomi dettagliati per gli oggetti raggiungibili" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Controllo oggetti in corso" @@ -13136,7 +13576,7 @@ msgstr "analisi dell'opzione '%s' con valore '%s' non riuscita" msgid "cannot stat '%s'" msgstr "impossibile eseguire lo stat di '%s'" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "impossibile leggere '%s'" @@ -13214,7 +13654,7 @@ msgstr "" "gc è già in esecuzione sul computer '%s' con PID %<PRIuMAX> (usa --force se " "non lo è)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13240,263 +13680,263 @@ msgstr "specificato numero non valido di thread (%d) per %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "non vi è supporto per i thread, ignoro %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "impossibile leggere il tree (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "impossibile eseguire grep su un oggetto di tipo %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "switch '%c' richiede un valore numerico" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "cerca nell'index anziché nell'albero di lavoro" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "la ricerca nei contenuti non è gestita da Git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "cerca sia nei file tracciati sia in quelli non tracciati" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "ignora i file specificati in '.gitignore'" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "cerca ricorsivamente in ogni sottomodulo" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "visualizza le righe non corrispondenti" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "ricerca corrispondenze senza differenze maiuscole/minuscole" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "cerca corrispondenze ai pattern solo a inizio/fine parola" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "elabora i file binari come testuali" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "non cercare corrispondenze ai pattern nei file binari" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "elabora i file binari con filtri di conversione in testo" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "cerca nelle sottodirectory (impostazione predefinita)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "scendi al più di <profondità > livelli" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "usa espressioni regolari POSIX estese" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "usa espressioni regolari POSIX di base (impostazione predefinita)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "interpreta i pattern come stringhe fisse" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "usa espressioni regolari compatibili con Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "visualizza numeri di riga" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "visualizza il numero di colonna della prima corrispondenza" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "non visualizzare i nomi file" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "visualizza i nomi file" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "visualizza i nomi file relativi alla directory di primo livello" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "visualizza solo i nomi file anziché le righe corrispondenti" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "sinonimo di --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "visualizza solo i nomi dei file non corrispondenti" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "stampa NUL dopo i nomi file" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "visualizza solo le parti corrispondenti di una riga" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "visualizza il numero di corrispondenze anziché le righe corrispondenti" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "evidenzia corrispondenze" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "stampa una riga vuota fra le corrispondenze in file differenti" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "visualizza il nome file solo una volta prima delle corrispondenze nello " "stesso file" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "visualizza <n> righe di contesto prima e dopo le corrispondenze" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "visualizza <n> righe di contesto prima delle corrispondenze" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "visualizza <n> righe di contesto dopo le corrispondenze" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "usa <n> thread di lavoro" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "scorciatoia per -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "visualizza una riga con il nome funzione prima delle corrispondenze" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "visualizza la funzione circostante" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "leggi le corrispondenze da un file" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "cerca corrispondenze con <pattern>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "combina i pattern specificati con -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "" "segnala una corrispondenza con il codice di uscita senza emettere output" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "" "visualizza solo le corrispondenze nei file in cui vi sono corrispondenze per " "tutti i pattern" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "visualizza l'albero di analisi per l'espressione grep" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "pager" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "visualizza i file corrispondenti nel pager" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "consenti" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "nessun pattern specificato" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index o --untracked non possono essere usate con le revisioni" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "impossibile risolvere la revisione %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "combinazione di opzioni non valida, ignoro --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "non vi è supporto per i thread, ignoro --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "specificato numero non valido di thread (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager funziona solo sull'albero di lavoro" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "opzione non supportata con --recurse-submodules" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached o --untracked non possono essere usate con --no-index" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard non può essere usata per i contenuti tracciati" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "sono specificati sia --cached sia degli alberi" @@ -13513,10 +13953,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "tipo" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "tipo oggetto" @@ -13633,12 +14069,12 @@ msgstr "nessun visualizzatore man ha gestito la richiesta" msgid "no info viewer handled the request" msgstr "nessun visualizzatore info ha gestito la richiesta" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "'%s' è un alias di '%s'" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "stringa alias.%s non valida: %s" @@ -13652,290 +14088,285 @@ msgstr "uso: %s%s" msgid "'git help config' for more information" msgstr "Vedi 'git help config' per maggiori informazioni" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "tipo oggetto non corrispondente in %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "non si è ricevuto l'oggetto atteso %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "oggetto %s: atteso tipo %s, trovato %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "impossibile riempire %d byte" msgstr[1] "impossibile riempire %d byte" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "EOF prematuro" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "errore di lettura in input" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "usati più byte di quelli disponibili" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "pack troppo largo per la definizione corrente di off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "il pack supera la dimensione massima consentita" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "impossibile creare '%s'" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "impossibile aprire il file pack '%s'" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "la firma del pack non coincide" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "versione pack %<PRIu32> non supportata" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "il pack ha un oggetto danneggiato all'offset %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "inflate ha restituito il codice %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "overflow del valore dell'offset base del delta" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "l'offset base del delta è fuori dall'intervallo consentito" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "tipo oggetto %d sconosciuto" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "impossibile eseguire pread sul file pack" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "fine del file pack prematura, %<PRIuMAX> byte mancante" msgstr[1] "fine del file pack prematura, %<PRIuMAX> byte mancanti" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "inconsistenza grave di inflate" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "TROVATA COLLISIONE SHA1 CON %s !" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "impossibile leggere %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "impossibile leggere le informazioni sull'oggetto esistente: %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "non è possibile leggere l'oggetto %s esistente" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "oggetto blob %s non valido" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "errore fsck nell'oggetto sottoposto a pack" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Non tutti gli oggetti figlio di %s sono raggiungibili" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "applicazione del delta non riuscita" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Ricezione degli oggetti" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Indicizzazione degli oggetti" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "il pack è corrotto (SHA1 non corrisponde)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "impossibile eseguire fstat sul file pack" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "il pack ha dati inutili alla fine" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusione oltre ogni follia in parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Risoluzione dei delta" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "impossibile creare il thread: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "confusione oltre ogni follia" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "completato con %d oggetto locale" -msgstr[1] "completato con %d oggetto locali" +msgstr[1] "completato con %d oggetti locali" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Checksum in coda inatteso per %s (disco corrotto?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "pack ha %d delta irrisolto" msgstr[1] "pack ha %d delta irrisolti" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "impossibile eseguire deflate sull'oggetto aggiunto alla fine (%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "l'oggetto locale %s è corrotto" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "il nome del file pack '%s' non termina con '.pack'" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "impossibile scrivere il file %s '%s'" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "impossibile chiudere il file %s scritto '%s'" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "errore nella chiusura del file pack" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "impossibile archiviare il file pack" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "impossibile archiviare index file" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "pack.indexversion=%<PRIu32> non valida" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Impossibile aprire il file pack '%s' esistente" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Impossibile aprire il file pack idx esistente per '%s'" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "non delta: %d oggetto" msgstr[1] "non delta: %d oggetti" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "lunghezza della catena = %d: %lu oggetto" msgstr[1] "lunghezza della catena = %d: %lu oggetti" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "impossibile tornare alla directory di lavoro corrente" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "%s errato" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin non può essere usato senza --stdin" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin richiede un repository Git" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "--verify senza un nome del file pack specificato" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "errore fsck negli oggetti sottoposti a pack" @@ -14030,17 +14461,17 @@ msgstr "permessi" msgid "specify that the git repository is to be shared amongst several users" msgstr "specifica che il repository Git deve essere condiviso con più utenti" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "impossibile creare la directory %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "impossibile modificare la directory corrente in %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -14049,12 +14480,12 @@ msgstr "" "%s (o --work-tree=<directory>) non consentito senza specificare %s (o --git-" "dir=<directory>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Impossibile accedere all'albero di lavoro '%s'" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -14062,59 +14493,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<valore>])...] [<file>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "modifica i file sul posto" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "rimuovi spazi dalle stringhe finali vuote" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "dove collocare la nuova stringa finale" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "azione da eseguire se la stringa finale esiste già " -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "azione da eseguire se la stringa finale è mancante" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "emetti in output solo le stringhe finali" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "non applicare le regole di configurazione" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "unisci i valori resi contigui dagli spazi bianchi" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "imposta le opzioni di analisi" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "non trattare la sequenza --- in modo speciale" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "stringa finale" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "stringa/e finale/i da aggiungere" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer con --only-input non ha senso" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "nessun file di input specificato per la modifica sul posto" @@ -14126,113 +14557,113 @@ msgstr "git log [<opzioni>] [<intervallo-revisioni>] [[--] <percorso>...]" msgid "git show [<options>] <object>..." msgstr "git show [<opzioni>] <oggetto>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "opzione --decorate non valida: %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "visualizza sorgente" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "Usa il file mappatura e-mail" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "decora solo i riferimenti corrispondenti a <pattern>" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "non decorare i riferimenti corrispondenti a <pattern>" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "opzioni decorazione" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "Elabora l'intervallo righe n,m nel file, contandole da 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "Output finale: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: file non valido" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "impossibile leggere l'oggetto %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "tipo sconosciuto: %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "format.headers non ha alcun valore" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "il nome della directory di output è troppo lungo" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "impossibile aprire il file patch %s" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "è necessario specificare esattamente un intervallo" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "il valore non è un intervallo" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" -msgstr "la lettera di accompagnamento dev'essere in formato email" +msgstr "la lettera di accompagnamento dev'essere in formato e-mail" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "creazione del file lettera di accompagnamento non riuscita" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "valore in-reply-to folle: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<opzioni>] [<da> | <intervallo revisioni>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "due directory di output?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "commit %s sconosciuto" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "impossibile risolvere '%s' come riferimento valido" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "impossibile trovare esattamente la base del merge" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -14244,282 +14675,278 @@ msgstr "" "In alternativa puoi specificare manualmente il commit di base con\n" "--base=<ID commit di base>" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "impossibile trovare esattamente la base del merge" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "il commit di base dovrebbe essere l'antenato dell'elenco revisioni" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "il commit di base non dovrebbe essere nell'elenco revisioni" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "impossibile ottenere l'ID della patch" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "inferenza degli intervalli range-diff non riuscita" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "usa [PATCH n/m] anche con una singola patch" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "usa [PATCH] anche con più patch" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "stampa le patch sullo standard output" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "genera una lettera di accompagnamento" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "usa una sequenza numerica semplice per i nomi file di output" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "suff" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "usa <suff> anziché '.patch'" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "inizia a numerare le patch da <n> anziché da 1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "contrassegna la serie come l'n-esima versione revisionata" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Usa [RFC PATCH] anziché [PATCH]" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Usa [<prefisso>] anziché [PATCH]" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "salva i file risultanti in <dir>" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "non eliminare/aggiungere [PATCH]" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "non mandare in output diff binari" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "manda in output un hash costituito da soli zeri nell'intestazione From" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "non includere una patch corrispondente a un commit upstream" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "" "visualizza il formato della patch anziché l'impostazione predefinita (patch " "+ stat)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "Messaggistica" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "intestazione" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" -msgstr "aggiungi intestazione email" +msgstr "aggiungi intestazione e-mail" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" -msgstr "email" +msgstr "e-mail" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "aggiungi intestazione A:" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "aggiungi intestazione Cc:" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "identità " -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "imposta l'indirizzo Da a <identità > (o all'identità di chi ha creato il " "commit se assente)" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "ID messaggio" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "rendi la prima e-mail una risposta a <ID messaggio>" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "delimitatore" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "allega la patch" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "includi la patch nel messaggio" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "" "abilita il raggruppamento messaggi per conversazione, stili: superficiale, " "profondo" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "firma" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "aggiungi una firma" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "commit di base" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "" "aggiungi le informazioni prerequisito per l'albero alla serie delle patch" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "aggiungi una firma da file" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "non stampare i nomi file delle patch" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "visualizza l'avanzamento dell'operazione di generazione patch" -#: builtin/log.c:1606 -msgid "rev" -msgstr "revisione" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" "visualizza le modifiche rispetto a <revisione> nella lettera di " "accompagnamento o in una patch singola" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" "visualizza le modifiche rispetto a <specificatore revisione> nella lettera " "di accompagnamento o in una patch singola" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "percentuale in base a cui viene pesata la creazione" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "riga ident non valida: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "le opzioni -n e -k sono mutuamente esclusive" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "le opzioni --subject-prefix/--rfc e -k sono mutuamente esclusive" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "--name-only non ha senso" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "--name-status non ha senso" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "--check non ha senso" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "standard output, o directory, quale dei due?" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff richiede --cover-letter o una singola patch" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Interdiff:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff rispetto alla versione %d:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor richiede --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff richiede --cover-letter o una singola patch" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Range-diff:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Range-diff rispetto alla versione %d:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "impossibile leggere il file firma '%s'" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Generazione delle patch in corso" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "creazione dei file di output non riuscita" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<upstream> [<head> [<limite>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14651,7 +15078,7 @@ msgstr "" msgid "do not print remote URL" msgstr "non stampare l'URL del remoto" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "eseguibile" @@ -14727,188 +15154,192 @@ msgstr "" msgid "empty mbox: '%s'" msgstr "mbox vuota: '%s'" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<opzioni>] [<commit>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "lo switch 'm' richiede un valore" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "l'opzione `%s' richiede un valore" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Non è stato possibile trovare la strategia di merge '%s'.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Le strategie disponibili sono:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Le strategie personalizzate disponibili sono:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "non visualizzare un diffstat al termine del merge" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "visualizza un diffstat al termine del merge" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(sinonimo di --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "aggiungi (al più <n>) voci dal registro breve al messaggio di commit del " "merge" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "crea un singolo commit anziché eseguire un merge" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "esegui un commit se il merge ha successo (impostazione predefinita)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "modifica il messaggio prima di eseguire il commit" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" -msgstr "consenti fast-forward (impostazione predefinita)" +msgstr "consenti fast forward (impostazione predefinita)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" -msgstr "interrompi se il fast-forward non è possibile" +msgstr "interrompi se il fast forward non è possibile" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "verifica che il commit specificato abbia una firma GPG valida" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "strategia" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "strategia di merge da usare" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "opzione=valore" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "opzione per la strategia di merge selezionata" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" -msgstr "messaggio di commit del merge (per un merge non fast-forward)" +msgstr "messaggio di commit del merge (per un merge non fast forward)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "interrompi il merge attualmente in corso" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "esegui --abort ma mantieni immutati l'indice e l'albero di lavoro" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "continua il merge attualmente in corso" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "consenti di unire cronologie non correlate" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "verifica hook commit-msg" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "non è stato possibile eseguire stash." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "esecuzione di stash non riuscita" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "non è un oggetto valido: %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree non riuscito" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (nulla di cui eseguire lo squash)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Commit di squash -- non aggiorno HEAD\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Nessun messaggio di merge -- HEAD non viene aggiornato\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' non punta ad un commit" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Stringa branch.%s.mergeoptions errata: %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Non gestisco nulla che non sia il merge di due head." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Opzione sconosciuta per merge-recursive: -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "impossibile scrivere %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "Non è stato possibile leggere da '%s'" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Non eseguo il commit del merge; usa 'git commit' per completare il merge.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14919,11 +15350,11 @@ msgstr "" "aggiornato in un topic branch.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Un messaggio vuoto interromperà il commit.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14932,70 +15363,74 @@ msgstr "" "Le righe che iniziano con '%c' saranno ignorate e un messaggio vuoto\n" "interromperà il commit.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Messaggio di commit vuoto." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Splendido.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Merge automatico fallito; risolvi i conflitti ed esegui il commit\n" "del risultato.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "Nessun branch corrente." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "Nessun remote per il branch corrente." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "Nessun upstream di default definito per il branch corrente." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Nessun branch che tracci un remoto per %s da %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Valore errato '%s' nell'ambiente '%s'" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "non è qualcosa di cui possiamo eseguire il merge in %s: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "non è qualcosa di cui possiamo eseguire il merge" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort non richiede argomenti" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Non c'è nessun merge da interrompere (MERGE_HEAD mancante)." -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit non richiede argomenti" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue non richiede argomenti" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Non c'è nessun merge in corso (MERGE_HEAD mancante)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15003,7 +15438,7 @@ msgstr "" "Non hai concluso il merge (MERGE_HEAD esiste).\n" "Esegui il commit delle modifiche prima di eseguire il merge." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15011,92 +15446,96 @@ msgstr "" "Non hai concluso il cherry-pick (CHERRY_PICK_HEAD esiste).\n" "Esegui il commit delle modifiche prima di eseguire il merge." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Il cherry-pick non è stato concluso (CHERRY_PICK_HEAD esiste)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "Non è possibile combinare --squash con --no-ff." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "Non è possibile combinare --squash con --commit." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Nessun commit specificato e merge.defaultToUpstream non impostato." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Lo squash di un commit in un'head vuota non è ancora supportato" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Un commit non fast forward non ha senso in un'head vuota" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - non è qualcosa per cui possiamo eseguire il merge" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Si può eseguire solo il merge di uno e un solo commit in un'head vuota" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "mi rifiuto di eseguire il merge di cronologie non correlate" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Già aggiornato." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Aggiornamento di %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Provo con un merge veramente banale dentro l'indice...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "No.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Già aggiornato. Oh sì!" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." -msgstr "Fast-forward non possibile, stop." +msgstr "Fast forward non possibile, interrompo l'operazione." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Ripristino l'albero in uno stato pulito...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Tentativo con la strategia di merge %s...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Nessuna strategia di merge ha gestito il merge.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Merge con la strategia %s fallito.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Uso %s per preparare una risoluzione manuale.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -15233,22 +15672,38 @@ msgid "allow creation of more than one tree" msgstr "consenti la creazione di più di un albero" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<directory>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<directory>] (write|verify|expire|repack " +"--batch-size=<dimensione>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "" "directory oggetti contenente un insieme di coppie packfile e pack-index" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"durante il repack, raccogli i file pack di dimensioni più piccole in un " +"gruppo più grande di queste dimensioni" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "troppi argomenti" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "l'opzione --batch-size è consentita solo per il sottocomando 'repack'" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "verbo non riconosciuto: %s" +msgid "unrecognized subcommand: %s" +msgstr "sottocomando sconosciuto: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15339,52 +15794,52 @@ msgstr "%s, sorgente=%s, destinazione=%s" msgid "Renaming %s to %s\n" msgstr "Rinominazione di %s in %s in corso\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "rinomina di '%s' non riuscita" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<opzioni>] <commit>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<opzioni>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<opzioni>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "stampa solo i nomi (non lo SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "usa solo tag per denominare i commit" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "usa solo i riferimenti corrispondenti a <pattern>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignora i riferimenti corrispondenti a <pattern>" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "elenca tutti i commit raggiungibili da tutti i riferimenti" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "leggi dallo standard input" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "consenti di stampare nomi `non definito` (impostazione predefinita)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "dereferenzia tag nell'input (uso interno)" @@ -15532,7 +15987,7 @@ msgstr "impossibile scrivere l'oggetto nota" msgid "the note contents have been left in %s" msgstr "i contenuti della nota sono stati lasciati in %s" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "non è stato possibile aprire o leggere '%s'" @@ -15770,7 +16225,7 @@ msgstr "" "esegui il commit del risultato con 'git notes merge --commit' o interrompi " "il merge con 'git notes merge --abort'.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Risoluzione di '%s' come riferimento valido non riuscita." @@ -15804,7 +16259,7 @@ msgstr "riferimento note" msgid "use notes from <notes-ref>" msgstr "usa le note in <riferimento note>" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "sottocomando sconosciuto: %s" @@ -15823,129 +16278,129 @@ msgstr "" "git pack-objects [<opzioni>...] <nome base> [< <elenco riferimenti> | < " "<elenco oggetti>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "CRC oggetto sottoposto a pack %s errato" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "oggetto sottoposto a pack %s corrotto" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "rilevato delta ricorsivo per l'oggetto %s" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "%u oggetti ordinati, attesi %<PRIu32>" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "packfile non valido: %s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "impossibile aprire il packfile per il suo riuso: %s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "impossibile eseguire seek nel packfile riusato" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "impossibile leggere dal packfile riusato" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "" "disabilito la scrittura delle bitmap, i pack sono divisi a causa " "dell'impostazione pack.packSizeLimit" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "Scrittura degli oggetti in corso" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "stat di %s non riuscito" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "scritti %<PRIu32> oggetti quando me ne attendevo %<PRIu32>" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "disabilito la scrittura delle bitmap perché alcuni oggetti non saranno " "sottoposti a pack" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "overflow dell'offset base del delta nel pack per %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "offset base del delta fuori dall'intervallo consentito per %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "Conteggio degli oggetti in corso" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "impossibile recuperare le dimensioni di %s" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "impossibile analizzare l'intestazione oggetto di %s" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "impossibile leggere l'oggetto %s" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" "oggetto %s: lunghezza oggetto inconsistente (%<PRIuMAX> contro %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "pack subottimo - memoria esaurita" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Compressione delta in corso, uso fino a %d thread" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "impossibile eseguire il pack degli oggetti raggiungibili dal tag %s" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "Compressione oggetti in corso" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "inconsistenza con il numero dei delta" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15954,7 +16409,7 @@ msgstr "" "atteso ID oggetto arco, ricevuti dati errati:\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15963,247 +16418,251 @@ msgstr "" "atteso ID oggetto, ricevuti dati errati:\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "valore non valido per --missing" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "impossibile aprire l'indice pack" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "impossibile esaminare l'oggetto sciolto %s" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "impossibile forzare l'oggetto sciolto" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "'%s' non è una revisione" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "revisione '%s' errata" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "impossibile aggiungere gli oggetti recenti" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "versione %s di index non supportata" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "versione '%s' di index errata" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "non visualizzare la barra di avanzamento" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "visualizza la barra di avanzamento" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "" "visualizza la barra di avanzamento durante la fase di scrittura oggetti" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "simile a --all-progress quando è visualizzata la barra di avanzamento" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<versione>[,<offset>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "scrivi il file indice pack usando la versione formato idx specificata" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "dimensione massima di ogni file pack in output" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "ignora gli oggetti presi in prestito dallo store oggetti alternativo" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "ignora gli oggetti sottoposti a pack" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "limita la finestra di pack al numero di oggetti specificato" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "" "limita la finestra di pack alla memoria specificata in aggiunta al limite " "sugli oggetti" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "lunghezza massima della catena di delta consentita nel pack risultante" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "riusa i delta esistenti" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "riusa gli oggetti esistenti" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "usa oggetti OFS_DELTA" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "" "usa più thread durante la ricerca delle migliori corrispondenze per i delta" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "non creare un output pack vuoto" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "leggi gli argomenti revisione dallo standard input" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "limita gli oggetti a quelli non ancora sottoposti a pack" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "includi gli oggetti raggiungibili da qualunque riferimento" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "includi gli oggetti referenziati da voci del log riferimenti" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "includi gli oggetti referenziati dall'indice" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "invia il pack in output sullo standard output" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "" "includi gli oggetti tag che fanno riferimento agli oggetti da sottoporre a " "pack" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "mantieni gli oggetti non raggiungibili" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "esegui il pack degli oggetti non raggiungibili sciolti" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "decomprimi gli oggetti non raggiungibili più recenti di <tempo>" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "usa l'algoritmo di raggiungibilità sparse" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "crea pack thin" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "crea pack adatti per fetch shallow" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "ignora i pack che hanno un file .keep che li accompagna" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "ignora questo pack" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "livello compressione pack" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "non nascondere i commit innestati" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "usa un indice bitmap se disponibile per velocizzare il conteggio degli " "oggetti" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "scrivi un indice bitmap insieme all'indice pack" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "scrivi un indice bitmap se possibile" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "azione da eseguire sugli oggetti mancanti" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "non eseguire il pack degli oggetti nei file pack promettenti" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "rispetta le isole durante la compressione delta" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "la profondità della catena dei delta (%d) è troppo elevata, forzo %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "il valore pack.deltaCacheLimit è troppo elevato, forzo %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size non può essere usato per generare un pack da trasferire" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "il limite minimo delle dimensioni dei pack è 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin non può essere usato per generare un pack indicizzabile" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable e --unpack-unreachable non sono compatibili" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "impossibile usare --filter senza --stdout" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "Enumerazione degli oggetti in corso" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" @@ -16260,44 +16719,44 @@ msgstr "Valore non valido per %s: %s" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<opzioni>] [<repository> [<specificatore riferimento>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "controlla il recupero ricorsivo dei sottomoduli" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Opzioni relative al merge" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "incorpora le modifiche eseguendo un rebase anziché un merge" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" -msgstr "consenti fast-forward" +msgstr "consenti fast forward" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "esegui stash/stash pop automaticamente prima e dopo il rebase" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Opzioni relative al fetch" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "forza la sovrascrittura del branch locale" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "numero di sottomoduli recuperati in parallelo" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valore non valido per pull.ff: %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -16305,14 +16764,14 @@ msgstr "" "Non ci sono candidati in base ai quali eseguire il rebase fra i riferimenti " "appena recuperati." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Non ci sono candidati in base ai quali eseguire il merge fra i riferimenti " "appena recuperati." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16320,7 +16779,7 @@ msgstr "" "In generale, questo significa che hai fornito uno specificatore\n" "riferimento che non aveva corrispondenze nel remoto." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16332,44 +16791,44 @@ msgstr "" "configurato come predefinito per il branch corrente, devi\n" "specificare un branch sulla riga di comando." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Attualmente non sei su un branch." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Specifica il branch in base a cui vuoi effettuare il rebase." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Specifica il branch in base a cui vuoi effettuare il merge." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Vedi git-pull(1) per ulteriori dettagli." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<remoto>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<branch>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "Non ci sono informazioni di tracciamento per il branch corrente." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" "Se vuoi impostare le informazioni di tracciamento per questo branch puoi " "farlo con:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16379,32 +16838,32 @@ msgstr "" "il merge con il riferimento '%s' del remoto, ma un tale\n" "riferimento non è stato recuperato." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "impossibile accedere al commit %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "ignoro --verify-signature per il rebase" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "l'opzione --[no-]autostash option è valida solo con --rebase." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "Aggiorno un branch non nato con le modifiche aggiunte all'indice." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "pull con rebase" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "eseguine il commit o lo stash." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16413,10 +16872,10 @@ msgid "" msgstr "" "il fetch ha aggiornato l'head del\n" "branch corrente.\n" -"Eseguo il fast-forward dell'albero\n" +"Eseguo il fast forward dell'albero\n" "di lavoro dal commit %s." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16426,7 +16885,7 @@ msgid "" "$ git reset --hard\n" "to recover." msgstr "" -"Impossibile eseguire il fast-forward dell'albero\n" +"Impossibile eseguire il fast forward dell'albero\n" "di lavoro.\n" "Dopo esserti assicurato di aver salvato tutto ciò\n" "che è importante dall'output di\n" @@ -16435,15 +16894,15 @@ msgstr "" "$ git reset --hard\n" "per eseguire il ripristino." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Impossibile eseguire il merge di più branch in un head vuoto." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Impossibile eseguire il rebase su più branch." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "impossibile eseguire il rebase se ci sono delle modifiche registrate " @@ -16559,7 +17018,7 @@ msgstr "" "attuale è rimasto indietro rispetto alla sua controparte remota.\n" "Integra le modifiche remote (ad es. con 'git pull ...') prima di\n" "eseguire nuovamente il push.\n" -"Vedi la 'Nota sui fast-forward' in 'git push --help' per ulteriori\n" +"Vedi la 'Nota sui fast forward' in 'git push --help' per ulteriori\n" "dettagli." #: builtin/push.c:282 @@ -16574,7 +17033,7 @@ msgstr "" "alla sua controparte remota. Esegui il checkout di questo branch e\n" "integra le modifiche remote (ad es. con 'git pull ...') prima di\n" "eseguire nuovamente il push.\n" -"Vedi la 'Nota sui fast-forward' in 'git push --help' per ulteriori\n" +"Vedi la 'Nota sui fast forward' in 'git push --help' per ulteriori\n" "dettagli." #: builtin/push.c:288 @@ -16590,7 +17049,7 @@ msgstr "" "da un altro repository allo stesso riferimento. Potresti voler integrare\n" "le modifiche remote (ad es. con 'git pull ...') prima di eseguire\n" "nuovamente il push.\n" -"Vedi la 'Nota sui fast-forward' in 'git push --help' per ulteriori\n" +"Vedi la 'Nota sui fast forward' in 'git push --help' per ulteriori\n" "dettagli." #: builtin/push.c:295 @@ -16924,7 +17383,7 @@ msgstr "git rebase --interactive [<opzioni>]" msgid "keep empty commits" msgstr "mantieni i commit vuoti" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "consenti commit con messaggi vuoti" @@ -16944,7 +17403,7 @@ msgstr "sposta i commit che iniziano con squash!/fixup!" msgid "sign commits" msgstr "firma i commit" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "visualizza un diffstat delle modifiche upstream" @@ -17052,7 +17511,7 @@ msgstr "comando" msgid "the command to run" msgstr "il comando da eseguire" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "schedula nuovamente le operazioni `exec` non riuscite automaticamente" @@ -17060,7 +17519,7 @@ msgstr "schedula nuovamente le operazioni `exec` non riuscite automaticamente" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins non ha effetto senza --rebase-merges" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s richiede un rebase interattivo" @@ -17090,11 +17549,11 @@ msgstr "Impossibile leggere '%s'" msgid "Cannot store %s" msgstr "Impossibile memorizzare %s" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "impossibile determinare la revisione HEAD" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -17110,7 +17569,7 @@ msgstr "" "Per interrompere l'operazione e tornare allo stato precedente\n" "il \"git rebase\", esegui \"git rebase --abort\"." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -17129,7 +17588,7 @@ msgstr "" "\n" "Di conseguenza, Git non può eseguirne il rebase." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -17146,7 +17605,7 @@ msgstr "" " git rebase '<branch>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -17160,131 +17619,131 @@ msgstr "" " git branch --set-upstream-to=%s/<branch> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "i comandi exec non possono contenere caratteri di fine riga" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "comando exec vuoto" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "esegui il rebase sul branch specificato anziché su quello upstream" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "consenti l'esecuzione dell'hook pre-rebase" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "sii silenzioso. implica --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "non visualizzare un diffstat delle modifiche upstream" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "aggiungi una riga Signed-off-by: a ogni commit" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "passato a 'git am'" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "passato a 'git apply'" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "esegui il cherry-pick di tutti i commit, anche se non modificati" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "continua" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "salta la patch corrente e continua" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "interrompi ed esegui il checkout del branch originario" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "interrompi ma mantieni l'HEAD dov'è" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "modifica l'elenco todo durante un rebase interattivo" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "" "visualizza il file patch che sta per essere applicato o sottoposto a merge" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "usa le strategie di merge per eseguire il rebase" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "" "consenti all'utente di modificare l'elenco dei commit di cui eseguire il " "rebase" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(DEPRECATO) prova a ricreare i merge anziché ignorarli" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "mantieni i commit vuoti durante il rebase" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "sposta i commit che iniziano con squash!/fixup! in -i" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "esegui stash/stash pop automaticamente prima e dopo" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "aggiungi righe exec dopo ogni commit della lista modificabile" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "consenti il rebase di commit con messaggi vuoti" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "prova ad eseguire il rebase dei merge anziché saltarli" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "" "usa 'merge-base --fork-point' per ridefinire più precisamente l'upstream" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "usa la strategia di merge specificata" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "opzione" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "passa l'argomento alla strategia di merge" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "esegui il rebase di tutti i commit raggiungibili fino a quelli radice" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17292,29 +17751,29 @@ msgstr "" "il supporto per rebase.useBuiltin è stato rimosso!\n" "Vedi la voce relativa in 'git help config' per i dettagli." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "Sembra che 'git am' sia in corso. Impossibile eseguire il rebase." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "git rebase --preserve-merges è deprecato. Usa --rebase-merges." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Nessun rebase in corso?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "L'azione --edit-todo può essere usata solo durante un rebase interattivo." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "Impossibile leggere l'HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17323,21 +17782,16 @@ msgstr "" "quindi contrassegnarli come risolti usando\n" "git add" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "impossibile scartare le modifiche all'albero di lavoro" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "impossibile ritornare a %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "impossibile rimuovere '%s'" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17358,171 +17812,175 @@ msgstr "" "ed eseguimi di nuovo. Mi fermo nel caso in cui tu abbia ancora\n" "salvato qualcosa di importante lì.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "l'opzione `C` richiede un valore numerico" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Modo sconosciuto: %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy richiede --merge o --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec richiede --exec o --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "non è possibile combinare le opzioni am con quelle interactive o merge" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "impossibile combinare '--preserve-merges' con '--rebase-merges'" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "errore: impossibile combinare '--preserve-merges' con '--reschedule-failed-" "exec'" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "impossibile combinare '--rebase-merges' con '--strategy-option'" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "impossibile combinare '--rebase-merges' con '--strategy'" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "upstream non valido: '%s'" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "Impossibile creare il nuovo commit radice" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "'%s': è necessario specificare esattamente una base per il merge" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "'%s' non punta a un commit valido" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "errore fatale: branch/commit '%s' inesistente" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Riferimento non esistente: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Impossibile risolvere HEAD come revisione" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Impossibile eseguire lo stash automatico" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Risposta stash non attesa: '%s'" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "Impossibile creare la directory '%s'" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Stash automatico creato: %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "impossibile eseguire reset --hard" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD ora si trova a %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Eseguine il commit o lo stash." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "impossibile analizzare '%s'" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "impossibile passare a %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD è aggiornato." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "Il branch corrente %s è aggiornato.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD è aggiornato, forzo il rebase." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "Il branch corrente %s è aggiornato, forzo il rebase.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "L'hook pre-rebase ha rifiutato di consentire il rebase." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Modifiche a %s:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Modifiche da %s a %s:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Per prima cosa, ripristino l'head per riapplicare le tue modifiche su di " "esso...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "Impossibile scollegare l'HEAD" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" -msgstr "Fast-forward da %s a %s eseguito.\n" +msgstr "Fast forward da %s a %s eseguito.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <directory Git>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17555,7 +18013,7 @@ msgstr "" "il comportamento predefinito, imposta la variabile di\n" "configurazione 'receive.denyCurrentBranch' a 'refuse'." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17578,11 +18036,11 @@ msgstr "" "Per non visualizzare più questo messaggio, puoi impostarla a\n" "'refuse'." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "non visualizzare messaggi" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Devi specificare una directory." @@ -17932,7 +18390,7 @@ msgstr "aggiornato" #: builtin/remote.c:1042 msgid "fast-forwardable" -msgstr "fast-forward possibile" +msgstr "fast forward possibile" #: builtin/remote.c:1045 msgid "local out of date" @@ -18177,118 +18635,118 @@ msgstr "" "Usa --no-write-bitmap-index o disabilita l'opzione di configurazione\n" "pack.writebitmaps." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" "impossibile avviare pack-objects per eseguire il repack degli oggetti " "promettenti" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: Da pack-objects mi attendevo solo righe con gli ID completi " "esadecimali degli oggetti." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "" "impossibile portare a termine pack-objects per eseguire il repack degli " "oggetti promettenti" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "esegui il pack di tutto in un singolo pack" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "come -a e rendi sciolti gli oggetti non raggiungibili" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "rimuovi i pack ridondanti ed esegui git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "fornisci l'opzione --no-reuse-delta a git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "fornisci l'opzione --no-reuse-object a git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "non eseguire git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "fornisci l'opzione --local a git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "scrivi l'indice bitmap" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "fornisci l'opzione --delta-islands a git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "data approssimativa" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "con -A, non rendere sciolti gli oggetti meno recenti di questa data" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "con -a, esegui il repack degli oggetti non raggiungibili" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "dimensione della finestra usata per la compressione delta" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "byte" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "" "come sopra, ma limita le dimensioni della memoria invece del numero di voci" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "limita la profondità massima dei delta" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "limita il numero massimo di thread" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "dimensione massima di ogni file pack" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "esegui il repack degli oggetti nei pack contrassegnati con .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "non eseguire il repack di questo pack" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "impossibile eliminare i pack in un repository 'oggetti preziosi'" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable e -A non sono compatibili" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Non ci sono oggetti nuovi di cui eseguire il pack." -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18308,7 +18766,7 @@ msgstr "" "AVVISO: non è riuscito. Ridenominali manualmente\n" "AVVISO: entro %s:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "eliminazione di '%s' non riuscita" @@ -18716,24 +19174,24 @@ msgstr "Impossibile ripristinare il file indice alla revisione '%s'." msgid "Could not write new index file." msgstr "Impossibile scrivere il nuovo file indice." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "impossibile combinare --exclude-promisor-objects e --missing" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "il filtraggio oggetti richiede --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "valore sparse non valido: '%s'" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list non supporta la visualizzazione delle note" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "impossibile combinare --use-bitmap-index con il filtraggio oggetti" @@ -18808,47 +19266,51 @@ msgstr "riprendi la sequenza revert o cherry-pick" msgid "cancel revert or cherry-pick sequence" msgstr "annulla la sequenza revert o cherry-pick" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "salta il commit corrente e continua" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "non eseguire il commit automaticamente" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "modifica il messaggio di commit" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "numero-genitore" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "seleziona il genitore mainline" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "strategia di merge" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "opzione per la strategia di merge" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "aggiungi il nome del commit alla fine" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "mantieni i commit inizialmente vuoti" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "mantieni i commit ridondanti e vuoti" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "revert non riuscito" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "cherry-pick non riuscito" @@ -18986,7 +19448,7 @@ msgstr "Ometti le descrizioni dei commit, fornisci solo il numero dei commit" #: builtin/shortlog.c:270 msgid "Show the email address of each author" -msgstr "Visualizza l'indirizzo email di ogni autore" +msgstr "Visualizza l'indirizzo e-mail di ogni autore" #: builtin/shortlog.c:271 msgid "<w>[,<i1>[,<i2>]]" @@ -19024,116 +19486,116 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "ignoro %s; non posso gestire più di %d riferimento" msgstr[1] "ignoro %s; non posso gestire più di %d riferimenti" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "nessun riferimento corrispondente a %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "visualizza i branch che ne tracciano uno remoto e quelli locali" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "visualizza i branch che ne tracciano uno remoto" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "colore '*!+-' corrispondente al branch" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "visualizza <n> commit ulteriori rispetto all'antenato comune" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "sinonimo di more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "non visualizzare le stringhe di denominazione" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "includi il branch corrente" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "denomina i commit con i loro nomi oggetto" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "visualizza le basi merge possibili" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "visualizza i riferimenti non raggiungibili da nessun altro" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "visualizza i commit in ordine topologico" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "visualizza solo i commit non sul primo branch" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "visualizza i merge raggiungibili solo dall'ultimo commit di un branch" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "" "esegui un ordinamento topologico mantenendo l'ordine delle date ove possibile" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<base>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "" "visualizza le <n> voci più recenti del log dei riferimenti partendo da base" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog non è compatibile con --all, --remotes, --independent o --merge-base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "nessun branch fornito e l'HEAD non è valido" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "l'opzione --reflog richiede il nome di un branch" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "può essere visualizzata solo %d voce per volta." msgstr[1] "possono essere visualizzate solo %d voci per volta." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "riferimento non esistente: %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "impossibile gestire più di %d revisione." msgstr[1] "impossibile gestire più di %d revisioni." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "'%s' non è un riferimento valido." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "impossibile trovare il commit %s (%s)" @@ -19321,95 +19783,95 @@ msgstr "" msgid "No branch name specified" msgstr "Nome del branch non specificato" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "Impossibile aggiornare %s con %s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "messaggio di stash" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" richiede un argomento <commit>" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Nessuna modifica selezionata" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Non hai ancora un commit iniziale" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "Impossibile salvare lo stato corrente di index" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "Impossibile salvare i file non tracciati" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "Impossibile salvare lo stato corrente dell'albero di lavoro" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "Impossibile registrare lo stato dell'albero di lavoro" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "" "Impossibile usare --patch e --include-untracked o --all allo stesso tempo" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Ti sei scordato di eseguire 'git add'?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "Nessuna modifica locale da salvare" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Impossibile inizializzare stash" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Impossibile salvare lo stato attuale" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Directory di lavoro e stato indice salvati: %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Impossibile rimuovere le modifiche all'albero di lavoro" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "mantieni l'indice" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "esegui lo stash in modalità patch" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "modalità silenziosa" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "includi i file non tracciati nello stash" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "includi i file ignorati" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "impossibile eseguire %s" @@ -19430,7 +19892,7 @@ msgstr "salta e rimuovi tutte le righe che iniziano con un carattere commento" msgid "prepend comment character and space to each line" msgstr "anteponi il carattere commento e uno spazio a ogni riga" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Atteso nome riferimento completo, ricevuto %s" @@ -19444,7 +19906,7 @@ msgstr "submodule--helper print-default-remote non richiede argomenti" msgid "cannot strip one component off url '%s'" msgstr "impossibile rimuovere un componente dall'URL '%s'" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "ancoraggio alternativo per i percorsi relativi" @@ -19452,8 +19914,8 @@ msgstr "ancoraggio alternativo per i percorsi relativi" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<percorso>] [<percorso>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "Nessun URL trovato in .gitmodules per il percorso del sottomodulo '%s'" @@ -19472,7 +19934,7 @@ msgstr "" "run_command ha restituito un codice diverso da zero per %s\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19483,19 +19945,19 @@ msgstr "" "nei sottomoduli innestati di %s\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Non visualizzare l'output dei comandi eseguiti in ogni sottomodulo" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Esegui ricorsivamente sui sottomoduli innestati" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <comando>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19504,374 +19966,396 @@ msgstr "" "impossibile trovare la configurazione '%s'. Assumo che questo repository sia " "il proprio repository autoritativo upstream." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Registrazione dell'URL per il percorso sottomodulo '%s' non riuscita" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Sottomodulo '%s' (%s) registrato per il percorso '%s'\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "" "avviso: suggerita modalità comando aggiornamento per il sottomodulo '%s'\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "" "Registrazione della modalità aggiornamento per il percorso sottomodulo '%s'" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Non visualizzare l'output dell'inizializzazione del sottomodulo" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<opzioni>] [<percorso>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" -msgstr "" +msgstr "mapping sottomodulo per il percorso '%s' non trovato in .gitmodules" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" -msgstr "" +msgstr "impossibile risolvere il riferimento HEAD nel sottomodulo '%s'" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "ricorsione nel sottomodulo '%s' non riuscita" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" -msgstr "" +msgstr "Non visualizzare l'output dello stato del sottomodulo" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" msgstr "" +"Usa il commit salvato nell'indice anziché quello salvato nell'HEAD del " +"sottomodulo" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" -msgstr "" +msgstr "esegui ricorsivamente sui sottomoduli innestati" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "" +"git submodule status [--quiet] [--cached] [--recursive] [<percorso>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" -msgstr "" +msgstr "git submodule--helper name <percorso>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" -msgstr "" +msgstr "Sincronizzazione URL sottomodulo per '%s' in corso\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" -msgstr "" +msgstr "registrazione dell'URL per il percorso sottomodulo '%s' non riuscita" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "recupero del remoto predefinito per il sottomodulo '%s' non riuscito" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "aggiornamento del remoto per il sottomodulo '%s' non riuscito" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "" +"Non visualizzare l'output della sincronizzazione dell'URL del sottomodulo" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" -msgstr "" +msgstr "git submodule--helper sync [--quiet] [--recursive] [<percorso>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " "really want to remove it including all of its history)" msgstr "" +"L'albero di lavoro del sottomodulo ('%s') contiene una directory .git (usa " +"'rm -rf' se vuoi veramente rimuoverla, inclusa l'intera sua cronologia)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " "them" msgstr "" +"L'albero di lavoro del sottomodulo ('%s') contiene modifiche locali; usa '-" +"f' per scartarle" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Directory '%s' ripulita\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "Impossibile rimuovere l'albero di lavoro del sottomodulo '%s'\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "impossibile creare la directory vuota del sottomodulo %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" -msgstr "" +msgstr "Rimossa registrazione sottomodulo '%s' (%s) per il percorso '%s'\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" +"Rimuovi gli alberi di lavoro dei sottomoduli anche se contengono modifiche " +"locali" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" -msgstr "" +msgstr "Annulla la registrazione di tutti i sottomoduli" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" +"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<percorso>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" -msgstr "" +msgstr "Usa '--all' se vuoi veramente deinizializzare tutti i sottomoduli" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" -msgstr "" +msgstr "non è possibile aggiungere un alternato per il sottomodulo '%s': %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" -msgstr "" +msgstr "Valore '%s' per submodule.alternateErrorStrategy non riconosciuto" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" -msgstr "" +msgstr "Valore '%s' per submodule.alternateLocation non riconosciuto" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" -msgstr "" +msgstr "percorso in cui sarà clonato il nuovo sottomodulo" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" -msgstr "" +msgstr "nome del nuovo sottomodulo" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" -msgstr "" +msgstr "URL da cui clonare il sottomodulo" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" -msgstr "" +msgstr "profondità per i cloni shallow" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" -msgstr "" +msgstr "forza l'indicazione d'avanzamento della clonazione" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" msgstr "" +"git submodule--helper clone [--prefix=<percorso>] [--quiet] [--reference " +"<repository>] [--name <nome>] [--depth <profondità >] --url <URL> --path " +"<percorso>" -#: builtin/submodule--helper.c:1423 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1424 +#, c-format msgid "clone of '%s' into submodule path '%s' failed" -msgstr "" +msgstr "clone di '%s' nel percorso del sottomodulo ('%s') non riuscito" -#: builtin/submodule--helper.c:1437 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1438 +#, c-format msgid "could not get submodule directory for '%s'" -msgstr "" +msgstr "impossibile recuperare la directory del sottomodulo per '%s'" -#: builtin/submodule--helper.c:1473 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1474 +#, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "" +"Modalità aggiornamento '%s' non valida per il percorso del sottomodulo ('%s')" -#: builtin/submodule--helper.c:1477 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1478 +#, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" +"È stata configurata una modalità aggiornamento '%s' non valida per il " +"percorso del sottomodulo ('%s')" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" -msgstr "" +msgstr "Percorso del sottomodulo ('%s') non inizializzato" -#: builtin/submodule--helper.c:1574 -#, fuzzy +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" -msgstr "" +msgstr "Potresti voler usare 'update --init'." -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" -msgstr "" +msgstr "Ignoro il sottomodulo %s non sottoposto a merge" -#: builtin/submodule--helper.c:1633 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1634 +#, c-format msgid "Skipping submodule '%s'" -msgstr "" +msgstr "Ignoro il sottomodulo '%s'" -#: builtin/submodule--helper.c:1777 -#, fuzzy, c-format +#: builtin/submodule--helper.c:1778 +#, c-format msgid "Failed to clone '%s'. Retry scheduled" -msgstr "" +msgstr "Clone di '%s' non riuscito. Nuovo tentativo programmato" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "" +"Clone di '%s' non riuscito per la seconda volta, interrompo l'operazione" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" -msgstr "" +msgstr "percorso nell'albero di lavoro" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "" +"percorso nell'albero di lavoro attraverso i confini dei sottomoduli innestati" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" -msgstr "" +msgstr "rebase, merge, checkout o none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" -msgstr "" +msgstr "Crea un clone shallow limitato al numero di revisioni specificato" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" -msgstr "" +msgstr "processi da eseguire in parallelo" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" -msgstr "" +msgstr "determina se il clone iniziale sarà shallow come raccomandato" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" -msgstr "" +msgstr "non stampare l'indicazione di avanzamento della clonazione" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "" +"git submodule--helper update_clone [--prefix=<percorso>] [<percorso>...]" -#: builtin/submodule--helper.c:1889 -#, fuzzy +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" -msgstr "" +msgstr "valore parametro aggiornamento errato" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " "the superproject is not on any branch" msgstr "" +"Il branch del sottomodulo (%s) è configurato in modo da ereditare il branch " +"dal progetto al livello superiore, ma questo non è su alcun branch" -#: builtin/submodule--helper.c:2060 -#, fuzzy, c-format +#: builtin/submodule--helper.c:2061 +#, c-format msgid "could not get a repository handle for submodule '%s'" -msgstr "" +msgstr "impossibile recuperare un handle repository per il sottomodulo '%s'" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" -msgstr "" +msgstr "esegui ricorsivamente sui sottomoduli" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [<opzioni>] [<percorso>...]" #: builtin/submodule--helper.c:2156 msgid "check if it is safe to write to the .gitmodules file" -msgstr "" +msgstr "controlla se è sicuro scrivere sul file .gitmodules" #: builtin/submodule--helper.c:2159 -#, fuzzy msgid "unset the config in the .gitmodules file" -msgstr "" +msgstr "rimuovi la configurazione nel file .gitmodules" #: builtin/submodule--helper.c:2164 msgid "git submodule--helper config <name> [<value>]" -msgstr "" +msgstr "git submodule--helper config <nome> [<valore>]" #: builtin/submodule--helper.c:2165 msgid "git submodule--helper config --unset <name>" -msgstr "" +msgstr "git submodule--helper config --unset <nome>" #: builtin/submodule--helper.c:2166 msgid "git submodule--helper config --check-writeable" -msgstr "" +msgstr "git submodule--helper config --check-writeable" #: builtin/submodule--helper.c:2185 git-submodule.sh:171 #, sh-format msgid "please make sure that the .gitmodules file is in the working tree" -msgstr "" +msgstr "assicurati che il file .gitmodules sia nell'albero di lavoro" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" -msgstr "" +msgstr "%s non supporta --super-prefix" #: builtin/submodule--helper.c:2241 -#, fuzzy, c-format +#, c-format msgid "'%s' is not a valid submodule--helper subcommand" -msgstr "" +msgstr "'%s' non è un sottocomando submodule--helper valido" #: builtin/symbolic-ref.c:8 msgid "git symbolic-ref [<options>] <name> [<ref>]" -msgstr "" +msgstr "git symbolic-ref [<opzioni>] <nome> [<riferimento>]" #: builtin/symbolic-ref.c:9 msgid "git symbolic-ref -d [-q] <name>" -msgstr "" +msgstr "git symbolic-ref -d [-q] <nome>" #: builtin/symbolic-ref.c:40 msgid "suppress error message for non-symbolic (detached) refs" msgstr "" +"non visualizzare messaggi d'errore se ci sono riferimenti non simbolici " +"(scollegati)" #: builtin/symbolic-ref.c:41 -#, fuzzy msgid "delete symbolic ref" -msgstr "" +msgstr "elimina riferimento simbolico" #: builtin/symbolic-ref.c:42 msgid "shorten ref output" -msgstr "" +msgstr "abbrevia il riferimento nell'output" #: builtin/symbolic-ref.c:43 builtin/update-ref.c:363 msgid "reason" -msgstr "" +msgstr "motivo" #: builtin/symbolic-ref.c:43 builtin/update-ref.c:363 msgid "reason of the update" -msgstr "" +msgstr "motivo dell'aggiornamento" #: builtin/tag.c:25 msgid "" "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n" "\t\t<tagname> [<head>]" msgstr "" +"git tag [-a | -s | -u <ID chiave>] [-f] [-m <messaggio> | -F <file>]\n" +"\t\t<nome tag> [<head>]" #: builtin/tag.c:27 msgid "git tag -d <tagname>..." -msgstr "" +msgstr "git tag -d <nome tag>..." #: builtin/tag.c:28 msgid "" @@ -19879,32 +20363,39 @@ msgid "" "points-at <object>]\n" "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]" msgstr "" +"git tag -l [-n[<numero>]] [--contains <commit>] [--no-contains <commit>] [--" +"points-at <oggetto>]\n" +"\t\t[--format=<formato>] [--[no-]merged [<commit>]] [<pattern>...]" #: builtin/tag.c:30 msgid "git tag -v [--format=<format>] <tagname>..." -msgstr "" +msgstr "git tag -v [--format=<formato>] <nome tag>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "tag '%s' non trovato." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Tag '%s' eliminato (era %s)\n" -#: builtin/tag.c:134 -#, fuzzy, c-format +#: builtin/tag.c:135 +#, c-format msgid "" "\n" "Write a message for tag:\n" " %s\n" "Lines starting with '%c' will be ignored.\n" msgstr "" +"\n" +"Scrivi un messaggio per il tag:\n" +" %s\n" +"Le righe che iniziano con '%c' saranno ignorate.\n" -#: builtin/tag.c:138 -#, fuzzy, c-format +#: builtin/tag.c:139 +#, c-format msgid "" "\n" "Write a message for tag:\n" @@ -19912,16 +20403,21 @@ msgid "" "Lines starting with '%c' will be kept; you may remove them yourself if you " "want to.\n" msgstr "" +"\n" +"Scrivi un messaggio per il tag:\n" +" %s\n" +"Le righe che iniziano con '%c' saranno mantenute; puoi rimuoverle " +"autonomamente se lo desideri.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "impossibile firmare il tag" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" -msgstr "impossibile scrivere il file di tag" +msgstr "impossibile scrivere il file tag" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -19929,536 +20425,561 @@ msgid "" "\n" "\tgit tag -f %s %s^{}" msgstr "" +"Hai creato un tag innestato. L'oggetto a cui si riferisce il tuo nuovo\n" +"tag è già un tag. Se intendevi aggiungere un tag all'oggetto a cui\n" +"punta, usa:\n" +"\n" +"\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." -msgstr "tipo di oggetto errato." +msgstr "tipo oggetto errato." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "nessun messaggio per il tag?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Il messaggio del tag è stato lasciato in %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" -msgstr "" +msgstr "elenca i nomi dei tag" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" -msgstr "" +msgstr "stampa le prime <n> righe di ogni messaggio tag" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "elimina tag" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" -msgstr "" +msgstr "verifica tag" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" -msgstr "" +msgstr "Opzioni creazione tag" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "tag annotato, richiede un messaggio" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "messaggio tag" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "forza modifica del messaggio tag" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" -msgstr "" +msgstr "tag annotato e firmato con GPG" -#: builtin/tag.c:413 -#, fuzzy +#: builtin/tag.c:419 msgid "use another key to sign the tag" -msgstr "impossibile firmare il tag" +msgstr "usa un'altra chiave per firmare il tag" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" -msgstr "" +msgstr "sostituisci il tag se esiste" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" -msgstr "" +msgstr "crea un registro riferimenti" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" -msgstr "" +msgstr "Opzioni elenco tag" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" -msgstr "" +msgstr "visualizza l'elenco dei tag in colonne" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" -msgstr "" +msgstr "stampa solo i tag che contengono il commit" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" -msgstr "" +msgstr "stampa solo i tag che non contengono i commit" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" -msgstr "" +msgstr "stampa solo i tag sottoposti a merge" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" -msgstr "" +msgstr "stampa solo i tag non sottoposti a merge" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" -msgstr "" +msgstr "stampa solo i tag dell'oggetto" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column e -n non sono compatibili" -#: builtin/tag.c:494 -#, fuzzy +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" -msgstr "l'opzione -n è consentita solo con -l." +msgstr "l'opzione -n è consentita solo in modalità elenco" -#: builtin/tag.c:496 -#, fuzzy +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" -msgstr "l'opzione --contains è consentita solo con -l." +msgstr "l'opzione --contains è consentita solo in modalità elenco" -#: builtin/tag.c:498 -#, fuzzy +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" -msgstr "l'opzione --contains è consentita solo con -l." +msgstr "l'opzione --no-contains è consentita solo in modalità elenco" -#: builtin/tag.c:500 -#, fuzzy +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" -msgstr "l'opzione --points-at è consentita solo con -l." +msgstr "l'opzione --points-at è consentita solo in modalità elenco" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "" +"le opzioni --merged e --no-merged sono consentite solo in modalità elenco" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "è consentita una sola opzione tra -F e -m." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "troppi parametri" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' non è un nome tag valido." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "il tag '%s' esiste già " -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Tag '%s' aggiornato (era %s)\n" #: builtin/unpack-objects.c:500 -#, fuzzy msgid "Unpacking objects" -msgstr "Indicizzazione degli oggetti" +msgstr "Decompressione degli oggetti in corso" #: builtin/update-index.c:83 -#, fuzzy, c-format +#, c-format msgid "failed to create directory %s" -msgstr "creazione della directory '%s' non riuscita" +msgstr "creazione della directory %s non riuscita" #: builtin/update-index.c:99 -#, fuzzy, c-format +#, c-format msgid "failed to create file %s" -msgstr "creazione del link '%s' non riuscita" +msgstr "creazione del file %s non riuscita" #: builtin/update-index.c:107 -#, fuzzy, c-format +#, c-format msgid "failed to delete file %s" -msgstr "creazione del link '%s' non riuscita" +msgstr "eliminazione del file %s non riuscita" #: builtin/update-index.c:114 builtin/update-index.c:220 -#, fuzzy, c-format +#, c-format msgid "failed to delete directory %s" -msgstr "creazione della directory '%s' non riuscita" +msgstr "eliminazione della directory %s non riuscita" #: builtin/update-index.c:139 -#, fuzzy, c-format +#, c-format msgid "Testing mtime in '%s' " -msgstr "chiusura del file '%s'" +msgstr "Test di mtime in '%s' in corso " #: builtin/update-index.c:153 msgid "directory stat info does not change after adding a new file" msgstr "" +"le informazioni stat della directory non cambiano dopo l'aggiunta di un " +"nuovo file" #: builtin/update-index.c:166 msgid "directory stat info does not change after adding a new directory" msgstr "" +"le informazioni stat della directory non cambiano dopo l'aggiunta di una " +"nuova directory" #: builtin/update-index.c:179 msgid "directory stat info changes after updating a file" msgstr "" +"le informazioni stat della directory cambiano dopo l'aggiornamento di un file" #: builtin/update-index.c:190 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" +"le informazioni stat della directory cambiano dopo l'aggiunta di un file in " +"una sottodirectory" #: builtin/update-index.c:201 msgid "directory stat info does not change after deleting a file" msgstr "" +"le informazioni stat della directory non cambiano dopo l'eliminazione di un " +"file" #: builtin/update-index.c:214 msgid "directory stat info does not change after deleting a directory" msgstr "" +"le informazioni stat della directory non cambiano dopo l'eliminazione di una " +"directory" #: builtin/update-index.c:221 msgid " OK" -msgstr "" +msgstr " OK" #: builtin/update-index.c:589 msgid "git update-index [<options>] [--] [<file>...]" -msgstr "" +msgstr "git update-index [<opzioni>] [--] [<file>...]" #: builtin/update-index.c:971 msgid "continue refresh even when index needs update" msgstr "" +"continua l'aggiornamento anche nel caso in cui l'indice richieda di essere " +"aggiornato" #: builtin/update-index.c:974 msgid "refresh: ignore submodules" -msgstr "" +msgstr "aggiornamento: ignora i sottomoduli" #: builtin/update-index.c:977 -#, fuzzy msgid "do not ignore new files" -msgstr "impossibile archiviare index file" +msgstr "non ignorare i nuovi file" #: builtin/update-index.c:979 msgid "let files replace directories and vice-versa" -msgstr "" +msgstr "consenti che dei file sostituiscano delle directory e viceversa" #: builtin/update-index.c:981 msgid "notice files missing from worktree" -msgstr "" +msgstr "nota se dei file mancano dall'albero di lavoro" #: builtin/update-index.c:983 msgid "refresh even if index contains unmerged entries" msgstr "" +"esegui l'aggiornamento anche se l'indice contiene delle voci non sottoposte " +"a merge" #: builtin/update-index.c:986 msgid "refresh stat information" -msgstr "" +msgstr "aggiorna le informazioni stat" #: builtin/update-index.c:990 msgid "like --refresh, but ignore assume-unchanged setting" -msgstr "" +msgstr "come --refresh, ma ignora l'impostazione assume-unchanged" #: builtin/update-index.c:994 msgid "<mode>,<object>,<path>" -msgstr "" +msgstr "<modo>,<oggetto>,<percorso>" #: builtin/update-index.c:995 -#, fuzzy msgid "add the specified entry to the index" -msgstr "Aggiunge il contenuto del file a index" +msgstr "aggiunge la voce specificata all'indice" #: builtin/update-index.c:1005 msgid "mark files as \"not changing\"" -msgstr "" +msgstr "contrassegna i file come \"non saranno modificati\"" #: builtin/update-index.c:1008 msgid "clear assumed-unchanged bit" -msgstr "" +msgstr "reimposta a zero il bit \"non saranno modificati\"" #: builtin/update-index.c:1011 msgid "mark files as \"index-only\"" -msgstr "" +msgstr "contrassegna i file come \"solamente da indicizzare\"" #: builtin/update-index.c:1014 msgid "clear skip-worktree bit" -msgstr "" +msgstr "reimposta a zero il bit \"solamente da indicizzare\"" #: builtin/update-index.c:1017 msgid "add to index only; do not add content to object database" msgstr "" +"aggiungi solo all'indice; non aggiungere il contenuto al database oggetti" #: builtin/update-index.c:1019 msgid "remove named paths even if present in worktree" -msgstr "" +msgstr "rimuovi i percorsi specificati anche se presenti nell'albero di lavoro" #: builtin/update-index.c:1021 msgid "with --stdin: input lines are terminated by null bytes" -msgstr "" +msgstr "con --stdin: le righe di input sono terminate da byte NULL" #: builtin/update-index.c:1023 -#, fuzzy msgid "read list of paths to be updated from standard input" -msgstr "(lettura del messaggio di log dallo standard input)\n" +msgstr "leggi l'elenco dei percorsi da aggiornare dallo standard input" #: builtin/update-index.c:1027 -#, fuzzy msgid "add entries from standard input to the index" -msgstr "non è stato possibile leggere il log dallo standard input" +msgstr "aggiungi le voci specificate sullo standard input all'indice" #: builtin/update-index.c:1031 msgid "repopulate stages #2 and #3 for the listed paths" -msgstr "" +msgstr "ripopola le fasi 2 e 3 per i percorsi elencati" #: builtin/update-index.c:1035 msgid "only update entries that differ from HEAD" -msgstr "" +msgstr "aggiorna solo le voci differenti rispetto all'HEAD" #: builtin/update-index.c:1039 msgid "ignore files missing from worktree" -msgstr "" +msgstr "ignora i file mancanti nell'albero di lavoro" #: builtin/update-index.c:1042 msgid "report actions to standard output" -msgstr "" +msgstr "stampa le azioni sullo standard output" #: builtin/update-index.c:1044 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "" +"(per i comandi ad alto livello) dimentica i conflitti non risolti salvati" #: builtin/update-index.c:1048 msgid "write index in this format" -msgstr "" +msgstr "scrivi l'indice in questo formato" #: builtin/update-index.c:1050 -#, fuzzy msgid "enable or disable split index" -msgstr "Impossibile scrivere index." +msgstr "abilita o disabilita l'indice suddiviso" #: builtin/update-index.c:1052 msgid "enable/disable untracked cache" -msgstr "" +msgstr "abilita/disabilita la cache non tracciata" #: builtin/update-index.c:1054 msgid "test if the filesystem supports untracked cache" -msgstr "" +msgstr "verifica se il filesystem supporta la cache non tracciata" #: builtin/update-index.c:1056 msgid "enable untracked cache without testing the filesystem" -msgstr "" +msgstr "abilita la cache non tracciata senza testare il filesystem" #: builtin/update-index.c:1058 msgid "write out the index even if is not flagged as changed" -msgstr "" +msgstr "scrivi l'indice anche se non è stato contrassegnato come modificato" #: builtin/update-index.c:1060 -#, fuzzy msgid "enable or disable file system monitor" -msgstr "impossibile gestire il tipo di file %d" +msgstr "abilita o disabilita il monitor del filesystem" #: builtin/update-index.c:1062 msgid "mark files as fsmonitor valid" -msgstr "" +msgstr "contrassegna i file come validi rispetto al monitor del filesystem" #: builtin/update-index.c:1065 msgid "clear fsmonitor valid bit" msgstr "" +"reimposta a zero il bit \"file validi rispetto al monitor del filesystem\"" #: builtin/update-index.c:1168 msgid "" "core.splitIndex is set to false; remove or change it, if you really want to " "enable split index" msgstr "" +"core.splitIndex è impostato a false; rimuovilo o modificalo se vuoi " +"veramente abilitare l'indice suddiviso" #: builtin/update-index.c:1177 msgid "" "core.splitIndex is set to true; remove or change it, if you really want to " "disable split index" msgstr "" +"core.splitIndex è impostato a true; rimuovilo o modificalo se vuoi veramente " +"disabilitare l'indice suddiviso" #: builtin/update-index.c:1188 msgid "" "core.untrackedCache is set to true; remove or change it, if you really want " "to disable the untracked cache" msgstr "" +"core.untrackedCache è impostato a true; rimuovilo o modificalo se vuoi " +"veramente disabilitare la cache non tracciata" #: builtin/update-index.c:1192 msgid "Untracked cache disabled" -msgstr "" +msgstr "Cache non tracciata disabilitata" #: builtin/update-index.c:1200 msgid "" "core.untrackedCache is set to false; remove or change it, if you really want " "to enable the untracked cache" msgstr "" +"core.untrackedCache è impostato a false; rimuovilo o modificalo se vuoi " +"veramente abilitare la cache non tracciata" #: builtin/update-index.c:1204 -#, fuzzy, c-format +#, c-format msgid "Untracked cache enabled for '%s'" -msgstr "make_cache_entry non riuscito per il path '%s'" +msgstr "Cache non tracciata abilitata per '%s'" #: builtin/update-index.c:1212 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor" msgstr "" +"core.fsmonitor non è impostato; impostalo se vuoi veramente abilitare il " +"monitor del filesystem" #: builtin/update-index.c:1216 msgid "fsmonitor enabled" -msgstr "" +msgstr "monitor filesystem abilitato" #: builtin/update-index.c:1219 msgid "" "core.fsmonitor is set; remove it if you really want to disable fsmonitor" msgstr "" +"core.fsmonitor è impostato; rimuovi tale impostazione se vuoi veramente " +"disabilitare il monitor del filesystem" #: builtin/update-index.c:1223 msgid "fsmonitor disabled" -msgstr "" +msgstr "monitor filesystem disabilitato" #: builtin/update-ref.c:10 msgid "git update-ref [<options>] -d <refname> [<old-val>]" -msgstr "" +msgstr "git update-ref [<opzioni>] -d <nome riferimento> [<vecchio valore>]" #: builtin/update-ref.c:11 msgid "git update-ref [<options>] <refname> <new-val> [<old-val>]" msgstr "" +"git update-ref [<opzioni>] <nome riferimento> <nuovo valore> [<vecchio " +"valore>]" #: builtin/update-ref.c:12 msgid "git update-ref [<options>] --stdin [-z]" -msgstr "" +msgstr "git update-ref [<opzioni>] --stdin [-z]" #: builtin/update-ref.c:364 msgid "delete the reference" -msgstr "" +msgstr "elimina il riferimento" #: builtin/update-ref.c:366 msgid "update <refname> not the one it points to" -msgstr "" +msgstr "aggiorna <nome riferimento>, non ciò a cui punta" #: builtin/update-ref.c:367 msgid "stdin has NUL-terminated arguments" -msgstr "" +msgstr "lo standard input ha argomenti terminati da NUL" #: builtin/update-ref.c:368 msgid "read updates from stdin" -msgstr "" +msgstr "leggi aggiornamenti dallo standard input" #: builtin/update-server-info.c:7 msgid "git update-server-info [--force]" -msgstr "" +msgstr "git update-server-info [--force]" #: builtin/update-server-info.c:15 msgid "update the info files from scratch" -msgstr "" +msgstr "aggiorna i file informazioni partendo da zero" #: builtin/upload-pack.c:11 msgid "git upload-pack [<options>] <dir>" -msgstr "" +msgstr "git upload-pack [<opzioni>] <directory>" #: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17 msgid "quit after a single request/response exchange" -msgstr "" +msgstr "esci dopo un solo scambio richiesta/risposta" #: builtin/upload-pack.c:25 msgid "exit immediately after initial ref advertisement" -msgstr "" +msgstr "esci subito dopo l'annuncio iniziale del riferimento" #: builtin/upload-pack.c:27 msgid "do not try <directory>/.git/ if <directory> is no Git directory" msgstr "" +"non provare a utilizzare <directory>/.git/ se <directory> non è una " +"directory Git" #: builtin/upload-pack.c:29 msgid "interrupt transfer after <n> seconds of inactivity" -msgstr "" +msgstr "interrompi il trasferimento dopo <n> secondi di inattività " -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." -msgstr "" +msgstr "git verify-commit [-v | --verbose] <commit>..." -#: builtin/verify-commit.c:76 -#, fuzzy +#: builtin/verify-commit.c:68 msgid "print commit contents" -msgstr "Commit iniziale su " +msgstr "stampa i contenuti del commit" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" -msgstr "" +msgstr "stampa l'output grezzo dello stato di GPG" #: builtin/verify-pack.c:55 msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..." -msgstr "" +msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..." #: builtin/verify-pack.c:65 -#, fuzzy msgid "verbose" msgstr "dettagliato" #: builtin/verify-pack.c:67 msgid "show statistics only" -msgstr "" +msgstr "visualizza solo le statistiche" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." -msgstr "" +msgstr "git verify-tag [-v | --verbose] [--format=<formato>] <tag>..." -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" -msgstr "" +msgstr "stampa i contenuti del tag" #: builtin/worktree.c:18 msgid "git worktree add [<options>] <path> [<commit-ish>]" -msgstr "" +msgstr "git worktree add [<opzioni>] <percorso> [<espressione commit>]" #: builtin/worktree.c:19 msgid "git worktree list [<options>]" -msgstr "" +msgstr "git worktree list [<opzioni>]" #: builtin/worktree.c:20 -#, fuzzy msgid "git worktree lock [<options>] <path>" -msgstr "git apply [opzioni] [<patch>...]" +msgstr "git worktree lock [<opzioni>] <percorso>" #: builtin/worktree.c:21 msgid "git worktree move <worktree> <new-path>" -msgstr "" +msgstr "git worktree move <albero di lavoro> <nuovo percorso>" #: builtin/worktree.c:22 msgid "git worktree prune [<options>]" -msgstr "" +msgstr "git worktree prune [<opzioni>]" #: builtin/worktree.c:23 msgid "git worktree remove [<options>] <worktree>" -msgstr "" +msgstr "git worktree remove [<opzioni>] <albero di lavoro>" #: builtin/worktree.c:24 msgid "git worktree unlock <path>" -msgstr "" +msgstr "git worktree unlock <percorso>" -#: builtin/worktree.c:61 builtin/worktree.c:891 -#, fuzzy, c-format +#: builtin/worktree.c:61 builtin/worktree.c:899 +#, c-format msgid "failed to delete '%s'" -msgstr "apertura di '%s' non riuscita" +msgstr "eliminazione di '%s' non riuscita" #: builtin/worktree.c:80 #, c-format msgid "Removing worktrees/%s: not a valid directory" -msgstr "" +msgstr "Rimuovo worktrees/%s: non è una directory valida" #: builtin/worktree.c:86 #, c-format msgid "Removing worktrees/%s: gitdir file does not exist" -msgstr "" +msgstr "Rimuovo worktrees/%s: il file gitdir non esiste" #: builtin/worktree.c:91 builtin/worktree.c:100 #, c-format msgid "Removing worktrees/%s: unable to read gitdir file (%s)" -msgstr "" +msgstr "Rimuovo worktrees/%s: impossibile leggere il file gitdir (%s)" #: builtin/worktree.c:110 #, c-format @@ -20466,34 +20987,36 @@ msgid "" "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read " "%<PRIuMAX>)" msgstr "" +"Rimuovo worktrees/%s: letti meno dati del previsto (attesi %<PRIuMAX>byte, " +"%<PRIuMAX> letti)" #: builtin/worktree.c:118 #, c-format msgid "Removing worktrees/%s: invalid gitdir file" -msgstr "" +msgstr "Rimuovo worktrees/%s: file gitdir non valido" #: builtin/worktree.c:127 #, c-format msgid "Removing worktrees/%s: gitdir file points to non-existent location" -msgstr "" +msgstr "Rimuovo worktrees/%s: il file gitdir punta a un percorso non esistente" #: builtin/worktree.c:166 msgid "report pruned working trees" -msgstr "" +msgstr "segnala gli alberi di lavoro eliminati" #: builtin/worktree.c:168 msgid "expire working trees older than <time>" -msgstr "" +msgstr "fai scadere gli alberi di lavoro più vecchi di <tempo>" #: builtin/worktree.c:235 -#, fuzzy, c-format +#, c-format msgid "'%s' already exists" -msgstr "%s esiste già " +msgstr "'%s' esiste già " #: builtin/worktree.c:252 -#, fuzzy, c-format +#, c-format msgid "unable to re-add worktree '%s'" -msgstr "impossibile leggere il tree (%s)" +msgstr "impossibile aggiungere nuovamente l'albero di lavoro '%s'" #: builtin/worktree.c:257 #, c-format @@ -20501,6 +21024,9 @@ msgid "" "'%s' is a missing but locked worktree;\n" "use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear" msgstr "" +"'%s' è un albero di lavoro mancante ma bloccato;\n" +"usa 'add -f -f' per eseguire l'override, o 'unlock' e 'prune' o 'remove' per " +"rimuoverlo" #: builtin/worktree.c:259 #, c-format @@ -20508,198 +21034,218 @@ msgid "" "'%s' is a missing but already registered worktree;\n" "use 'add -f' to override, or 'prune' or 'remove' to clear" msgstr "" +"'%s' è un albero di lavoro mancante ma già registrato;\n" +"usa 'add -f' per eseguire l'override, o 'prune' o 'remove' per rimuoverlo" -#: builtin/worktree.c:302 -#, fuzzy, c-format +#: builtin/worktree.c:309 +#, c-format msgid "could not create directory of '%s'" -msgstr "Non è stato possibile creare la directory '%s'" +msgstr "impossibile creare la directory di '%s'" -#: builtin/worktree.c:432 builtin/worktree.c:438 -#, fuzzy, c-format +#: builtin/worktree.c:440 builtin/worktree.c:446 +#, c-format msgid "Preparing worktree (new branch '%s')" -msgstr "Errore nella rimozione del branch '%s'" +msgstr "Preparazione dell'albero di lavoro in corso (nuovo branch '%s')" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" +"Preparazione dell'albero di lavoro in corso (reimposto il branch '%s'; era a " +"%s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" -msgstr "" +msgstr "Preparazione dell'albero di lavoro in corso (checkout di '%s')" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" -msgstr "" +msgstr "Preparazione dell'albero di lavoro in corso (HEAD scollegato %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" +"esegui il checkout di <branch> anche se tale operazione è stata eseguita in " +"un altro albero di lavoro" -#: builtin/worktree.c:493 -#, fuzzy +#: builtin/worktree.c:501 msgid "create a new branch" -msgstr "[nuovo branch]" +msgstr "crea un nuovo branch" -#: builtin/worktree.c:495 -#, fuzzy +#: builtin/worktree.c:503 msgid "create or reset a branch" -msgstr "Elenca, crea o elimina branch" +msgstr "crea o reimposta un branch" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" -msgstr "" +msgstr "popola il nuovo albero di lavoro" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" -msgstr "" +msgstr "mantieni bloccato il nuovo albero di lavoro" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" -msgstr "" +msgstr "imposta la modalità tracking (vedi git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "" +"tenta di cercare una corrispondenza fra il nome del nuovo branch e un branch " +"remoto da tracciare" -#: builtin/worktree.c:512 -#, fuzzy +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" -msgstr "-A e -u sono reciprocamente incompatibili" +msgstr "le opzioni -b, -B e --detach sono mutualmente esclusive" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "" +"l'opzione --[no-]track può essere usata solo se viene creato un nuovo branch" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" -msgstr "" +msgstr "motivo di blocco" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 -#, fuzzy, c-format +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 +#, c-format msgid "'%s' is not a working tree" -msgstr "'%s' non è un commit" +msgstr "'%s' non è un albero di lavoro" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" -msgstr "" +msgstr "Non è possibile bloccare o sbloccare l'albero di lavoro principale" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" -msgstr "" +msgstr "'%s' è già bloccato per questo motivo: %s" -#: builtin/worktree.c:694 -#, fuzzy, c-format +#: builtin/worktree.c:702 +#, c-format msgid "'%s' is already locked" -msgstr "il tag '%s' esiste già " +msgstr "'%s' è già bloccato" -#: builtin/worktree.c:722 -#, fuzzy, c-format +#: builtin/worktree.c:730 +#, c-format msgid "'%s' is not locked" -msgstr "'%s' non è un commit" +msgstr "'%s' non è bloccato" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "" +"gli alberi di lavoro contenenti sottomoduli non possono essere spostati o " +"rimossi" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" -msgstr "" +msgstr "forza lo spostamento anche se l'albero di lavoro è sporco o bloccato" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" -msgstr "" +msgstr "'%s' è un albero di lavoro principale" -#: builtin/worktree.c:799 -#, fuzzy, c-format +#: builtin/worktree.c:807 +#, c-format msgid "could not figure out destination name from '%s'" -msgstr "Non è stato possibile leggere da '%s'" +msgstr "impossibile determinare il nome destinazione da '%s'" -#: builtin/worktree.c:805 -#, fuzzy, c-format +#: builtin/worktree.c:813 +#, c-format msgid "target '%s' already exists" -msgstr "il tag '%s' esiste già " +msgstr "la destinazione '%s' esiste già " -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" "use 'move -f -f' to override or unlock first" msgstr "" +"impossibile spostare un albero di lavoro bloccato, motivazione blocco: %s\n" +"usa 'move -f -f' per eseguirne l'override o sbloccalo prima di eseguire " +"l'operazione" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" msgstr "" +"impossibile spostare un albero di lavoro bloccato;\n" +"usa 'move -f -f' per eseguirne l'override o sbloccalo prima di eseguire " +"l'operazione" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" -msgstr "" +msgstr "validazione non riuscita, impossibile spostare l'albero di lavoro: %s" -#: builtin/worktree.c:823 -#, fuzzy, c-format +#: builtin/worktree.c:831 +#, c-format msgid "failed to move '%s' to '%s'" -msgstr "impossibile spostare %s in %s" +msgstr "spostamento di '%s' in '%s' non riuscito" -#: builtin/worktree.c:871 -#, fuzzy, c-format +#: builtin/worktree.c:879 +#, c-format msgid "failed to run 'git status' on '%s'" -msgstr "stat di '%s' non riuscito" +msgstr "esecuzione di 'git status' su '%s' non riuscita" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" -msgstr "" +msgstr "'%s' è sporco, usa --force per eliminarlo" -#: builtin/worktree.c:880 -#, fuzzy, c-format +#: builtin/worktree.c:888 +#, c-format msgid "failed to run 'git status' on '%s', code %d" -msgstr "stat di '%s' non riuscito" +msgstr "esecuzione di 'git status' su '%s' non riuscita, codice %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" -msgstr "" +msgstr "forza la rimozione anche se l'albero di lavoro è sporco o bloccato" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" "use 'remove -f -f' to override or unlock first" msgstr "" +"impossibile rimuovere un albero di lavoro bloccato, motivazione blocco: %s\n" +"usa 'remove -f -f' per eseguirne l'override o sbloccalo prima di eseguire " +"l'operazione" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" msgstr "" +"impossibile rimuovere un albero di lavoro bloccato;\n" +"usa 'remove -f -f' per eseguirne l'override o sbloccalo prima di eseguire " +"l'operazione" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" -msgstr "" +msgstr "validazione non riuscita, impossibile rimuovere l'albero di lavoro: %s" #: builtin/write-tree.c:15 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]" -msgstr "" +msgstr "git write-tree [--missing-ok] [--prefix=<prefisso>/]" #: builtin/write-tree.c:28 msgid "<prefix>/" -msgstr "" +msgstr "<prefisso>/" #: builtin/write-tree.c:29 msgid "write tree object for a subdirectory <prefix>" -msgstr "" +msgstr "scrivi l'oggetto albero per una sottodirectory <prefisso>" #: builtin/write-tree.c:31 msgid "only useful for debugging" -msgstr "" +msgstr "utile solo per il debug" #: credential-cache--daemon.c:223 #, c-format @@ -20709,29 +21255,32 @@ msgid "" "\n" "\tchmod 0700 %s" msgstr "" +"I permessi sulla directory del socket sono troppo laschi; altri\n" +"utenti potrebbero essere in grado di leggere le credenziali nella\n" +"cache. Valuta di eseguire:\n" +"\n" +"\tchmod 0700 %s" #: credential-cache--daemon.c:272 msgid "print debugging messages to stderr" -msgstr "" +msgstr "stampa i messaggi di debug sullo standard error" #: t/helper/test-reach.c:152 -#, fuzzy, c-format +#, c-format msgid "commit %s is not marked reachable" -msgstr "il path '%s' non ha la nostra versione" +msgstr "il commit %s non è contrassegnato come raggiungibile" #: t/helper/test-reach.c:162 -#, fuzzy msgid "too many commits marked reachable" -msgstr "troppi commit da scrivere nel grafo" +msgstr "troppi commit contrassegnati come raggiungibili" #: t/helper/test-serve-v2.c:7 -#, fuzzy msgid "test-tool serve-v2 [<options>]" -msgstr "git apply [opzioni] [<patch>...]" +msgstr "test-tool serve-v2 [<opzioni>]" #: t/helper/test-serve-v2.c:19 msgid "exit immediately after advertising capabilities" -msgstr "" +msgstr "esci subito dopo aver annunciato le funzionalità " #: git.c:27 msgid "" @@ -20742,146 +21291,165 @@ msgid "" " [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n" " <command> [<args>]" msgstr "" +"git [--version] [--help] [-C <percorso>] [-c <nome>=<valore>]\n" +" [--exec-path[=<percorso>]] [--html-path] [--man-path] [--info-" +"path]\n" +" [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--" +"bare]\n" +" [--git-dir=<percorso>] [--work-tree=<percorso>] [--" +"namespace=<nome>]\n" +" <comando> [<argomenti>]" #: git.c:34 msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" +"'git help -a' e 'git help -g' elencano i sottocomandi disponibili e\n" +"alcune guide concettuali. Vedi 'git help <comando>' o 'git help <concetto>'\n" +"per leggere ulteriori informazioni su un sottocomando o su un concetto\n" +"specifici.\n" +"Vedi 'git help git' per una panoramica del sistema." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" -msgstr "" +msgstr "nessuna directory specificata per --git-dir\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" -msgstr "" +msgstr "nessuno spazio dei nomi specificato per --namespace\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" -msgstr "" +msgstr "nessuna directory specificata per --work-tree\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" -msgstr "" +msgstr "nessun prefisso specificato per --super-prefix\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" -msgstr "" +msgstr "-c: attesa stringa di configurazione\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" -msgstr "" +msgstr "nessuna directory specificata per -C\n" -#: git.c:313 -#, fuzzy, c-format +#: git.c:314 +#, c-format msgid "unknown option: %s\n" -msgstr "sconosciuto: %s" +msgstr "opzione sconosciuta: %s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" -msgstr "" +msgstr "durante l'espansione dell'alias '%s': '%s'" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" "You can use '!git' in the alias to do this" msgstr "" +"l'alias '%s' modifica le variabili d'ambiente.\n" +"Puoi usare '!git' nell'alias per farlo" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" -msgstr "" +msgstr "alias vuoto per %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" -msgstr "" +msgstr "alias ricorsivo: %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" -msgstr "" +msgstr "errore di scrittura sullo standard output" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" -msgstr "" +msgstr "errore di scrittura sconosciuto sullo standard output" -#: git.c:463 -#, fuzzy +#: git.c:464 msgid "close failed on standard output" -msgstr "riga configurazione %d errata nello standard input" +msgstr "chiusura dello standard output non riuscita" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" -msgstr "" +msgstr "rilevato ciclo alias: l'espansione di '%s' non termina:%s" -#: git.c:847 -#, fuzzy, c-format +#: git.c:843 +#, c-format msgid "cannot handle %s as a builtin" -msgstr "impossibile usare %s come file di esclusione" +msgstr "impossibile gestire %s come comando incorporato" -#: git.c:860 -#, fuzzy, c-format +#: git.c:856 +#, c-format msgid "" "usage: %s\n" "\n" -msgstr "uso: %s" +msgstr "" +"uso: %s\n" +"\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" -msgstr "" +msgstr "espansione dell'alias '%s' non riuscita; '%s' non è un comando Git\n" -#: git.c:892 -#, fuzzy, c-format +#: git.c:888 +#, c-format msgid "failed to run command '%s': %s\n" -msgstr "esecuzione di '%s' non riuscita: %s" +msgstr "esecuzione del comando '%s' non riuscita: %s\n" #: http.c:378 #, c-format msgid "negative value for http.postbuffer; defaulting to %d" -msgstr "" +msgstr "valore negativo per http.postbuffer; uso l'impostazione predefinita %d" #: http.c:399 msgid "Delegation control is not supported with cURL < 7.22.0" -msgstr "" +msgstr "Il controllo delegazione non è supportato con cURL < 7.22.0" #: http.c:408 msgid "Public key pinning not supported with cURL < 7.44.0" -msgstr "" +msgstr "Il pinning delle chiavi pubbliche non è supportato con cURL < 7.44.0" #: http.c:876 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0" -msgstr "" +msgstr "CURLSSLOPT_NO_REVOKE non è supportato con cURL < 7.44.0" #: http.c:949 msgid "Protocol restrictions not supported with cURL < 7.19.4" -msgstr "" +msgstr "Le restrizioni protocollo non sono supportate con cURL < 7.19.4" #: http.c:1085 #, c-format msgid "Unsupported SSL backend '%s'. Supported SSL backends:" -msgstr "" +msgstr "Backend SSL '%s' non supportato. Backend SSL supportati:" #: http.c:1092 #, c-format msgid "Could not set SSL backend to '%s': cURL was built without SSL backends" msgstr "" +"Impossibile impostare il backend SSL a '%s': cURL è stato compilato senza " +"backend SSL" #: http.c:1096 -#, fuzzy, c-format +#, c-format msgid "Could not set SSL backend to '%s': already set" -msgstr "Non è stato possibile rimuovere il branch %s" +msgstr "Impossibile impostare il backend SSL a '%s': già impostato" #: http.c:1965 #, c-format @@ -20890,150 +21458,156 @@ msgid "" " asked for: %s\n" " redirect: %s" msgstr "" +"impossibile aggiornare l'URL di base dalla redirezione:\n" +" richiesta: %s\n" +" redirect: %s" #: remote-curl.c:157 -#, fuzzy, c-format +#, c-format msgid "invalid quoting in push-option value: '%s'" -msgstr "Valore di %s errato: '%s'" +msgstr "virgolette non valide nel valore push-option: '%s'" #: remote-curl.c:254 -#, fuzzy, c-format +#, c-format msgid "%sinfo/refs not valid: is this a git repository?" -msgstr "'%s' non riconosciuto come repository Git" +msgstr "%sinfo/refs non valido: è un repository Git?" #: remote-curl.c:355 -#, fuzzy msgid "invalid server response; expected service, got flush packet" -msgstr "git archive: attesi ACK/NAK, ricevuto pacchetto di flush" +msgstr "" +"risposta del server non valida; atteso servizio, ricevuto pacchetto flush" #: remote-curl.c:386 -#, fuzzy, c-format +#, c-format msgid "invalid server response; got '%s'" -msgstr "responso ls-refs non valido: %s" +msgstr "risposta del server non valida; ricevuto '%s'" #: remote-curl.c:446 -#, fuzzy, c-format +#, c-format msgid "repository '%s' not found" -msgstr "branch '%s' non trovato." +msgstr "repository '%s' non trovato" #: remote-curl.c:450 -#, fuzzy, c-format +#, c-format msgid "Authentication failed for '%s'" -msgstr "valore mancante per %s" +msgstr "Autenticazione non riuscita per '%s'" #: remote-curl.c:454 -#, fuzzy, c-format +#, c-format msgid "unable to access '%s': %s" -msgstr "impossibile accedere a '%s'" +msgstr "impossibile accedere a '%s': %s" #: remote-curl.c:460 #, c-format msgid "redirecting to %s" -msgstr "" +msgstr "redirezione a %s in corso" #: remote-curl.c:584 msgid "shouldn't have EOF when not gentle on EOF" msgstr "" +"non dovrebbe esserci un pacchetto fine file se non si è accomodanti con " +"questi ultimi" #: remote-curl.c:664 msgid "unable to rewind rpc post data - try increasing http.postBuffer" msgstr "" +"impossibile ritornare a un punto precedente dei dati POST RPC - prova ad " +"aumentare il valore di http.postBuffer" #: remote-curl.c:724 -#, fuzzy, c-format +#, c-format msgid "RPC failed; %s" -msgstr "non riuscito: %d" +msgstr "RPC non riuscita; %s" #: remote-curl.c:764 -#, fuzzy msgid "cannot handle pushes this big" -msgstr "impossibile usare %s come file di esclusione" +msgstr "impossibile gestire push così grandi" #: remote-curl.c:879 #, c-format msgid "cannot deflate request; zlib deflate error %d" msgstr "" +"impossibile eseguire il deflate della richiesta; errore deflate zlib %d" #: remote-curl.c:883 #, c-format msgid "cannot deflate request; zlib end error %d" -msgstr "" +msgstr "impossibile eseguire il deflate della richiesta; errore fine zlib %d" #: remote-curl.c:1014 -#, fuzzy msgid "dumb http transport does not support shallow capabilities" -msgstr "Il server non supporta client shallow" +msgstr "il trasporto http stupido non supporta le funzionalità shallow" #: remote-curl.c:1028 -#, fuzzy msgid "fetch failed." -msgstr "esecuzione di stash non riuscita" +msgstr "recupero non riuscito." #: remote-curl.c:1076 msgid "cannot fetch by sha1 over smart http" msgstr "" +"impossibile recuperare i dati in base allo SHA1 con il trasporto HTTP " +"intelligente" #: remote-curl.c:1120 remote-curl.c:1126 -#, fuzzy, c-format +#, c-format msgid "protocol error: expected sha/ref, got '%s'" -msgstr "errore protocollo: atteso SHA1 shallow, ricevuto '%s'" +msgstr "errore protocollo: atteso SHA/riferimento, ricevuto '%s'" #: remote-curl.c:1138 remote-curl.c:1252 -#, fuzzy, c-format +#, c-format msgid "http transport does not support %s" -msgstr "la variante SSH 'simple' non supporta -4" +msgstr "il trasporto HTTP non supporta %s" #: remote-curl.c:1174 -#, fuzzy msgid "git-http-push failed" -msgstr "esecuzione di stash non riuscita" +msgstr "git-http-push non riuscito" #: remote-curl.c:1360 msgid "remote-curl: usage: git remote-curl <remote> [<url>]" -msgstr "" +msgstr "remote-curl: uso: git remote-curl <remoto> [<URL>]" #: remote-curl.c:1392 msgid "remote-curl: error reading command stream from git" -msgstr "" +msgstr "remote-curl: errore durante la lettura del flusso dei comandi da Git" #: remote-curl.c:1399 msgid "remote-curl: fetch attempted without a local repo" -msgstr "" +msgstr "remote-curl: tentato un fetch senza un repository locale" #: remote-curl.c:1439 #, c-format msgid "remote-curl: unknown command '%s' from git" -msgstr "" +msgstr "remote-curl: ricevuto comando sconosciuto '%s' da Git" #: list-objects-filter-options.h:61 msgid "args" -msgstr "" +msgstr "argomenti" #: list-objects-filter-options.h:62 msgid "object filtering" -msgstr "" +msgstr "filtraggio oggetti" #: parse-options.h:170 msgid "expiry-date" -msgstr "" +msgstr "data-scadenza" #: parse-options.h:184 msgid "no-op (backward compatibility)" -msgstr "" +msgstr "no-op (retrocompatibilità )" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" -msgstr "più dettagliato" +msgstr "visualizza più dettagli" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" -msgstr "meno dettagliato" +msgstr "visualizza meno dettagli" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" -msgstr "usare <n> cifre per mostrare gli hash SHA-1" +msgstr "usa <n> cifre per mostrare gli hash SHA-1" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "come rimuovere gli spazi e i #commenti dal messaggio" @@ -21048,40 +21622,50 @@ msgstr "nome campo in base a cui ordinare" #: rerere.h:44 msgid "update the index with reused conflict resolution if possible" msgstr "" +"aggiorna l'indice con la tecnica di risoluzione conflitti riutilizzata se " +"possibile" + +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "HEAD scollegato su " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "HEAD scollegato da " #: command-list.h:50 msgid "Add file contents to the index" -msgstr "Aggiunge il contenuto del file a index" +msgstr "Aggiunge i contenuti del file all'indice" #: command-list.h:51 msgid "Apply a series of patches from a mailbox" -msgstr "" +msgstr "Applica una serie di patch da una casella di posta" #: command-list.h:52 msgid "Annotate file lines with commit information" -msgstr "" +msgstr "Annota le righe dei file con le informazioni sui commit" #: command-list.h:53 msgid "Apply a patch to files and/or to the index" -msgstr "" +msgstr "Applica una patch ai file e/o all'indice" #: command-list.h:54 -#, fuzzy msgid "Import a GNU Arch repository into Git" -msgstr "Clona un repository in una nuova directory" +msgstr "Importa un repository GNU Arch in Git" #: command-list.h:55 msgid "Create an archive of files from a named tree" -msgstr "" +msgstr "Crea un archivio di file da un albero con nome" #: command-list.h:56 -#, fuzzy msgid "Use binary search to find the commit that introduced a bug" -msgstr "Cerca mediante ricerca binaria la modifica che ha introdotto un bug" +msgstr "Usa la ricerca binaria per trovare il commit che ha introdotto un bug" #: command-list.h:57 msgid "Show what revision and author last modified each line of a file" msgstr "" +"Visualizza quali revisione e autore hanno modificato ogni singola riga di un " +"file per ultimi" #: command-list.h:58 msgid "List, create, or delete branches" @@ -21089,51 +21673,54 @@ msgstr "Elenca, crea o elimina branch" #: command-list.h:59 msgid "Move objects and refs by archive" -msgstr "" +msgstr "Sposta oggetti e riferimenti in base a un archivio" #: command-list.h:60 msgid "Provide content or type and size information for repository objects" msgstr "" +"Fornisci informazioni sul contenuto o sul tipo e sulle dimensioni per gli " +"oggetti di un repository" #: command-list.h:61 msgid "Display gitattributes information" -msgstr "" +msgstr "Visualizza le informazioni sugli attributi Git" #: command-list.h:62 msgid "Debug gitignore / exclude files" -msgstr "" +msgstr "Esegui il debug dei file gitignore/escludi file" #: command-list.h:63 msgid "Show canonical names and email addresses of contacts" -msgstr "" +msgstr "Visualizza i nomi canonici e gli indirizzi e-mail dei contatti" #: command-list.h:64 msgid "Switch branches or restore working tree files" msgstr "" +"Passa da un branch a un altro o ripristina i file nell'albero di lavoro" #: command-list.h:65 msgid "Copy files from the index to the working tree" -msgstr "" +msgstr "Copia dei file dall'indice all'albero di lavoro" #: command-list.h:66 msgid "Ensures that a reference name is well formed" -msgstr "" +msgstr "Si assicura che un nome riferimento sia ben formato" #: command-list.h:67 msgid "Find commits yet to be applied to upstream" -msgstr "" +msgstr "Trova commit che devono essere ancora applicati upstream" #: command-list.h:68 msgid "Apply the changes introduced by some existing commits" -msgstr "" +msgstr "Applica le modifiche introdotte da alcuni commit esistenti" #: command-list.h:69 msgid "Graphical alternative to git-commit" -msgstr "" +msgstr "Alternativa grafica a git-commit" #: command-list.h:70 msgid "Remove untracked files from the working tree" -msgstr "" +msgstr "Rimuove i file non tracciati dall'albero di lavoro" #: command-list.h:71 msgid "Clone a repository into a new directory" @@ -21141,209 +21728,209 @@ msgstr "Clona un repository in una nuova directory" #: command-list.h:72 msgid "Display data in columns" -msgstr "" +msgstr "Visualizza i dati in colonne" #: command-list.h:73 msgid "Record changes to the repository" -msgstr "Registra modifiche nel repository" +msgstr "Registra modifiche al repository" #: command-list.h:74 msgid "Write and verify Git commit-graph files" -msgstr "" +msgstr "Scrive e verifica i file grafo dei commit di Git" #: command-list.h:75 -#, fuzzy msgid "Create a new commit object" -msgstr "scrittura dell'oggetto di commit non riuscita" +msgstr "Crea un nuovo oggetto commit" #: command-list.h:76 msgid "Get and set repository or global options" -msgstr "" +msgstr "Ottiene e imposta le opzioni a livello di repository o globali" #: command-list.h:77 msgid "Count unpacked number of objects and their disk consumption" msgstr "" +"Conta il numero di oggetti non in un pack e la loro occupazione di spazio su " +"disco" #: command-list.h:78 msgid "Retrieve and store user credentials" -msgstr "" +msgstr "Recupera e salva credenziali utente" #: command-list.h:79 msgid "Helper to temporarily store passwords in memory" -msgstr "" +msgstr "Helper per salvare temporaneamente password in memoria" #: command-list.h:80 msgid "Helper to store credentials on disk" -msgstr "" +msgstr "Helper per salvare credenziali su disco" #: command-list.h:81 msgid "Export a single commit to a CVS checkout" -msgstr "" +msgstr "Esporta un singolo commit in un checkout CVS" #: command-list.h:82 msgid "Salvage your data out of another SCM people love to hate" msgstr "" +"Recupera i dati da un sistema di controllo di versione che le persone " +"adorano odiare" #: command-list.h:83 msgid "A CVS server emulator for Git" -msgstr "" +msgstr "Un emulatore di server CVS per Git" #: command-list.h:84 msgid "A really simple server for Git repositories" -msgstr "" +msgstr "Un server veramente semplice per repository Git" #: command-list.h:85 msgid "Give an object a human readable name based on an available ref" msgstr "" +"Attribuisce un nome leggibile a un oggetto basandosi su un riferimento " +"disponibile" #: command-list.h:86 msgid "Show changes between commits, commit and working tree, etc" msgstr "" +"Visualizza le modifiche fra commit, un commit e l'albero di lavoro, ecc." #: command-list.h:87 -#, fuzzy msgid "Compares files in the working tree and the index" -msgstr "git %s: lettura di index non riuscita" +msgstr "Confronta file nell'albero di lavoro e nell'indice" #: command-list.h:88 msgid "Compare a tree to the working tree or index" -msgstr "" +msgstr "Confronta un albero con l'albero di lavoro o l'indice" #: command-list.h:89 msgid "Compares the content and mode of blobs found via two tree objects" msgstr "" +"Confronta il contenuto e i mode dei blob trovati tramite due oggetti albero" #: command-list.h:90 msgid "Show changes using common diff tools" msgstr "" +"Visualizza le modifiche usando tool comuni per la visualizzazione dei diff" #: command-list.h:91 msgid "Git data exporter" -msgstr "" +msgstr "Esportatore di dati Git" #: command-list.h:92 msgid "Backend for fast Git data importers" -msgstr "" +msgstr "Backend per importatori di dati Git veloci" #: command-list.h:93 msgid "Download objects and refs from another repository" -msgstr "Scarica oggetti e ref da un altro repository" +msgstr "Scarica oggetti e riferimenti da un altro repository" #: command-list.h:94 -#, fuzzy msgid "Receive missing objects from another repository" -msgstr "Scarica oggetti e ref da un altro repository" +msgstr "Riceve oggetti mancanti da un altro repository" #: command-list.h:95 -#, fuzzy msgid "Rewrite branches" -msgstr " Branch remoto:%s" +msgstr "Riscrive branch" #: command-list.h:96 -#, fuzzy msgid "Produce a merge commit message" -msgstr "non è stato possibile leggere il messaggio di commit: %s" +msgstr "Genera un messaggio di commit del merge" #: command-list.h:97 msgid "Output information on each ref" -msgstr "" +msgstr "Visualizza in output le informazioni su ogni riferimento" #: command-list.h:98 msgid "Prepare patches for e-mail submission" -msgstr "" +msgstr "Prepara patch per il loro invio tramite e-mail" #: command-list.h:99 msgid "Verifies the connectivity and validity of the objects in the database" -msgstr "" +msgstr "Verifica la connessione e la validità degli oggetti nel database" #: command-list.h:100 msgid "Cleanup unnecessary files and optimize the local repository" -msgstr "" +msgstr "Ripulisce file non necessari e ottimizza il repository locale" #: command-list.h:101 msgid "Extract commit ID from an archive created using git-archive" -msgstr "" +msgstr "Estrae l'ID del commit da un archivio creato usando git-archive" #: command-list.h:102 msgid "Print lines matching a pattern" -msgstr "Stampa le righe corrispondenti ad un modello" +msgstr "Stampa le righe corrispondenti a un'espressione regolare" #: command-list.h:103 msgid "A portable graphical interface to Git" -msgstr "" +msgstr "Un'interfaccia grafica portabile per Git" #: command-list.h:104 msgid "Compute object ID and optionally creates a blob from a file" -msgstr "" +msgstr "Calcola l'ID oggetto e crea facoltativamente un blob da un file" #: command-list.h:105 msgid "Display help information about Git" -msgstr "" +msgstr "Visualizza una guida a Git" #: command-list.h:106 msgid "Server side implementation of Git over HTTP" -msgstr "" +msgstr "Implementazione lato server di Git su HTTP" #: command-list.h:107 -#, fuzzy msgid "Download from a remote Git repository via HTTP" -msgstr "Scarica oggetti e ref da un altro repository" +msgstr "Scarica dati da un repository Git remoto tramite HTTP" #: command-list.h:108 -#, fuzzy msgid "Push objects over HTTP/DAV to another repository" -msgstr "Scarica oggetti e ref da un altro repository" +msgstr "Esegue il push di oggetti su un altro repository tramite HTTP/DAV" #: command-list.h:109 msgid "Send a collection of patches from stdin to an IMAP folder" -msgstr "" +msgstr "Invia un insieme di patch dallo standard input a una cartella IMAP" #: command-list.h:110 msgid "Build pack index file for an existing packed archive" -msgstr "" +msgstr "Genera il file indice pack per un archivio esistente sottoposto a pack" #: command-list.h:111 -#, fuzzy msgid "Create an empty Git repository or reinitialize an existing one" -msgstr "Crea un repository git vuoto o reinizializza uno esistente" +msgstr "Crea un repository Git vuoto o ne reinizializza uno esistente" #: command-list.h:112 msgid "Instantly browse your working repository in gitweb" -msgstr "" +msgstr "Sfoglia istantaneamente il tuo repository di lavoro su gitweb" #: command-list.h:113 msgid "Add or parse structured information in commit messages" -msgstr "" +msgstr "Aggiunge o analizza informazioni strutturate nei messaggi di commit" #: command-list.h:114 -#, fuzzy msgid "The Git repository browser" -msgstr "%s%s repository Git in %s%s\n" +msgstr "Il browser per i repository Git" #: command-list.h:115 msgid "Show commit logs" -msgstr "Mostra log del commit" +msgstr "Visualizza i log dei commit" #: command-list.h:116 msgid "Show information about files in the index and the working tree" -msgstr "" +msgstr "Visualizza informazioni sui file nell'indice e nell'albero di lavoro" #: command-list.h:117 -#, fuzzy msgid "List references in a remote repository" -msgstr "%s reset non è consentito in un repository spoglio" +msgstr "Elenca i riferimenti in un repository remoto" #: command-list.h:118 msgid "List the contents of a tree object" -msgstr "" +msgstr "Elenca i contenuti di un oggetto albero" #: command-list.h:119 msgid "Extracts patch and authorship from a single e-mail message" msgstr "" +"Estrae la patch e le informazioni sull'autore da un singolo messaggio e-mail" #: command-list.h:120 msgid "Simple UNIX mbox splitter program" -msgstr "" +msgstr "Un semplice programma per suddividere i file UNIX mbox" #: command-list.h:121 msgid "Join two or more development histories together" @@ -21351,367 +21938,367 @@ msgstr "Unisce due o più cronologie di sviluppo" #: command-list.h:122 msgid "Find as good common ancestors as possible for a merge" -msgstr "" +msgstr "Trova il maggior numero possibile di antenati comuni per un merge" #: command-list.h:123 msgid "Run a three-way file merge" -msgstr "" +msgstr "Esegue un merge a tre vie su file" #: command-list.h:124 msgid "Run a merge for files needing merging" -msgstr "" +msgstr "Esegue un merge per i file che lo richiedono" #: command-list.h:125 msgid "The standard helper program to use with git-merge-index" -msgstr "" +msgstr "Il programma helper standard da usare con git-merge-index" #: command-list.h:126 msgid "Run merge conflict resolution tools to resolve merge conflicts" msgstr "" +"Esegue gli strumenti di risoluzione conflitti di merge per risolvere i " +"conflitti di merge" #: command-list.h:127 msgid "Show three-way merge without touching index" -msgstr "" +msgstr "Visualizza un merge a tre vie senza modificare l'indice" #: command-list.h:128 msgid "Write and verify multi-pack-indexes" -msgstr "" +msgstr "Scrive e verifica indici multi-pack" #: command-list.h:129 msgid "Creates a tag object" -msgstr "" +msgstr "Crea un oggetto tag" #: command-list.h:130 msgid "Build a tree-object from ls-tree formatted text" -msgstr "" +msgstr "Genera un oggetto albero da testo in formato ls-tree" #: command-list.h:131 msgid "Move or rename a file, a directory, or a symlink" -msgstr "Sposta o rinomina un file, una directory o un link simbolico" +msgstr "Sposta o rinomina un file, una directory o un collegamento simbolico" #: command-list.h:132 msgid "Find symbolic names for given revs" -msgstr "" +msgstr "Trova i nomi simbolici per le revisioni date" #: command-list.h:133 msgid "Add or inspect object notes" -msgstr "" +msgstr "Aggiunge o esamina le note agli oggetti" #: command-list.h:134 msgid "Import from and submit to Perforce repositories" -msgstr "" +msgstr "Importa dati da, o invia dati a, repository Perforce" #: command-list.h:135 msgid "Create a packed archive of objects" -msgstr "" +msgstr "Crea un archivio di oggetti sottoposto a pack" #: command-list.h:136 msgid "Find redundant pack files" -msgstr "" +msgstr "Trova file pack ridondanti" #: command-list.h:137 msgid "Pack heads and tags for efficient repository access" -msgstr "" +msgstr "Esegue il pack di head e tag per un accesso efficiente al repository" #: command-list.h:138 msgid "Routines to help parsing remote repository access parameters" msgstr "" +"Routine che aiutano ad analizzare i parametri di accesso ai repository remoti" #: command-list.h:139 msgid "Compute unique ID for a patch" -msgstr "" +msgstr "Calcola l'ID univoco per una patch" #: command-list.h:140 msgid "Prune all unreachable objects from the object database" -msgstr "" +msgstr "Elimina tutti gli oggetti non raggiungibili dal database oggetti" #: command-list.h:141 msgid "Remove extra objects that are already in pack files" -msgstr "" +msgstr "Rimuove gli oggetti aggiuntivi già presenti nei file pack" #: command-list.h:142 -#, fuzzy msgid "Fetch from and integrate with another repository or a local branch" -msgstr "Combina fetche + merge da un altro repository o un branch locale" +msgstr "" +"Esegue il fetch e l'integrazione con un altro repository o un branch locale" #: command-list.h:143 msgid "Update remote refs along with associated objects" -msgstr "Aggiorna i ref remoti insieme agli oggetti associati" +msgstr "Aggiorna i riferimenti remoti insieme agli oggetti associati" #: command-list.h:144 -#, fuzzy msgid "Applies a quilt patchset onto the current branch" -msgstr "Nessun upstream di default definito per il branch corrente." +msgstr "Applica un insieme di patch quilt sul branch corrente" #: command-list.h:145 msgid "Compare two commit ranges (e.g. two versions of a branch)" -msgstr "" +msgstr "Compara due intervalli di commit (ad es. due versioni di un branch)" #: command-list.h:146 msgid "Reads tree information into the index" -msgstr "" +msgstr "Legge le informazioni su un albero dall'indice" #: command-list.h:147 msgid "Reapply commits on top of another base tip" -msgstr "" +msgstr "Riapplica dei commit dopo l'ultimo commit di un branch" #: command-list.h:148 -#, fuzzy msgid "Receive what is pushed into the repository" -msgstr "Registra modifiche nel repository" +msgstr "Riceve quanto sottoposto a push nel repository" #: command-list.h:149 msgid "Manage reflog information" -msgstr "" +msgstr "Gestisce le informazioni del registro dei riferimenti" #: command-list.h:150 -#, fuzzy msgid "Manage set of tracked repositories" -msgstr "Registra modifiche nel repository" +msgstr "Gestisce l'insieme dei repository tracciati" #: command-list.h:151 -#, fuzzy msgid "Pack unpacked objects in a repository" -msgstr "--cached al di fuori di un repository" +msgstr "Esegue il pack degli oggetti non sottoposti a pack in un repository" #: command-list.h:152 -#, fuzzy msgid "Create, list, delete refs to replace objects" -msgstr "Crea, elenca, elimina o verifica un oggetto tag firmato con GPG" +msgstr "Crea, elenca, elimina i riferimenti per sostituire oggetti" #: command-list.h:153 msgid "Generates a summary of pending changes" -msgstr "" +msgstr "Genera un riassunto delle modifiche in sospeso" #: command-list.h:154 msgid "Reuse recorded resolution of conflicted merges" -msgstr "" +msgstr "Riusa la risoluzione registrata dei merge che hanno generato conflitti" #: command-list.h:155 msgid "Reset current HEAD to the specified state" msgstr "Ripristina l'HEAD corrente allo stato specificato" #: command-list.h:156 -#, fuzzy -msgid "Revert some existing commits" -msgstr "Impossibile eseguire il revert come commit iniziale" +msgid "Restore working tree files" +msgstr "Ripristina i file nell'albero di lavoro" #: command-list.h:157 -msgid "Lists commit objects in reverse chronological order" -msgstr "" +msgid "Revert some existing commits" +msgstr "Esegue il revert di alcuni commit esistenti" #: command-list.h:158 -#, fuzzy -msgid "Pick out and massage parameters" -msgstr "troppi parametri" +msgid "Lists commit objects in reverse chronological order" +msgstr "Elenca gli oggetti commit in ordine cronologico inverso" #: command-list.h:159 -msgid "Remove files from the working tree and from the index" -msgstr "" +msgid "Pick out and massage parameters" +msgstr "Sceglie e altera i parametri" #: command-list.h:160 -msgid "Send a collection of patches as emails" -msgstr "" +msgid "Remove files from the working tree and from the index" +msgstr "Rimuove file dall'albero di lavoro e dall'indice" #: command-list.h:161 -#, fuzzy -msgid "Push objects over Git protocol to another repository" -msgstr "Scarica oggetti e ref da un altro repository" +msgid "Send a collection of patches as emails" +msgstr "Invia un insieme di patch come e-mail" #: command-list.h:162 -msgid "Restricted login shell for Git-only SSH access" +msgid "Push objects over Git protocol to another repository" msgstr "" +"Esegue il push di oggetti su un altro repository tramite il protocollo Git" #: command-list.h:163 -msgid "Summarize 'git log' output" -msgstr "" +msgid "Restricted login shell for Git-only SSH access" +msgstr "Shell di login limitata per concedere accesso SSH solo per Git" #: command-list.h:164 -msgid "Show various types of objects" -msgstr "Mostra vari tipi di oggetti" +msgid "Summarize 'git log' output" +msgstr "Riassume l'output di 'git log'" #: command-list.h:165 -#, fuzzy -msgid "Show branches and their commits" -msgstr "nessuna modifica aggiunta al commit%s\n" +msgid "Show various types of objects" +msgstr "Visualizza vari tipi di oggetti" #: command-list.h:166 -msgid "Show packed archive index" -msgstr "" +msgid "Show branches and their commits" +msgstr "Visualizza i branch e i loro commit" #: command-list.h:167 -#, fuzzy -msgid "List references in a local repository" -msgstr "il repository di riferimento '%s' non è una directory locale." +msgid "Show packed archive index" +msgstr "Visualizza l'indice di un archivio sottoposto a pack" #: command-list.h:168 -msgid "Git's i18n setup code for shell scripts" -msgstr "" +msgid "List references in a local repository" +msgstr "Elenca i riferimenti in un repository locale" #: command-list.h:169 -msgid "Common Git shell script setup code" +msgid "Git's i18n setup code for shell scripts" msgstr "" +"Codice di inizializzazione dell'internazionalizzazione di Git per gli script " +"shell" #: command-list.h:170 -#, fuzzy -msgid "Stash the changes in a dirty working directory away" -msgstr "%s: esiste già nella directory di lavoro" +msgid "Common Git shell script setup code" +msgstr "Codice comune di inizializzazione di Git per gli script shell" #: command-list.h:171 -#, fuzzy -msgid "Add file contents to the staging area" -msgstr "Aggiunge il contenuto del file a index" +msgid "Stash the changes in a dirty working directory away" +msgstr "Mette da parte le modifiche in una directory di lavoro sporca" #: command-list.h:172 -msgid "Show the working tree status" -msgstr "" +msgid "Add file contents to the staging area" +msgstr "Aggiunge i contenuti dei file all'area di staging" #: command-list.h:173 -msgid "Remove unnecessary whitespace" -msgstr "" +msgid "Show the working tree status" +msgstr "Visualizza lo stato dell'albero di lavoro" #: command-list.h:174 -msgid "Initialize, update or inspect submodules" -msgstr "" +msgid "Remove unnecessary whitespace" +msgstr "Rimuove spazi bianchi non necessari" #: command-list.h:175 -msgid "Bidirectional operation between a Subversion repository and Git" -msgstr "" +msgid "Initialize, update or inspect submodules" +msgstr "Inizializza, aggiorna o esamina sottomoduli" #: command-list.h:176 -msgid "Read, modify and delete symbolic refs" -msgstr "" +msgid "Bidirectional operation between a Subversion repository and Git" +msgstr "Operatività bidirezionale tra un repository Subversion e Git" #: command-list.h:177 +msgid "Switch branches" +msgstr "Passa da un branch a un altro" + +#: command-list.h:178 +msgid "Read, modify and delete symbolic refs" +msgstr "Legge, modifica ed elimina riferimenti simbolici" + +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "Crea, elenca, elimina o verifica un oggetto tag firmato con GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" -msgstr "" +msgstr "Crea un file temporaneo con i contenuti di un blob" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" -msgstr "" +msgstr "Decomprime gli oggetti da un archivio sottoposto a pack" -#: command-list.h:180 -#, fuzzy +#: command-list.h:182 msgid "Register file contents in the working tree to the index" -msgstr "Aggiunge il contenuto del file a index" +msgstr "Registra i contenuti dei file dell'albero di lavoro nell'indice" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" -msgstr "" +msgstr "Aggiorna in modo sicuro il nome oggetto salvato in un riferimento" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" -msgstr "" +msgstr "Aggiorna il file informazioni aggiuntive per aiutare i server stupidi" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" -msgstr "" +msgstr "Reinvia l'archivio a git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" -msgstr "" +msgstr "Reinvia gli oggetti sottoposti a pack a git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" -msgstr "" +msgstr "Visualizza una variabile logica di Git" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" -msgstr "" +msgstr "Verifica la firma GPG dei commit" -#: command-list.h:187 -#, fuzzy +#: command-list.h:189 msgid "Validate packed Git archive files" -msgstr "non è stato possibile creare il file del repository '%s'" +msgstr "Convalida i file archivio sottoposti a pack di Git" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" -msgstr "" +msgstr "Verifica la firma GPG dei tag" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" -msgstr "" +msgstr "Interfaccia Web per Git (frontend Web ai repository Git)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "" +"Visualizza i registri insieme alle differenze introdotte da ciascun commit" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" -msgstr "" +msgstr "Gestisce alberi di lavoro multipli" -#: command-list.h:192 -#, fuzzy +#: command-list.h:194 msgid "Create a tree object from the current index" -msgstr "assicura che la patch sia applicabile all'attuale index" +msgstr "Crea un oggetto albero dall'indice corrente" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" -msgstr "" +msgstr "Definizione di attributi per percorso" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" -msgstr "" +msgstr "Interfaccia a riga di comando di Git e convenzioni" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" -msgstr "" +msgstr "Un tutorial Git di base per gli sviluppatori" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" -msgstr "" +msgstr "Git per utenti CVS" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" -msgstr "" +msgstr "Messa a punto dell'output di diff" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" -msgstr "" +msgstr "Un insieme di comandi utile e minimale per l'uso quotidiano di Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" -msgstr "" +msgstr "Un glossario di Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" -msgstr "" +msgstr "Hook usati da Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" -msgstr "" +msgstr "Specifica i file intenzionalmente non tracciati da ignorare" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" -msgstr "" +msgstr "Definizione proprietà sottomodulo" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" -msgstr "" +msgstr "Spazi dei nomi Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" -msgstr "" +msgstr "Struttura repository Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" -msgstr "" +msgstr "Come specificare revisioni e intervalli in Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" -msgstr "" +msgstr "Un tutorial introduttivo per Git: seconda parte" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" -msgstr "" +msgstr "Un tutorial introduttivo per Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" -msgstr "" +msgstr "Una panoramica dei flussi di lavoro raccomandati in Git" #: git-bisect.sh:54 msgid "You need to start by \"git bisect start\"" @@ -21727,22 +22314,22 @@ msgstr "Vuoi che me ne occupi io [Y/n]? " #: git-bisect.sh:101 #, sh-format msgid "Bad rev input: $arg" -msgstr "" +msgstr "Revisione fornita non valida: $arg" #: git-bisect.sh:121 #, sh-format msgid "Bad rev input: $bisected_head" -msgstr "" +msgstr "Revisione fornita non valida: $bisected_head" #: git-bisect.sh:130 #, sh-format msgid "Bad rev input: $rev" -msgstr "" +msgstr "Revisione fornita non valida: $rev" #: git-bisect.sh:139 -#, fuzzy, sh-format +#, sh-format msgid "'git bisect $TERM_BAD' can take only one argument." -msgstr "'git bisect bad' può prendere un solo argomento." +msgstr "'git bisect $TERM_BAD' richiede un solo argomento." #: git-bisect.sh:209 msgid "No logfile given" @@ -21751,20 +22338,20 @@ msgstr "Nessun file di log specificato" #: git-bisect.sh:210 #, sh-format msgid "cannot read $file for replaying" -msgstr "" +msgstr "impossibile leggere $file per rieseguire i comandi contenuti" #: git-bisect.sh:232 msgid "?? what are you talking about?" -msgstr "?? di cosa si sta parlando?" +msgstr "?? di cosa stai parlando?" #: git-bisect.sh:241 msgid "bisect run failed: no command provided." -msgstr "" +msgstr "esecuzione di bisect non riuscita: nessun comando fornito." #: git-bisect.sh:246 #, sh-format msgid "running $command" -msgstr "sto eseguendo $command" +msgstr "esecuzione di $command in corso" #: git-bisect.sh:253 #, sh-format @@ -21772,12 +22359,12 @@ msgid "" "bisect run failed:\n" "exit code $res from '$command' is < 0 or >= 128" msgstr "" -"bisect run non riuscito:\n" +"esecuzione di bisect non riuscita:\n" "il codice di uscita $res da '$command' è < 0 oppure >= 128" #: git-bisect.sh:279 msgid "bisect run cannot continue any more" -msgstr "bisect run non può più proseguire" +msgstr "l'esecuzione di bisect non può più proseguire" #: git-bisect.sh:285 #, sh-format @@ -21785,80 +22372,80 @@ msgid "" "bisect run failed:\n" "'bisect_state $state' exited with error code $res" msgstr "" -"bisect run non riuscito:\n" -"bisect_state $state è uscito con il codice di errore $res" +"esecuzione di bisect non riuscita:\n" +"'bisect_state $state' è uscito con il codice di errore $res" #: git-bisect.sh:292 msgid "bisect run success" -msgstr "bisect run eseguito con successo" +msgstr "esecuzione di bisect completata con successo" #: git-bisect.sh:300 msgid "We are not bisecting." -msgstr "Non stiamo eseguendo un bisect." +msgstr "Non stiamo eseguendo una bisezione." #: git-merge-octopus.sh:46 -#, fuzzy msgid "" "Error: Your local changes to the following files would be overwritten by " "merge" -msgstr "Le tue modifiche locali verranno sovrascritte da revert." +msgstr "" +"Errore: le tue modifiche locali ai seguenti file sarebbero sovrascritte dal " +"merge" #: git-merge-octopus.sh:61 msgid "Automated merge did not work." -msgstr "" +msgstr "Il merge automatico non ha funzionato." #: git-merge-octopus.sh:62 -#, fuzzy msgid "Should not be doing an octopus." -msgstr "non è stato possibile redirigere l'output" +msgstr "Non dovrebbe essere eseguito un merge octopus." #: git-merge-octopus.sh:73 #, sh-format msgid "Unable to find common commit with $pretty_name" -msgstr "" +msgstr "Impossibile trovare un commit comune con $pretty_name" #: git-merge-octopus.sh:77 #, sh-format msgid "Already up to date with $pretty_name" -msgstr "" +msgstr "Già aggiornato rispetto a $pretty_name" #: git-merge-octopus.sh:89 #, sh-format msgid "Fast-forwarding to: $pretty_name" -msgstr "" +msgstr "Eseguo il fast forward a: $pretty_name" #: git-merge-octopus.sh:97 #, sh-format msgid "Trying simple merge with $pretty_name" -msgstr "" +msgstr "Provo un merge semplice con $pretty_name" #: git-merge-octopus.sh:102 msgid "Simple merge did not work, trying automatic merge." -msgstr "" +msgstr "Il merge semplice non ha funzionato, provo il merge automatico." #: git-legacy-stash.sh:220 msgid "Cannot remove temporary index (can't happen)" -msgstr "" +msgstr "Impossibile rimuovere l'indice temporaneo (non può succedere)" #: git-legacy-stash.sh:271 #, sh-format msgid "Cannot update $ref_stash with $w_commit" -msgstr "" +msgstr "Impossibile aggiornare $ref_stash con $w_commit" #: git-legacy-stash.sh:323 #, sh-format msgid "error: unknown option for 'stash push': $option" -msgstr "" +msgstr "errore: opzione sconosciuta per 'stash push': $option" #: git-legacy-stash.sh:355 #, sh-format msgid "Saved working directory and index state $stash_msg" -msgstr "" +msgstr "Directory di lavoro e stato indice salvati: $stash_msg" #: git-legacy-stash.sh:535 #, sh-format msgid "unknown option: $opt" -msgstr "" +msgstr "opzione sconosciuta: $opt" #: git-legacy-stash.sh:555 #, sh-format @@ -21866,7 +22453,7 @@ msgid "Too many revisions specified: $REV" msgstr "Troppe revisioni specificate: $REV" #: git-legacy-stash.sh:570 -#, fuzzy, sh-format +#, sh-format msgid "$reference is not a valid reference" msgstr "$reference non è un riferimento valido" @@ -21878,11 +22465,11 @@ msgstr "'$args' non è un commit di tipo stash" #: git-legacy-stash.sh:609 #, sh-format msgid "'$args' is not a stash reference" -msgstr "'$args' non è un referimento a uno stash" +msgstr "'$args' non è un riferimento a uno stash" #: git-legacy-stash.sh:617 msgid "unable to refresh index" -msgstr "impossibile aggiornare index" +msgstr "impossibile aggiornare l'indice" #: git-legacy-stash.sh:621 msgid "Cannot apply a stash in the middle of a merge" @@ -21894,16 +22481,16 @@ msgstr "Ci sono conflitti in index. Prova senza --index." #: git-legacy-stash.sh:631 msgid "Could not save index tree" -msgstr "" +msgstr "Non è stato possibile salvare l'albero indice" #: git-legacy-stash.sh:640 -#, fuzzy msgid "Could not restore untracked files from stash entry" -msgstr "non è stato possibile leggere il log dallo standard input" +msgstr "" +"Non è stato possibile ripristinare i file non tracciati dalla voce stash" #: git-legacy-stash.sh:665 msgid "Cannot unstage modified files" -msgstr "" +msgstr "Non è stato possibile rimuovere i file modificati dall'area di staging" #: git-legacy-stash.sh:703 #, sh-format @@ -21922,26 +22509,28 @@ msgstr "(Per ripristinarli digita \"git stash apply\")" #: git-submodule.sh:200 msgid "Relative path can only be used from the toplevel of the working tree" msgstr "" +"Il percorso relativo può essere usato solo dal primo livello dell'albero di " +"lavoro" #: git-submodule.sh:210 #, sh-format msgid "repo URL: '$repo' must be absolute or begin with ./|../" -msgstr "repo URL: '$repo' deve essere assoluto o iniziare con ./|../" +msgstr "URL repository:: '$repo' deve essere assoluto o iniziare con ./|../" #: git-submodule.sh:229 #, sh-format msgid "'$sm_path' already exists in the index" -msgstr "'$sm_path' esiste già in index" +msgstr "'$sm_path' esiste già nell'indice" #: git-submodule.sh:232 -#, fuzzy, sh-format +#, sh-format msgid "'$sm_path' already exists in the index and is not a submodule" -msgstr "'$sm_path' esiste già in index" +msgstr "'$sm_path' esiste già nell'indice e non è un sottomodulo" #: git-submodule.sh:239 -#, fuzzy, sh-format +#, sh-format msgid "'$sm_path' does not have a commit checked out" -msgstr "il percorso '%s' non ha la loro versione" +msgstr "'$sm_path' non ha un commit di cui è stato eseguito il checkout" #: git-submodule.sh:245 #, sh-format @@ -21950,24 +22539,26 @@ msgid "" "$sm_path\n" "Use -f if you really want to add it." msgstr "" -"Il seguente path è ignorato da uno dei tuoi file .gitignore:\n" +"Il seguente percorso è ignorato da uno dei tuoi file .gitignore:\n" "$sm_path\n" "Usa -f se vuoi davvero aggiungerlo." #: git-submodule.sh:268 #, sh-format msgid "Adding existing repo at '$sm_path' to the index" -msgstr "" +msgstr "Aggiunta del repository esistente in '$sm_path' all'indice" #: git-submodule.sh:270 #, sh-format msgid "'$sm_path' already exists and is not a valid git repo" -msgstr "'$sm_path' esiste già e non è un repository git valido" +msgstr "'$sm_path' esiste già e non è un repository Git valido" #: git-submodule.sh:278 #, sh-format msgid "A git directory for '$sm_name' is found locally with remote(s):" msgstr "" +"È stata trovata localmente una directory Git per '$sm_name' con i seguenti " +"remoti:" #: git-submodule.sh:280 #, sh-format @@ -21979,36 +22570,44 @@ msgid "" "or you are unsure what this means choose another name with the '--name' " "option." msgstr "" +"Se vuoi riusare questa directory Git locale anziché clonarla nuovamente da\n" +" $realrepo\n" +"usa l'opzione '--force'. Se la directory Git locale non è il repository\n" +"corretto, o se non sei sicuro di ciò che questo voglia dire, scegli un " +"altro\n" +"nome con l'opzione '--name'." #: git-submodule.sh:286 #, sh-format msgid "Reactivating local git directory for submodule '$sm_name'." -msgstr "" +msgstr "Riattivo la directory Git locale per il sottomodulo '$sm_name'." #: git-submodule.sh:298 #, sh-format msgid "Unable to checkout submodule '$sm_path'" -msgstr "" +msgstr "Impossibile eseguire il checkout del sottomodulo '$sm_path'" #: git-submodule.sh:303 #, sh-format msgid "Failed to add submodule '$sm_path'" -msgstr "" +msgstr "Aggiunta del sottomodulo '$sm_path' non riuscita" #: git-submodule.sh:312 #, sh-format msgid "Failed to register submodule '$sm_path'" -msgstr "" +msgstr "Registrazione del sottomodulo '$sm_path' non riuscita" #: git-submodule.sh:573 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" +"Impossibile trovare la revisione corrente nel percorso del sottomodulo " +"'$displaypath'" #: git-submodule.sh:583 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" -msgstr "" +msgstr "Impossibile eseguire il fetch nel percorso del sottomodulo '$sm_path'" #: git-submodule.sh:588 #, sh-format @@ -22016,6 +22615,8 @@ msgid "" "Unable to find current ${remote_name}/${branch} revision in submodule path " "'$sm_path'" msgstr "" +"Impossibile trovare la revisione corrente per ${remote_name}/${branch} nel " +"percorso del sottomodulo '$sm_path'" #: git-submodule.sh:606 #, sh-format @@ -22023,6 +22624,8 @@ msgid "" "Unable to fetch in submodule path '$displaypath'; trying to directly fetch " "$sha1:" msgstr "" +"Impossibile eseguire il fetch nel percorso del sottomodulo '$displaypath'; " +"provo a recuperare direttamente $sha1:" #: git-submodule.sh:612 #, sh-format @@ -22030,56 +22633,65 @@ msgid "" "Fetched in submodule path '$displaypath', but it did not contain $sha1. " "Direct fetching of that commit failed." msgstr "" +"Fetch eseguito nel percorso del sottomodulo '$displaypath', ma non conteneva " +"$sha1. Fetch diretto di tale commit non riuscito." #: git-submodule.sh:619 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "" +"Impossibile eseguire il checkout di '$sha1' nel percorso del sottomodulo " +"'$displaypath'" #: git-submodule.sh:620 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" -msgstr "" +msgstr "Percorso del sottomodulo '$displaypath': eseguito checkout di '$sha1'" #: git-submodule.sh:624 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "" +"Impossibile eseguire il rebase di '$sha1' nel percorso del sottomodulo " +"'$displaypath'" #: git-submodule.sh:625 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" -msgstr "" +msgstr "Percorso del sottomodulo '$displaypath': eseguito rebase su '$sha1'" #: git-submodule.sh:630 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "" +"Impossibile eseguire il merge di '$sha1' nel percorso del sottomodulo " +"'$displaypath'" #: git-submodule.sh:631 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" -msgstr "" +msgstr "Percorso del sottomodulo '$displaypath': eseguito merge in '$sha1'" #: git-submodule.sh:636 #, sh-format msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'" msgstr "" +"Esecuzione di '$command $sha1' non riuscita nel percorso del sottomodulo " +"'$displaypath'" #: git-submodule.sh:637 #, sh-format msgid "Submodule path '$displaypath': '$command $sha1'" -msgstr "" +msgstr "Percorso del sottomodulo '$displaypath': '$command $sha1'" #: git-submodule.sh:668 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" -msgstr "" +msgstr "Ricorsione nel percorso del sottomodulo '$displaypath' non riuscita" #: git-submodule.sh:830 -#, fuzzy msgid "The --cached option cannot be used with the --files option" -msgstr "--cached non può essere usata con --files" +msgstr "L'opzione --cached non può essere usata con l'opzione --files" #: git-submodule.sh:882 #, sh-format @@ -22087,31 +22699,41 @@ msgid "unexpected mode $mod_dst" msgstr "modalità $mod_dst inattesa" #: git-submodule.sh:902 -#, fuzzy, sh-format +#, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" -msgstr " Attenzione: $name non contiene commit $sha1_src" +msgstr " Attenzione: $display_name non contiene il commit $sha1_src" #: git-submodule.sh:905 -#, fuzzy, sh-format +#, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" -msgstr " Attenzione: $name non contiene commit $sha1_dst" +msgstr " Attenzione: $display_name non contiene il commit $sha1_dst" #: git-submodule.sh:908 -#, fuzzy, sh-format +#, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" -msgstr " Attenzione: $name non contiene commit $sha1_src e $sha1_dst" +msgstr "" +" Attenzione: $display_name non contiene i commit $sha1_src e $sha1_dst" #: git-parse-remote.sh:89 #, sh-format msgid "See git-${cmd}(1) for details." -msgstr "" +msgstr "Vedi git-${cmd}(1) per ulteriori dettagli." + +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Stash automatico applicato." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "Impossibile memorizzare $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" -msgstr "" +msgstr "Rebase in corso ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -22131,8 +22753,29 @@ msgid "" "\n" "These lines can be re-ordered; they are executed from top to bottom.\n" msgstr "" +"\n" +"Comandi:\n" +"p, pick <commit> = usa il commit\n" +"r, reword <commit> = usa il commit, ma modifica il messaggio di commit\n" +"e, edit <commit> = usa il commit, ma fermati per modificarlo\n" +"s, squash <commit> = usa il commit, ma fondilo con il commit precedente\n" +"f, fixup <commit> = come \"squash\", ma scarta il messaggio di log di " +"questo\n" +" commit\n" +"x, exec <comando> = esegui il comando (il resto della riga) usando la shell\n" +"d, drop <commit> = elimina il commit\n" +"l, label <etichetta> = etichetta l'HEAD corrente con un nome\n" +"t, reset <etichetta> = reimposta HEAD a un'etichetta\n" +"m, merge [-C <commit> | -c <commit>] <etichetta> [# <oneline>]\n" +". crea un commit di merge usando il messaggio del commit di merge\n" +". originale (o la oneline se non è stato specificato un commit di " +"merge\n" +". originale). Usa -c <commit> per riformulare il messaggio di commit.\n" +"\n" +"Queste righe possono essere riordinate; saranno eseguite dalla prima " +"all'ultima.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -22143,84 +22786,93 @@ msgid "" "\n" "\tgit rebase --continue" msgstr "" +"È possibile modificare il commit ora con\n" +"\n" +"\tgit commit --amend $gpg_sign_opt_quoted\n" +"\n" +"Quando sei soddisfatto delle modifiche, esegui\n" +"\n" +"\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" -msgstr "" +msgstr "$sha1: non è un commit che possa essere scelto" -#: git-rebase--preserve-merges.sh:279 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:334 +#, sh-format msgid "Invalid commit name: $sha1" -msgstr "commit non valido: %s" +msgstr "Nome commit non valido: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "" +"Impossibile scrivere lo SHA1 del commit che dovrebbe sostituire quello " +"corrente" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" -msgstr "" +msgstr "Fast forward a $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" -msgstr "" +msgstr "Impossibile eseguire il fast forward a $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" -msgstr "" +msgstr "Impossibile spostare l'HEAD a $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" -msgstr "" +msgstr "Mi rifiuto di eseguire lo squash di un merge: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" -msgstr "" +msgstr "Errore durante la riesecuzione del merge di $sha1" -#: git-rebase--preserve-merges.sh:403 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:458 +#, sh-format msgid "Could not pick $sha1" -msgstr "Non è stato possibile aprire %s" +msgstr "Impossibile scegliere $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" -msgstr "" +msgstr "Questo è il messaggio di commit numero ${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" -msgstr "" +msgstr "Il messaggio di commit numero ${n} sarà saltato:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Questa è una combinazione di $count commit." +msgstr[1] "Questa è una combinazione di $count commit." -#: git-rebase--preserve-merges.sh:437 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:492 +#, sh-format msgid "Cannot write $fixup_msg" -msgstr "Impossibile sovrascrivere" +msgstr "Impossibile scrivere $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." -msgstr "" +msgstr "Questa è una combinazione di 2 commit." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 +#, sh-format msgid "Could not apply $sha1... $rest" -msgstr "non è stato possibile applicare %s... %s" +msgstr "Impossibile applicare $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22229,40 +22881,48 @@ msgid "" "before\n" "you are able to reword the commit." msgstr "" +"Impossibile modificare il commit dopo la scelta di $sha1... $rest\n" +"Molto probabilmente questo è dovuto a un messaggio di commit vuoto, oppure\n" +"l'esecuzione dell'hook di pre-commit non è riuscita. In quest'ultimo caso,\n" +"potrebbe essere necessario risolvere il problema evidenziato per essere in\n" +"grado di modificare il messaggio di commit." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" -msgstr "" +msgstr "Fermato a $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" -msgstr "" +msgstr "Impossibile eseguire '$squash_style' senza un commit precedente" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" -msgstr "" +msgstr "Eseguo $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" -msgstr "" +msgstr "Esecuzione non riuscita: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" -msgstr "" +msgstr "e sono state apportate modifiche all'indice e/o all'albero di lavoro" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" "\tgit rebase --continue" msgstr "" +"Puoi correggere il problema e quindi eseguire\n" +"\n" +"\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22271,27 +22931,31 @@ msgid "" "\n" "\tgit rebase --continue" msgstr "" +"Esecuzione riuscita: $rest\n" +"ma sono state mantenute modifiche all'indice e/o all'albero di lavoro\n" +"Esegui il commit o lo stash delle modifiche, quindi esegui\n" +"\n" +"\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:719 +#, sh-format msgid "Unknown command: $command $sha1 $rest" -msgstr "Sottocomando sconosciuto: %s" +msgstr "Comando sconosciuto: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." -msgstr "" +msgstr "Correggi la situazione usando 'git rebase --edit-todo'." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." -msgstr "" +msgstr "Rebase e aggiornamento di $head_name eseguiti con successo." -#: git-rebase--preserve-merges.sh:757 -#, fuzzy +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" -msgstr "Non è stato possibile risolvere il commit HEAD\n" +msgstr "impossibile rimuovere CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22308,233 +22972,272 @@ msgid "" "\n" " git rebase --continue\n" msgstr "" +"Hai modifiche in staging nell'albero di lavoro.\n" +"Se queste modifiche devono essere sottoposte a squash nel commit\n" +"precedente, esegui:\n" +"\n" +" git commit --amend $gpg_sign_opt_quoted\n" +"\n" +"Se devono essere incluse in un nuovo commit, esegui:\n" +"\n" +" git commit $gpg_sign_opt_quoted\n" +"\n" +"In entrambi i casi, una volta finito, continua con:\n" +"\n" +" git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "" +"Errore durante la ricerca dell'identità dell'autore per la modifica del " +"commit" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." msgstr "" +"Ci sono modifiche di cui non è stato eseguito il commit nel tuo albero\n" +"di lavoro. Eseguine prima il commit e quindi esegui nuovamente 'git rebase\n" +"--continue'." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 -#, fuzzy +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." -msgstr "non è stato possibile leggere il messaggio di commit: %s" +msgstr "Impossibile eseguire il commit delle modifiche in staging." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 -#, fuzzy +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" -msgstr "Non è stato possibile eliminare %s" +msgstr "Impossibile eseguire l'editor" -#: git-rebase--preserve-merges.sh:845 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:900 +#, sh-format msgid "Could not checkout $switch_to" -msgstr "Non è stato possibile creare la directory '%s'" +msgstr "Impossibile eseguire il checkout di $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" -msgstr "" +msgstr "Nessun'HEAD?" -#: git-rebase--preserve-merges.sh:853 -#, fuzzy, sh-format +#: git-rebase--preserve-merges.sh:908 +#, sh-format msgid "Could not create temporary $state_dir" -msgstr "Non è stato possibile creare la directory '%s'" +msgstr "Impossibile creare la directory temporanea $state_dir" -#: git-rebase--preserve-merges.sh:856 -#, fuzzy +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" -msgstr "Non è stato possibile leggere index" +msgstr "Impossibile contrassegnare come interattivo" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Rebase di $shortrevisions su $shortonto ($todocount comando)" +msgstr[1] "Rebase di $shortrevisions su $shortonto ($todocount comandi)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 -#, fuzzy +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" -msgstr "Non è stato possibile analizzare il commit %s\n" +msgstr "Impossibile inizializzare i commit riscritti" #: git-sh-setup.sh:89 git-sh-setup.sh:94 #, sh-format msgid "usage: $dashless $USAGE" -msgstr "" +msgstr "uso: $dashless $USAGE" #: git-sh-setup.sh:191 #, sh-format msgid "Cannot chdir to $cdup, the toplevel of the working tree" msgstr "" +"Impossibile modificare la directory corrente in $cdup, il primo livello " +"dell'albero di lavoro" #: git-sh-setup.sh:200 git-sh-setup.sh:207 #, sh-format msgid "fatal: $program_name cannot be used without a working tree." msgstr "" +"errore fatale: $program_name non può essere usato senza un albero di lavoro." #: git-sh-setup.sh:221 -#, fuzzy msgid "Cannot rebase: You have unstaged changes." -msgstr "Impossibile eseguire il rebase su branch multipli" +msgstr "" +"Impossibile eseguire il rebase: ci sono delle modifiche non in staging." #: git-sh-setup.sh:224 msgid "Cannot rewrite branches: You have unstaged changes." msgstr "" +"Impossibile riscrivere i branch: ci sono delle modifiche non in staging." #: git-sh-setup.sh:227 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "" +"Impossibile eseguire un pull seguito da un rebase: ci sono delle modifiche " +"non in staging." #: git-sh-setup.sh:230 #, sh-format msgid "Cannot $action: You have unstaged changes." -msgstr "" +msgstr "Impossibile eseguire $action: ci sono delle modifiche non in staging." #: git-sh-setup.sh:243 msgid "Cannot rebase: Your index contains uncommitted changes." msgstr "" +"Impossibile eseguire un rebase:: l'indice contiene modifiche di cui non è " +"stato eseguito il commit." #: git-sh-setup.sh:246 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" +"Impossibile eseguire un pull seguito da un rebase: l'indice contiene " +"modifiche di cui non è stato eseguito il commit." #: git-sh-setup.sh:249 #, sh-format msgid "Cannot $action: Your index contains uncommitted changes." msgstr "" +"Impossibile eseguire $action: l'indice contiene modifiche di cui non è stato " +"eseguito il commit." #: git-sh-setup.sh:253 msgid "Additionally, your index contains uncommitted changes." msgstr "" +"Inoltre, l'indice contiene modifiche di cui non è stato eseguito il commit." #: git-sh-setup.sh:373 msgid "You need to run this command from the toplevel of the working tree." -msgstr "" +msgstr "Devi eseguire questo comando dal primo livello dell'albero di lavoro." #: git-sh-setup.sh:378 msgid "Unable to determine absolute path of git directory" -msgstr "" +msgstr "Impossibile determinare il percorso assoluto della directory Git" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" -msgstr "" +msgstr "%20s %32s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" -msgstr "" +msgstr "nell'area di staging" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" -msgstr "" +msgstr "rimosso dall'area di staging" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" -msgstr "" +msgstr "binario" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" -msgstr "" +msgstr "non fare nulla" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 -#, fuzzy +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" -msgstr "Nessuna modifica" +msgstr "non modificato" -#: git-add--interactive.perl:609 -#, fuzzy, perl-format +#: git-add--interactive.perl:623 +#, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" -msgstr[0] "aggiunto da loro:" -msgstr[1] "aggiunto da loro:" +msgstr[0] "aggiunto %d percorso\n" +msgstr[1] "aggiunti %d percorsi\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aggiornato %d percorso\n" +msgstr[1] "aggiornati %d percorsi\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ripristinato %d percorso\n" +msgstr[1] "ripristinati %d percorsi\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "eseguito touch su %d percorso\n" +msgstr[1] "eseguito touch su %d percorsi\n" -#: git-add--interactive.perl:627 -#, fuzzy +#: git-add--interactive.perl:641 msgid "Update" -msgstr "aggiornato" +msgstr "Aggiorna" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" -msgstr "" +msgstr "Esegui il revert" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" -msgstr "" +msgstr "nota: %s ora non è tracciato.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" -msgstr "" +msgstr "Aggiungi file non tracciati" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" -msgstr "" +msgstr "Nessun file non tracciato.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." msgstr "" +"Se la patch viene applicata senza problemi, l'hunk modificato sarà \n" +"contrassegnato immediatamente per l'aggiunta all'area di staging." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." msgstr "" +"Se la patch viene applicata senza problemi, l'hunk modificato sarà \n" +"contrassegnato immediatamente per lo stash." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." msgstr "" +"Se la patch viene applicata senza problemi, l'hunk modificato sarà \n" +"contrassegnato immediatamente per la rimozione dall'area di staging." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." msgstr "" +"Se la patch viene applicata senza problemi, l'hunk modificato sarà \n" +"contrassegnato immediatamente per l'applicazione." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." msgstr "" +"Se la patch viene applicata senza problemi, l'hunk modificato sarà \n" +"contrassegnato immediatamente per la rimozione." -#: git-add--interactive.perl:1085 -#, fuzzy, perl-format +#: git-add--interactive.perl:1109 +#, perl-format msgid "failed to open hunk edit file for writing: %s" -msgstr "copia del file in '%s' non riuscita" +msgstr "apertura del file di modifica hunk in scrittura non riuscita: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "" +"Modalità manuale modifica hunt - vedi la fine del file per una guida " +"veloce.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22542,19 +23245,26 @@ msgid "" "To remove '%s' lines, delete them.\n" "Lines starting with %s will be removed.\n" msgstr "" +"---\n" +"Per rimuovere '%s' righe, rendile righe ' ' (contesto).\n" +"Per rimuovere '%s' righe, eliminale.\n" +"Le righe che iniziano con %s saranno rimosse.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" "aborted and the hunk is left unchanged.\n" msgstr "" +"Se non può essere applicata senza problemi, ti sarà data la possibilità \n" +"di modificarla di nuovo. Se tutte le righe dell'hunk saranno state\n" +"rimosse, la modifica sarà interrotta e l'hunk non sarà modificato.\n" -#: git-add--interactive.perl:1114 -#, fuzzy, perl-format +#: git-add--interactive.perl:1138 +#, perl-format msgid "failed to open hunk edit file for reading: %s" -msgstr "impossibile aprire o leggere %s" +msgstr "apertura del file di modifica hunk in lettura non riuscita: %s" #. TRANSLATORS: do not translate [y/n] #. The program will only accept that input @@ -22562,12 +23272,14 @@ msgstr "impossibile aprire o leggere %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" +"L'hunk modificato non può essere applicato senza problemi. Modificarlo di " +"nuovo (se rispondi \"no\", sarà eliminato!) [y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22575,8 +23287,16 @@ msgid "" "a - stage this hunk and all later hunks in the file\n" "d - do not stage this hunk or any of the later hunks in the file" msgstr "" +"y - aggiungi quest'hunk all'area di staging\n" +"n - non aggiungere quest'hunk all'area di staging\n" +"q - esci; non aggiungere né quest'hunk né quelli rimanenti all'area di " +"staging\n" +"a - aggiungi quest'hunk e tutti quelli successivi nel file all'area di " +"staging\n" +"d - non aggiungere né quest'hunk né quelli successivi nel file all'area di " +"staging" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22584,8 +23304,13 @@ msgid "" "a - stash this hunk and all later hunks in the file\n" "d - do not stash this hunk or any of the later hunks in the file" msgstr "" +"y - esegui lo stash di quest'hunk\n" +"n - non eseguire lo stash di quest'hunk\n" +"q - esci; non eseguire lo stash di quest'hunk né di quelli rimanenti\n" +"a - esegui lo stash di quest'hunk e di tutti quelli successivi nel file\n" +"d - non eseguire lo stash né di quest'hunk né di quelli successivi nel file" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22593,8 +23318,16 @@ msgid "" "a - unstage this hunk and all later hunks in the file\n" "d - do not unstage this hunk or any of the later hunks in the file" msgstr "" +"y - rimuovi quest'hunk dall'area di staging\n" +"n - non rimuovere quest'hunk dall'area di staging\n" +"q - esci; non rimuovere né quest'hunk né quelli rimanenti dall'area di " +"staging\n" +"a - rimuovi quest'hunk e tutti quelli successivi nel file dall'area di " +"staging\n" +"d - non rimuovere né quest'hunk né quelli successivi nel file dall'area di " +"staging" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22602,8 +23335,13 @@ msgid "" "a - apply this hunk and all later hunks in the file\n" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" +"y - applica quest'hunk all'indice\n" +"n - non applicare quest'hunk all'indice\n" +"q - esci; non applicare né quest'hunk né quelli rimanenti\n" +"a - applica quest'hunk e tutti quelli successivi nel file\n" +"d - non applicare né quest'hunk né quelli successivi nel file" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22611,8 +23349,13 @@ msgid "" "a - discard this hunk and all later hunks in the file\n" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" +"y - rimuovi quest'hunk dall'albero di lavoro\n" +"n - non rimuovere quest'hunk dall'albero di lavoro\n" +"q - esci; non rimuovere né quest'hunk né quelli rimanenti\n" +"a - rimuovi quest'hunk e tutti quelli successivi nel file\n" +"d - non rimuovere né quest'hunk né quelli successivi nel file" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22620,8 +23363,13 @@ msgid "" "a - discard this hunk and all later hunks in the file\n" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" +"y - rimuovi quest'hunk dall'indice e dall'albero di lavoro\n" +"n - non rimuovere quest'hunk dall'indice e dall'albero di lavoro\n" +"q - esci; non rimuovere né quest'hunk né quelli rimanenti\n" +"a - rimuovi quest'hunk e tutti quelli successivi nel file\n" +"d - non rimuovere né quest'hunk né quelli successivi nel file" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22629,8 +23377,27 @@ msgid "" "a - apply this hunk and all later hunks in the file\n" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" +"y - applica quest'hunk all'indice e all'albero di lavoro\n" +"n - non applicare quest'hunk all'indice e all'albero di lavoro\n" +"q - esci; non applicare né quest'hunk né quelli rimanenti\n" +"a - applica quest'hunk e tutti quelli successivi nel file\n" +"d - non applicare né quest'hunk né quelli successivi nel file" + +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - applica quest'hunk all'albero di lavoro\n" +"n - non applicare quest'hunk all'albero di lavoro\n" +"q - esci; non applicare né quest'hunk né quelli rimanenti\n" +"a - applica quest'hunk e tutti quelli successivi nel file\n" +"d - non applicare né quest'hunk né quelli successivi nel file" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22642,216 +23409,246 @@ msgid "" "e - manually edit the current hunk\n" "? - print help\n" msgstr "" - -#: git-add--interactive.perl:1304 +"g - seleziona un hunk a cui andare\n" +"/ - cerca un hunk corrispondente all'espressione regolare data\n" +"j - non decidere in merito a quest'hunk, vai al successivo hunk per cui non " +"è stata presa una decisione\n" +"J - non decidere in merito a quest'hunk, vai all'hunk successivo\n" +"k - non decidere in merito a quest'hunk, vai al precedente hunk per cui non " +"è stata presa una decisione\n" +"K - non decidere in merito a quest'hunk, vai all'hunk precedente\n" +"s - suddividi l'hunk corrente in hunk più piccoli\n" +"e - modifica manualmente l'hunk corrente\n" +"? - stampa una guida\n" + +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" -msgstr "" +msgstr "Gli hunk selezionati non si applicano senza problemi all'indice!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " -msgstr "" +msgstr "Vuoi comunque applicarli all'albero di lavoro? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" -msgstr "" +msgstr "Non è stato applicato nulla.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" -msgstr "" +msgstr "ignoro ciò che non è stato sottoposto a merge: %s\n" -#: git-add--interactive.perl:1328 -#, fuzzy +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" -msgstr " 0 file modificati\n" +msgstr "Sono stati modificati solo file binari.\n" -#: git-add--interactive.perl:1330 -#, fuzzy +#: git-add--interactive.perl:1366 msgid "No changes.\n" -msgstr "Nessuna modifica" +msgstr "Nessuna modifica.\n" -#: git-add--interactive.perl:1338 -#, fuzzy +#: git-add--interactive.perl:1374 msgid "Patch update" -msgstr "[tag aggiornata]" +msgstr "Aggiornamento patch" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Modifica modo stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Eliminazione stage [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Eseguire lo stage di quest'hunk [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Modifica modo stash [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Eliminazione stash [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Eseguire lo stash di quest'hunk [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Rimozione modifica modo dall'area di staging [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Rimozione eliminazione dall'area di staging [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Rimuovere quest'hunk dall'area di staging [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Applicare la modifica modo all'indice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Applicare l'eliminazione all'indice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Applicare quest'hunk all'indice [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Scartare le modifiche modo dall'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Scartare l'eliminazione dall'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " -msgstr "" +msgstr "Scartare quest'hunk dall'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Scartare la modifica modo dall'indice e dall'albero di lavoro [y,n,q,a,d" +"%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Scartare l'eliminazione dall'indice e dall'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Scartare quest'hunk dall'indice e dall'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Applicare la modifica modo all'indice e all'albero di lavoro [y,n,q,a,d" +"%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Applicare l'eliminazione all'indice e all'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "" +"Applicare quest'hunk all'indice e all'albero di lavoro [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicare la modifica modo all'albero di lavoro [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicare l'eliminazione all'albero di lavoro [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicare quest'hunk all'albero di lavoro [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" -msgstr "" +msgstr "Nessun altro hunk a cui andare\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " -msgstr "" +msgstr "a quale hunk desideri andare (premi <Invio> per vederne altri)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " -msgstr "" +msgstr "a quale hunk desideri andare? " -#: git-add--interactive.perl:1540 -#, fuzzy, perl-format +#: git-add--interactive.perl:1586 +#, perl-format msgid "Invalid number: '%s'\n" -msgstr "%s non valido: '%s'" +msgstr "Numero non valido: '%s'\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mi dispiace, è disponibile solo %d hunk.\n" +msgstr[1] "Mi dispiace, sono disponibili solo %d hunk.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" -msgstr "" +msgstr "Nessun altro hunk in cui ricercare\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " -msgstr "" +msgstr "cercare un'espressione regolare? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" -msgstr "" +msgstr "Espressione regolare di ricerca %s malformata: %s\n" -#: git-add--interactive.perl:1598 -#, fuzzy +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" -msgstr "applica le modifiche corrispondenti al path specificato" +msgstr "Nessun hunk corrisponde al pattern fornito\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" -msgstr "" +msgstr "Nessun hunk precedente\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" -msgstr "" +msgstr "Nessun hunk successivo\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" -msgstr "" +msgstr "Mi dispiace, non posso suddividere quest'hunk\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Suddiviso in %d hunk.\n" +msgstr[1] "Suddiviso in %d hunk.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" -msgstr "" +msgstr "Mi dispiace, non posso modificare quest'hunk\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" -msgstr "" +msgstr "Rivedi diff" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -22861,93 +23658,106 @@ msgid "" "add untracked - add contents of untracked files to the staged set of " "changes\n" msgstr "" - -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +"status - visualizza i percorsi con modifiche\n" +"update - aggiunge lo stato dell'albero di lavoro all'insieme delle\n" +" modifiche nell'area di staging\n" +"revert - ripristina l'insieme delle modifiche nell'area di staging\n" +" alla versione HEAD\n" +"patch - seleziona e aggiorna gli hunk in modo selettivo\n" +"diff - visualizza le differenze fra HEAD e l'indice\n" +"add untracked - aggiunge i contenuti dei file non tracciati all'insieme di\n" +" modifiche nell'area di staging\n" + +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" -msgstr "" +msgstr "-- mancante" -#: git-add--interactive.perl:1763 -#, fuzzy, perl-format +#: git-add--interactive.perl:1819 +#, perl-format msgid "unknown --patch mode: %s" -msgstr "sconosciuto: %s" +msgstr "modalità --patch sconosciuta: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" -msgstr "" +msgstr "argomento %s non valido, atteso --" #: git-send-email.perl:138 msgid "local zone differs from GMT by a non-minute interval\n" msgstr "" +"il fuso orario locale differisce da GMT di un intervallo non multiplo di un " +"minuto\n" #: git-send-email.perl:145 git-send-email.perl:151 msgid "local time offset greater than or equal to 24 hours\n" -msgstr "" +msgstr "l'offset del fuso orario locale è maggiore o uguale a 24 ore\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" -msgstr "" +msgstr "l'editor non è terminato regolarmente, interrompo tutte le operazioni" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" +"'%s' contiene una versione intermedia dell'e-mail che stavi componendo.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" -msgstr "" +msgstr "'%s.final' contiene l'e-mail composta.\n" -#: git-send-email.perl:326 -#, fuzzy +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" -msgstr "--patch non è compatibile con tutte le altre opzioni" +msgstr "--dump-aliases non è compatibile con altre opzioni\n" -#: git-send-email.perl:395 git-send-email.perl:656 -#, fuzzy +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" -msgstr "--cached al di fuori di un repository" +msgstr "Impossibile eseguire git format-patch al di fuori di un repository\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" msgstr "" +"`batch-size` e `relogin` devono essere specificati insieme (sulla riga di " +"comando o tramite un'opzione di configurazione)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" -msgstr "" +msgstr "Campo --suppress-cc sconosciuto: '%s'\n" -#: git-send-email.perl:501 -#, fuzzy, perl-format +#: git-send-email.perl:528 +#, perl-format msgid "Unknown --confirm setting: '%s'\n" -msgstr "Commit %s sconosciuto" +msgstr "Impostazione --confirm sconosciuta: '%s'\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" -msgstr "" +msgstr "attenzione: non sono supportati alias sendmail con virgolette: %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" -msgstr "" +msgstr "attenzione: `:include:` non supportato: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" -msgstr "" +msgstr "attenzione: redirezioni `/file` o `|pipe` non supportate: %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" -msgstr "" +msgstr "attenzione: riga sendmail non riconosciuta: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -22956,38 +23766,49 @@ msgid "" " * Saying \"./%s\" if you mean a file; or\n" " * Giving --format-patch option if you mean a range.\n" msgstr "" +"Il file '%s' esiste ma tale stringa potrebbe corrispondere\n" +"anche all'intervallo di commit per cui generare delle patch.\n" +"Specifica qual è il caso corretto...\n" +"\n" +" * ...usando \"./%s\" se intendi riferirti al file, o...\n" +" * ...fornendo l'opzione --format-patch se ti riferisci\n" +" a un intervallo.\n" -#: git-send-email.perl:643 -#, fuzzy, perl-format +#: git-send-email.perl:670 +#, perl-format msgid "Failed to opendir %s: %s" -msgstr "apertura di '%s' non riuscita" +msgstr "opendir di %s non riuscita: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" "warning: no patches were sent\n" msgstr "" +"errore fatale: %s: %s\n" +"attenzione: non è stata inviata alcuna patch\n" -#: git-send-email.perl:678 -#, fuzzy +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" "\n" -msgstr "Nome del branch non specificato" +msgstr "" +"\n" +"Nessun file patch specificato!\n" +"\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" -msgstr "" +msgstr "Riga oggetto assente in %s?" -#: git-send-email.perl:701 -#, fuzzy, perl-format +#: git-send-email.perl:728 +#, perl-format msgid "Failed to open for writing %s: %s" -msgstr "Non è stato possibile aprire '%s' per la scrittura" +msgstr "Apertura di %s in scrittura non riuscita: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -22995,38 +23816,45 @@ msgid "" "\n" "Clear the body content if you don't wish to send a summary.\n" msgstr "" +"Le righe che iniziano con \"GIT:\" saranno rimosse.\n" +"Valuta di includere un diffstat globale o un sommario per\n" +"la patch che stai scrivendo.\n" +"\n" +"Rimuovi il corpo se non vuoi inviare un sommario.\n" -#: git-send-email.perl:736 -#, fuzzy, perl-format +#: git-send-email.perl:763 +#, perl-format msgid "Failed to open %s: %s" -msgstr "apertura di '%s' non riuscita" +msgstr "Apertura di %s non riuscita: %s" -#: git-send-email.perl:753 -#, fuzzy, perl-format +#: git-send-email.perl:780 +#, perl-format msgid "Failed to open %s.final: %s" -msgstr "apertura di '%s' non riuscita" +msgstr "Apertura di %s.final non riuscita: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" -msgstr "" +msgstr "E-mail riassuntiva vuota, la ometto\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " -msgstr "" +msgstr "Usare <%s> [y/N]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" msgstr "" +"I seguenti file sono codificati a 8 bit ma non dichiarano un Content-" +"Transfer-Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " -msgstr "" +msgstr "Che codifica a 8 bit devo dichiarare [UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -23034,38 +23862,47 @@ msgid "" "has the template subject '*** SUBJECT HERE ***'. Pass --force if you really " "want to send.\n" msgstr "" +"Mi rifiuto di eseguire l'invio perché la patch\n" +"\t%s\n" +"ha come oggetto nel modello '*** SUBJECT HERE ***'. Fornisci l'opzione --" +"force se vuoi veramente procedere con l'invio.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "" +"A chi dovranno essere inviate le e-mail (se devono essere inviate a " +"qualcuno)?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" -msgstr "" +msgstr "errore fatale: l'alias '%s' si espande in se stesso\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" +"Message-ID da usare nell'intestazione In-Reply-To per la prima e-mail (se " +"dev'essere usato)? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" -msgstr "" +msgstr "errore: impossibile estrarre un indirizzo valido da %s\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "" +"Cosa devo fare con quest'indirizzo? (Esci [q]|scarta [d]|modifica [e]): " -#: git-send-email.perl:1335 -#, fuzzy, perl-format +#: git-send-email.perl:1362 +#, perl-format msgid "CA path \"%s\" does not exist" -msgstr "il repository '%s' non esiste" +msgstr "Il percorso CA \"%s\" non esiste" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23078,136 +23915,247 @@ msgid "" " run 'git config --global sendemail.confirm auto'.\n" "\n" msgstr "" +" L'elenco Cc di cui sopra è stato espanso aggiungendo\n" +" indirizzi aggiuntivi trovati nel messaggio di commit della\n" +" patch. Per impostazione predefinita send-email richiede\n" +" come procedere prima dell'invio ogniqualvolta si verifichi\n" +" tale evenienza. Questo comportamento è controllato\n" +" dall'impostazione di configurazione sendemail.confirm.\n" +"\n" +" Per ulteriori informazioni, esegui 'git send-email --help'.\n" +" Per mantenere il comportamento corrente, ma non\n" +" visualizzare più questo messaggio, esegui 'git config\n" +" --global sendemail.confirm auto'.\n" +"\n" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "" +"Inviare quest'e-mail? (Sì [y]|[n]o|modifica [e]|esci [q]|invia tutte [a]): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" -msgstr "" +msgstr "È richiesta una risposta alla richiesta di invio e-mail" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." -msgstr "" +msgstr "Il server SMTP richiesto non è definito in modo adeguato." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" -msgstr "" +msgstr "Il server non supporta STARTTLS! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" -msgstr "" +msgstr "STARTTLS non riuscito! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" +"Impossibile inizializzare SMTP in modo adeguato. Controlla la configurazione " +"e usa --smtp-debug." -#: git-send-email.perl:1547 -#, fuzzy, perl-format +#: git-send-email.perl:1574 +#, perl-format msgid "Failed to send %s\n" -msgstr "stat di %s non riuscito\n" +msgstr "Invio di %s non riuscito\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" -msgstr "" +msgstr "Test invio %s riuscito\n" -#: git-send-email.perl:1550 -#, fuzzy, perl-format +#: git-send-email.perl:1577 +#, perl-format msgid "Sent %s\n" -msgstr "Rimozione di %s\n" +msgstr "%s inviato\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" -msgstr "" +msgstr "Esecuzione di prova riuscita. Il registro è il seguente:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" -msgstr "" +msgstr "Operazione riuscita. Il registro è il seguente:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " -msgstr "" +msgstr "Risultato: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" -msgstr "" +msgstr "Risultato: OK\n" -#: git-send-email.perl:1585 -#, fuzzy, perl-format +#: git-send-email.perl:1612 +#, perl-format msgid "can't open file %s" -msgstr "impossibile aprire il file pack '%s'" +msgstr "impossibile aprire il file %s" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" -msgstr "" +msgstr "(mbox) Aggiungo cc: %s dalla riga '%s'\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" -msgstr "" +msgstr "(mbox) Aggiungo to: %s dalla riga '%s'\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" -msgstr "" +msgstr "(non mbox) Aggiungo cc: %s dalla riga '%s'\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" -msgstr "" +msgstr "(corpo) Aggiungo cc: %s dalla riga '%s'\n" -#: git-send-email.perl:1837 -#, fuzzy, perl-format +#: git-send-email.perl:1864 +#, perl-format msgid "(%s) Could not execute '%s'" -msgstr "Non è stato possibile impostare '%s'" +msgstr "(%s) Impossibile eseguire '%s'" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" -msgstr "" +msgstr "(%s) Aggiungo %s: %s da: '%s'\n" -#: git-send-email.perl:1848 -#, fuzzy, perl-format +#: git-send-email.perl:1875 +#, perl-format msgid "(%s) failed to close pipe to '%s'" -msgstr "copia del file in '%s' non riuscita" +msgstr "(%s) chiusura della pipe a '%s' non riuscita" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" -msgstr "" +msgstr "impossibile inviare il messaggio con codifica a 7 bit" -#: git-send-email.perl:1886 -#, fuzzy +#: git-send-email.perl:1913 msgid "invalid transfer encoding" -msgstr "riferimento non valido: %s" +msgstr "codifica di trasferimento non valida" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 -#, fuzzy, perl-format +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 +#, perl-format msgid "unable to open %s: %s\n" -msgstr "impossibile spostare %s in %s" +msgstr "impossibile aprire %s: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" -msgstr "" +msgstr "%s: la patch contiene una riga più lunga di 998 caratteri" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" -msgstr "" +msgstr "Salto %s con il suffisso di backup '%s'.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " -msgstr "Inviare %s? [y|N]:" +msgstr "Inviare %s? [y|N]: " + +#~ msgid "" +#~ "Fetch normally indicates which branches had a forced update, but that " +#~ "check has been disabled." +#~ msgstr "" +#~ "Il fetch normalmente indica quali branch siano stati sottoposti ad " +#~ "aggiornamento forzato, ma tale controllo è stato disabilitato." + +#~ msgid "" +#~ "or run 'git config fetch.showForcedUpdates false' to avoid this check.\n" +#~ msgstr "" +#~ "o eseguire 'git config fetch.showForcedUpdates false' per omettere " +#~ "questo\n" +#~ "controllo.\n" + +#~ msgid "" +#~ "log.mailmap is not set; its implicit value will change in an\n" +#~ "upcoming release. To squelch this message and preserve current\n" +#~ "behaviour, set the log.mailmap configuration value to false.\n" +#~ "\n" +#~ "To squelch this message and adopt the new behaviour now, set the\n" +#~ "log.mailmap configuration value to true.\n" +#~ "\n" +#~ "See 'git help config' and search for 'log.mailmap' for further " +#~ "information." +#~ msgstr "" +#~ "log.mailmap non è impostato; il suo valore implicito sarà modificato\n" +#~ "in una prossima versione. Per eliminare questo messaggio e mantenere\n" +#~ "il comportamento attuale, imposta il valore di configurazione\n" +#~ "log.mailmap a false.\n" +#~ "\n" +#~ "Per eliminare questo messaggio e adottare il nuovo comportamento ora,\n" +#~ "imposta il valore di configurazione log.mailmap a true.\n" +#~ "\n" +#~ "Vedi 'git help config' e cerca 'log.mailmap' per ulteriori informazioni." + +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "Il server supporta multi_ack_detailes" + +#~ msgid "Server supports no-done" +#~ msgstr "Il server supporta no-done" + +#~ msgid "Server supports multi_ack" +#~ msgstr "Il server supporta multi_ack" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "Il server supporta side-band-64k" + +#~ msgid "Server supports side-band" +#~ msgstr "Il server supporta side-band" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "Il server supporta allow-tip-sha1-in-want" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "Il server supporta allow-reachable-sha1-in-want" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "Il server supporta ofs-delta" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD scollegato su %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD scollegato da %s)" + +#~ msgid "Checking out files" +#~ msgstr "Checkout dei file in corso" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "" +#~ "impossibile eseguire l'attività in modalità interattiva con lo standard " +#~ "input non collegato a un terminale." + +#~ msgid "failed to open '%s'" +#~ msgstr "apertura di '%s' non riuscita" + +#~ msgid "failed to stat %s\n" +#~ msgstr "stat di %s non riuscito\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Se vuoi ignorare questo commit, usa:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Quindi il comando \"git cherry-pick --continue\" farà riprendere\n" +#~ "il cherry picking per i commit rimanenti.\n" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "verbo non riconosciuto: %s" #~ msgid "hash version %X does not match version %X" #~ msgstr "la versione dell'hash %X non corrisponde alla versione %X" @@ -23297,14 +24245,6 @@ msgstr "Inviare %s? [y|N]:" #~ msgid "No such remote: %s" #~ msgstr "Remote non esistente: %s" -#, fuzzy -#~ msgid "Applied autostash." -#~ msgstr "Patch %s applicata correttamente." - -#, fuzzy -#~ msgid "Cannot store $stash_sha1" -#~ msgstr "Impossibile inizializzare stash" - #~ msgid " %d file changed" #~ msgid_plural " %d files changed" #~ msgstr[0] " %d file modificato" @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2018 +# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2019 # insolor, 2014 # insolor, 2014 +# Чук Таблицоменделеев <aurum444an@gmail.com>, 2019 msgid "" msgstr "" "Project-Id-Version: Git Russian Localization Project\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2018-08-21 08:28+0800\n" -"PO-Revision-Date: 2018-08-28 15:57+0000\n" +"POT-Creation-Date: 2019-06-04 08:24+0800\n" +"PO-Revision-Date: 2019-06-21 17:28+0000\n" "Last-Translator: Dimitriy Ryazantcev <DJm00n@mail.ru>\n" "Language-Team: Russian (http://www.transifex.com/djm00n/git-po-ru/language/ru/)\n" "MIME-Version: 1.0\n" @@ -20,59 +21,59 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: advice.c:97 +#: advice.c:103 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sподÑказка: %.*s%s\n" -#: advice.c:150 +#: advice.c:156 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "Ðевозможно выполнить копирование коммита в текущую ветку, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:152 +#: advice.c:158 msgid "Committing is not possible because you have unmerged files." msgstr "Ðевозможно закоммитить, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:154 +#: advice.c:160 msgid "Merging is not possible because you have unmerged files." msgstr "Ðевозможно выполнить ÑлиÑние, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:156 +#: advice.c:162 msgid "Pulling is not possible because you have unmerged files." msgstr "Ðевозможно выполнить получение, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:158 +#: advice.c:164 msgid "Reverting is not possible because you have unmerged files." msgstr "Ðевозможно обратить изменениÑ, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:160 +#: advice.c:166 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "Ðевозможно выполнить %s, так как у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½Ðµ Ñлитые файлы." -#: advice.c:168 +#: advice.c:174 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." msgstr "ИÑправьте их в рабочем каталоге, затем запуÑтите «git add/rm <файл>»,\nчтобы пометить иÑправление и Ñделайте коммит." -#: advice.c:176 +#: advice.c:182 msgid "Exiting because of an unresolved conflict." msgstr "Выход из-за неразрешенного конфликта." -#: advice.c:181 builtin/merge.c:1286 +#: advice.c:187 builtin/merge.c:1320 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Ð’Ñ‹ не завершили ÑлиÑние (приÑутÑтвует файл MERGE_HEAD)." -#: advice.c:183 +#: advice.c:189 msgid "Please, commit your changes before merging." msgstr "Перед ÑлиÑнием, выполните коммит ваших изменений." -#: advice.c:184 +#: advice.c:190 msgid "Exiting because of unfinished merge." msgstr "Выход из-за незавершенного ÑлиÑниÑ." -#: advice.c:190 +#: advice.c:196 #, c-format msgid "" "Note: checking out '%s'.\n" @@ -88,92 +89,100 @@ msgid "" "\n" msgstr "Примечание: переход на «%s».\n\nÐ’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð² ÑоÑтоÑнии «отделённого HEAD». Ð’Ñ‹ можете оÑмотретьÑÑ, Ñделать\nÑкÑпериментальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ закоммитить их, также вы можете отменить\nÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ñ‹Ñ… коммитов в Ñтом ÑоÑтоÑнии не Ð·Ð°Ñ‚Ñ€Ð°Ð³Ð¸Ð²Ð°Ñ Ð»ÑŽÐ±Ñ‹Ðµ ветки и\nне Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ Ð½Ð° них.\n\nЕÑли вы хотите Ñоздать новую ветку и Ñохранить Ñвои коммиты, то вы\nможете Ñделать Ñто (ÑÐµÐ¹Ñ‡Ð°Ñ Ð¸Ð»Ð¸ позже) вызвав команду checkout Ñнова,\nно Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -b. Ðапример:\n\n git checkout -b <имÑ-новой-ветки>\n\n" -#: apply.c:59 +#: alias.c:50 +msgid "cmdline ends with \\" +msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ñтрока заканчиваетÑÑ Ñимволом \\" + +#: alias.c:51 +msgid "unclosed quote" +msgstr "пропущена Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ°" + +#: apply.c:63 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð² «%s»" -#: apply.c:75 +#: apply.c:79 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ Ð´Ð»Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð² «%s»" -#: apply.c:125 +#: apply.c:129 msgid "--reject and --3way cannot be used together." msgstr "--reject и --3way Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно." -#: apply.c:127 +#: apply.c:131 msgid "--cached and --3way cannot be used together." msgstr "--cached и --3way Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно." -#: apply.c:130 +#: apply.c:134 msgid "--3way outside a repository" msgstr "--3way вне репозиториÑ" -#: apply.c:141 +#: apply.c:145 msgid "--index outside a repository" msgstr "--index вне репозиториÑ" -#: apply.c:144 +#: apply.c:148 msgid "--cached outside a repository" msgstr "--cached вне репозиториÑ" -#: apply.c:826 +#: apply.c:829 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Ðе удалоÑÑŒ подготовить регулÑрное выражение Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸ времени %s" -#: apply.c:835 +#: apply.c:838 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec возвратил %d Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°: %s" -#: apply.c:909 +#: apply.c:912 #, c-format msgid "unable to find filename in patch at line %d" msgstr "не удалоÑÑŒ найти Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в Ñтроке патча %d" -#: apply.c:947 +#: apply.c:950 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "git apply: плохой git-diff — ожидалоÑÑŒ /dev/null, получено %s на Ñтроке %d" -#: apply.c:953 +#: apply.c:956 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "git apply: плохой git-diff — не ÑоглаÑующееÑÑ Ð½Ð¾Ð²Ð¾Ðµ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° на Ñтроке %d" -#: apply.c:954 +#: apply.c:957 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "git apply: плохой git-diff — не ÑоглаÑующееÑÑ Ñтарое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° на Ñтроке %d" -#: apply.c:959 +#: apply.c:962 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: плохой git-diff — ожидалоÑÑŒ /dev/null на Ñтроке %d" -#: apply.c:988 +#: apply.c:991 #, c-format msgid "invalid mode on line %d: %s" msgstr "недопуÑтимый режим %d: %s" -#: apply.c:1306 +#: apply.c:1310 #, c-format msgid "inconsistent header lines %d and %d" msgstr "противоречивые Ñтроки заголовка %d и %d" -#: apply.c:1478 +#: apply.c:1482 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount: не Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ Ñтрока: %.*s" -#: apply.c:1547 +#: apply.c:1551 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "фрагмент изменений без заголовка на Ñтроке %d: %.*s" -#: apply.c:1567 +#: apply.c:1571 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname" @@ -186,70 +195,70 @@ msgstr[1] "заголовок git diff не нашел информацию об msgstr[2] "заголовок git diff не нашел информацию об имени файла при удалении %d ведущих компонент пути к файлу (Ñтрока %d)" msgstr[3] "заголовок git diff не нашел информацию об имени файла при удалении %d ведущих компонент пути к файлу (Ñтрока %d)" -#: apply.c:1580 +#: apply.c:1584 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "заголовок git diff не Ñодержит информации об имени файла (Ñтрока %d)" -#: apply.c:1768 +#: apply.c:1772 msgid "new file depends on old contents" msgstr "новый файл завиÑит от Ñтарого Ñодержимого" -#: apply.c:1770 +#: apply.c:1774 msgid "deleted file still has contents" msgstr "удаленный файл вÑе еще имеет Ñодержимое" -#: apply.c:1804 +#: apply.c:1808 #, c-format msgid "corrupt patch at line %d" msgstr "патч поврежден на Ñтроке %d" -#: apply.c:1841 +#: apply.c:1845 #, c-format msgid "new file %s depends on old contents" msgstr "новый файл %s завиÑит от Ñтарого Ñодержимого" -#: apply.c:1843 +#: apply.c:1847 #, c-format msgid "deleted file %s still has contents" msgstr "удаленный файл %s вÑе еще имеет Ñодержимое" -#: apply.c:1846 +#: apply.c:1850 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** предупреждение: файл %s ÑтановитÑÑ Ð¿ÑƒÑтым, но не удалÑетÑÑ" -#: apply.c:1993 +#: apply.c:1997 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "поврежденный двоичный патч на Ñтроке %d: %.*s" -#: apply.c:2030 +#: apply.c:2034 #, c-format msgid "unrecognized binary patch at line %d" msgstr "неопознанный двоичный патч на Ñтроке %d" -#: apply.c:2190 +#: apply.c:2196 #, c-format msgid "patch with only garbage at line %d" msgstr "патч Ñ Ð¼ÑƒÑором на Ñтроке %d" -#: apply.c:2276 +#: apply.c:2282 #, c-format msgid "unable to read symlink %s" msgstr "не удалоÑÑŒ прочитать Ñимвольную ÑÑылку %s" -#: apply.c:2280 +#: apply.c:2286 #, c-format msgid "unable to open or read %s" msgstr "не удалоÑÑŒ открыть или прочеÑть %s" -#: apply.c:2939 +#: apply.c:2945 #, c-format msgid "invalid start of line: '%c'" msgstr "неправильное начало Ñтроки: «%c»" -#: apply.c:3060 +#: apply.c:3066 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." @@ -258,257 +267,258 @@ msgstr[1] "ЧаÑть #%d уÑпешно применена на %d (Ñо Ñдв msgstr[2] "ЧаÑть #%d уÑпешно применена на %d (Ñо Ñдвигом в %d Ñтрок)." msgstr[3] "ЧаÑть #%d уÑпешно применена на %d (Ñо Ñдвигом в %d Ñтрок)." -#: apply.c:3072 +#: apply.c:3078 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "КонтекÑÑ‚ Ñужен до (%ld/%ld), чтобы применить фрагмент на %d Ñтроке" -#: apply.c:3078 +#: apply.c:3084 #, c-format msgid "" "while searching for:\n" "%.*s" msgstr "при поиÑке:\n%.*s" -#: apply.c:3100 +#: apply.c:3106 #, c-format msgid "missing binary patch data for '%s'" msgstr "пропущены данные двоичного патча Ð´Ð»Ñ Â«%s»" -#: apply.c:3108 +#: apply.c:3114 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "невозможно выполнить reverse-apply Ð´Ð»Ñ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ патча, без Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ блока «%s»" -#: apply.c:3154 +#: apply.c:3161 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "невозможно применить двоичный патч «%s» без Ñтроки Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ полной верÑией индекÑа" -#: apply.c:3164 +#: apply.c:3171 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "патч применÑÑ‚ÑÑ Ðº файлу «%s» (%s), но его текущее Ñодержимое не ÑоотвеÑтвует ожидаемому." -#: apply.c:3172 +#: apply.c:3179 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "патч применÑетÑÑ Ðº пуÑтому файлу «%s», но файл не пуÑтой" -#: apply.c:3190 +#: apply.c:3197 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "не удалоÑÑŒ прочитать необходимую поÑылку %s Ð´Ð»Ñ Â«%s»" -#: apply.c:3203 +#: apply.c:3210 #, c-format msgid "binary patch does not apply to '%s'" msgstr "не удалоÑÑŒ применить двоичный патч к «%s»" -#: apply.c:3209 +#: apply.c:3216 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "поÑле Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ патча Ð´Ð»Ñ Â«%s» был получен неправильный результат (ожидалоÑÑŒ %s, получено %s)" -#: apply.c:3230 +#: apply.c:3237 #, c-format msgid "patch failed: %s:%ld" msgstr "ошибка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹: %s:%ld" -#: apply.c:3352 +#: apply.c:3360 #, c-format msgid "cannot checkout %s" msgstr "не удалоÑÑŒ переключить ÑоÑтоÑние на %s" -#: apply.c:3404 apply.c:3415 apply.c:3461 setup.c:278 +#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 #, c-format msgid "failed to read %s" msgstr "не удалоÑÑŒ прочитать %s" -#: apply.c:3412 +#: apply.c:3420 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "чтение из «%s» за ÑимволичеÑкой ÑÑылкой" -#: apply.c:3441 apply.c:3681 +#: apply.c:3449 apply.c:3692 #, c-format msgid "path %s has been renamed/deleted" msgstr "путь %s был переименован/удален" -#: apply.c:3524 apply.c:3696 +#: apply.c:3535 apply.c:3707 #, c-format msgid "%s: does not exist in index" msgstr "%s: нет в индекÑе" -#: apply.c:3533 apply.c:3704 +#: apply.c:3544 apply.c:3715 #, c-format msgid "%s: does not match index" msgstr "%s: не Ñовпадает Ñ Ð¸Ð½Ð´ÐµÐºÑом" -#: apply.c:3568 +#: apply.c:3579 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "в репозитории отÑутÑтвует необходимый двоичный объект Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ°Ñ‚Ð° к трёхходовому ÑлиÑнию." -#: apply.c:3571 +#: apply.c:3582 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Откат к трёхходовому ÑлиÑнию…\n" -#: apply.c:3587 apply.c:3591 +#: apply.c:3598 apply.c:3602 #, c-format msgid "cannot read the current contents of '%s'" msgstr "не удалоÑÑŒ прочитать текущее Ñодержимое «%s»" -#: apply.c:3603 +#: apply.c:3614 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Ðе удалоÑÑŒ откатитьÑÑ Ðº трёхходовому ÑлиÑнию…\n" -#: apply.c:3617 +#: apply.c:3628 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Патч применен к «%s» Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð°Ð¼Ð¸.\n" -#: apply.c:3622 +#: apply.c:3633 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Патч применен к «%s» без ошибок.\n" -#: apply.c:3648 +#: apply.c:3659 msgid "removal patch leaves file contents" msgstr "патч ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ удалил Ñодержимое файла" -#: apply.c:3721 +#: apply.c:3732 #, c-format msgid "%s: wrong type" msgstr "%s: неправильный тип" -#: apply.c:3723 +#: apply.c:3734 #, c-format msgid "%s has type %o, expected %o" msgstr "%s имеет тип %o, а ожидалÑÑ %o" -#: apply.c:3874 apply.c:3876 +#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "неправильный путь «%s»" -#: apply.c:3932 +#: apply.c:3943 #, c-format msgid "%s: already exists in index" msgstr "%s: уже ÑодержитÑÑ Ð² индекÑе" -#: apply.c:3935 +#: apply.c:3946 #, c-format msgid "%s: already exists in working directory" msgstr "%s: уже ÑодержитÑÑ Ð² рабочем каталоге" -#: apply.c:3955 +#: apply.c:3966 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "новый режим доÑтупа (%o) Ð´Ð»Ñ %s не ÑоответÑтвует Ñтарому режиму доÑтупа (%o)" -#: apply.c:3960 +#: apply.c:3971 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "новый режим доÑтупа (%o) Ð´Ð»Ñ %s не ÑоответÑтвует Ñтарому режиму доÑтупа (%o) Ð´Ð»Ñ %s" -#: apply.c:3980 +#: apply.c:3991 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "затронутый файл «%s» находитÑÑ Ð·Ð° ÑимволичеÑкой ÑÑылкой" -#: apply.c:3984 +#: apply.c:3995 #, c-format msgid "%s: patch does not apply" msgstr "%s: не удалоÑÑŒ применить патч" -#: apply.c:3999 +#: apply.c:4010 #, c-format msgid "Checking patch %s..." msgstr "Проверка патча %s…" -#: apply.c:4091 +#: apply.c:4102 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± sha1 отÑутÑтвует или беÑполезна Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ %s" -#: apply.c:4098 +#: apply.c:4109 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "изменен режим Ð´Ð»Ñ %s, который не находитÑÑ Ð² текущем HEAD" -#: apply.c:4101 +#: apply.c:4112 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± sha1 отÑутÑтвует или беÑполезна (%s)." -#: apply.c:4106 builtin/checkout.c:237 builtin/reset.c:140 +#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "Ñбой make_cache_entry Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ «%s»" -#: apply.c:4110 +#: apply.c:4121 #, c-format msgid "could not add %s to temporary index" msgstr "не удалоÑÑŒ добавить %s во временный индекÑ" -#: apply.c:4120 +#: apply.c:4131 #, c-format msgid "could not write temporary index to %s" msgstr "не удалоÑÑŒ запиÑать временный Ð¸Ð½Ð´ÐºÐµÐºÑ Ð² %s" -#: apply.c:4258 +#: apply.c:4269 #, c-format msgid "unable to remove %s from index" msgstr "не удалоÑÑŒ удалить %s из индекÑа" -#: apply.c:4292 +#: apply.c:4303 #, c-format msgid "corrupt patch for submodule %s" msgstr "поврежденный патч Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ %s" -#: apply.c:4298 +#: apply.c:4309 #, c-format msgid "unable to stat newly created file '%s'" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Ñозданного файла «%s»" -#: apply.c:4306 +#: apply.c:4317 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "не удалоÑÑŒ Ñоздать вÑпомогательный файл Ð´Ð»Ñ Ñозданного файла %s" -#: apply.c:4312 apply.c:4457 +#: apply.c:4323 apply.c:4468 #, c-format msgid "unable to add cache entry for %s" msgstr "не удалоÑÑŒ Ñоздать запиÑÑŒ в кÑше Ð´Ð»Ñ %s" -#: apply.c:4355 +#: apply.c:4366 #, c-format msgid "failed to write to '%s'" msgstr "не удалоÑÑŒ запиÑать в «%s»" -#: apply.c:4359 +#: apply.c:4370 #, c-format msgid "closing file '%s'" msgstr "закрытие файла «%s»" -#: apply.c:4429 +#: apply.c:4440 #, c-format msgid "unable to write file '%s' mode %o" msgstr "не удалоÑÑŒ запиÑать файл «%s» Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ð¼ доÑтупа %o" -#: apply.c:4527 +#: apply.c:4538 #, c-format msgid "Applied patch %s cleanly." msgstr "Патч %s применен без ошибок." -#: apply.c:4535 +#: apply.c:4546 msgid "internal error" msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°" -#: apply.c:4538 +#: apply.c:4549 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." @@ -517,45 +527,45 @@ msgstr[1] "Применение патча %%s Ñ %d отказами…" msgstr[2] "Применение патча %%s Ñ %d отказами…" msgstr[3] "Применение патча %%s Ñ %d отказами…" -#: apply.c:4549 +#: apply.c:4560 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "уÑечение имени .rej файла до %.*s.rej" -#: apply.c:4557 builtin/fetch.c:780 builtin/fetch.c:1048 +#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 #, c-format msgid "cannot open %s" msgstr "не удалоÑÑŒ открыть %s" -#: apply.c:4571 +#: apply.c:4582 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Блок â„–%d применен без ошибок." -#: apply.c:4575 +#: apply.c:4586 #, c-format msgid "Rejected hunk #%d." msgstr "Блок â„–%d отклонен." -#: apply.c:4685 +#: apply.c:4696 #, c-format msgid "Skipped patch '%s'." msgstr "Патч «%s» пропущен." -#: apply.c:4693 +#: apply.c:4704 msgid "unrecognized input" msgstr "не раÑпознанный ввод" -#: apply.c:4712 +#: apply.c:4724 msgid "unable to read index file" msgstr "не удалоÑÑŒ прочитать файл индекÑа" -#: apply.c:4849 +#: apply.c:4879 #, c-format msgid "can't open patch '%s': %s" msgstr "не удалоÑÑŒ открыть патч «%s»: %s" -#: apply.c:4876 +#: apply.c:4906 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" @@ -564,7 +574,7 @@ msgstr[1] "пропущено %d ошибки в пробельных Ñимво msgstr[2] "пропущено %d ошибок в пробельных Ñимволах" msgstr[3] "пропущено %d ошибок в пробельных Ñимволах" -#: apply.c:4882 apply.c:4897 +#: apply.c:4912 apply.c:4927 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -573,7 +583,7 @@ msgstr[1] "%d Ñтроки добавили ошибки в пробельных msgstr[2] "%d Ñтрок добавили ошибки в пробельных Ñимволах." msgstr[3] "%d Ñтрок добавили ошибки в пробельных Ñимволах." -#: apply.c:4890 +#: apply.c:4920 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." @@ -582,140 +592,140 @@ msgstr[1] "%d Ñтроки добавлено поÑле иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ msgstr[2] "%d Ñтрок добавлено поÑле иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº в пробелах." msgstr[3] "%d Ñтроки добавлено поÑле иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº в пробелах." -#: apply.c:4906 builtin/add.c:539 builtin/mv.c:300 builtin/rm.c:389 +#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Ðе удалоÑÑŒ запиÑать новый файл индекÑа" -#: apply.c:4933 apply.c:4936 builtin/am.c:2254 builtin/am.c:2257 -#: builtin/clone.c:121 builtin/fetch.c:115 builtin/merge.c:260 -#: builtin/pull.c:198 builtin/submodule--helper.c:406 -#: builtin/submodule--helper.c:1355 builtin/submodule--helper.c:1358 -#: builtin/submodule--helper.c:1729 builtin/submodule--helper.c:1732 -#: builtin/submodule--helper.c:1952 git-add--interactive.perl:197 +#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 +#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 +#: builtin/pull.c:207 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 +#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 +#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 msgid "path" msgstr "путь" -#: apply.c:4934 +#: apply.c:4964 msgid "don't apply changes matching the given path" msgstr "не применÑть Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ указанному пути" -#: apply.c:4937 +#: apply.c:4967 msgid "apply changes matching the given path" msgstr "применÑть Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ указанному пути" -#: apply.c:4939 builtin/am.c:2263 +#: apply.c:4969 builtin/am.c:2219 msgid "num" msgstr "количеÑтво" -#: apply.c:4940 +#: apply.c:4970 msgid "remove <num> leading slashes from traditional diff paths" msgstr "удалить <количеÑтво> ведущих коÑых черт из традиционных путей ÑпиÑка изменений" -#: apply.c:4943 +#: apply.c:4973 msgid "ignore additions made by the patch" msgstr "игнорировать добавлениÑ, Ñделанные Ñтим патчем" -#: apply.c:4945 +#: apply.c:4975 msgid "instead of applying the patch, output diffstat for the input" msgstr "вмеÑто Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡Ð° вывеÑти ÑтатиÑтику добавлений и удалений Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°" -#: apply.c:4949 +#: apply.c:4979 msgid "show number of added and deleted lines in decimal notation" msgstr "показать количеÑтво добавленных и удаленных Ñтрок в деÑÑтичном предÑтавлении" -#: apply.c:4951 +#: apply.c:4981 msgid "instead of applying the patch, output a summary for the input" -msgstr "вмеÑто Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡Ð° вывеÑти ÑтатиÑтику изменений Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°" +msgstr "вмеÑто Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡Ð° вывеÑти Ñводку изменений Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°" -#: apply.c:4953 +#: apply.c:4983 msgid "instead of applying the patch, see if the patch is applicable" msgstr "вмеÑто Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡Ð° проверить подходит ли он" -#: apply.c:4955 +#: apply.c:4985 msgid "make sure the patch is applicable to the current index" msgstr "проверить, что патч применÑетÑÑ Ðº текущему индекÑу" -#: apply.c:4957 +#: apply.c:4987 msgid "mark new files with `git add --intent-to-add`" -msgstr "" +msgstr "помечать новые файлы Ñ Â«git add --intent-to-add»" -#: apply.c:4959 +#: apply.c:4989 msgid "apply a patch without touching the working tree" msgstr "применить патч, не изменÑÑ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ð¹ каталог" -#: apply.c:4961 +#: apply.c:4991 msgid "accept a patch that touches outside the working area" msgstr "принÑть патч, который затрагивает файлы за рабочим каталогом" -#: apply.c:4964 +#: apply.c:4994 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "а также применить патч (иÑпользуйте Ñ --stat/--summary/--check)" -#: apply.c:4966 +#: apply.c:4996 msgid "attempt three-way merge if a patch does not apply" msgstr "попытатьÑÑ Ñделать трехходовое ÑлиÑние, еÑли патч не применÑетÑÑ" -#: apply.c:4968 +#: apply.c:4998 msgid "build a temporary index based on embedded index information" msgstr "поÑтроить временный индекÑ, оÑнованный на вÑтроенной информации об индекÑе" -#: apply.c:4971 builtin/checkout-index.c:168 builtin/ls-files.c:516 +#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "пути, отделённые ÐУЛЕВЫМ Ñимволом" -#: apply.c:4973 +#: apply.c:5003 msgid "ensure at least <n> lines of context match" msgstr "удоÑтоверитьÑÑ, что по крайней мере <n> Ñтрок контекÑта Ñовпадают" -#: apply.c:4974 builtin/am.c:2242 builtin/interpret-trailers.c:95 -#: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99 -#: builtin/pack-objects.c:3205 +#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 +#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 +#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 msgid "action" msgstr "дейÑтвие" -#: apply.c:4975 +#: apply.c:5005 msgid "detect new or modified lines that have whitespace errors" msgstr "определÑть новые или модифицированные Ñтроки, у которых еÑть ошибки в пробельных Ñимволах" -#: apply.c:4978 apply.c:4981 +#: apply.c:5008 apply.c:5011 msgid "ignore changes in whitespace when finding context" msgstr "игнорировать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² пробельных Ñимволах при поиÑке контекÑта" -#: apply.c:4984 +#: apply.c:5014 msgid "apply the patch in reverse" msgstr "применить патч Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸ÐµÐ¼ изменений" -#: apply.c:4986 +#: apply.c:5016 msgid "don't expect at least one line of context" msgstr "не ожидать как минимум одной Ñтроки контекÑта" -#: apply.c:4988 +#: apply.c:5018 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "оÑтавить отклоненные блоки изменений в ÑоответÑтвующих *.rej файлах" -#: apply.c:4990 +#: apply.c:5020 msgid "allow overlapping hunks" msgstr "разрешить перекрывающиеÑÑ Ð±Ð»Ð¾ÐºÐ¸ изменений" -#: apply.c:4991 builtin/add.c:290 builtin/check-ignore.c:21 -#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:671 -#: builtin/log.c:1914 builtin/mv.c:122 builtin/read-tree.c:124 +#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "быть многоÑловнее" -#: apply.c:4993 +#: apply.c:5023 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "разрешить некорректно определенные пропущенные пуÑтые Ñтроки в конце файла" -#: apply.c:4996 +#: apply.c:5026 msgid "do not trust the line counts in the hunk headers" msgstr "не доверÑть количеÑтву Ñтрок из заголовка блока изменений" -#: apply.c:4998 builtin/am.c:2251 +#: apply.c:5028 builtin/am.c:2207 msgid "root" msgstr "корень" -#: apply.c:4999 +#: apply.c:5029 msgid "prepend <root> to all filenames" msgstr "добавить <корень> Ñпереди ко вÑем именам файлов" @@ -737,200 +747,224 @@ msgstr "git archive --remote <репозиторий> [--exec <команда>] msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <репозиторий> [--exec <команда>] --list" -#: archive.c:363 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:298 +#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299 #, c-format msgid "pathspec '%s' did not match any files" msgstr "Ñпецификатор пути «%s» не ÑоответÑтвует ни одному файлу" -#: archive.c:446 +#: archive.c:396 +#, c-format +msgid "no such ref: %.*s" +msgstr "нет такой ÑÑылки: %.*s" + +#: archive.c:401 +#, c-format +msgid "not a valid object name: %s" +msgstr "недопуÑтимое Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°: %s" + +#: archive.c:414 +#, c-format +msgid "not a tree object: %s" +msgstr "недейÑтвительный объект дерева: %s" + +#: archive.c:424 +msgid "current working directory is untracked" +msgstr "текущий рабочий каталог не отÑлеживаетÑÑ" + +#: archive.c:455 msgid "fmt" msgstr "формат" -#: archive.c:446 +#: archive.c:455 msgid "archive format" msgstr "формат архива" -#: archive.c:447 builtin/log.c:1473 +#: archive.c:456 builtin/log.c:1557 msgid "prefix" msgstr "префикÑ" -#: archive.c:448 +#: archive.c:457 msgid "prepend prefix to each pathname in the archive" msgstr "добавлÑть Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿ÐµÑ€ÐµÐ´ каждым путем файла в архиве" -#: archive.c:449 builtin/blame.c:816 builtin/blame.c:817 builtin/config.c:126 -#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:873 -#: builtin/hash-object.c:104 builtin/ls-files.c:552 builtin/ls-files.c:555 -#: builtin/notes.c:407 builtin/notes.c:570 builtin/read-tree.c:119 -#: parse-options.h:165 +#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 +#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 +#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "файл" -#: archive.c:450 builtin/archive.c:89 +#: archive.c:459 builtin/archive.c:90 msgid "write the archive to this file" msgstr "запиÑÑŒ архива в Ñтот файл" -#: archive.c:452 +#: archive.c:461 msgid "read .gitattributes in working directory" msgstr "читать .gitattributes в рабочем каталоге" -#: archive.c:453 +#: archive.c:462 msgid "report archived files on stderr" msgstr "отчет об архивированных файлах в stderr" -#: archive.c:454 +#: archive.c:463 msgid "store only" msgstr "только хранение" -#: archive.c:455 +#: archive.c:464 msgid "compress faster" msgstr "Ñжимать быÑтрее" -#: archive.c:463 +#: archive.c:472 msgid "compress better" msgstr "Ñжимать лучше" -#: archive.c:466 +#: archive.c:475 msgid "list supported archive formats" msgstr "перечиÑлить поддерживаемые форматы архивов" -#: archive.c:468 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114 -#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1738 +#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 +#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 msgid "repo" msgstr "репозиторий" -#: archive.c:469 builtin/archive.c:91 +#: archive.c:478 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "получить архив из внешнего <репозиториÑ>" -#: archive.c:470 builtin/archive.c:92 builtin/difftool.c:714 -#: builtin/notes.c:491 +#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: builtin/notes.c:498 msgid "command" msgstr "команда" -#: archive.c:471 builtin/archive.c:93 +#: archive.c:480 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "путь к команде git-upload-archive на машине Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ репозиторием" -#: archive.c:478 +#: archive.c:487 msgid "Unexpected option --remote" msgstr "ÐÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ --remote" -#: archive.c:480 +#: archive.c:489 msgid "Option --exec can only be used together with --remote" msgstr "ÐžÐ¿Ñ†Ð¸Ñ --exec может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ вмеÑте Ñ --remote" -#: archive.c:482 +#: archive.c:491 msgid "Unexpected option --output" msgstr "ÐÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ --output" -#: archive.c:504 +#: archive.c:513 #, c-format msgid "Unknown archive format '%s'" msgstr "ÐеизвеÑтный формат архива «%s»" -#: archive.c:511 +#: archive.c:520 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Ðргумент не поддерживаетÑÑ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° «%s»: -%d" -#: archive-tar.c:125 archive-zip.c:344 +#: archive-tar.c:125 archive-zip.c:345 #, c-format msgid "cannot stream blob %s" msgstr "не удалоÑÑŒ Ñоздать поток двоичного объекта %s" -#: archive-tar.c:260 archive-zip.c:361 +#: archive-tar.c:260 archive-zip.c:363 #, c-format msgid "unsupported file mode: 0%o (SHA1: %s)" msgstr "неподдерживаемый режим доÑтупа к файлу: 0%o (SHA1: %s)" -#: archive-tar.c:287 archive-zip.c:352 +#: archive-tar.c:287 archive-zip.c:353 #, c-format msgid "cannot read %s" msgstr "не удалоÑÑŒ прочитать %s" -#: archive-tar.c:458 +#: archive-tar.c:459 #, c-format msgid "unable to start '%s' filter" msgstr "не удалоÑÑŒ запуÑтить фильтр «%s»" -#: archive-tar.c:461 +#: archive-tar.c:462 msgid "unable to redirect descriptor" msgstr "не удалоÑÑŒ перенаправить деÑкриптор" -#: archive-tar.c:468 +#: archive-tar.c:469 #, c-format msgid "'%s' filter reported error" msgstr "фильтр «%s» Ñообщил об ошибке" -#: archive-zip.c:313 +#: archive-zip.c:314 #, c-format msgid "path is not valid UTF-8: %s" msgstr "путь не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным UTF-8: %s" -#: archive-zip.c:317 +#: archive-zip.c:318 #, c-format msgid "path too long (%d chars, SHA1: %s): %s" msgstr "путь Ñлишком длинный (%d Ñимволов, SHA1: %s): %s" -#: archive-zip.c:470 builtin/pack-objects.c:216 builtin/pack-objects.c:219 +#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 #, c-format msgid "deflate error (%d)" msgstr "ошибка ÑÐ¶Ð°Ñ‚Ð¸Ñ (%d)" -#: archive-zip.c:605 +#: archive-zip.c:609 #, c-format msgid "timestamp too large for this system: %<PRIuMAX>" msgstr "отметка времени Ñлишком Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð´Ð»Ñ Ñтой ÑиÑтемы: %<PRIuMAX>" -#: attr.c:218 +#: attr.c:211 #, c-format msgid "%.*s is not a valid attribute name" msgstr "%.*s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым именем атрибута" -#: attr.c:415 +#: attr.c:368 +#, c-format +msgid "%s not allowed: %s:%d" +msgstr "%s не разрешено: %s:%d" + +#: attr.c:408 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." msgstr "Отрицающие шаблоны в атрибутах git игнорируютÑÑ.\nИÑпользуйте «\\!» Ð´Ð»Ñ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñимвола в значении «воÑклицательный знак»." -#: bisect.c:467 +#: bisect.c:468 #, c-format msgid "Badly quoted content in file '%s': %s" msgstr "Плохое Ñодержимое файла «%s»: %s" -#: bisect.c:675 +#: bisect.c:678 #, c-format msgid "We cannot bisect more!\n" msgstr "Ðевозможно продолжить бинарный поиÑк!\n" -#: bisect.c:729 +#: bisect.c:733 #, c-format msgid "Not a valid commit name %s" msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s" -#: bisect.c:753 +#: bisect.c:758 #, c-format msgid "" "The merge base %s is bad.\n" "This means the bug has been fixed between %s and [%s].\n" msgstr "База ÑлиÑÐ½Ð¸Ñ %s ÑвлÑетÑÑ Ð¿Ð»Ð¾Ñ…Ð¸Ð¼ коммитом.\nÐто значит, что ошибка была иÑправлена где-то между %s и [%s].\n" -#: bisect.c:758 +#: bisect.c:763 #, c-format msgid "" "The merge base %s is new.\n" "The property has changed between %s and [%s].\n" msgstr "База ÑлиÑÐ½Ð¸Ñ %s ÑвлÑетÑÑ Ð½Ð¾Ð²Ð¾Ð¹.\nСвойÑтво было изменено где-то между %s и [%s].\n" -#: bisect.c:763 +#: bisect.c:768 #, c-format msgid "" "The merge base %s is %s.\n" "This means the first '%s' commit is between %s and [%s].\n" msgstr "База ÑлиÑÐ½Ð¸Ñ %s ÑвлÑетÑÑ %s.\nÐто значит, что «%s» коммит находитÑÑ Ð³Ð´Ðµ-то между %s и [%s].\n" -#: bisect.c:771 +#: bisect.c:776 #, c-format msgid "" "Some %s revs are not ancestors of the %s rev.\n" @@ -938,7 +972,7 @@ msgid "" "Maybe you mistook %s and %s revs?\n" msgstr "ÐеÑколько %s коммитов не ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´ÐºÐ°Ð¼Ð¸ %s коммита.\nÐ’ Ñтом Ñлучае git bisect не может работать правильно.\nВозможно, вы перепутали редакции %s и %s меÑтами?\n" -#: bisect.c:784 +#: bisect.c:789 #, c-format msgid "" "the merge base between %s and [%s] must be skipped.\n" @@ -946,43 +980,43 @@ msgid "" "We continue anyway." msgstr "База ÑлиÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ %s и [%s] должно быть пропущена.\nПоÑтому мы не можем быть уверены, что первый %s коммит находитÑÑ Ð¼ÐµÐ¶Ð´Ñƒ %s и %s.\nÐо вÑе же продолжаем поиÑк." -#: bisect.c:817 +#: bisect.c:822 #, c-format msgid "Bisecting: a merge base must be tested\n" msgstr "Бинарный поиÑк: база ÑлиÑÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть проверена\n" -#: bisect.c:857 +#: bisect.c:865 #, c-format msgid "a %s revision is needed" msgstr "нужно указать %s редакцию" -#: bisect.c:876 builtin/notes.c:177 builtin/tag.c:237 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 #, c-format msgid "could not create file '%s'" msgstr "не удалоÑÑŒ Ñоздать файл «%s»" -#: bisect.c:927 builtin/merge.c:137 +#: bisect.c:928 builtin/merge.c:146 #, c-format msgid "could not read file '%s'" msgstr "не удалоÑÑŒ прочитать файл «%s»" -#: bisect.c:957 +#: bisect.c:958 msgid "reading bisect refs failed" msgstr "Ñбой при чтении ÑÑылок двоичного поиÑка" -#: bisect.c:976 +#: bisect.c:977 #, c-format msgid "%s was both %s and %s\n" msgstr "%s была одновременно и %s и %s\n" -#: bisect.c:984 +#: bisect.c:985 #, c-format msgid "" "No testable commit found.\n" "Maybe you started with bad path parameters?\n" msgstr "ТеÑтируемый коммит не найден.\nВозможно, вы начали поиÑк Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ неправильного параметра пути?\n" -#: bisect.c:1003 +#: bisect.c:1004 #, c-format msgid "(roughly %d step)" msgid_plural "(roughly %d steps)" @@ -993,7 +1027,7 @@ msgstr[3] "(примерно %d шагов)" #. TRANSLATORS: the last %s will be replaced with "(roughly %d #. steps)" translation. -#: bisect.c:1009 +#: bisect.c:1010 #, 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" @@ -1002,42 +1036,42 @@ msgstr[1] "Бинарный поиÑк: %d редакции оÑталоÑÑŒ Ð¿Ñ msgstr[2] "Бинарный поиÑк: %d редакций оÑталоÑÑŒ проверить поÑле Ñтой %s\n" msgstr[3] "Бинарный поиÑк: %d редакций оÑталоÑÑŒ проверить поÑле Ñтой %s\n" -#: blame.c:1786 +#: blame.c:1794 msgid "--contents and --reverse do not blend well." msgstr "--contents и --reverse не очень ÑочетаютÑÑ." -#: blame.c:1800 +#: blame.c:1808 msgid "cannot use --contents with final commit object name" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать --contents Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ финального имени объекта" -#: blame.c:1821 +#: blame.c:1829 msgid "--reverse and --first-parent together require specified latest commit" msgstr "при --reverse и --first-parent вмеÑте нужно указывать конкретный поÑледний коммит" -#: blame.c:1830 bundle.c:162 ref-filter.c:2154 sequencer.c:1874 -#: sequencer.c:3772 builtin/commit.c:994 builtin/log.c:372 builtin/log.c:926 -#: builtin/log.c:1381 builtin/log.c:1713 builtin/log.c:1963 -#: builtin/merge.c:404 builtin/pack-objects.c:3032 builtin/pack-objects.c:3047 +#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 +#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 +#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 +#: builtin/merge.c:415 builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "Ñбой инициализации прохода по редакциÑм" -#: blame.c:1848 +#: blame.c:1856 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "при указании --reverse и --first-parent вмеÑте, требуетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ указать диапазон по цепочке первого родителÑ" -#: blame.c:1859 +#: blame.c:1867 #, c-format msgid "no such path %s in %s" msgstr "нет такого пути %s в %s" -#: blame.c:1870 +#: blame.c:1878 #, c-format msgid "cannot read blob %s for path %s" msgstr "невозможно прочитать объект %s Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ %s" -#: branch.c:54 +#: branch.c:53 #, c-format msgid "" "\n" @@ -1046,86 +1080,86 @@ msgid "" "\"git branch --set-upstream-to=%s%s%s\"." msgstr "\nПоÑле иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ñ‹ ошибки,\nвы можете иÑправить информацию об отÑлеживаемой\nвнешней ветке, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды\n«git branch --set-upstream-to=%s%s%s»." -#: branch.c:68 +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "Ðе уÑтанавливаю ветку %s, так так она принадлежит вышеÑтоÑщему репозиторию." -#: branch.c:94 +#: branch.c:93 #, c-format msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing." msgstr "Ветка «%s» отÑлеживает внешнюю ветку «%s» из «%s» перемещением." -#: branch.c:95 +#: branch.c:94 #, c-format msgid "Branch '%s' set up to track remote branch '%s' from '%s'." msgstr "Ветка «%s» отÑлеживает внешнюю ветку «%s» из «%s»." -#: branch.c:99 +#: branch.c:98 #, c-format msgid "Branch '%s' set up to track local branch '%s' by rebasing." msgstr "Ветка «%s» отÑлеживает локальную ветку «%s» перемещением." -#: branch.c:100 +#: branch.c:99 #, c-format msgid "Branch '%s' set up to track local branch '%s'." msgstr "Ветка «%s» отÑлеживает локальную ветку «%s»." -#: branch.c:105 +#: branch.c:104 #, c-format msgid "Branch '%s' set up to track remote ref '%s' by rebasing." msgstr "Ветка «%s» отÑлеживает внешнюю ÑÑылку «%s» перемещением." -#: branch.c:106 +#: branch.c:105 #, c-format msgid "Branch '%s' set up to track remote ref '%s'." msgstr "Ветка «%s» отÑлеживает внешнюю ÑÑылку «%s»." -#: branch.c:110 +#: branch.c:109 #, c-format msgid "Branch '%s' set up to track local ref '%s' by rebasing." msgstr "Ветка «%s» отÑлеживает локальную ÑÑылку «%s» перемещением." -#: branch.c:111 +#: branch.c:110 #, c-format msgid "Branch '%s' set up to track local ref '%s'." msgstr "Ветка «%s» отÑлеживает локальную ÑÑылку «%s»." -#: branch.c:120 +#: branch.c:119 msgid "Unable to write upstream branch configuration" msgstr "Ðе удалоÑÑŒ запиÑать наÑтройки вышеÑтоÑщей ветки" -#: branch.c:157 +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "Ðе отÑлеживаетÑÑ: Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑÑылки %s" -#: branch.c:190 +#: branch.c:189 #, c-format msgid "'%s' is not a valid branch name." msgstr "«%s» не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным именем ветки." -#: branch.c:209 +#: branch.c:208 #, c-format msgid "A branch named '%s' already exists." msgstr "Ветка Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ «%s» уже ÑущеÑтвует." -#: branch.c:214 +#: branch.c:213 msgid "Cannot force update the current branch." msgstr "Ðе удалоÑÑŒ принудительно обновить текущую ветку." -#: branch.c:234 +#: branch.c:233 #, c-format msgid "" "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "Ðе удалоÑÑŒ наÑтроить информацию отÑлеживаниÑ; ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° «%s» не ÑвлÑетÑÑ Ð²ÐµÑ‚ÐºÐ¾Ð¹." -#: branch.c:236 +#: branch.c:235 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° вышеÑтоÑщего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Â«%s» не ÑущеÑтвует" -#: branch.c:238 +#: branch.c:237 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -1152,12 +1186,12 @@ msgstr "Ðеоднозначное Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°: «%s»." msgid "Not a valid branch point: '%s'." msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° ветки: «%s»." -#: branch.c:360 +#: branch.c:359 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "«%s» уже находитÑÑ Ð½Ð° «%s»" -#: branch.c:383 +#: branch.c:382 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD рабочего каталога %s не обновлён" @@ -1172,16 +1206,17 @@ msgstr "«%s» не похож на файл пакета верÑии 2" msgid "unrecognized header: %s%s (%d)" msgstr "неопознанный заголовок: %s%s (%d)" -#: bundle.c:90 sequencer.c:2092 sequencer.c:2578 builtin/commit.c:768 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 +#: builtin/commit.c:788 #, c-format msgid "could not open '%s'" msgstr "не удалоÑÑŒ открыть «%s»" -#: bundle.c:141 +#: bundle.c:143 msgid "Repository lacks these prerequisite commits:" msgstr "Ð’ репозитории отÑутÑтвуют необходимые коммиты:" -#: bundle.c:192 +#: bundle.c:194 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" @@ -1190,11 +1225,11 @@ msgstr[1] "Пакет Ñодержит Ñти %d ÑÑылки:" msgstr[2] "Пакет Ñодержит Ñти %d ÑÑылок:" msgstr[3] "Пакет Ñодержит Ñти %d ÑÑылок:" -#: bundle.c:199 +#: bundle.c:201 msgid "The bundle records a complete history." msgstr "Пакет Ñодержит полную иÑторию." -#: bundle.c:201 +#: bundle.c:203 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" @@ -1203,38 +1238,42 @@ msgstr[1] "Пакет требует Ñти %d ÑÑылки:" msgstr[2] "Пакет требует Ñти %d ÑÑылок:" msgstr[3] "Пакет требует Ñти %d ÑÑылок:" -#: bundle.c:260 +#: bundle.c:269 +msgid "unable to dup bundle descriptor" +msgstr "не удалоÑÑŒ дублировать деÑкриптор пакета" + +#: bundle.c:276 msgid "Could not spawn pack-objects" msgstr "Ðе удалоÑÑŒ Ñоздать объекты пакета" -#: bundle.c:271 +#: bundle.c:287 msgid "pack-objects died" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° pack-objects" -#: bundle.c:313 +#: bundle.c:329 msgid "rev-list died" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° rev-list" -#: bundle.c:362 +#: bundle.c:378 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "ÑÑылка «%s» иÑключена в ÑоответÑтвии Ñ Ð¾Ð¿Ñ†Ð¸Ñми rev-list" -#: bundle.c:453 builtin/log.c:187 builtin/log.c:1618 builtin/shortlog.c:304 +#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "неопознанный аргумент: %s" -#: bundle.c:461 +#: bundle.c:465 msgid "Refusing to create empty bundle." msgstr "Отклонение ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑƒÑтого пакета." -#: bundle.c:473 +#: bundle.c:475 #, c-format msgid "cannot create '%s'" msgstr "не удалоÑÑŒ Ñоздать «%s»" -#: bundle.c:501 +#: bundle.c:500 msgid "index-pack died" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° index-pack" @@ -1243,19 +1282,18 @@ msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° index-pack" msgid "invalid color value: %.*s" msgstr "недопуÑтимое значение цвета: %.*s" -#: commit.c:48 sequencer.c:2384 builtin/am.c:422 builtin/am.c:466 -#: builtin/am.c:1438 builtin/am.c:2072 builtin/replace.c:376 -#: builtin/replace.c:448 +#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "не удалоÑÑŒ разобрать %s" -#: commit.c:50 +#: commit.c:52 #, c-format msgid "%s %s is not a commit!" msgstr "%s %s не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼!" -#: commit.c:191 +#: commit.c:193 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1267,82 +1305,228 @@ msgid "" "\"git config advice.graftFileDeprecated false\"" msgstr "Поддержка <GIT_DIR>/info/grafts уÑтарела и будет удалена в Ñледующих верÑиÑÑ… Git.\n\nИÑпользуйте «git replace --convert-graft-file» Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð°Ñ†Ð¸Ð¸ Ñращений (grafts) на ÑÑылки замены.\n\nЧтобы Ñкрыть Ñто Ñообщение запуÑтите «git config advice.graftFileDeprecated false»" -#: commit.c:1629 +#: commit.c:1128 +#, c-format +msgid "Commit %s has an untrusted GPG signature, allegedly by %s." +msgstr "Коммит %s Ñодержит не доверенную GPG подпиÑÑŒ, предположительно от %s." + +#: commit.c:1131 +#, c-format +msgid "Commit %s has a bad GPG signature allegedly by %s." +msgstr "Коммит %s Ñодержит плохую GPG подпиÑÑŒ, предположительно от %s." + +#: commit.c:1134 +#, c-format +msgid "Commit %s does not have a GPG signature." +msgstr "Коммит %s не Ñодержит GPG подпиÑÑŒ." + +#: commit.c:1137 +#, c-format +msgid "Commit %s has a good GPG signature by %s\n" +msgstr "Коммит %s Ñодержит дейÑтвительную GPG подпиÑÑŒ, от %s.\n" + +#: commit.c:1391 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" "variable i18n.commitencoding to the encoding your project uses.\n" msgstr "Предупреждение: Ñообщение коммита не ÑоответÑтвует UTF-8.\nВозможно, вы захотите иÑправить его поÑле иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑообщениÑ\nили наÑтроить опцию i18n.commitencoding и указать кодировку\nÑообщений, которую иÑпользует ваш проект.\n" -#: commit-graph.c:83 -#, c-format -msgid "graph file %s is too small" -msgstr "" +#: commit-graph.c:105 +msgid "commit-graph file is too small" +msgstr "файл commit-graph Ñлишком маленький" -#: commit-graph.c:90 +#: commit-graph.c:170 #, c-format -msgid "graph signature %X does not match signature %X" -msgstr "" +msgid "commit-graph signature %X does not match signature %X" +msgstr "подпиÑÑŒ commit-graph файла %X не ÑоотвеÑтвует подпиÑи %X" -#: commit-graph.c:97 +#: commit-graph.c:177 #, c-format -msgid "graph version %X does not match version %X" -msgstr "" +msgid "commit-graph version %X does not match version %X" +msgstr "верÑÐ¸Ñ commit-graph файла %X не ÑоотвеÑтвует верÑии %X" -#: commit-graph.c:104 +#: commit-graph.c:184 #, c-format -msgid "hash version %X does not match version %X" -msgstr "" +msgid "commit-graph hash version %X does not match version %X" +msgstr "верÑÐ¸Ñ Ñ…ÐµÑˆ-Ñуммы commit-graph файла %X не ÑоответÑтвует верÑии %X" -#: commit-graph.c:128 +#: commit-graph.c:207 +msgid "commit-graph chunk lookup table entry missing; file may be incomplete" +msgstr "не найдена таблица раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтей в файле commit-graph; возможно файл повреждён" + +#: commit-graph.c:218 #, c-format -msgid "improper chunk offset %08x%08x" -msgstr "" +msgid "commit-graph improper chunk offset %08x%08x" +msgstr "некорректное Ñмещение чаÑти в commit-graph файле %08x%08x" -#: commit-graph.c:164 +#: commit-graph.c:255 #, c-format -msgid "chunk id %08x appears multiple times" -msgstr "" +msgid "commit-graph chunk id %08x appears multiple times" +msgstr "чаÑть файла commit-graph Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %08x поÑвлÑетÑÑ Ð½ÐµÑколько раз" -#: commit-graph.c:261 +#: commit-graph.c:390 #, c-format msgid "could not find commit %s" -msgstr "" +msgstr "не удалоÑÑŒ найти коммит %s" -#: commit-graph.c:565 builtin/pack-objects.c:2571 +#: commit-graph.c:732 builtin/pack-objects.c:2649 #, c-format msgid "unable to get type of object %s" -msgstr "" +msgstr "не удалоÑÑŒ получить тип объекта %s" + +#: commit-graph.c:765 +msgid "Loading known commits in commit graph" +msgstr "Загрузка извеÑтных коммитов на граф коммитов" -#: commit-graph.c:730 +#: commit-graph.c:781 +msgid "Expanding reachable commits in commit graph" +msgstr "РаÑширение доÑтижимых коммитов на граф коммитов" + +#: commit-graph.c:793 +msgid "Clearing commit marks in commit graph" +msgstr "ОчиÑтка пометок коммитов на графе коммитов" + +#: commit-graph.c:813 +msgid "Computing commit graph generation numbers" +msgstr "ВычиÑление номеров поколений на графе коммитов" + +#: commit-graph.c:930 +#, c-format +msgid "Finding commits for commit graph in %d pack" +msgid_plural "Finding commits for commit graph in %d packs" +msgstr[0] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов в %d пакете" +msgstr[1] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов в %d пакетах" +msgstr[2] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов в %d пакетах" +msgstr[3] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов в %d пакетах" + +#: commit-graph.c:943 #, c-format msgid "error adding pack %s" -msgstr "" +msgstr "ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s" -#: commit-graph.c:732 +#: commit-graph.c:945 #, c-format msgid "error opening index for %s" -msgstr "" +msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа Ð´Ð»Ñ %s" -#: commit-graph.c:773 +#: commit-graph.c:959 +#, c-format +msgid "Finding commits for commit graph from %d ref" +msgid_plural "Finding commits for commit graph from %d refs" +msgstr[0] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов по %d ÑÑылке" +msgstr[1] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов по %d ÑÑылкам" +msgstr[2] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов по %d ÑÑылкам" +msgstr[3] "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов по %d ÑÑылкам" + +#: commit-graph.c:991 +msgid "Finding commits for commit graph among packed objects" +msgstr "ПоиÑк коммитов Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов Ñреди упакованных объектов" + +#: commit-graph.c:1004 +msgid "Counting distinct commits in commit graph" +msgstr "ВычиÑление количеÑтва отдельных коммитов на графе коммитов" + +#: commit-graph.c:1017 #, c-format msgid "the commit graph format cannot write %d commits" msgstr "программе Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð° коммитов не удалоÑÑŒ запиÑать %d коммитов" -#: commit-graph.c:800 +#: commit-graph.c:1026 +msgid "Finding extra edges in commit graph" +msgstr "ПоиÑк дополнительных ребер на графе коммитов" + +#: commit-graph.c:1050 msgid "too many commits to write graph" msgstr "Ñлишком много коммитов Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи графа" -#: commit-graph.c:806 +#: commit-graph.c:1057 midx.c:819 #, c-format msgid "unable to create leading directories of %s" msgstr "не удалоÑÑŒ Ñоздать родительÑкие каталоги Ð´Ð»Ñ %s" -#: commit-graph.c:904 +#: commit-graph.c:1097 +#, c-format +msgid "Writing out commit graph in %d pass" +msgid_plural "Writing out commit graph in %d passes" +msgstr[0] "ЗапиÑÑŒ графа коммитов в %d проход" +msgstr[1] "ЗапиÑÑŒ графа коммитов в %d прохода" +msgstr[2] "ЗапиÑÑŒ графа коммитов в %d проходов" +msgstr[3] "ЗапиÑÑŒ графа коммитов в %d прохода" + +#: commit-graph.c:1162 msgid "the commit-graph file has incorrect checksum and is likely corrupt" -msgstr "" +msgstr "файл commit-graph Ñодержит неправильную контрольную Ñумму и Ñкорее вÑего поврежден" + +#: commit-graph.c:1172 +#, c-format +msgid "commit-graph has incorrect OID order: %s then %s" +msgstr "файл commit-graph Ñодержит неправильный порÑдок OID: %s, а затем %s" + +#: commit-graph.c:1182 commit-graph.c:1197 +#, c-format +msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" +msgstr "файл commit-graph Ñодержит неправильное значение fanout: fanout[%d] = %u != %u" + +#: commit-graph.c:1189 +#, c-format +msgid "failed to parse commit %s from commit-graph" +msgstr "не удалоÑÑŒ разобрать коммит %s из файла commit-graph" + +#: commit-graph.c:1206 +msgid "Verifying commits in commit graph" +msgstr "Проверка коммитов на графе коммитов" + +#: commit-graph.c:1219 +#, c-format +msgid "failed to parse commit %s from object database for commit-graph" +msgstr "не удалоÑÑŒ разобрать коммит %s из базы объектов файла commit-graph" + +#: commit-graph.c:1226 +#, c-format +msgid "root tree OID for commit %s in commit-graph is %s != %s" +msgstr " в файле commit-graph OID ÐºÐ¾Ñ€Ð½Ñ Ð´ÐµÑ€ÐµÐ²Ð° Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s ÑвлÑетÑÑ %s != %s" + +#: commit-graph.c:1236 +#, c-format +msgid "commit-graph parent list for commit %s is too long" +msgstr "Ñлишком большой ÑпиÑок родителей файле commit-graph Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s" + +#: commit-graph.c:1242 +#, c-format +msgid "commit-graph parent for %s is %s != %s" +msgstr "в файле commit-graph родитель Ð´Ð»Ñ %s ÑвлÑетÑÑ %s != %s" + +#: commit-graph.c:1255 +#, c-format +msgid "commit-graph parent list for commit %s terminates early" +msgstr "в файле commit-graph ÑпиÑок родителей Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s закончилÑÑ Ñлишком рано" + +#: commit-graph.c:1260 +#, c-format +msgid "" +"commit-graph has generation number zero for commit %s, but non-zero " +"elsewhere" +msgstr "в файле commit-graph ÑодержитÑÑ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ номер Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s, но ненулевой в оÑтальных ÑлучаÑÑ…" + +#: commit-graph.c:1264 +#, c-format +msgid "" +"commit-graph has non-zero generation number for commit %s, but zero " +"elsewhere" +msgstr "в файле commit-graph ÑодержитÑÑ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ð¹ номер Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s, но нулевой в оÑтальных ÑлучаÑÑ…" -#: compat/obstack.c:405 compat/obstack.c:407 +#: commit-graph.c:1279 +#, c-format +msgid "commit-graph generation for commit %s is %u != %u" +msgstr "в файле commit-graph номер Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s ÑвлÑетÑÑ %u != %u" + +#: commit-graph.c:1285 +#, c-format +msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" +msgstr "в файле commit-graph дата коммита %s ÑвлÑетÑÑ %<PRIuMAX> != %<PRIuMAX>" + +#: compat/obstack.c:406 compat/obstack.c:408 msgid "memory exhausted" msgstr "памÑть иÑчерпана" @@ -1353,7 +1537,7 @@ msgid "" "\t%s\n" "from\n" "\t%s\n" -"Do you have circular includes?" +"This might be due to circular includes." msgstr "" #: config.c:139 @@ -1379,7 +1563,7 @@ msgstr "" msgid "key does not contain variable name: %s" msgstr "" -#: config.c:378 sequencer.c:2206 +#: config.c:378 sequencer.c:2459 #, c-format msgid "invalid key: %s" msgstr "недейÑтвительный ключ: %s" @@ -1501,149 +1685,149 @@ msgstr "" msgid "invalid mode for object creation: %s" msgstr "недопуÑтимый режим ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°: %s" -#: config.c:1403 +#: config.c:1395 #, c-format msgid "malformed value for %s" msgstr "" -#: config.c:1429 +#: config.c:1421 #, c-format msgid "malformed value for %s: %s" msgstr "" -#: config.c:1430 +#: config.c:1422 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "" -#: config.c:1489 builtin/pack-objects.c:3282 +#: config.c:1483 builtin/pack-objects.c:3397 #, c-format msgid "bad pack compression level %d" msgstr "неправильный уровень ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %d" -#: config.c:1610 +#: config.c:1604 #, c-format msgid "unable to load config blob object '%s'" msgstr "" -#: config.c:1613 +#: config.c:1607 #, c-format msgid "reference '%s' does not point to a blob" msgstr "" -#: config.c:1630 +#: config.c:1624 #, c-format msgid "unable to resolve config blob '%s'" msgstr "" -#: config.c:1660 +#: config.c:1654 #, c-format msgid "failed to parse %s" msgstr "" -#: config.c:1700 +#: config.c:1710 msgid "unable to parse command-line config" msgstr "не удалоÑÑŒ разобрать конфигурацию из командной Ñтроки" -#: config.c:2032 +#: config.c:2059 msgid "unknown error occurred while reading the configuration files" msgstr "произошла неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при чтении файлов конфигурации" -#: config.c:2202 +#: config.c:2229 #, c-format msgid "Invalid %s: '%s'" msgstr "ÐедейÑтвительный %s: «%s»" -#: config.c:2245 +#: config.c:2272 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "неизвеÑтное значение «%s» Ð´Ð»Ñ core.untrackedCache; иÑпользую Ñтандартное значение «keep»" -#: config.c:2271 +#: config.c:2298 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "значение «%d» Ð´Ð»Ñ splitIndex.maxPercentChange должно быть от 0 до 100" -#: config.c:2296 +#: config.c:2344 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "не удалоÑÑŒ разобрать «%s» в конфигурации из командной Ñтроки" -#: config.c:2298 +#: config.c:2346 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ «%s» в файле «%s» на Ñтроке %d" -#: config.c:2379 +#: config.c:2427 #, c-format msgid "invalid section name '%s'" msgstr "" -#: config.c:2411 +#: config.c:2459 #, c-format msgid "%s has multiple values" msgstr "%s имеет неÑколько значений" -#: config.c:2440 +#: config.c:2488 #, c-format msgid "failed to write new configuration file %s" msgstr "" -#: config.c:2691 config.c:3015 +#: config.c:2740 config.c:3064 #, c-format msgid "could not lock config file %s" msgstr "" -#: config.c:2702 +#: config.c:2751 #, c-format msgid "opening %s" msgstr "" -#: config.c:2737 builtin/config.c:324 +#: config.c:2786 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "" -#: config.c:2762 +#: config.c:2811 #, c-format msgid "invalid config file %s" msgstr "" -#: config.c:2775 config.c:3028 +#: config.c:2824 config.c:3077 #, c-format msgid "fstat on %s failed" msgstr "Ñбой при выполнении fstat на файле %s" -#: config.c:2786 +#: config.c:2835 #, c-format msgid "unable to mmap '%s'" msgstr "" -#: config.c:2795 config.c:3033 +#: config.c:2844 config.c:3082 #, c-format msgid "chmod on %s failed" msgstr "" -#: config.c:2880 config.c:3130 +#: config.c:2929 config.c:3179 #, c-format msgid "could not write config file %s" msgstr "" -#: config.c:2914 +#: config.c:2963 #, c-format msgid "could not set '%s' to '%s'" msgstr "не удалоÑÑŒ уÑтановить «%s» в «%s»" -#: config.c:2916 builtin/remote.c:781 +#: config.c:2965 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "не удалоÑÑŒ ÑброÑить значение Ð´Ð»Ñ Â«%s»" -#: config.c:3006 +#: config.c:3055 #, c-format msgid "invalid section name: %s" msgstr "" -#: config.c:3173 +#: config.c:3222 #, c-format msgid "missing value for '%s'" msgstr "" @@ -1692,57 +1876,52 @@ msgstr "" msgid "repository on the other end cannot be shallow" msgstr "" -#: connect.c:310 fetch-pack.c:183 builtin/archive.c:63 -#, c-format -msgid "remote error: %s" -msgstr "ошибка внешнего репозиториÑ: %s" - -#: connect.c:316 +#: connect.c:313 msgid "invalid packet" msgstr "" -#: connect.c:336 +#: connect.c:333 #, c-format msgid "protocol error: unexpected '%s'" msgstr "" -#: connect.c:444 +#: connect.c:441 #, c-format msgid "invalid ls-refs response: %s" msgstr "" -#: connect.c:448 +#: connect.c:445 msgid "expected flush after ref listing" msgstr "" -#: connect.c:547 +#: connect.c:544 #, c-format msgid "protocol '%s' is not supported" msgstr "" -#: connect.c:598 +#: connect.c:595 msgid "unable to set SO_KEEPALIVE on socket" msgstr "" -#: connect.c:638 connect.c:701 +#: connect.c:635 connect.c:698 #, c-format msgid "Looking up %s ... " msgstr "" -#: connect.c:642 +#: connect.c:639 #, c-format msgid "unable to look up %s (port %s) (%s)" msgstr "" #. TRANSLATORS: this is the end of "Looking up %s ... " -#: connect.c:646 connect.c:717 +#: connect.c:643 connect.c:714 #, c-format msgid "" "done.\n" "Connecting to %s (port %s) ... " msgstr "" -#: connect.c:668 connect.c:745 +#: connect.c:665 connect.c:742 #, c-format msgid "" "unable to connect to %s:\n" @@ -1750,52 +1929,52 @@ msgid "" msgstr "" #. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... " -#: connect.c:674 connect.c:751 +#: connect.c:671 connect.c:748 msgid "done." msgstr "" -#: connect.c:705 +#: connect.c:702 #, c-format msgid "unable to look up %s (%s)" msgstr "" -#: connect.c:711 +#: connect.c:708 #, c-format msgid "unknown port %s" msgstr "" -#: connect.c:848 connect.c:1174 +#: connect.c:845 connect.c:1171 #, c-format msgid "strange hostname '%s' blocked" msgstr "" -#: connect.c:850 +#: connect.c:847 #, c-format msgid "strange port '%s' blocked" msgstr "" -#: connect.c:860 +#: connect.c:857 #, c-format msgid "cannot start proxy %s" msgstr "" -#: connect.c:927 +#: connect.c:924 msgid "no path specified; see 'git help pull' for valid url syntax" msgstr "" -#: connect.c:1122 +#: connect.c:1119 msgid "ssh variant 'simple' does not support -4" msgstr "" -#: connect.c:1134 +#: connect.c:1131 msgid "ssh variant 'simple' does not support -6" msgstr "" -#: connect.c:1151 +#: connect.c:1148 msgid "ssh variant 'simple' does not support setting port" msgstr "" -#: connect.c:1262 +#: connect.c:1260 #, c-format msgid "strange pathname '%s' blocked" msgstr "" @@ -1804,106 +1983,106 @@ msgstr "" msgid "unable to fork" msgstr "" -#: connected.c:68 builtin/fsck.c:203 builtin/prune.c:146 +#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Проверка ÑоединениÑ" -#: connected.c:80 +#: connected.c:97 msgid "Could not run 'git rev-list'" msgstr "Ðе удалоÑÑŒ запуÑтить «git rev-list»" -#: connected.c:100 +#: connected.c:117 msgid "failed write to rev-list" msgstr "Ñбой запиÑи в rev-list" -#: connected.c:107 +#: connected.c:124 msgid "failed to close rev-list's stdin" msgstr "Ñбой Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñтандартного ввода у rev-list" -#: convert.c:194 +#: convert.c:193 #, c-format msgid "illegal crlf_action %d" msgstr "" -#: convert.c:207 +#: convert.c:206 #, c-format msgid "CRLF would be replaced by LF in %s" msgstr "" -#: convert.c:209 +#: convert.c:208 #, c-format msgid "" "CRLF will be replaced by LF in %s.\n" "The file will have its original line endings in your working directory" msgstr "" -#: convert.c:217 +#: convert.c:216 #, c-format msgid "LF would be replaced by CRLF in %s" msgstr "LF будет заменен на CRLF в %s" -#: convert.c:219 +#: convert.c:218 #, c-format msgid "" "LF will be replaced by CRLF in %s.\n" "The file will have its original line endings in your working directory" msgstr "" -#: convert.c:280 +#: convert.c:279 #, c-format msgid "BOM is prohibited in '%s' if encoded as %s" msgstr "BOM запрещен в «%s», еÑли кодируетÑÑ ÐºÐ°Ðº %s" -#: convert.c:287 +#: convert.c:286 #, c-format msgid "" "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as " "working-tree-encoding." msgstr "Файл «%s» Ñодержит маркер поÑледовательноÑти байтов (BOM). ИÑпользуйте UTF-%s как кодировку рабочего каталога." -#: convert.c:305 +#: convert.c:304 #, c-format msgid "BOM is required in '%s' if encoded as %s" msgstr "BOM требуетÑÑ Ð² «%s», еÑли кодируетÑÑ ÐºÐ°Ðº %s" -#: convert.c:307 +#: convert.c:306 #, c-format msgid "" "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or " "UTF-%sLE (depending on the byte order) as working-tree-encoding." msgstr "Файл «%s» не Ñодержит маркер поÑледовательноÑти байтов (BOM). ИÑпользуйте UTF-%sBE или UTF-%sLE (в завиÑимоÑти от порÑдка байтов) как кодировку рабочего каталога." -#: convert.c:425 convert.c:496 +#: convert.c:424 convert.c:495 #, c-format msgid "failed to encode '%s' from %s to %s" msgstr "не удалоÑÑŒ перекодировать «%s» из %s в %s" -#: convert.c:468 +#: convert.c:467 #, c-format msgid "encoding '%s' from %s to %s and back is not the same" msgstr "перекодирование «%s» из %s в %s и обратно не одно и то же" -#: convert.c:674 +#: convert.c:673 #, c-format msgid "cannot fork to run external filter '%s'" msgstr "" -#: convert.c:694 +#: convert.c:693 #, c-format msgid "cannot feed the input to external filter '%s'" msgstr "" -#: convert.c:701 +#: convert.c:700 #, c-format msgid "external filter '%s' failed %d" msgstr "" -#: convert.c:736 convert.c:739 +#: convert.c:735 convert.c:738 #, c-format msgid "read from external filter '%s' failed" msgstr "" -#: convert.c:742 convert.c:796 +#: convert.c:741 convert.c:796 #, c-format msgid "external filter '%s' failed" msgstr "" @@ -1927,21 +2106,21 @@ msgstr "" msgid "true/false are no valid working-tree-encodings" msgstr "true/false не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым значением Ð´Ð»Ñ working-tree-encoding" -#: convert.c:1402 convert.c:1436 +#: convert.c:1398 convert.c:1432 #, c-format msgid "%s: clean filter '%s' failed" msgstr "" -#: convert.c:1480 +#: convert.c:1476 #, c-format msgid "%s: smudge filter %s failed" msgstr "" -#: date.c:116 +#: date.c:137 msgid "in the future" msgstr "в будущем" -#: date.c:122 +#: date.c:143 #, c-format msgid "%<PRIuMAX> second ago" msgid_plural "%<PRIuMAX> seconds ago" @@ -1950,7 +2129,7 @@ msgstr[1] "%<PRIuMAX> Ñекунды назад" msgstr[2] "%<PRIuMAX> Ñекунд назад" msgstr[3] "%<PRIuMAX> Ñекунды назад" -#: date.c:129 +#: date.c:150 #, c-format msgid "%<PRIuMAX> minute ago" msgid_plural "%<PRIuMAX> minutes ago" @@ -1959,7 +2138,7 @@ msgstr[1] "%<PRIuMAX> минуты назад" msgstr[2] "%<PRIuMAX> минут назад" msgstr[3] "%<PRIuMAX> минуты назад" -#: date.c:136 +#: date.c:157 #, c-format msgid "%<PRIuMAX> hour ago" msgid_plural "%<PRIuMAX> hours ago" @@ -1968,7 +2147,7 @@ msgstr[1] "%<PRIuMAX> чаÑа назад" msgstr[2] "%<PRIuMAX> чаÑов назад" msgstr[3] "%<PRIuMAX> чаÑа назад" -#: date.c:143 +#: date.c:164 #, c-format msgid "%<PRIuMAX> day ago" msgid_plural "%<PRIuMAX> days ago" @@ -1977,7 +2156,7 @@ msgstr[1] "%<PRIuMAX> Ð´Ð½Ñ Ð½Ð°Ð·Ð°Ð´" msgstr[2] "%<PRIuMAX> дней назад" msgstr[3] "%<PRIuMAX> Ð´Ð½Ñ Ð½Ð°Ð·Ð°Ð´" -#: date.c:149 +#: date.c:170 #, c-format msgid "%<PRIuMAX> week ago" msgid_plural "%<PRIuMAX> weeks ago" @@ -1986,7 +2165,7 @@ msgstr[1] "%<PRIuMAX> недели назад" msgstr[2] "%<PRIuMAX> недель назад" msgstr[3] "%<PRIuMAX> недели назад" -#: date.c:156 +#: date.c:177 #, c-format msgid "%<PRIuMAX> month ago" msgid_plural "%<PRIuMAX> months ago" @@ -1995,7 +2174,7 @@ msgstr[1] "%<PRIuMAX> меÑÑца назад" msgstr[2] "%<PRIuMAX> меÑÑцев назад" msgstr[3] "%<PRIuMAX> меÑÑца назад" -#: date.c:167 +#: date.c:188 #, c-format msgid "%<PRIuMAX> year" msgid_plural "%<PRIuMAX> years" @@ -2005,7 +2184,7 @@ msgstr[2] "%<PRIuMAX> лет" msgstr[3] "%<PRIuMAX> года" #. TRANSLATORS: "%s" is "<n> years" -#: date.c:170 +#: date.c:191 #, c-format msgid "%s, %<PRIuMAX> month ago" msgid_plural "%s, %<PRIuMAX> months ago" @@ -2014,7 +2193,7 @@ msgstr[1] "%s, %<PRIuMAX> меÑÑца назад" msgstr[2] "%s, %<PRIuMAX> меÑÑцев назад" msgstr[3] "%s, %<PRIuMAX> меÑÑца назад" -#: date.c:175 date.c:180 +#: date.c:196 date.c:201 #, c-format msgid "%<PRIuMAX> year ago" msgid_plural "%<PRIuMAX> years ago" @@ -2023,141 +2202,649 @@ msgstr[1] "%<PRIuMAX> года назад" msgstr[2] "%<PRIuMAX> лет назад" msgstr[3] "%<PRIuMAX> года назад" +#: delta-islands.c:272 +msgid "Propagating island marks" +msgstr "" + +#: delta-islands.c:290 +#, c-format +msgid "bad tree object %s" +msgstr "" + +#: delta-islands.c:334 +#, c-format +msgid "failed to load island regex for '%s': %s" +msgstr "" + +#: delta-islands.c:390 +#, c-format +msgid "island regex from config has too many capture groups (max=%d)" +msgstr "" + +#: delta-islands.c:466 +#, c-format +msgid "Marked %d islands, done.\n" +msgstr "" + #: diffcore-order.c:24 #, c-format msgid "failed to read orderfile '%s'" msgstr "Ñбой Ñ‡Ñ‚ÐµÐ½Ð¸Ñ orderfile «%s»" -#: diffcore-rename.c:536 +#: diffcore-rename.c:544 msgid "Performing inexact rename detection" msgstr "ВыполнÑетÑÑ Ð½ÐµÑ‚Ð¾Ñ‡Ð½Ð¾Ðµ определение переименованиÑ" -#: diff.c:108 -#, c-format -msgid "option '%s' requires a value" -msgstr "параметр «%s» требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ" +#: diff-no-index.c:238 +msgid "git diff --no-index [<options>] <path> <path>" +msgstr "" -#: diff.c:158 +#: diff-no-index.c:263 +msgid "" +"Not a git repository. Use --no-index to compare two paths outside a working " +"tree" +msgstr "" + +#: diff.c:155 #, c-format msgid " Failed to parse dirstat cut-off percentage '%s'\n" msgstr " Сбой разбора величины Ñреза (cut-off) у dirstat «%s»\n" -#: diff.c:163 +#: diff.c:160 #, c-format msgid " Unknown dirstat parameter '%s'\n" msgstr "ÐеизвеÑтный параметр dirstat: «%s»\n" -#: diff.c:291 +#: diff.c:296 msgid "" "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', " "'dimmed-zebra', 'plain'" msgstr "" -#: diff.c:316 +#: diff.c:324 #, c-format -msgid "ignoring unknown color-moved-ws mode '%s'" +msgid "" +"unknown color-moved-ws mode '%s', possible values are 'ignore-space-change'," +" 'ignore-space-at-eol', 'ignore-all-space', 'allow-indentation-change'" msgstr "" -#: diff.c:323 +#: diff.c:332 msgid "" -"color-moved-ws: allow-indentation-change cannot be combined with other white" -" space modes" +"color-moved-ws: allow-indentation-change cannot be combined with other " +"whitespace modes" msgstr "" -#: diff.c:394 +#: diff.c:405 #, c-format msgid "Unknown value for 'diff.submodule' config variable: '%s'" msgstr "ÐеизвеÑтное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ «diff.submodule»: «%s»" -#: diff.c:454 +#: diff.c:465 #, c-format msgid "" "Found errors in 'diff.dirstat' config variable:\n" "%s" msgstr "Ðайдены ошибки в переменной «diff.dirstat»:\n%s" -#: diff.c:4096 +#: diff.c:4210 #, c-format msgid "external diff died, stopping at %s" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при внешнем Ñравнении, оÑтанов на %s" -#: diff.c:4427 +#: diff.c:4555 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, --check и -s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: diff.c:4430 +#: diff.c:4558 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S и --find-object Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: diff.c:4508 +#: diff.c:4636 msgid "--follow requires exactly one pathspec" msgstr "--follow требует ровно одного Ñпецификатора пути" -#: diff.c:4674 +#: diff.c:4684 +#, c-format +msgid "invalid --stat value: %s" +msgstr "" + +#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: parse-options.c:199 parse-options.c:203 +#, c-format +msgid "%s expects a numerical value" +msgstr "" + +#: diff.c:4721 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "Сбой разбора параметра опции --dirstat/-X :\n%s" -#: diff.c:4688 +#: diff.c:4806 +#, c-format +msgid "unknown change class '%c' in --diff-filter=%s" +msgstr "" + +#: diff.c:4830 #, c-format -msgid "Failed to parse --submodule option parameter: '%s'" -msgstr "Сбой разбора параметра опции --submodule: «%s»" +msgid "unknown value after ws-error-highlight=%.*s" +msgstr "" + +#: diff.c:4844 +#, c-format +msgid "unable to resolve '%s'" +msgstr "" + +#: diff.c:4894 diff.c:4900 +#, c-format +msgid "%s expects <n>/<m> form" +msgstr "" + +#: diff.c:4912 +#, c-format +msgid "%s expects a character, got '%s'" +msgstr "" + +#: diff.c:4933 +#, c-format +msgid "bad --color-moved argument: %s" +msgstr "" + +#: diff.c:4952 +#, c-format +msgid "invalid mode '%s' in --color-moved-ws" +msgstr "" + +#: diff.c:4992 +msgid "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and \"histogram\"" +msgstr "" + +#: diff.c:5028 diff.c:5048 +#, c-format +msgid "invalid argument to %s" +msgstr "" + +#: diff.c:5186 +#, c-format +msgid "failed to parse --submodule option parameter: '%s'" +msgstr "" + +#: diff.c:5242 +#, c-format +msgid "bad --word-diff argument: %s" +msgstr "" + +#: diff.c:5265 +msgid "Diff output format options" +msgstr "" + +#: diff.c:5267 diff.c:5273 +msgid "generate patch" +msgstr "" + +#: diff.c:5270 builtin/log.c:167 +msgid "suppress diff output" +msgstr "не выводить ÑпиÑок изменений" + +#: diff.c:5275 diff.c:5389 diff.c:5396 +msgid "<n>" +msgstr "" + +#: diff.c:5276 diff.c:5279 +msgid "generate diffs with <n> lines context" +msgstr "" + +#: diff.c:5281 +msgid "generate the diff in raw format" +msgstr "" + +#: diff.c:5284 +msgid "synonym for '-p --raw'" +msgstr "" + +#: diff.c:5288 +msgid "synonym for '-p --stat'" +msgstr "" + +#: diff.c:5292 +msgid "machine friendly --stat" +msgstr "" + +#: diff.c:5295 +msgid "output only the last line of --stat" +msgstr "" + +#: diff.c:5297 diff.c:5305 +msgid "<param1,param2>..." +msgstr "" + +#: diff.c:5298 +msgid "" +"output the distribution of relative amount of changes for each sub-directory" +msgstr "" + +#: diff.c:5302 +msgid "synonym for --dirstat=cumulative" +msgstr "" -#: diff.c:5766 +#: diff.c:5306 +msgid "synonym for --dirstat=files,param1,param2..." +msgstr "" + +#: diff.c:5310 +msgid "warn if changes introduce conflict markers or whitespace errors" +msgstr "" + +#: diff.c:5313 +msgid "condensed summary such as creations, renames and mode changes" +msgstr "ÐºÑ€Ð°Ñ‚ÐºÐ°Ñ Ñводка изменений, вроде Ñозданий, переименований или изменений режима доÑтупа" + +#: diff.c:5316 +msgid "show only names of changed files" +msgstr "" + +#: diff.c:5319 +msgid "show only names and status of changed files" +msgstr "" + +#: diff.c:5321 +msgid "<width>[,<name-width>[,<count>]]" +msgstr "" + +#: diff.c:5322 +msgid "generate diffstat" +msgstr "" + +#: diff.c:5324 diff.c:5327 diff.c:5330 +msgid "<width>" +msgstr "" + +#: diff.c:5325 +msgid "generate diffstat with a given width" +msgstr "" + +#: diff.c:5328 +msgid "generate diffstat with a given name width" +msgstr "" + +#: diff.c:5331 +msgid "generate diffstat with a given graph width" +msgstr "" + +#: diff.c:5333 +msgid "<count>" +msgstr "" + +#: diff.c:5334 +msgid "generate diffstat with limited lines" +msgstr "" + +#: diff.c:5337 +msgid "generate compact summary in diffstat" +msgstr "Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð¾Ð¹ Ñводки изменений в diffstat" + +#: diff.c:5340 +msgid "output a binary diff that can be applied" +msgstr "" + +#: diff.c:5343 +msgid "show full pre- and post-image object names on the \"index\" lines" +msgstr "" + +#: diff.c:5345 +msgid "show colored diff" +msgstr "" + +#: diff.c:5346 +msgid "<kind>" +msgstr "" + +#: diff.c:5347 +msgid "" +"highlight whitespace errors in the 'context', 'old' or 'new' lines in the " +"diff" +msgstr "" + +#: diff.c:5350 +msgid "" +"do not munge pathnames and use NULs as output field terminators in --raw or " +"--numstat" +msgstr "" + +#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +msgid "<prefix>" +msgstr "" + +#: diff.c:5354 +msgid "show the given source prefix instead of \"a/\"" +msgstr "" + +#: diff.c:5357 +msgid "show the given destination prefix instead of \"b/\"" +msgstr "" + +#: diff.c:5360 +msgid "prepend an additional prefix to every line of output" +msgstr "" + +#: diff.c:5363 +msgid "do not show any source or destination prefix" +msgstr "" + +#: diff.c:5366 +msgid "show context between diff hunks up to the specified number of lines" +msgstr "" + +#: diff.c:5370 diff.c:5375 diff.c:5380 +msgid "<char>" +msgstr "" + +#: diff.c:5371 +msgid "specify the character to indicate a new line instead of '+'" +msgstr "" + +#: diff.c:5376 +msgid "specify the character to indicate an old line instead of '-'" +msgstr "" + +#: diff.c:5381 +msgid "specify the character to indicate a context instead of ' '" +msgstr "" + +#: diff.c:5384 +msgid "Diff rename options" +msgstr "" + +#: diff.c:5385 +msgid "<n>[/<m>]" +msgstr "" + +#: diff.c:5386 +msgid "break complete rewrite changes into pairs of delete and create" +msgstr "" + +#: diff.c:5390 +msgid "detect renames" +msgstr "" + +#: diff.c:5394 +msgid "omit the preimage for deletes" +msgstr "" + +#: diff.c:5397 +msgid "detect copies" +msgstr "" + +#: diff.c:5401 +msgid "use unmodified files as source to find copies" +msgstr "" + +#: diff.c:5403 +msgid "disable rename detection" +msgstr "" + +#: diff.c:5406 +msgid "use empty blobs as rename source" +msgstr "" + +#: diff.c:5408 +msgid "continue listing the history of a file beyond renames" +msgstr "" + +#: diff.c:5411 +msgid "" +"prevent rename/copy detection if the number of rename/copy targets exceeds " +"given limit" +msgstr "" + +#: diff.c:5413 +msgid "Diff algorithm options" +msgstr "" + +#: diff.c:5415 +msgid "produce the smallest possible diff" +msgstr "" + +#: diff.c:5418 +msgid "ignore whitespace when comparing lines" +msgstr "" + +#: diff.c:5421 +msgid "ignore changes in amount of whitespace" +msgstr "" + +#: diff.c:5424 +msgid "ignore changes in whitespace at EOL" +msgstr "" + +#: diff.c:5427 +msgid "ignore carrier-return at the end of line" +msgstr "" + +#: diff.c:5430 +msgid "ignore changes whose lines are all blank" +msgstr "" + +#: diff.c:5433 +msgid "heuristic to shift diff hunk boundaries for easy reading" +msgstr "" + +#: diff.c:5436 +msgid "generate diff using the \"patience diff\" algorithm" +msgstr "" + +#: diff.c:5440 +msgid "generate diff using the \"histogram diff\" algorithm" +msgstr "" + +#: diff.c:5442 +msgid "<algorithm>" +msgstr "" + +#: diff.c:5443 +msgid "choose a diff algorithm" +msgstr "" + +#: diff.c:5445 +msgid "<text>" +msgstr "" + +#: diff.c:5446 +msgid "generate diff using the \"anchored diff\" algorithm" +msgstr "" + +#: diff.c:5448 diff.c:5457 diff.c:5460 +msgid "<mode>" +msgstr "" + +#: diff.c:5449 +msgid "show word diff, using <mode> to delimit changed words" +msgstr "" + +#: diff.c:5451 diff.c:5454 diff.c:5499 +msgid "<regex>" +msgstr "" + +#: diff.c:5452 +msgid "use <regex> to decide what a word is" +msgstr "" + +#: diff.c:5455 +msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" +msgstr "" + +#: diff.c:5458 +msgid "moved lines of code are colored differently" +msgstr "" + +#: diff.c:5461 +msgid "how white spaces are ignored in --color-moved" +msgstr "" + +#: diff.c:5464 +msgid "Other diff options" +msgstr "" + +#: diff.c:5466 +msgid "when run from subdir, exclude changes outside and show relative paths" +msgstr "" + +#: diff.c:5470 +msgid "treat all files as text" +msgstr "" + +#: diff.c:5472 +msgid "swap two inputs, reverse the diff" +msgstr "" + +#: diff.c:5474 +msgid "exit with 1 if there were differences, 0 otherwise" +msgstr "" + +#: diff.c:5476 +msgid "disable all output of the program" +msgstr "" + +#: diff.c:5478 +msgid "allow an external diff helper to be executed" +msgstr "" + +#: diff.c:5480 +msgid "run external text conversion filters when comparing binary files" +msgstr "" + +#: diff.c:5482 +msgid "<when>" +msgstr "" + +#: diff.c:5483 +msgid "ignore changes to submodules in the diff generation" +msgstr "" + +#: diff.c:5486 +msgid "<format>" +msgstr "" + +#: diff.c:5487 +msgid "specify how differences in submodules are shown" +msgstr "" + +#: diff.c:5491 +msgid "hide 'git add -N' entries from the index" +msgstr "" + +#: diff.c:5494 +msgid "treat 'git add -N' entries as real in the index" +msgstr "" + +#: diff.c:5496 +msgid "<string>" +msgstr "" + +#: diff.c:5497 +msgid "" +"look for differences that change the number of occurrences of the specified " +"string" +msgstr "" + +#: diff.c:5500 +msgid "" +"look for differences that change the number of occurrences of the specified " +"regex" +msgstr "" + +#: diff.c:5503 +msgid "show all changes in the changeset with -S or -G" +msgstr "" + +#: diff.c:5506 +msgid "treat <string> in -S as extended POSIX regular expression" +msgstr "" + +#: diff.c:5509 +msgid "control the order in which files appear in the output" +msgstr "" + +#: diff.c:5510 +msgid "<object-id>" +msgstr "" + +#: diff.c:5511 +msgid "" +"look for differences that change the number of occurrences of the specified " +"object" +msgstr "" + +#: diff.c:5513 +msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" +msgstr "" + +#: diff.c:5514 +msgid "select files by diff type" +msgstr "" + +#: diff.c:5516 +msgid "<file>" +msgstr "" + +#: diff.c:5517 +msgid "Output to a specific file" +msgstr "" + +#: diff.c:6150 msgid "inexact rename detection was skipped due to too many files." msgstr "неточное определение Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ñ‹Ð»Ð¾ пропущено из-за Ñлишком большого количеÑтва файлов." -#: diff.c:5769 +#: diff.c:6153 msgid "only found copies from modified paths due to too many files." msgstr "найдены только копии из измененных путей из-за Ñлишком большого количеÑтва файлов." -#: diff.c:5772 +#: diff.c:6156 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." msgstr "возможно вы захотите уÑтановить переменную %s в как минимум значение %d и повторить вызов команды." -#: dir.c:569 +#: dir.c:537 #, c-format msgid "pathspec '%s' did not match any file(s) known to git" msgstr "" -#: dir.c:958 +#: dir.c:926 #, c-format msgid "cannot use %s as an exclude file" msgstr "" -#: dir.c:1873 +#: dir.c:1843 #, c-format msgid "could not open directory '%s'" msgstr "не удалоÑÑŒ открыть каталог «%s»" -#: dir.c:2115 +#: dir.c:2085 msgid "failed to get kernel name and information" msgstr "не удалоÑÑŒ получить Ð¸Ð¼Ñ Ñдра и информацию" -#: dir.c:2239 +#: dir.c:2209 msgid "untracked cache is disabled on this system or location" msgstr "" -#: dir.c:3037 +#: dir.c:3013 #, c-format msgid "index file corrupt in repo %s" msgstr "" -#: dir.c:3082 dir.c:3087 +#: dir.c:3058 dir.c:3063 #, c-format msgid "could not create directories for %s" msgstr "не удалоÑÑŒ Ñоздать каталоги Ð´Ð»Ñ %s" -#: dir.c:3116 +#: dir.c:3092 #, c-format msgid "could not migrate git directory from '%s' to '%s'" msgstr "не удалоÑÑŒ перемеÑтить каталог git Ñ Â«%s» в «%s»" -#: editor.c:61 +#: editor.c:73 #, c-format msgid "hint: Waiting for your editor to close the file...%c" msgstr "подÑказка: Ожидание, пока вы закроете редактор Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼â€¦%c" @@ -2166,7 +2853,7 @@ msgstr "подÑказка: Ожидание, пока вы закроете рРmsgid "Filtering content" msgstr "ФильтруетÑÑ Ñодержимое" -#: entry.c:437 +#: entry.c:476 #, c-format msgid "could not stat file '%s'" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s»" @@ -2181,7 +2868,7 @@ msgstr "" msgid "could not set GIT_DIR to '%s'" msgstr "" -#: exec-cmd.c:361 +#: exec-cmd.c:363 #, c-format msgid "too many args to run %s" msgstr "" @@ -2190,244 +2877,264 @@ msgstr "" msgid "Remote with no URL" msgstr "Внешний репозиторий без URL" -#: fetch-pack.c:152 +#: fetch-pack.c:151 msgid "git fetch-pack: expected shallow list" msgstr "git fetch-pack: ожидаетÑÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð° ÑпиÑка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ чаÑти" -#: fetch-pack.c:164 +#: fetch-pack.c:154 +msgid "git fetch-pack: expected a flush packet after shallow list" +msgstr "" + +#: fetch-pack.c:165 msgid "git fetch-pack: expected ACK/NAK, got a flush packet" msgstr "git fetch-pack: ожидаетÑÑ ACK/NAK, а получен пуÑтой пакет" -#: fetch-pack.c:184 +#: fetch-pack.c:185 #, c-format msgid "git fetch-pack: expected ACK/NAK, got '%s'" msgstr "git fetch-pack: ожидаетÑÑ ACK/NAK, а получено «%s»" -#: fetch-pack.c:254 +#: fetch-pack.c:196 +msgid "unable to write to remote" +msgstr "" + +#: fetch-pack.c:258 msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc требует multi_ack_detailed" -#: fetch-pack.c:342 fetch-pack.c:1257 +#: fetch-pack.c:360 fetch-pack.c:1271 #, c-format msgid "invalid shallow line: %s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока чаÑтичного получениÑ: %s" -#: fetch-pack.c:348 fetch-pack.c:1263 +#: fetch-pack.c:366 fetch-pack.c:1277 #, c-format msgid "invalid unshallow line: %s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока полного получениÑ: %s" -#: fetch-pack.c:350 fetch-pack.c:1265 +#: fetch-pack.c:368 fetch-pack.c:1279 #, c-format msgid "object not found: %s" msgstr "объект не найден: %s" -#: fetch-pack.c:353 fetch-pack.c:1268 +#: fetch-pack.c:371 fetch-pack.c:1282 #, c-format msgid "error in object: %s" msgstr "ошибка в объекте: %s" -#: fetch-pack.c:355 fetch-pack.c:1270 +#: fetch-pack.c:373 fetch-pack.c:1284 #, c-format msgid "no shallow found: %s" msgstr "чаÑтичный клон не найден: %s" -#: fetch-pack.c:358 fetch-pack.c:1273 +#: fetch-pack.c:376 fetch-pack.c:1288 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "ожидалоÑÑŒ shallow/unshallow, а получено %s" -#: fetch-pack.c:399 +#: fetch-pack.c:417 #, c-format msgid "got %s %d %s" msgstr "получено %s %d %s" -#: fetch-pack.c:416 +#: fetch-pack.c:434 #, c-format msgid "invalid commit %s" msgstr "недопуÑтимый коммит %s" -#: fetch-pack.c:447 +#: fetch-pack.c:465 msgid "giving up" msgstr "оÑтанавливаю дальнейшие попытки" -#: fetch-pack.c:459 progress.c:229 +#: fetch-pack.c:477 progress.c:284 msgid "done" msgstr "готово" -#: fetch-pack.c:471 +#: fetch-pack.c:489 #, c-format msgid "got %s (%d) %s" msgstr "получено %s (%d) %s" -#: fetch-pack.c:517 +#: fetch-pack.c:535 #, c-format msgid "Marking %s as complete" msgstr "Помечаю %s как завершенный" -#: fetch-pack.c:764 +#: fetch-pack.c:744 #, c-format msgid "already have %s (%s)" msgstr "уже еÑть %s (%s)" -#: fetch-pack.c:803 +#: fetch-pack.c:783 msgid "fetch-pack: unable to fork off sideband demultiplexer" msgstr "fetch-pack: не удалоÑÑŒ запуÑтить программу разбора данных" -#: fetch-pack.c:811 +#: fetch-pack.c:791 msgid "protocol error: bad pack header" msgstr "ошибка протокола: неправильный заголовок потока" -#: fetch-pack.c:879 +#: fetch-pack.c:859 #, c-format msgid "fetch-pack: unable to fork off %s" msgstr "fetch-pack: не удалоÑÑŒ запуÑтить программу %s" -#: fetch-pack.c:895 +#: fetch-pack.c:875 #, c-format msgid "%s failed" msgstr "%s завершен Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹" -#: fetch-pack.c:897 +#: fetch-pack.c:877 msgid "error in sideband demultiplexer" msgstr "произошла ошибка в программе разбора данных" -#: fetch-pack.c:926 +#: fetch-pack.c:906 msgid "Server does not support shallow clients" msgstr "Сервер не поддерживает клиентов Ñ Ñ‡Ð°Ñтичным клонированием" -#: fetch-pack.c:930 +#: fetch-pack.c:910 msgid "Server supports multi_ack_detailed" msgstr "Сервер поддерживает multi_ack_detailed" -#: fetch-pack.c:933 +#: fetch-pack.c:913 msgid "Server supports no-done" msgstr "Сервер поддерживает no-done" -#: fetch-pack.c:939 +#: fetch-pack.c:919 msgid "Server supports multi_ack" msgstr "Сервер поддерживает multi_ack" -#: fetch-pack.c:943 +#: fetch-pack.c:923 msgid "Server supports side-band-64k" msgstr "Сервер поддерживает side-band-64k" -#: fetch-pack.c:947 +#: fetch-pack.c:927 msgid "Server supports side-band" msgstr "Сервер поддерживает side-band" -#: fetch-pack.c:951 +#: fetch-pack.c:931 msgid "Server supports allow-tip-sha1-in-want" msgstr "Сервер поддерживает allow-tip-sha1-in-want" -#: fetch-pack.c:955 +#: fetch-pack.c:935 msgid "Server supports allow-reachable-sha1-in-want" msgstr "Сервер поддерживает allow-reachable-sha1-in-want" -#: fetch-pack.c:965 +#: fetch-pack.c:945 msgid "Server supports ofs-delta" msgstr "Сервер поддерживает ofs-delta" -#: fetch-pack.c:971 fetch-pack.c:1150 +#: fetch-pack.c:951 fetch-pack.c:1144 msgid "Server supports filter" msgstr "Сервер поддерживает фильтрацию" -#: fetch-pack.c:979 +#: fetch-pack.c:959 #, c-format msgid "Server version is %.*s" msgstr "ВерÑÐ¸Ñ Ñервера %.*s" -#: fetch-pack.c:985 +#: fetch-pack.c:965 msgid "Server does not support --shallow-since" msgstr "Сервер не поддерживает --shallow-since" -#: fetch-pack.c:989 +#: fetch-pack.c:969 msgid "Server does not support --shallow-exclude" msgstr "Сервер не поддерживает --shallow-exclude" -#: fetch-pack.c:991 +#: fetch-pack.c:971 msgid "Server does not support --deepen" msgstr "Сервер не поддерживает --deepen" -#: fetch-pack.c:1004 +#: fetch-pack.c:988 msgid "no common commits" msgstr "не общих коммитов" -#: fetch-pack.c:1016 fetch-pack.c:1393 +#: fetch-pack.c:1000 fetch-pack.c:1449 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: ошибка при получении данных." -#: fetch-pack.c:1145 +#: fetch-pack.c:1138 msgid "Server does not support shallow requests" msgstr "Сервер не поддерживает чаÑтичные запроÑÑ‹" -#: fetch-pack.c:1191 +#: fetch-pack.c:1171 +msgid "unable to write request to remote" +msgstr "" + +#: fetch-pack.c:1189 #, c-format msgid "error reading section header '%s'" msgstr "" -#: fetch-pack.c:1197 +#: fetch-pack.c:1195 #, c-format msgid "expected '%s', received '%s'" msgstr "" -#: fetch-pack.c:1236 +#: fetch-pack.c:1234 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "" -#: fetch-pack.c:1241 +#: fetch-pack.c:1239 #, c-format msgid "error processing acks: %d" msgstr "" -#: fetch-pack.c:1278 +#: fetch-pack.c:1249 +msgid "expected packfile to be sent after 'ready'" +msgstr "" + +#: fetch-pack.c:1251 +msgid "expected no other sections to be sent after no 'ready'" +msgstr "" + +#: fetch-pack.c:1293 #, c-format msgid "error processing shallow info: %d" msgstr "" -#: fetch-pack.c:1294 +#: fetch-pack.c:1340 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "" -#: fetch-pack.c:1304 +#: fetch-pack.c:1345 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "" -#: fetch-pack.c:1308 +#: fetch-pack.c:1350 #, c-format msgid "error processing wanted refs: %d" msgstr "" -#: fetch-pack.c:1603 +#: fetch-pack.c:1676 msgid "no matching remote head" msgstr "нет ÑоотвеÑтвующего внешнего ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° ветку" -#: fetch-pack.c:1621 builtin/clone.c:664 +#: fetch-pack.c:1699 builtin/clone.c:673 msgid "remote did not send all necessary objects" msgstr "внешний репозиторий приÑлал не вÑе необходимые объекты" -#: fetch-pack.c:1647 +#: fetch-pack.c:1726 #, c-format msgid "no such remote ref %s" msgstr "нет такой внешней ÑÑылки %s" -#: fetch-pack.c:1650 +#: fetch-pack.c:1729 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "Сервер не поддерживает Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½ÐµÐ¾Ð±ÑŠÑвленного объекта %s" -#: gpg-interface.c:253 +#: gpg-interface.c:318 msgid "gpg failed to sign the data" msgstr "gpg не удалоÑÑŒ подпиÑать данные" -#: gpg-interface.c:279 +#: gpg-interface.c:344 msgid "could not create temporary file" msgstr "не удалоÑÑŒ Ñоздать временный файл" -#: gpg-interface.c:282 +#: gpg-interface.c:347 #, c-format msgid "failed writing detached signature to '%s'" msgstr "Ñбой запиÑи отÑоединенной подпиÑи в «%s»" @@ -2437,18 +3144,18 @@ msgstr "Ñбой запиÑи отÑоединенной подпиÑи в «%s msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "игнорирую недопуÑтимый цвет «%.*s» в log.graphColors" -#: grep.c:2115 +#: grep.c:2113 #, c-format msgid "'%s': unable to read %s" msgstr "«%s»: не удалоÑÑŒ прочеÑть %s" -#: grep.c:2132 setup.c:164 builtin/clone.c:410 builtin/diff.c:81 -#: builtin/rm.c:134 +#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "не удалоÑÑŒ выполнить stat «%s»" -#: grep.c:2143 +#: grep.c:2141 #, c-format msgid "'%s': short read" msgstr "«%s»: Ñлишком мало данных прочитано" @@ -2505,60 +3212,72 @@ msgstr "Ðизкоуровневые команды / Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ msgid "Low-level Commands / Internal Helpers" msgstr "Ðизкоуровневые команды / Внутренние вÑпомогательные" -#: help.c:293 +#: help.c:298 #, c-format msgid "available git commands in '%s'" msgstr "доÑтупные команды git в «%s»" -#: help.c:300 +#: help.c:305 msgid "git commands available from elsewhere on your $PATH" msgstr "команды git, доÑтупные в других меÑтах вашего $PATH" -#: help.c:309 +#: help.c:314 msgid "These are common Git commands used in various situations:" msgstr "Стандартные команды Git иÑпользуемые в различных ÑитуациÑÑ…:" -#: help.c:358 git.c:90 +#: help.c:363 git.c:97 #, c-format msgid "unsupported command listing type '%s'" msgstr "неподдерживаемый тип ÑпиÑка команд «%s»" -#: help.c:405 +#: help.c:403 msgid "The common Git guides are:" msgstr "ОÑновные руководÑтва Git:" -#: help.c:552 +#: help.c:512 +msgid "See 'git help <command>' to read about a specific subcommand" +msgstr "ЗапуÑтите «git help <команда>», чтобы прочеÑть о конкретной подкоманде" + +#: help.c:517 +msgid "External commands" +msgstr "" + +#: help.c:532 +msgid "Command aliases" +msgstr "" + +#: help.c:596 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "«%s» похоже на команду git, но нам не удалоÑÑŒ ее запуÑтить. Возможно, git-%s не работает?" -#: help.c:611 +#: help.c:655 msgid "Uh oh. Your system reports no Git commands at all." msgstr "Ой-ёй! Ваша ÑиÑтема не Ñообщает ни о каких командах Git вообще." -#: help.c:633 +#: help.c:677 #, c-format msgid "WARNING: You called a Git command named '%s', which does not exist." msgstr "Внимание: Ð’Ñ‹ запуÑтили не ÑущеÑтвующую команду Git «%s»." -#: help.c:638 +#: help.c:682 #, c-format msgid "Continuing under the assumption that you meant '%s'." msgstr "Продолжаю, предполагаÑ, что вы имели в виду «%s»." -#: help.c:643 +#: help.c:687 #, c-format msgid "Continuing in %0.1f seconds, assuming that you meant '%s'." msgstr "Продолжу через %0.1f Ñекунд, предполагаÑ, что вы имели в виду «%s»." -#: help.c:651 +#: help.c:695 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: «%s» не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ git. Смотрите «git --help»." -#: help.c:655 +#: help.c:699 msgid "" "\n" "The most similar command is" @@ -2570,16 +3289,16 @@ msgstr[1] "\nСамые похожие команды:" msgstr[2] "\nСамые похожие команды:" msgstr[3] "\nСамые похожие команды:" -#: help.c:670 +#: help.c:714 msgid "git version [<options>]" msgstr "git version [<options>]" -#: help.c:738 +#: help.c:782 #, c-format msgid "%s: %s - %s" msgstr "%s: %s — %s" -#: help.c:742 +#: help.c:786 msgid "" "\n" "Did you mean this?" @@ -2591,7 +3310,7 @@ msgstr[1] "\nВозможно, вы имели в виду что-то из ÑÑ‚ msgstr[2] "\nВозможно, вы имели в виду что-то из Ñтого?" msgstr[3] "\nВозможно, вы имели в виду что-то из Ñтого?" -#: ident.c:342 +#: ident.c:349 msgid "" "\n" "*** Please tell me who you are.\n" @@ -2606,44 +3325,67 @@ msgid "" "\n" msgstr "\n*** ПожалуйÑта, Ñкажите мне кто вы еÑть.\n\nЗапуÑтите\n\n git config --global user.email \"you@example.com\"\n git config --global user.name \"Ваше ИмÑ\"\n\nÐ´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… данных аккаунта по умолчанию.\nПропуÑтите параметр --global Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… только Ð´Ð»Ñ Ñтого репозиториÑ.\n\n" -#: ident.c:366 +#: ident.c:379 msgid "no email was given and auto-detection is disabled" msgstr "Ð°Ð´Ñ€ÐµÑ Ñлектронной почты не указан и автоопределение отключено" -#: ident.c:371 +#: ident.c:384 #, c-format msgid "unable to auto-detect email address (got '%s')" msgstr "не удалоÑÑŒ выполнить автоопределение адреÑа Ñлектронной почты (получено «%s»)" -#: ident.c:381 +#: ident.c:401 msgid "no name was given and auto-detection is disabled" msgstr "Ð¸Ð¼Ñ Ð½Ðµ указано и автоопределение отключено" -#: ident.c:387 +#: ident.c:407 #, c-format msgid "unable to auto-detect name (got '%s')" msgstr "не удалоÑÑŒ выполнить автоопределение имени (получено «%s»)" -#: ident.c:395 +#: ident.c:415 #, c-format msgid "empty ident name (for <%s>) not allowed" msgstr "пуÑтое Ð¸Ð¼Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° (Ð´Ð»Ñ <%s>) не разрешено" -#: ident.c:401 +#: ident.c:421 #, c-format msgid "name consists only of disallowed characters: %s" msgstr "Ð¸Ð¼Ñ ÑоÑтоит только из неразрешенных Ñимоволов: %s" -#: ident.c:416 builtin/commit.c:600 +#: ident.c:436 builtin/commit.c:608 #, c-format msgid "invalid date format: %s" msgstr "неправильный формат даты: %s" +#: list-objects.c:129 +#, c-format +msgid "entry '%s' in tree %s has tree mode, but is not a tree" +msgstr "" + +#: list-objects.c:142 +#, c-format +msgid "entry '%s' in tree %s has blob mode, but is not a blob" +msgstr "" + +#: list-objects.c:378 +#, c-format +msgid "unable to load root tree for commit %s" +msgstr "" + #: list-objects-filter-options.c:36 msgid "multiple filter-specs cannot be combined" msgstr "невозможно объединÑть фильтрацию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ неÑкольких Ñпецификаций" -#: list-objects-filter-options.c:126 +#: list-objects-filter-options.c:58 +msgid "expected 'tree:<depth>'" +msgstr "" + +#: list-objects-filter-options.c:84 +msgid "sparse:path filters support has been dropped" +msgstr "" + +#: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ внешний репозиторий при чаÑтичном клонировании" @@ -2664,117 +3406,118 @@ msgstr "Ðе удалоÑÑŒ Ñоздать «%s.lock»: %s.\n\nПохоже, Ñ‡Ñ msgid "Unable to create '%s.lock': %s" msgstr "Ðе удалоÑÑŒ Ñоздать «%s.lock»: %s" -#: merge.c:40 +#: merge.c:41 msgid "failed to read the cache" msgstr "Ñбой Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÐºÑша" -#: merge.c:105 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:380 -#: builtin/checkout.c:608 builtin/clone.c:763 +#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 +#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: builtin/stash.c:264 msgid "unable to write new index file" msgstr "не удалоÑÑŒ запиÑать новый файл индекÑа" -#: merge-recursive.c:303 +#: merge-recursive.c:322 msgid "(bad commit)\n" msgstr "(плохой коммит)\n" -#: merge-recursive.c:325 +#: merge-recursive.c:345 #, c-format msgid "add_cacheinfo failed for path '%s'; merge aborting." msgstr "Ñбой add_cacheinfo Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ «%s»; отмена ÑлиÑниÑ." -#: merge-recursive.c:333 +#: merge-recursive.c:354 #, c-format msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting." msgstr "Ñбой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ add_cacheinfo Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ «%s»; отмена ÑлиÑниÑ." -#: merge-recursive.c:415 +#: merge-recursive.c:437 msgid "error building trees" msgstr "ошибка при поÑтроении деревьев" -#: merge-recursive.c:886 +#: merge-recursive.c:861 #, c-format msgid "failed to create path '%s'%s" msgstr "не удалоÑÑŒ Ñоздать путь «%s»%s" -#: merge-recursive.c:897 +#: merge-recursive.c:872 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Удаление %s, чтобы оÑвободить меÑто Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²\n" -#: merge-recursive.c:911 merge-recursive.c:930 +#: merge-recursive.c:886 merge-recursive.c:905 msgid ": perhaps a D/F conflict?" msgstr ": возможно, конфликт каталогов/файлов?" -#: merge-recursive.c:920 +#: merge-recursive.c:895 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "отказ потери неотÑлеживаемого файла в «%s»" -#: merge-recursive.c:962 builtin/cat-file.c:39 +#: merge-recursive.c:936 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "невозможно прочитать объект %s «%s»" -#: merge-recursive.c:964 +#: merge-recursive.c:939 #, c-format msgid "blob expected for %s '%s'" msgstr "ожидаетÑÑ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ð¹ объект Ð´Ð»Ñ %s «%s»" -#: merge-recursive.c:988 +#: merge-recursive.c:963 #, c-format msgid "failed to open '%s': %s" msgstr "не удалоÑÑŒ открыть «%s»: %s" -#: merge-recursive.c:999 +#: merge-recursive.c:974 #, c-format msgid "failed to symlink '%s': %s" msgstr "не удалоÑÑŒ Ñоздать Ñимвольную ÑÑылку «%s»: %s" -#: merge-recursive.c:1004 +#: merge-recursive.c:979 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "не понÑтно, что делать Ñ %06o %s «%s»" -#: merge-recursive.c:1191 +#: merge-recursive.c:1175 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (ÑоÑтоÑние не забрано)" -#: merge-recursive.c:1198 +#: merge-recursive.c:1182 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (нет коммитов)" -#: merge-recursive.c:1205 +#: merge-recursive.c:1189 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (у коммитов Ð´Ñ€ÑƒÐ³Ð°Ñ Ð±Ð°Ð·Ð° ÑлиÑниÑ)" -#: merge-recursive.c:1213 merge-recursive.c:1225 +#: merge-recursive.c:1197 merge-recursive.c:1209 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Перемотка вперед Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ %s до указанного коммита:" -#: merge-recursive.c:1216 merge-recursive.c:1228 +#: merge-recursive.c:1200 merge-recursive.c:1212 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Перемотка вперед Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ %s" -#: merge-recursive.c:1250 +#: merge-recursive.c:1235 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (нет указанных коммитов Ð´Ð»Ñ ÑлиÑниÑ)" -#: merge-recursive.c:1254 +#: merge-recursive.c:1239 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (Ð½ÐµÐ»ÑŒÐ·Ñ Ñделать перемотку вперед)" -#: merge-recursive.c:1255 +#: merge-recursive.c:1240 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Ðайдено возможное разрешение ÑлиÑÑ‚Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ:\n" -#: merge-recursive.c:1258 +#: merge-recursive.c:1243 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -2785,109 +3528,108 @@ msgid "" "which will accept this suggestion.\n" msgstr "ЕÑли оно верное, то проÑто добавьте его в индекÑ, например так:\n\n git update-index --cacheinfo 160000 %s \"%s\"\n\nтем Ñамым Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°Ñ Ñто предположение.\n" -#: merge-recursive.c:1267 +#: merge-recursive.c:1252 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Ðе удалоÑÑŒ Ñлить подмодуль %s (найдено неÑколько ÑлиÑний)" -#: merge-recursive.c:1326 +#: merge-recursive.c:1325 msgid "Failed to execute internal merge" msgstr "Ðе удалоÑÑŒ запуÑтить внутреннее ÑлиÑние" -#: merge-recursive.c:1331 +#: merge-recursive.c:1330 #, c-format msgid "Unable to add %s to database" msgstr "Ðе удалоÑÑŒ добавить %s в базу данных" -#: merge-recursive.c:1363 +#: merge-recursive.c:1362 #, c-format msgid "Auto-merging %s" msgstr "ÐвтоÑлиÑние %s" -#: merge-recursive.c:1434 +#: merge-recursive.c:1385 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "Ошибка: Отказ потери неотÑлеживаемого файла %s; запиÑÑŒ в %s взамен." -#: merge-recursive.c:1501 +#: merge-recursive.c:1457 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree." msgstr "КОÐФЛИКТ (%s/удаление): %s удалено в %s и %s в %s. ВерÑÐ¸Ñ %s из %s оÑтавлена в дереве." -#: merge-recursive.c:1506 +#: merge-recursive.c:1462 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " "left in tree." msgstr "КОÐФЛИКТ (%s/удаление): %s удалено в %s и от %s до %s в %s. ВерÑÐ¸Ñ %s из %s оÑтавлена в дереве." -#: merge-recursive.c:1513 +#: merge-recursive.c:1469 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree at %s." msgstr "КОÐФЛИКТ (%s/удаление): %s удалено в %s и %s в %s. ВерÑÐ¸Ñ %s из %s оÑтавлена в дереве на %s." -#: merge-recursive.c:1518 +#: merge-recursive.c:1474 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " "left in tree at %s." msgstr "КОÐФЛИКТ (%s/удаление): %s удалено в %s и от %s до %s в %s. ВерÑÐ¸Ñ %s из %s оÑтавлена в дереве на %s." -#: merge-recursive.c:1552 +#: merge-recursive.c:1509 msgid "rename" msgstr "переименование" -#: merge-recursive.c:1552 +#: merge-recursive.c:1509 msgid "renamed" msgstr "переименовано" -#: merge-recursive.c:1606 merge-recursive.c:1762 merge-recursive.c:2394 -#: merge-recursive.c:3129 +#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 #, c-format msgid "Refusing to lose dirty file at %s" -msgstr "Отказ потери измененного файла %s" +msgstr "Отказ потери изменённого файла %s" + +#: merge-recursive.c:1599 +#, c-format +msgid "Refusing to lose untracked file at %s, even though it's in the way." +msgstr "Отказ потери неотÑлеживаемого файла %s, даже Ñ ÑƒÑ‡ÐµÑ‚Ð¾Ð¼ его наличиÑ." -#: merge-recursive.c:1620 +#: merge-recursive.c:1657 +#, c-format +msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" +msgstr "" + +#: merge-recursive.c:1687 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s — Ñто каталог в %s, добавлÑем как %s вмеÑто Ñтого" -#: merge-recursive.c:1625 +#: merge-recursive.c:1692 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "Отказ потери неотÑлеживаемого файла %s; добавление как %s взамен." -#: merge-recursive.c:1651 +#: merge-recursive.c:1711 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename " "\"%s\"->\"%s\" in \"%s\"%s" msgstr "КОÐФЛИКТ (переименование/переименование): Переименование «%s»→«%s» в ветке «%s» и переименование «%s»→«%s» в ветке «%s»%s" -#: merge-recursive.c:1656 +#: merge-recursive.c:1716 msgid " (left unresolved)" msgstr " (оÑтавлено неразрешенным)" -#: merge-recursive.c:1720 +#: merge-recursive.c:1825 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "КОÐФЛИКТ (переименование/переименование): Переименование «%s»→«%s» в ветке «%s» и переименование «%s»→«%s» в ветке «%s»" -#: merge-recursive.c:1759 -#, c-format -msgid "Renaming %s to %s and %s to %s instead" -msgstr "Переименовываю %s в %s и %s в %s вмеÑто Ñтого" - -#: merge-recursive.c:1771 -#, c-format -msgid "Refusing to lose untracked file at %s, even though it's in the way." -msgstr "Отказ потери неотÑлеживаемого файла %s, даже Ñ ÑƒÑ‡ÐµÑ‚Ð¾Ð¼ его наличиÑ." - -#: merge-recursive.c:1977 +#: merge-recursive.c:2030 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -2895,134 +3637,157 @@ msgid "" "getting a majority of the files." msgstr "" -#: merge-recursive.c:2009 +#: merge-recursive.c:2062 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " "implicit directory rename(s) putting the following path(s) there: %s." msgstr "" -#: merge-recursive.c:2019 +#: merge-recursive.c:2072 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " "implicit directory renames tried to put these paths there: %s" msgstr "" -#: merge-recursive.c:2111 +#: merge-recursive.c:2164 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory " "%s->%s in %s" msgstr "" -#: merge-recursive.c:2356 +#: merge-recursive.c:2408 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " "renamed." msgstr "" -#: merge-recursive.c:2762 -#, c-format -msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" -msgstr "КОÐФЛИКТ (переименование/добавление): Переименование «%s»→«%s» в ветке «%s» и добавление «%s» в ветке «%s»" - -#: merge-recursive.c:2777 -#, c-format -msgid "Adding merged %s" -msgstr "Добавление Ñлитого %s" - -#: merge-recursive.c:2784 merge-recursive.c:3132 -#, c-format -msgid "Adding as %s instead" -msgstr "Добавление вмеÑто Ñтого как %s" - -#: merge-recursive.c:2941 +#: merge-recursive.c:2929 #, c-format msgid "cannot read object %s" msgstr "невозможно прочитать объект «%s»" -#: merge-recursive.c:2944 +#: merge-recursive.c:2932 #, c-format msgid "object %s is not a blob" msgstr "объект %s не ÑвлÑетÑÑ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ð¼ объектом" -#: merge-recursive.c:3013 +#: merge-recursive.c:2996 msgid "modify" msgstr "изменение" -#: merge-recursive.c:3013 +#: merge-recursive.c:2996 msgid "modified" msgstr "изменено" -#: merge-recursive.c:3024 +#: merge-recursive.c:3008 msgid "content" msgstr "Ñодержимое" -#: merge-recursive.c:3031 +#: merge-recursive.c:3012 msgid "add/add" msgstr "добавление/добавление" -#: merge-recursive.c:3076 +#: merge-recursive.c:3035 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "ПропуÑк %s (Ñлиты одинаковые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº ÑущеÑтвующие)" -#: merge-recursive.c:3098 git-submodule.sh:865 +#: merge-recursive.c:3057 git-submodule.sh:937 msgid "submodule" msgstr "подмодуль" -#: merge-recursive.c:3099 +#: merge-recursive.c:3058 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "КОÐФЛИКТ (%s): Конфликт ÑлиÑÐ½Ð¸Ñ Ð² %s" -#: merge-recursive.c:3221 +#: merge-recursive.c:3088 +#, c-format +msgid "Adding as %s instead" +msgstr "Добавление вмеÑто Ñтого как %s" + +#: merge-recursive.c:3170 +#, c-format +msgid "" +"Path updated: %s added in %s inside a directory that was renamed in %s; " +"moving it to %s." +msgstr "" + +#: merge-recursive.c:3173 +#, c-format +msgid "" +"CONFLICT (file location): %s added in %s inside a directory that was renamed" +" in %s, suggesting it should perhaps be moved to %s." +msgstr "" + +#: merge-recursive.c:3177 +#, c-format +msgid "" +"Path updated: %s renamed to %s in %s, inside a directory that was renamed in" +" %s; moving it to %s." +msgstr "" + +#: merge-recursive.c:3180 +#, c-format +msgid "" +"CONFLICT (file location): %s renamed to %s in %s, inside a directory that " +"was renamed in %s, suggesting it should perhaps be moved to %s." +msgstr "" + +#: merge-recursive.c:3294 #, c-format msgid "Removing %s" msgstr "Удаление %s" -#: merge-recursive.c:3247 +#: merge-recursive.c:3317 msgid "file/directory" msgstr "файл/каталог" -#: merge-recursive.c:3253 +#: merge-recursive.c:3322 msgid "directory/file" msgstr "каталог/файл" -#: merge-recursive.c:3260 +#: merge-recursive.c:3329 #, c-format msgid "" "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "КОÐФЛИКТ (%s): Уже ÑущеÑтвует каталог Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ «%s» в «%s». Добавление «%s» как «%s»" -#: merge-recursive.c:3269 +#: merge-recursive.c:3338 #, c-format msgid "Adding %s" msgstr "Добавление %s" -#: merge-recursive.c:3303 +#: merge-recursive.c:3347 +#, c-format +msgid "CONFLICT (add/add): Merge conflict in %s" +msgstr "" + +#: merge-recursive.c:3385 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" " %s" msgstr "" -#: merge-recursive.c:3314 +#: merge-recursive.c:3396 msgid "Already up to date!" msgstr "Уже обновлено!" -#: merge-recursive.c:3323 +#: merge-recursive.c:3405 #, c-format msgid "merging of trees %s and %s failed" msgstr "Ñбой ÑлиÑÐ½Ð¸Ñ Ð´ÐµÑ€ÐµÐ²ÑŒÐµÐ² «%s» и «%s»" -#: merge-recursive.c:3422 +#: merge-recursive.c:3504 msgid "Merging:" msgstr "СлиÑние:" -#: merge-recursive.c:3435 +#: merge-recursive.c:3517 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" @@ -3031,41 +3796,180 @@ msgstr[1] "найдено %u общих предка:" msgstr[2] "найдено %u общих предков:" msgstr[3] "найдено %u общих предков:" -#: merge-recursive.c:3474 +#: merge-recursive.c:3556 msgid "merge returned no commit" msgstr "ÑлиÑние не вернуло коммит" -#: merge-recursive.c:3540 +#: merge-recursive.c:3622 #, c-format msgid "Could not parse object '%s'" msgstr "Ðе удалоÑÑŒ разобрать объект «%s»" -#: merge-recursive.c:3556 builtin/merge.c:689 builtin/merge.c:846 +#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 msgid "Unable to write index." msgstr "Ðе удаетÑÑ Ð·Ð°Ð¿Ð¸Ñать индекÑ." -#: notes-merge.c:274 +#: midx.c:66 +#, c-format +msgid "multi-pack-index file %s is too small" +msgstr "" + +#: midx.c:82 +#, c-format +msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" +msgstr "" + +#: midx.c:87 +#, c-format +msgid "multi-pack-index version %d not recognized" +msgstr "" + +#: midx.c:92 +#, c-format +msgid "hash version %u does not match" +msgstr "верÑÐ¸Ñ Ñ…ÐµÑˆ-Ñуммы %u не ÑоответÑвует" + +#: midx.c:106 +msgid "invalid chunk offset (too large)" +msgstr "" + +#: midx.c:130 +msgid "terminating multi-pack-index chunk id appears earlier than expected" +msgstr "" + +#: midx.c:143 +msgid "multi-pack-index missing required pack-name chunk" +msgstr "" + +#: midx.c:145 +msgid "multi-pack-index missing required OID fanout chunk" +msgstr "" + +#: midx.c:147 +msgid "multi-pack-index missing required OID lookup chunk" +msgstr "" + +#: midx.c:149 +msgid "multi-pack-index missing required object offsets chunk" +msgstr "" + +#: midx.c:163 +#, c-format +msgid "multi-pack-index pack names out of order: '%s' before '%s'" +msgstr "" + +#: midx.c:208 +#, c-format +msgid "bad pack-int-id: %u (%u total packs)" +msgstr "" + +#: midx.c:258 +msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" +msgstr "" + +#: midx.c:286 +msgid "error preparing packfile from multi-pack-index" +msgstr "" + +#: midx.c:457 +#, c-format +msgid "failed to add packfile '%s'" +msgstr "" + +#: midx.c:463 +#, c-format +msgid "failed to open pack-index '%s'" +msgstr "" + +#: midx.c:557 +#, c-format +msgid "failed to locate object %d in packfile" +msgstr "" + +#: midx.c:993 +#, c-format +msgid "failed to clear multi-pack-index at %s" +msgstr "" + +#: midx.c:1048 +msgid "Looking for referenced packfiles" +msgstr "" + +#: midx.c:1063 +#, c-format +msgid "" +"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" +msgstr "" + +#: midx.c:1067 +msgid "Verifying OID order in MIDX" +msgstr "" + +#: midx.c:1076 +#, c-format +msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" +msgstr "" + +#: midx.c:1095 +msgid "Sorting objects by packfile" +msgstr "" + +#: midx.c:1101 +msgid "Verifying object offsets" +msgstr "" + +#: midx.c:1117 +#, c-format +msgid "failed to load pack entry for oid[%d] = %s" +msgstr "" + +#: midx.c:1123 +#, c-format +msgid "failed to load pack-index for packfile %s" +msgstr "" + +#: midx.c:1132 +#, c-format +msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" +msgstr "" + +#: name-hash.c:531 +#, c-format +msgid "unable to create lazy_dir thread: %s" +msgstr "" + +#: name-hash.c:553 +#, c-format +msgid "unable to create lazy_name thread: %s" +msgstr "" + +#: name-hash.c:559 +#, c-format +msgid "unable to join lazy_name thread: %s" +msgstr "" + +#: notes-merge.c:277 #, c-format msgid "" "You have not concluded your previous notes merge (%s exists).\n" "Please, use 'git notes merge --commit' or 'git notes merge --abort' to commit/abort the previous merge before you start a new notes merge." msgstr "Ð’Ñ‹ не закончили предыдущее ÑлиÑние заметок (%s ÑущеÑтвует).\nЗапуÑтите «git notes merge --commit» или «git notes merge --abort» Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° или отмены предыдущего ÑлиÑÐ½Ð¸Ñ Ð¸ запуÑка нового ÑлиÑÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº." -#: notes-merge.c:281 +#: notes-merge.c:284 #, c-format msgid "You have not concluded your notes merge (%s exists)." msgstr "Ð’Ñ‹ не закончили предыдущее ÑлиÑние заметок (%s ÑущеÑтвует)." -#: notes-utils.c:45 +#: notes-utils.c:46 msgid "Cannot commit uninitialized/unreferenced notes tree" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð·Ð°ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¸Ñ‚ÑŒ неинициализированное или не имеющее ÑÑылок дерево заметок" -#: notes-utils.c:104 +#: notes-utils.c:105 #, c-format msgid "Bad notes.rewriteMode value: '%s'" msgstr "Ðеправильное значение notes.rewriteMode: «%s»" -#: notes-utils.c:114 +#: notes-utils.c:115 #, c-format msgid "Refusing to rewrite notes in %s (outside of refs/notes/)" msgstr "Отказ в перезапиÑи заметок в %s (за пределами refs/notes/)" @@ -3073,7 +3977,7 @@ msgstr "Отказ в перезапиÑи заметок в %s (за преде #. TRANSLATORS: The first %s is the name of #. the environment variable, the second %s is #. its value. -#: notes-utils.c:144 +#: notes-utils.c:145 #, c-format msgid "Bad %s value: '%s'" msgstr "Ðеправильное значение переменной %s: «%s»" @@ -3083,358 +3987,706 @@ msgstr "Ðеправильное значение переменной %s: «%s msgid "invalid object type \"%s\"" msgstr "" -#: object.c:173 +#: object.c:174 #, c-format msgid "object %s is a %s, not a %s" msgstr "" -#: object.c:233 +#: object.c:234 #, c-format msgid "object %s has unknown type id %d" msgstr "" -#: object.c:246 +#: object.c:247 #, c-format msgid "unable to parse object: %s" msgstr "не удалоÑÑŒ разобрать объект: %s" -#: object.c:266 object.c:277 +#: object.c:267 object.c:278 #, c-format -msgid "sha1 mismatch %s" -msgstr "" +msgid "hash mismatch %s" +msgstr "неÑоответÑтвие хеш-Ñуммы %s" -#: packfile.c:563 +#: packfile.c:617 msgid "offset before end of packfile (broken .idx?)" msgstr "Ñдвиг до конца файла пакета (возможно, повреждён файл .idx?)" -#: packfile.c:1745 +#: packfile.c:1868 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "Ñдвиг до начала индекÑа пакета Ð´Ð»Ñ %s (повреждён индекÑ?)" -#: packfile.c:1749 +#: packfile.c:1872 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "Ñдвиг за пределами индекÑа пакета Ð´Ð»Ñ %s (обрезан индекÑ?)" -#: parse-options.c:672 +#: parse-options.c:38 +#, c-format +msgid "%s requires a value" +msgstr "" + +#: parse-options.c:73 +#, c-format +msgid "%s is incompatible with %s" +msgstr "" + +#: parse-options.c:78 +#, c-format +msgid "%s : incompatible with something else" +msgstr "" + +#: parse-options.c:92 parse-options.c:96 parse-options.c:319 +#, c-format +msgid "%s takes no value" +msgstr "" + +#: parse-options.c:94 +#, c-format +msgid "%s isn't available" +msgstr "" + +#: parse-options.c:219 +#, c-format +msgid "%s expects a non-negative integer value with an optional k/m/g suffix" +msgstr "" + +#: parse-options.c:389 +#, c-format +msgid "ambiguous option: %s (could be --%s%s or --%s%s)" +msgstr "" + +#: parse-options.c:423 parse-options.c:431 +#, c-format +msgid "did you mean `--%s` (with two dashes ?)" +msgstr "" + +#: parse-options.c:859 +#, c-format +msgid "unknown option `%s'" +msgstr "" + +#: parse-options.c:861 +#, c-format +msgid "unknown switch `%c'" +msgstr "" + +#: parse-options.c:863 +#, c-format +msgid "unknown non-ascii option in string: `%s'" +msgstr "" + +#: parse-options.c:887 msgid "..." msgstr "…" -#: parse-options.c:691 +#: parse-options.c:906 #, c-format msgid "usage: %s" msgstr "иÑпользование: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation. -#: parse-options.c:697 +#: parse-options.c:912 #, c-format msgid " or: %s" msgstr " или: %s" -#: parse-options.c:700 +#: parse-options.c:915 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:739 +#: parse-options.c:954 msgid "-NUM" msgstr "-КОЛИЧЕСТВО" -#: parse-options-cb.c:44 +#: parse-options.c:968 +#, c-format +msgid "alias of --%s" +msgstr "" + +#: parse-options-cb.c:20 parse-options-cb.c:24 +#, c-format +msgid "option `%s' expects a numerical value" +msgstr "" + +#: parse-options-cb.c:41 #, c-format msgid "malformed expiration date '%s'" msgstr "" -#: parse-options-cb.c:112 +#: parse-options-cb.c:54 +#, c-format +msgid "option `%s' expects \"always\", \"auto\", or \"never\"" +msgstr "" + +#: parse-options-cb.c:130 parse-options-cb.c:147 #, c-format msgid "malformed object name '%s'" msgstr "Ðеправильное Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° «%s»" -#: path.c:892 +#: path.c:897 #, c-format msgid "Could not make %s writable by group" msgstr "Ðе удалоÑÑŒ предоÑтавить доÑтуп к %s на запиÑÑŒ" -#: pathspec.c:129 +#: pathspec.c:128 msgid "Escape character '\\' not allowed as last character in attr value" msgstr "УправлÑющий Ñимвол «\\» не разрешен как поÑледний Ñимвол в значении attr" -#: pathspec.c:147 +#: pathspec.c:146 msgid "Only one 'attr:' specification is allowed." msgstr "Разрешен только один Ñпецификатор «attr:»." -#: pathspec.c:150 +#: pathspec.c:149 msgid "attr spec must not be empty" msgstr "Ñпецификатор attr не должен быть пуÑтой" -#: pathspec.c:193 +#: pathspec.c:192 #, c-format msgid "invalid attribute name %s" msgstr "недопуÑтимое Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° %s" -#: pathspec.c:258 +#: pathspec.c:257 msgid "global 'glob' and 'noglob' pathspec settings are incompatible" msgstr "глобальные опции Ñпецификаторов пути «glob» и «noglob» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: pathspec.c:265 +#: pathspec.c:264 msgid "" "global 'literal' pathspec setting is incompatible with all other global " "pathspec settings" msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ Ñпецификатора пути «literal» не ÑовмеÑтима Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ глобальными Ñпецификаторами доÑтупа" -#: pathspec.c:305 +#: pathspec.c:304 msgid "invalid parameter for pathspec magic 'prefix'" msgstr "неправильный параметр Ð´Ð»Ñ Ð¼Ð°Ð³Ð¸Ñ‡ÐµÑкого Ñлова «prefix» в Ñпецификаторе пути " -#: pathspec.c:326 +#: pathspec.c:325 #, c-format msgid "Invalid pathspec magic '%.*s' in '%s'" msgstr "неправильное магичеÑкое Ñлово «%.*s» в Ñпецификаторе пути «%s»" -#: pathspec.c:331 +#: pathspec.c:330 #, c-format msgid "Missing ')' at the end of pathspec magic in '%s'" msgstr "Пропущено «)» в конце магичеÑкого Ñлова Ñпецификатора пути «%s»" -#: pathspec.c:369 +#: pathspec.c:368 #, c-format msgid "Unimplemented pathspec magic '%c' in '%s'" msgstr "Ðереализованное магичеÑкое Ñлово «%c» Ñпецификатора пути «%s»" -#: pathspec.c:428 +#: pathspec.c:427 #, c-format msgid "%s: 'literal' and 'glob' are incompatible" msgstr "%s: «literal» и «glob» не ÑовмеÑтимы" -#: pathspec.c:441 +#: pathspec.c:440 #, c-format msgid "%s: '%s' is outside repository" msgstr "%s: «%s» вне репозиториÑ" -#: pathspec.c:515 +#: pathspec.c:514 #, c-format msgid "'%s' (mnemonic: '%c')" msgstr "«%s» (мнемоника: «%c»)" -#: pathspec.c:525 +#: pathspec.c:524 #, c-format msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s: магичеÑкие Ñлова в Ñпецификаторе пути не поддерживаютÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹: %s" -#: pathspec.c:592 +#: pathspec.c:591 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "Ñпецификатор пути «%s» находитÑÑ Ð·Ð° ÑимволичеÑкой ÑÑылкой" -#: pkt-line.c:104 +#: pkt-line.c:92 +msgid "unable to write flush packet" +msgstr "" + +#: pkt-line.c:99 +msgid "unable to write delim packet" +msgstr "" + +#: pkt-line.c:106 msgid "flush packet write failed" msgstr "" -#: pkt-line.c:142 pkt-line.c:228 +#: pkt-line.c:146 pkt-line.c:232 msgid "protocol error: impossibly long line" msgstr "" -#: pkt-line.c:158 pkt-line.c:160 +#: pkt-line.c:162 pkt-line.c:164 msgid "packet write with format failed" msgstr "" -#: pkt-line.c:192 +#: pkt-line.c:196 msgid "packet write failed - data exceeds max packet size" msgstr "" -#: pkt-line.c:199 pkt-line.c:206 +#: pkt-line.c:203 pkt-line.c:210 msgid "packet write failed" msgstr "" -#: pkt-line.c:291 +#: pkt-line.c:295 msgid "read error" msgstr "" -#: pkt-line.c:299 +#: pkt-line.c:303 msgid "the remote end hung up unexpectedly" msgstr "" -#: pkt-line.c:327 +#: pkt-line.c:331 #, c-format msgid "protocol error: bad line length character: %.4s" msgstr "" -#: pkt-line.c:337 pkt-line.c:342 +#: pkt-line.c:341 pkt-line.c:346 #, c-format msgid "protocol error: bad line length %d" msgstr "" -#: pretty.c:962 +#: pkt-line.c:362 +#, c-format +msgid "remote error: %s" +msgstr "ошибка внешнего репозиториÑ: %s" + +#: preload-index.c:119 +msgid "Refreshing index" +msgstr "" + +#: preload-index.c:138 +#, c-format +msgid "unable to create threaded lstat: %s" +msgstr "" + +#: pretty.c:966 msgid "unable to parse --pretty format" msgstr "не удалоÑÑŒ разобрать формат Ð´Ð»Ñ --pretty" -#: range-diff.c:48 +#: range-diff.c:56 msgid "could not start `log`" msgstr "" -#: range-diff.c:51 +#: range-diff.c:59 msgid "could not read `log` output" msgstr "" -#: range-diff.c:66 sequencer.c:4540 +#: range-diff.c:74 sequencer.c:4897 #, c-format msgid "could not parse commit '%s'" msgstr "не удалоÑÑŒ разобрать коммит «%s»" -#: range-diff.c:196 +#: range-diff.c:224 msgid "failed to generate diff" msgstr "" -#: range-diff.c:421 range-diff.c:423 +#: range-diff.c:455 range-diff.c:457 #, c-format msgid "could not parse log for '%s'" msgstr "" -#: read-cache.c:1579 +#: read-cache.c:680 +#, c-format +msgid "will not add file alias '%s' ('%s' already exists in index)" +msgstr "" + +#: read-cache.c:696 +msgid "cannot create an empty blob in the object database" +msgstr "" + +#: read-cache.c:718 +#, c-format +msgid "%s: can only add regular files, symbolic links or git-directories" +msgstr "" + +#: read-cache.c:723 +#, c-format +msgid "'%s' does not have a commit checked out" +msgstr "" + +#: read-cache.c:775 +#, c-format +msgid "unable to index file '%s'" +msgstr "" + +#: read-cache.c:794 +#, c-format +msgid "unable to add '%s' to index" +msgstr "" + +#: read-cache.c:805 +#, c-format +msgid "unable to stat '%s'" +msgstr "" + +#: read-cache.c:1314 +#, c-format +msgid "'%s' appears as both a file and as a directory" +msgstr "" + +#: read-cache.c:1499 +msgid "Refresh index" +msgstr "" + +#: read-cache.c:1613 #, c-format msgid "" "index.version set, but the value is invalid.\n" "Using version %i" msgstr "index.version указан, но значение недейÑтвительное.\nИÑпользую верÑию %i" -#: read-cache.c:1589 +#: read-cache.c:1623 #, c-format msgid "" "GIT_INDEX_VERSION set, but the value is invalid.\n" "Using version %i" msgstr "GIT_INDEX_VERSION указан, но значение недейÑтвительное.\nИÑпользую верÑию %i" -#: read-cache.c:2580 sequencer.c:4503 wrapper.c:658 builtin/merge.c:1083 +#: read-cache.c:1679 +#, c-format +msgid "bad signature 0x%08x" +msgstr "" + +#: read-cache.c:1682 +#, c-format +msgid "bad index version %d" +msgstr "" + +#: read-cache.c:1691 +msgid "bad index file sha1 signature" +msgstr "" + +#: read-cache.c:1721 +#, c-format +msgid "index uses %.4s extension, which we do not understand" +msgstr "" + +#: read-cache.c:1723 +#, c-format +msgid "ignoring %.4s extension" +msgstr "" + +#: read-cache.c:1760 +#, c-format +msgid "unknown index entry format 0x%08x" +msgstr "" + +#: read-cache.c:1776 +#, c-format +msgid "malformed name field in the index, near path '%s'" +msgstr "" + +#: read-cache.c:1833 +msgid "unordered stage entries in index" +msgstr "" + +#: read-cache.c:1836 +#, c-format +msgid "multiple stage entries for merged file '%s'" +msgstr "" + +#: read-cache.c:1839 +#, c-format +msgid "unordered stage entries for '%s'" +msgstr "" + +#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 +#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 +#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 +#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 +#: builtin/submodule--helper.c:330 +msgid "index file corrupt" +msgstr "файл индекÑа поврежден" + +#: read-cache.c:2087 +#, c-format +msgid "unable to create load_cache_entries thread: %s" +msgstr "" + +#: read-cache.c:2100 +#, c-format +msgid "unable to join load_cache_entries thread: %s" +msgstr "" + +#: read-cache.c:2133 +#, c-format +msgid "%s: index file open failed" +msgstr "" + +#: read-cache.c:2137 +#, c-format +msgid "%s: cannot stat the open index" +msgstr "" + +#: read-cache.c:2141 +#, c-format +msgid "%s: index file smaller than expected" +msgstr "" + +#: read-cache.c:2145 +#, c-format +msgid "%s: unable to map index file" +msgstr "" + +#: read-cache.c:2187 +#, c-format +msgid "unable to create load_index_extensions thread: %s" +msgstr "" + +#: read-cache.c:2214 +#, c-format +msgid "unable to join load_index_extensions thread: %s" +msgstr "" + +#: read-cache.c:2246 +#, c-format +msgid "could not freshen shared index '%s'" +msgstr "" + +#: read-cache.c:2293 +#, c-format +msgid "broken index, expect %s in %s, got %s" +msgstr "" + +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 #, c-format msgid "could not close '%s'" msgstr "не удалоÑÑŒ закрыть «%s»" -#: read-cache.c:2653 sequencer.c:2113 sequencer.c:3374 +#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 #, c-format msgid "could not stat '%s'" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Â«%s»" -#: read-cache.c:2666 +#: read-cache.c:3105 #, c-format msgid "unable to open git dir: %s" msgstr "не удалоÑÑŒ открыть каталог git: %s" -#: read-cache.c:2678 +#: read-cache.c:3117 #, c-format msgid "unable to unlink: %s" msgstr "не удалоÑÑŒ отÑоединить: %s" +#: read-cache.c:3142 +#, c-format +msgid "cannot fix permission bits on '%s'" +msgstr "" + +#: read-cache.c:3291 +#, c-format +msgid "%s: cannot drop to stage #0" +msgstr "" + +#: rebase-interactive.c:26 +#, c-format +msgid "" +"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring." +msgstr "нераÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð½Ð°Ñтройка %s Ð´Ð»Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ rebase.missingCommitsCheck. Игнорирую." + +#: rebase-interactive.c:35 +msgid "" +"\n" +"Commands:\n" +"p, pick <commit> = use commit\n" +"r, reword <commit> = use commit, but edit the commit message\n" +"e, edit <commit> = use commit, but stop for amending\n" +"s, squash <commit> = use commit, but meld into previous commit\n" +"f, fixup <commit> = like \"squash\", but discard this commit's log message\n" +"x, exec <command> = run command (the rest of the line) using shell\n" +"b, break = stop here (continue rebase later with 'git rebase --continue')\n" +"d, drop <commit> = remove commit\n" +"l, label <label> = label current HEAD with a name\n" +"t, reset <label> = reset HEAD to a label\n" +"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n" +". create a merge commit using the original merge commit's\n" +". message (or the oneline, if no original merge commit was\n" +". specified). Use -c <commit> to reword the commit message.\n" +"\n" +"These lines can be re-ordered; they are executed from top to bottom.\n" +msgstr "\nКоманды:\np, pick <коммит> = иÑпользовать коммит\nr, reword <коммит> = иÑпользовать коммит, но изменить Ñообщение коммита\ne, edit <коммит> = иÑпользовать коммит, но оÑтановитьÑÑ Ð´Ð»Ñ Ð¸ÑправлениÑ\ns, squash <коммит> = иÑпользовать коммит, но объединить Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ коммитом\nf, fixup <коммит> = как «squash», но пропуÑтить Ñообщение коммита\nx, exec <команда> = выполнить команду (оÑтаток Ñтроки) Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ командной оболочки\nb, break = оÑтановитьÑÑ Ð·Ð´ÐµÑÑŒ (продолжить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git rebase --continue»)\nd, drop <коммит> = удалить коммит\nl, label <метка> = дать Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¼Ñƒ HEAD\nt, reset <метка> = ÑброÑить HEAD к указанной метке\nm, merge [-C <коммит> | -c <коммит>] <метка> [# <Ñтрока>]\n. Ñоздать ÑлиÑние иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñообщение коммита оригинального\n. ÑлиÑÐ½Ð¸Ñ (или иÑпользовать указанную Ñтроку, еÑли оригинальное\n. ÑлиÑние не указано). ИÑпользуйте -c <коммит> чтобы изменить\n. Ñообщение коммита.\n\nÐти Ñтроки можно перемещать; они будут выполнены Ñверху вниз.\n" + +#: rebase-interactive.c:56 +#, c-format +msgid "Rebase %s onto %s (%d command)" +msgid_plural "Rebase %s onto %s (%d commands)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +msgid "" +"\n" +"Do not remove any line. Use 'drop' explicitly to remove a commit.\n" +msgstr "\nÐе удалÑйте Ñтроки. ИÑпользуйте «drop», чтобы Ñвно удалить коммит.\n" + +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +msgid "" +"\n" +"If you remove a line here THAT COMMIT WILL BE LOST.\n" +msgstr "\nЕÑли вы удалите Ñтроку здеÑÑŒ, то УКÐЗÐÐÐЫЙ КОММИТ БУДЕТ УТЕРЯÐ.\n" + +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +msgid "" +"\n" +"You are editing the todo file of an ongoing interactive rebase.\n" +"To continue rebase after editing, run:\n" +" git rebase --continue\n" +"\n" +msgstr "\nÐ’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚Ðµ файл Ñо ÑпиÑком дел Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ перемещениÑ.\nÐ”Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ, поÑле Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° запуÑтите:\n git rebase --continue\n\n" + +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +msgid "" +"\n" +"However, if you remove everything, the rebase will be aborted.\n" +"\n" +msgstr "\nÐо еÑли вы удалите вÑе, то процеÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ будет прерван.\n\n" + +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +msgid "Note that empty commits are commented out" +msgstr "Заметьте, что пуÑтые коммиты закомментированны" + +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 +#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#, c-format +msgid "could not write '%s'" +msgstr "не удалоÑÑŒ запиÑать «%s»" + +#: rebase-interactive.c:108 +#, c-format +msgid "could not copy '%s' to '%s'." +msgstr "" + +#: rebase-interactive.c:173 +#, c-format +msgid "" +"Warning: some commits may have been dropped accidentally.\n" +"Dropped commits (newer to older):\n" +msgstr "Внимание: некоторые коммиты могли быть отброшены по ошибке.\nОтброшенные коммиты (от новых к Ñтарым):\n" + +#: rebase-interactive.c:180 +#, c-format +msgid "" +"To avoid this message, use \"drop\" to explicitly remove a commit.\n" +"\n" +"Use 'git config rebase.missingCommitsCheck' to change the level of warnings.\n" +"The possible behaviours are: ignore, warn, error.\n" +"\n" +msgstr "Чтобы избежать Ñтого ÑообщениÑ, иÑпользуйте «drop» чтобы Ñвно удалить коммит.\n\nИÑпользуйте опцию «git config rebase.missingCommitsCheck» Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтва предупреждений.\nВозможные значениÑ: ignore, warn, error.\n\n" + #: refs.c:192 #, c-format msgid "%s does not point to a valid object!" msgstr "" -#: refs.c:579 +#: refs.c:597 #, c-format msgid "ignoring dangling symref %s" msgstr "" -#: refs.c:581 ref-filter.c:2067 +#: refs.c:599 ref-filter.c:1982 #, c-format msgid "ignoring broken ref %s" msgstr "игнорирую неправильную ÑÑылку %s" -#: refs.c:685 +#: refs.c:734 #, c-format msgid "could not open '%s' for writing: %s" msgstr "не удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи: %s" -#: refs.c:695 refs.c:746 +#: refs.c:744 refs.c:795 #, c-format msgid "could not read ref '%s'" msgstr "" -#: refs.c:701 +#: refs.c:750 #, c-format msgid "ref '%s' already exists" msgstr "" -#: refs.c:706 +#: refs.c:755 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "" -#: refs.c:714 sequencer.c:385 sequencer.c:2366 sequencer.c:2492 -#: sequencer.c:2506 sequencer.c:2733 sequencer.c:4501 sequencer.c:4564 -#: wrapper.c:656 +#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 +#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "не удалоÑÑŒ запиÑать в «%s»" -#: refs.c:741 sequencer.c:4499 sequencer.c:4558 wrapper.c:225 wrapper.c:395 -#: builtin/am.c:780 +#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:993 #, c-format msgid "could not open '%s' for writing" msgstr "не удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" -#: refs.c:748 +#: refs.c:797 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "" -#: refs.c:879 +#: refs.c:928 #, c-format msgid "log for ref %s has gap after %s" msgstr "" -#: refs.c:885 +#: refs.c:934 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "" -#: refs.c:943 +#: refs.c:993 #, c-format msgid "log for %s is empty" msgstr "" -#: refs.c:1035 +#: refs.c:1085 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "" -#: refs.c:1111 +#: refs.c:1161 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "" -#: refs.c:1853 +#: refs.c:1942 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "" -#: refs.c:1885 +#: refs.c:1974 msgid "ref updates forbidden inside quarantine environment" msgstr "обновление ÑÑылок запрещено в изолированном окружении" -#: refs.c:1981 refs.c:2011 +#: refs.c:2070 refs.c:2100 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "" -#: refs.c:1987 refs.c:2022 +#: refs.c:2076 refs.c:2111 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "" -#: refs/files-backend.c:1191 +#: refs/files-backend.c:1234 #, c-format msgid "could not remove reference %s" msgstr "не удалоÑÑŒ удалить ÑÑылки %s" -#: refs/files-backend.c:1205 refs/packed-backend.c:1532 +#: refs/files-backend.c:1248 refs/packed-backend.c:1532 #: refs/packed-backend.c:1542 #, c-format msgid "could not delete reference %s: %s" msgstr "не удалоÑÑŒ удалить ÑÑылку %s: %s" -#: refs/files-backend.c:1208 refs/packed-backend.c:1545 +#: refs/files-backend.c:1251 refs/packed-backend.c:1545 #, c-format msgid "could not delete references: %s" msgstr "не удалоÑÑŒ удалить ÑÑылки: %s" @@ -3444,329 +4696,463 @@ msgstr "не удалоÑÑŒ удалить ÑÑылки: %s" msgid "invalid refspec '%s'" msgstr "" -#: ref-filter.c:38 wt-status.c:1850 +#: ref-filter.c:39 wt-status.c:1909 msgid "gone" msgstr "иÑчез" -#: ref-filter.c:39 +#: ref-filter.c:40 #, c-format msgid "ahead %d" msgstr "впереди %d" -#: ref-filter.c:40 +#: ref-filter.c:41 #, c-format msgid "behind %d" msgstr "позади %d" -#: ref-filter.c:41 +#: ref-filter.c:42 #, c-format msgid "ahead %d, behind %d" msgstr "впереди %d, позади %d" -#: ref-filter.c:137 +#: ref-filter.c:138 #, c-format msgid "expected format: %%(color:<color>)" msgstr "ожидаемый формат: %%(color:<color>)" -#: ref-filter.c:139 +#: ref-filter.c:140 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "неопознанный цвет: %%(color:%s)" -#: ref-filter.c:161 +#: ref-filter.c:162 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "ОжидаетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленное значение refname:lstrip=%s" -#: ref-filter.c:165 +#: ref-filter.c:166 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "ОжидаетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленное значение refname:rstrip=%s" -#: ref-filter.c:167 +#: ref-filter.c:168 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "неопознанный аргумент %%(%s): %s" -#: ref-filter.c:222 +#: ref-filter.c:223 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "" -#: ref-filter.c:234 +#: ref-filter.c:245 +#, c-format +msgid "unrecognized %%(objectsize) argument: %s" +msgstr "" + +#: ref-filter.c:253 #, c-format -msgid "%%(objectsize) does not take arguments" +msgid "%%(deltabase) does not take arguments" msgstr "" -#: ref-filter.c:246 +#: ref-filter.c:265 #, c-format msgid "%%(body) does not take arguments" msgstr "параметр %%(body) не принимает аргументы" -#: ref-filter.c:255 +#: ref-filter.c:274 #, c-format msgid "%%(subject) does not take arguments" msgstr "параметр %%(subject) не принимает аргументы" -#: ref-filter.c:275 +#: ref-filter.c:296 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "неизвеÑтный аргумент Ð´Ð»Ñ %%(trailers): %s" -#: ref-filter.c:304 +#: ref-filter.c:325 #, c-format msgid "positive value expected contents:lines=%s" msgstr "положительное значение ожидает contents:lines=%s" -#: ref-filter.c:306 +#: ref-filter.c:327 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "неопознанный аргумент %%(contents): %s" -#: ref-filter.c:321 +#: ref-filter.c:342 #, c-format msgid "positive value expected objectname:short=%s" msgstr "ожидаетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ значение objectname:short=%s" -#: ref-filter.c:325 +#: ref-filter.c:346 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "неопознанный аргумент %%(objectname): %s" -#: ref-filter.c:355 +#: ref-filter.c:376 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "ожидаемый формат: %%(align:<width>,<position>)" -#: ref-filter.c:367 +#: ref-filter.c:388 #, c-format msgid "unrecognized position:%s" msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ:%s" -#: ref-filter.c:374 +#: ref-filter.c:395 #, c-format msgid "unrecognized width:%s" msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°:%s" -#: ref-filter.c:383 +#: ref-filter.c:404 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "неопознанный аргумент %%(align): %s" -#: ref-filter.c:391 +#: ref-filter.c:412 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "ожидаетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ чаÑтицы %%(align)" -#: ref-filter.c:409 +#: ref-filter.c:430 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "неопознанный аргумент %%(if): %s" -#: ref-filter.c:505 +#: ref-filter.c:531 #, c-format msgid "malformed field name: %.*s" msgstr "неправильное Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ: %.*s" -#: ref-filter.c:532 +#: ref-filter.c:558 #, c-format msgid "unknown field name: %.*s" msgstr "неизвеÑтное Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ: %.*s" -#: ref-filter.c:656 +#: ref-filter.c:562 +#, c-format +msgid "" +"not a git repository, but the field '%.*s' requires access to object data" +msgstr "" + +#: ref-filter.c:686 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "формат: чаÑтица %%(if) иÑпользована без чаÑтицы %%(then)" -#: ref-filter.c:719 +#: ref-filter.c:749 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "формат: чаÑтица %%(then) иÑпользована без чаÑтицы %%(if)" -#: ref-filter.c:721 +#: ref-filter.c:751 #, c-format msgid "format: %%(then) atom used more than once" msgstr "формат: чаÑтица %%(then) иÑпользована более одного раза" -#: ref-filter.c:723 +#: ref-filter.c:753 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "формат: чаÑтица %%(then) иÑпользована поÑле %%(else)" -#: ref-filter.c:751 +#: ref-filter.c:781 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "формат: чаÑтица %%(else) иÑпользована без чаÑтицы %%(if)" -#: ref-filter.c:753 +#: ref-filter.c:783 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "формат: чаÑтица %%(else) иÑпользована без чаÑтицы %%(then)" -#: ref-filter.c:755 +#: ref-filter.c:785 #, c-format msgid "format: %%(else) atom used more than once" msgstr "формат: чаÑтица %%(else) иÑпользована более одного раза" -#: ref-filter.c:770 +#: ref-filter.c:800 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "формат: чаÑтица %%(end) иÑпользована без ÑоответÑтвующей чаÑтицы" -#: ref-filter.c:827 +#: ref-filter.c:857 #, c-format msgid "malformed format string %s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока формата %s" -#: ref-filter.c:1416 +#: ref-filter.c:1453 #, c-format msgid "(no branch, rebasing %s)" msgstr "(нет ветки, перемещение %s)" -#: ref-filter.c:1419 +#: ref-filter.c:1456 #, c-format msgid "(no branch, rebasing detached HEAD %s)" msgstr "(нет ветки перемещение отделённого HEAD %s)" -#: ref-filter.c:1422 +#: ref-filter.c:1459 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(нет ветки, двоичный поиÑк начат на %s)" #. TRANSLATORS: make sure this matches "HEAD #. detached at " in wt-status.c -#: ref-filter.c:1430 +#: ref-filter.c:1467 #, c-format msgid "(HEAD detached at %s)" msgstr "(HEAD отделён на %s)" #. TRANSLATORS: make sure this matches "HEAD #. detached from " in wt-status.c -#: ref-filter.c:1437 +#: ref-filter.c:1474 #, c-format msgid "(HEAD detached from %s)" msgstr "(HEAD отделён Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s)" -#: ref-filter.c:1441 +#: ref-filter.c:1478 msgid "(no branch)" msgstr "(нет ветки)" -#: ref-filter.c:1475 ref-filter.c:1623 +#: ref-filter.c:1512 ref-filter.c:1669 #, c-format msgid "missing object %s for %s" msgstr "не найден объект %s Ð´Ð»Ñ %s" -#: ref-filter.c:1483 +#: ref-filter.c:1522 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "Ñбой при выполнении parse_object_buffer на %s Ð´Ð»Ñ %s" -#: ref-filter.c:1980 +#: ref-filter.c:1888 #, c-format msgid "malformed object at '%s'" msgstr "Повреждённый объект «%s»" -#: ref-filter.c:2062 +#: ref-filter.c:1977 #, c-format msgid "ignoring ref with broken name %s" msgstr "игнорирую ÑÑылку Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ именем %s" -#: ref-filter.c:2340 +#: ref-filter.c:2263 #, c-format msgid "format: %%(end) atom missing" msgstr "format: пропущена чаÑтица %%(end)" -#: ref-filter.c:2444 +#: ref-filter.c:2363 +#, c-format +msgid "option `%s' is incompatible with --merged" +msgstr "" + +#: ref-filter.c:2366 +#, c-format +msgid "option `%s' is incompatible with --no-merged" +msgstr "" + +#: ref-filter.c:2376 #, c-format msgid "malformed object name %s" msgstr "неправильное Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %s" -#: remote.c:606 +#: ref-filter.c:2381 +#, c-format +msgid "option `%s' must point to a commit" +msgstr "" + +#: remote.c:363 +#, c-format +msgid "config remote shorthand cannot begin with '/': %s" +msgstr "" + +#: remote.c:410 +msgid "more than one receivepack given, using the first" +msgstr "" + +#: remote.c:418 +msgid "more than one uploadpack given, using the first" +msgstr "" + +#: remote.c:608 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÑŒ одновременно %s и %s в %s" -#: remote.c:610 +#: remote.c:612 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s обычно отÑлеживает %s, а не %s" -#: remote.c:614 +#: remote.c:616 #, c-format msgid "%s tracks both %s and %s" msgstr "%s отÑлеживает и %s и %s" -#: remote.c:622 -msgid "Internal error" -msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°" +#: remote.c:684 +#, c-format +msgid "key '%s' of pattern had no '*'" +msgstr "" -#: remote.c:1536 remote.c:1637 +#: remote.c:694 +#, c-format +msgid "value '%s' of pattern has no '*'" +msgstr "" + +#: remote.c:1000 +#, c-format +msgid "src refspec %s does not match any" +msgstr "" + +#: remote.c:1005 +#, c-format +msgid "src refspec %s matches more than one" +msgstr "" + +#. TRANSLATORS: "matches '%s'%" is the <dst> part of "git push +#. <remote> <src>:<dst>" push, and "being pushed ('%s')" is +#. the <src>. +#: remote.c:1020 +#, c-format +msgid "" +"The destination you provided is not a full refname (i.e.,\n" +"starting with \"refs/\"). We tried to guess what you meant by:\n" +"\n" +"- Looking for a ref that matches '%s' on the remote side.\n" +"- Checking if the <src> being pushed ('%s')\n" +" is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n" +" refs/{heads,tags}/ prefix on the remote side.\n" +"\n" +"Neither worked, so we gave up. You must fully qualify the ref." +msgstr "" + +#: remote.c:1040 +#, c-format +msgid "" +"The <src> part of the refspec is a commit object.\n" +"Did you mean to create a new branch by pushing to\n" +"'%s:refs/heads/%s'?" +msgstr "" + +#: remote.c:1045 +#, c-format +msgid "" +"The <src> part of the refspec is a tag object.\n" +"Did you mean to create a new tag by pushing to\n" +"'%s:refs/tags/%s'?" +msgstr "" + +#: remote.c:1050 +#, c-format +msgid "" +"The <src> part of the refspec is a tree object.\n" +"Did you mean to tag a new tree by pushing to\n" +"'%s:refs/tags/%s'?" +msgstr "" + +#: remote.c:1055 +#, c-format +msgid "" +"The <src> part of the refspec is a blob object.\n" +"Did you mean to tag a new blob by pushing to\n" +"'%s:refs/tags/%s'?" +msgstr "" + +#: remote.c:1091 +#, c-format +msgid "%s cannot be resolved to branch" +msgstr "" + +#: remote.c:1102 +#, c-format +msgid "unable to delete '%s': remote ref does not exist" +msgstr "" + +#: remote.c:1114 +#, c-format +msgid "dst refspec %s matches more than one" +msgstr "" + +#: remote.c:1121 +#, c-format +msgid "dst ref %s receives from more than one src" +msgstr "" + +#: remote.c:1624 remote.c:1725 msgid "HEAD does not point to a branch" msgstr "HEAD не указывает на ветку" -#: remote.c:1545 +#: remote.c:1633 #, c-format msgid "no such branch: '%s'" msgstr "нет такой ветки: «%s»" -#: remote.c:1548 +#: remote.c:1636 #, c-format msgid "no upstream configured for branch '%s'" msgstr "вышеÑтоÑÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° не наÑтроена Ð´Ð»Ñ Ð²ÐµÑ‚ÐºÐ¸ «%s»" -#: remote.c:1554 +#: remote.c:1642 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "вышеÑтоÑÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° «%s» не Ñохранена как отÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ‚ÐºÐ°" -#: remote.c:1569 +#: remote.c:1657 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "назначение Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ «%s» на внешнем Ñервере «%s» не имеет локальной отÑлеживаемой ветки" -#: remote.c:1581 +#: remote.c:1669 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "ветка «%s» не имеет внешнего Ñервера Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸" -#: remote.c:1591 +#: remote.c:1679 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "Ñпецификаторы пути Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ «%s» не включают в ÑÐµÐ±Ñ Â«%s»" -#: remote.c:1604 +#: remote.c:1692 msgid "push has no destination (push.default is 'nothing')" msgstr "отправка не имеет точки Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ (push.default выÑтавлен в «nothing»)" -#: remote.c:1626 +#: remote.c:1714 msgid "cannot resolve 'simple' push to a single destination" msgstr "не удалоÑÑŒ выполнить «simple» отправку в единÑтвенную точку назначениÑ" -#: remote.c:1951 +#: remote.c:1840 +#, c-format +msgid "couldn't find remote ref %s" +msgstr "" + +#: remote.c:1853 +#, c-format +msgid "* Ignoring funny ref '%s' locally" +msgstr "" + +#: remote.c:2016 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "Ваша ветка базируетÑÑ Ð½Ð° «%s», но вышеÑтоÑщий репозиторий иÑчез.\n" -#: remote.c:1955 +#: remote.c:2020 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr "(Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑƒÑтите «git branch --unset-upstream»)\n" -#: remote.c:1958 +#: remote.c:2023 #, c-format msgid "Your branch is up to date with '%s'.\n" msgstr "Ваша ветка обновлена в ÑоответÑтвии Ñ Â«%s».\n" -#: remote.c:1962 +#: remote.c:2027 #, c-format msgid "Your branch and '%s' refer to different commits.\n" msgstr "Ваша ветка и «%s» указывают на разные коммиты.\n" -#: remote.c:1965 +#: remote.c:2030 #, c-format msgid " (use \"%s\" for details)\n" msgstr " (иÑпользуйте «%s» Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра опиÑаниÑ)\n" -#: remote.c:1969 +#: remote.c:2034 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" @@ -3775,11 +5161,11 @@ msgstr[1] "Ваша ветка опережает «%s» на %d коммита. msgstr[2] "Ваша ветка опережает «%s» на %d коммитов.\n" msgstr[3] "Ваша ветка опережает «%s» на %d коммитов.\n" -#: remote.c:1975 +#: remote.c:2040 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (иÑпользуйте «git push», чтобы опубликовать ваши локальные коммиты)\n" -#: remote.c:1978 +#: remote.c:2043 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -3789,11 +5175,11 @@ msgstr[1] "Ваша ветка отÑтает от «%s» на %d коммита msgstr[2] "Ваша ветка отÑтает от «%s» на %d коммитов и может быть перемотана вперед.\n" msgstr[3] "Ваша ветка отÑтает от «%s» на %d коммитов и может быть перемотана вперед.\n" -#: remote.c:1986 +#: remote.c:2051 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (иÑпользуйте «git pull», чтобы обновить вашу локальную ветку)\n" -#: remote.c:1989 +#: remote.c:2054 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -3806,198 +5192,340 @@ msgstr[1] "Ваша ветка и «%s» разделилиÑÑŒ\nи теперь msgstr[2] "Ваша ветка и «%s» разделилиÑÑŒ\nи теперь имеют %d и %d разных коммитов в каждой ÑоответÑтвенно.\n" msgstr[3] "Ваша ветка и «%s» разделилиÑÑŒ\nи теперь имеют %d и %d разных коммитов в каждой ÑоответÑтвенно.\n" -#: remote.c:1999 +#: remote.c:2064 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (иÑпользуйте «git pull», чтобы Ñлить внешнюю ветку в вашу)\n" -#: replace-object.c:20 +#: remote.c:2247 +#, c-format +msgid "cannot parse expected object name '%s'" +msgstr "" + +#: replace-object.c:21 #, c-format msgid "bad replace ref name: %s" msgstr "" -#: replace-object.c:29 +#: replace-object.c:30 #, c-format msgid "duplicate replace ref: %s" msgstr "" -#: replace-object.c:72 +#: replace-object.c:73 #, c-format msgid "replace depth too high for object %s" msgstr "" -#: revision.c:2305 +#: rerere.c:217 rerere.c:226 rerere.c:229 +msgid "corrupt MERGE_RR" +msgstr "" + +#: rerere.c:264 rerere.c:269 +msgid "unable to write rerere record" +msgstr "" + +#: rerere.c:495 +#, c-format +msgid "there were errors while writing '%s' (%s)" +msgstr "" + +#: rerere.c:498 +#, c-format +msgid "failed to flush '%s'" +msgstr "" + +#: rerere.c:503 rerere.c:1039 +#, c-format +msgid "could not parse conflict hunks in '%s'" +msgstr "" + +#: rerere.c:684 +#, c-format +msgid "failed utime() on '%s'" +msgstr "" + +#: rerere.c:694 +#, c-format +msgid "writing '%s' failed" +msgstr "" + +#: rerere.c:714 +#, c-format +msgid "Staged '%s' using previous resolution." +msgstr "" + +#: rerere.c:753 +#, c-format +msgid "Recorded resolution for '%s'." +msgstr "" + +#: rerere.c:788 +#, c-format +msgid "Resolved '%s' using previous resolution." +msgstr "" + +#: rerere.c:803 +#, c-format +msgid "cannot unlink stray '%s'" +msgstr "" + +#: rerere.c:807 +#, c-format +msgid "Recorded preimage for '%s'" +msgstr "" + +#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 +#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#, c-format +msgid "could not create directory '%s'" +msgstr "не удалоÑÑŒ Ñоздать каталог «%s»" + +#: rerere.c:1057 +#, c-format +msgid "failed to update conflicted state in '%s'" +msgstr "" + +#: rerere.c:1068 rerere.c:1075 +#, c-format +msgid "no remembered resolution for '%s'" +msgstr "" + +#: rerere.c:1077 +#, c-format +msgid "cannot unlink '%s'" +msgstr "" + +#: rerere.c:1087 +#, c-format +msgid "Updated preimage for '%s'" +msgstr "" + +#: rerere.c:1096 +#, c-format +msgid "Forgot resolution for '%s'\n" +msgstr "" + +#: rerere.c:1199 +msgid "unable to open rr-cache directory" +msgstr "" + +#: revision.c:2476 msgid "your current branch appears to be broken" msgstr "похоже, ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° повреждена" -#: revision.c:2308 +#: revision.c:2479 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° «%s» еще не Ñодержит ни одного коммита" -#: revision.c:2505 +#: revision.c:2679 msgid "--first-parent is incompatible with --bisect" msgstr "опцию --first-parent Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ --bisect" -#: run-command.c:728 +#: revision.c:2683 +msgid "-L does not yet support diff formats besides -p and -s" +msgstr "" + +#: run-command.c:763 msgid "open /dev/null failed" msgstr "Ñбой Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ /dev/null" -#: run-command.c:1271 +#: run-command.c:1269 +#, c-format +msgid "cannot create async thread: %s" +msgstr "" + +#: run-command.c:1333 #, c-format msgid "" "The '%s' hook was ignored because it's not set as executable.\n" "You can disable this warning with `git config advice.ignoredHook false`." msgstr "Перехватчик «%s» был проигнорирован, так как он не уÑтановлен как иÑполнÑемый.\nÐ’Ñ‹ можете отключить Ñто предупреждение Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды «git config advice.ignoredHook false»." -#: send-pack.c:142 +#: send-pack.c:141 msgid "unexpected flush packet while reading remote unpack status" msgstr "неожиданный пуÑтой пакет при чтении ÑтатуÑа внешней раÑпаковки" -#: send-pack.c:144 +#: send-pack.c:143 #, c-format msgid "unable to parse remote unpack status: %s" msgstr "не удалоÑÑŒ разобрать ÑÑ‚Ð°Ñ‚ÑƒÑ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ раÑпаковки: %s" -#: send-pack.c:146 +#: send-pack.c:145 #, c-format msgid "remote unpack failed: %s" msgstr "Ñбой при внешней раÑпаковке %s" -#: send-pack.c:309 +#: send-pack.c:306 msgid "failed to sign the push certificate" msgstr "Ñбой подпиÑÐ°Ð½Ð¸Ñ Ñертификата отправки" -#: send-pack.c:422 +#: send-pack.c:420 msgid "the receiving end does not support --signed push" msgstr "Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð°Ñ Ñторона не поддерживает отправку Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --signed" -#: send-pack.c:424 +#: send-pack.c:422 msgid "" "not sending a push certificate since the receiving end does not support " "--signed push" msgstr "не отправлÑем Ñертификат Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸, так как Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð°Ñ Ñторона не поддерживает отправку Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --signed" -#: send-pack.c:436 +#: send-pack.c:434 msgid "the receiving end does not support --atomic push" msgstr "Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð°Ñ Ñторона не поддерживает отправку Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --atomic" -#: send-pack.c:441 +#: send-pack.c:439 msgid "the receiving end does not support push options" msgstr "Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð°Ñ Ñторона не поддерживает отправку Ñ Ð¾Ð¿Ñ†Ð¸Ñми" -#: sequencer.c:177 +#: sequencer.c:187 #, c-format msgid "invalid commit message cleanup mode '%s'" msgstr "неправильный режим очиÑтки ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° «%s»" -#: sequencer.c:278 +#: sequencer.c:292 #, c-format msgid "could not delete '%s'" msgstr "не удалоÑÑŒ удалить «%s»" -#: sequencer.c:304 +#: sequencer.c:318 msgid "revert" msgstr "обратить изменениÑ" -#: sequencer.c:306 +#: sequencer.c:320 msgid "cherry-pick" msgstr "копировать коммит" -#: sequencer.c:308 +#: sequencer.c:322 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:310 +#: sequencer.c:324 #, c-format msgid "unknown action: %d" msgstr "" -#: sequencer.c:367 +#: sequencer.c:382 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "поÑле Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð², пометьте иÑправленные пути\nÑ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git add <пути>» или «git rm <пути>»" -#: sequencer.c:370 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "поÑле Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð², пометьте иÑправленные пути\nÑ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git add <пути>» или «git rm <пути>»\nи Ñделайте коммит Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git commit»" -#: sequencer.c:383 sequencer.c:2488 +#: sequencer.c:398 sequencer.c:2801 #, c-format msgid "could not lock '%s'" msgstr "не удалоÑÑŒ заблокировать «%s»" -#: sequencer.c:390 +#: sequencer.c:405 #, c-format msgid "could not write eol to '%s'" msgstr "не удалоÑÑŒ запиÑать eol в «%s»" -#: sequencer.c:395 sequencer.c:2371 sequencer.c:2494 sequencer.c:2508 -#: sequencer.c:2741 +#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 +#: sequencer.c:3084 #, c-format msgid "failed to finalize '%s'" msgstr "не удалоÑÑŒ завершить «%s»" -#: sequencer.c:418 sequencer.c:816 sequencer.c:1505 sequencer.c:2391 -#: sequencer.c:2723 sequencer.c:2827 builtin/am.c:260 builtin/commit.c:740 -#: builtin/merge.c:1081 +#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 +#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 +#: builtin/merge.c:1115 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "не удалоÑÑŒ прочитать «%s»" -#: sequencer.c:444 +#: sequencer.c:459 #, c-format msgid "your local changes would be overwritten by %s." msgstr "ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ перезапиÑаны %s." -#: sequencer.c:448 +#: sequencer.c:463 msgid "commit your changes or stash them to proceed." msgstr "Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚ÑŒÑ‚Ðµ ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑпрÑчьте их." -#: sequencer.c:477 +#: sequencer.c:495 #, c-format msgid "%s: fast-forward" msgstr "%s: перемотка вперед" +#: sequencer.c:534 builtin/tag.c:555 +#, c-format +msgid "Invalid cleanup mode %s" +msgstr "Ðеправильное значение режима очиÑтки %s" + #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". -#: sequencer.c:566 +#: sequencer.c:629 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Ðе удалоÑÑŒ запиÑать файл индекÑа" -#: sequencer.c:582 +#: sequencer.c:646 msgid "unable to update cache tree" msgstr "не удалоÑÑŒ обновить дерево кÑша" -#: sequencer.c:595 +#: sequencer.c:660 msgid "could not resolve HEAD commit" msgstr "не удалоÑÑŒ раÑпознать HEAD коммит" -#: sequencer.c:723 +#: sequencer.c:740 #, c-format -msgid "could not parse '%s' (looking for '%s'" +msgid "no key present in '%.*s'" msgstr "" -#: sequencer.c:731 +#: sequencer.c:751 #, c-format -msgid "bad quoting on %s value in '%s'" +msgid "unable to dequote value of '%s'" msgstr "" -#: sequencer.c:740 +#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 #, c-format -msgid "could not parse '%s' (looking for '%s')" +msgid "could not open '%s' for reading" +msgstr "не удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" + +#: sequencer.c:798 +msgid "'GIT_AUTHOR_NAME' already given" +msgstr "" + +#: sequencer.c:803 +msgid "'GIT_AUTHOR_EMAIL' already given" +msgstr "" + +#: sequencer.c:808 +msgid "'GIT_AUTHOR_DATE' already given" +msgstr "" + +#: sequencer.c:812 +#, c-format +msgid "unknown variable '%s'" +msgstr "" + +#: sequencer.c:817 +msgid "missing 'GIT_AUTHOR_NAME'" +msgstr "" + +#: sequencer.c:819 +msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "" -#: sequencer.c:747 +#: sequencer.c:821 +msgid "missing 'GIT_AUTHOR_DATE'" +msgstr "" + +#: sequencer.c:881 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "" -#: sequencer.c:761 +#: sequencer.c:898 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -4014,15 +5542,15 @@ msgid "" " git rebase --continue\n" msgstr "у Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð¸Ð½Ð´ÐµÐºÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² рабочем каталоге. ЕÑли Ñти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть объеденены Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ коммитом, то запуÑтите:\n\n git commit --amend %s\n\nЕÑли же они должны быть помещены в новый коммит, то запуÑтите:\n\n git commit %s\n\nÐ’ любом Ñлучае, поÑле того как вы закончите, продолжить перемещение можно выполнив:\n\n git rebase --continue\n" -#: sequencer.c:830 +#: sequencer.c:992 msgid "writing root commit" msgstr "запиÑÑŒ коневого коммита" -#: sequencer.c:1055 +#: sequencer.c:1213 msgid "'prepare-commit-msg' hook failed" msgstr "ошибка при вызове перехватчика «prepare-commit-msg»" -#: sequencer.c:1062 +#: sequencer.c:1220 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -4037,7 +5565,7 @@ msgid "" " git commit --amend --reset-author\n" msgstr "Ваше Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° наÑтроены автоматичеÑки на оÑновании вашего\nимени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ имени машины. ПожалуйÑта, проверьте, что они \nопределены правильно.\nÐ’Ñ‹ можете отключить Ñто уведомление уÑтановив их напрÑмую. ЗапуÑтите Ñледующую\nкоманду и Ñледуйте инÑтрукциÑм вашего текÑтового редактора, длÑ\nÑ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ файла конфигурации:\n\n git config --global --edit\n\nПоÑле Ñтого, изменить авторÑтво Ñтой коммита можно будет Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды:\n\n git commit --amend --reset-author\n" -#: sequencer.c:1075 +#: sequencer.c:1233 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -4051,304 +5579,305 @@ msgid "" " git commit --amend --reset-author\n" msgstr "Ваше Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° наÑтроены автоматичеÑки на оÑновании вашего\nимени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ имени машины. ПожалуйÑта, проверьте, что они \nопределены правильно.\nÐ’Ñ‹ можете отключить Ñто уведомление уÑтановив их напрÑмую:\n\n git config --global user.name \"Ваше ИмÑ\"\n git config --global user.email you@example.com\n\nПоÑле Ñтого, изменить авторÑтво Ñтой коммита можно будет Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды:\n\n git commit --amend --reset-author\n" -#: sequencer.c:1115 +#: sequencer.c:1275 msgid "couldn't look up newly created commit" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñить новоÑозданный коммит" -#: sequencer.c:1117 +#: sequencer.c:1277 msgid "could not parse newly created commit" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€Ð°Ð·Ð¾Ð±Ñ€Ð°Ñ‚ÑŒ новоÑозданный коммит" -#: sequencer.c:1163 +#: sequencer.c:1323 msgid "unable to resolve HEAD after creating commit" msgstr "не удалоÑÑŒ найти HEAD поÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: sequencer.c:1165 +#: sequencer.c:1325 msgid "detached HEAD" msgstr "отделённый HEAD" -#: sequencer.c:1169 +#: sequencer.c:1329 msgid " (root-commit)" msgstr " (корневой коммит)" -#: sequencer.c:1190 +#: sequencer.c:1350 msgid "could not parse HEAD" msgstr "не удалоÑÑŒ разобрать HEAD" -#: sequencer.c:1192 +#: sequencer.c:1352 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼!" -#: sequencer.c:1196 builtin/commit.c:1528 +#: sequencer.c:1356 builtin/commit.c:1551 msgid "could not parse HEAD commit" msgstr "не удалоÑÑŒ разобрать HEAD коммит" -#: sequencer.c:1247 sequencer.c:1845 +#: sequencer.c:1408 sequencer.c:2001 msgid "unable to parse commit author" msgstr "не удалоÑÑŒ разобрать автора коммита" -#: sequencer.c:1257 builtin/am.c:1632 builtin/merge.c:675 +#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 msgid "git write-tree failed to write a tree" msgstr "git write-tree не удалоÑÑŒ запиÑать дерево" -#: sequencer.c:1274 sequencer.c:1329 +#: sequencer.c:1435 sequencer.c:1496 #, c-format msgid "unable to read commit message from '%s'" msgstr "не удалоÑÑŒ прочитать Ñообщение коммита из «%s»" -#: sequencer.c:1296 builtin/am.c:1653 builtin/commit.c:1631 -#: builtin/merge.c:855 builtin/merge.c:880 +#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 +#: builtin/merge.c:882 builtin/merge.c:906 msgid "failed to write commit object" msgstr "Ñбой запиÑи объекта коммита" -#: sequencer.c:1356 +#: sequencer.c:1523 #, c-format msgid "could not parse commit %s" msgstr "не удалоÑÑŒ разобрать коммит %s" -#: sequencer.c:1361 +#: sequencer.c:1528 #, c-format msgid "could not parse parent commit %s" msgstr "не удалоÑÑŒ разобрать родительÑкий коммит %s" -#: sequencer.c:1457 sequencer.c:1565 +#: sequencer.c:1602 sequencer.c:1712 #, c-format msgid "unknown command: %d" msgstr "неизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: %d" -#: sequencer.c:1512 sequencer.c:1537 +#: sequencer.c:1659 sequencer.c:1684 #, c-format msgid "This is a combination of %d commits." msgstr "Ðто объединение %d коммитов." -#: sequencer.c:1522 sequencer.c:4520 +#: sequencer.c:1669 msgid "need a HEAD to fixup" msgstr "нужен HEAD Ð´Ð»Ñ Ð¸ÑправлениÑ" -#: sequencer.c:1524 sequencer.c:2768 +#: sequencer.c:1671 sequencer.c:3111 msgid "could not read HEAD" msgstr "не удалоÑÑŒ прочитать HEAD" -#: sequencer.c:1526 +#: sequencer.c:1673 msgid "could not read HEAD's commit message" msgstr "не удалоÑÑŒ прочитать Ñообщение коммита текущего HEAD" -#: sequencer.c:1532 +#: sequencer.c:1679 #, c-format msgid "cannot write '%s'" msgstr "не удалоÑÑŒ запиÑать «%s»" -#: sequencer.c:1539 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 msgid "This is the 1st commit message:" msgstr "Ðто 1-е Ñообщение коммита:" -#: sequencer.c:1547 +#: sequencer.c:1694 #, c-format msgid "could not read commit message of %s" msgstr "не удалоÑÑŒ прочитать Ñообщение коммита Ð´Ð»Ñ %s" -#: sequencer.c:1554 +#: sequencer.c:1701 #, c-format msgid "This is the commit message #%d:" msgstr "Ðто Ñообщение коммита номер #%d:" -#: sequencer.c:1560 +#: sequencer.c:1707 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Сообщение коммита номер #%d будет пропущено:" -#: sequencer.c:1643 +#: sequencer.c:1795 msgid "your index file is unmerged." msgstr "ваш Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ Ñлит." -#: sequencer.c:1650 +#: sequencer.c:1802 msgid "cannot fixup root commit" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñправить корневой коммит" -#: sequencer.c:1669 +#: sequencer.c:1821 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "коммит %s — Ñто коммит-ÑлиÑние, но Ð¾Ð¿Ñ†Ð¸Ñ -m не указана." -#: sequencer.c:1677 +#: sequencer.c:1829 sequencer.c:1837 #, c-format msgid "commit %s does not have parent %d" msgstr "у коммита %s нет предка %d" -#: sequencer.c:1681 -#, c-format -msgid "mainline was specified but commit %s is not a merge." -msgstr "оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° указана, но коммит %s не ÑвлÑетÑÑ ÑлиÑнием." - -#: sequencer.c:1687 +#: sequencer.c:1843 #, c-format msgid "cannot get commit message for %s" msgstr "не удалоÑÑŒ получить Ñообщение коммита Ð´Ð»Ñ %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1706 +#: sequencer.c:1862 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: не удалоÑÑŒ разобрать родительÑкий коммит Ð´Ð»Ñ %s" -#: sequencer.c:1771 +#: sequencer.c:1927 #, c-format msgid "could not rename '%s' to '%s'" msgstr "не удалоÑÑŒ переименовать «%s» в «%s»" -#: sequencer.c:1826 +#: sequencer.c:1982 #, c-format msgid "could not revert %s... %s" msgstr "не удалоÑÑŒ обратить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s… %s" -#: sequencer.c:1827 +#: sequencer.c:1983 #, c-format msgid "could not apply %s... %s" msgstr "не удалоÑÑŒ применить коммит %s… %s" -#: sequencer.c:1885 +#: sequencer.c:2042 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: Ñбой Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа" -#: sequencer.c:1892 +#: sequencer.c:2049 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: Ñбой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа" -#: sequencer.c:1972 +#: sequencer.c:2118 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "параметр %s не принимает аргументы: «%s»" -#: sequencer.c:1981 +#: sequencer.c:2127 #, c-format msgid "missing arguments for %s" msgstr "пропущены аргументы Ð´Ð»Ñ %s" -#: sequencer.c:2040 +#: sequencer.c:2164 +#, c-format +msgid "could not parse '%.*s'" +msgstr "" + +#: sequencer.c:2226 #, c-format msgid "invalid line %d: %.*s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока %d: %.*s" -#: sequencer.c:2048 +#: sequencer.c:2237 #, c-format msgid "cannot '%s' without a previous commit" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ «%s» без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ коммита" -#: sequencer.c:2096 sequencer.c:4277 sequencer.c:4333 +#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "не удалоÑÑŒ прочитать «%s»." -#: sequencer.c:2119 +#: sequencer.c:2360 msgid "please fix this using 'git rebase --edit-todo'." msgstr "пожалуйÑта иÑправьте Ñто Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git rebase --edit-todo»." -#: sequencer.c:2121 +#: sequencer.c:2362 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "Ð½ÐµÐ¿Ñ€Ð¸Ð³Ð¾Ð´Ð½Ð°Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ð° Ñ Ð¸Ð½ÑтрукциÑми: «%s»" -#: sequencer.c:2126 +#: sequencer.c:2367 msgid "no commits parsed." msgstr "коммиты не разобраны." -#: sequencer.c:2137 +#: sequencer.c:2378 msgid "cannot cherry-pick during a revert." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñкопировать коммит во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°." -#: sequencer.c:2139 +#: sequencer.c:2380 msgid "cannot revert during a cherry-pick." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð¸Ñ‚ÑŒ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°." -#: sequencer.c:2209 +#: sequencer.c:2462 #, c-format msgid "invalid value for %s: %s" msgstr "неправильное значение %s: %s" -#: sequencer.c:2285 +#: sequencer.c:2549 msgid "unusable squash-onto" msgstr "непригодный Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐ¿Ð»Ð¾Ñ‚Ð½Ð¸Ñ‚ÑŒ-над" -#: sequencer.c:2301 +#: sequencer.c:2565 #, c-format msgid "malformed options sheet: '%s'" msgstr "иÑÐ¿Ð¾Ñ€Ñ‡ÐµÐ½Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° Ñ Ð¾Ð¿Ñ†Ð¸Ñми: «%s»" -#: sequencer.c:2335 sequencer.c:3775 +#: sequencer.c:2648 sequencer.c:4227 msgid "empty commit set passed" msgstr "передан пуÑтой набор коммитов" -#: sequencer.c:2343 +#: sequencer.c:2656 msgid "a cherry-pick or revert is already in progress" msgstr "копирование или обращение изменений коммита уже выполнÑÑŽÑ‚ÑÑ" -#: sequencer.c:2344 +#: sequencer.c:2657 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "попробуйте «git cherry-pick (--continue | --quit | --abort)»" -#: sequencer.c:2347 +#: sequencer.c:2660 #, c-format msgid "could not create sequencer directory '%s'" msgstr "не удалоÑÑŒ Ñоздать каталог Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð² «%s»" -#: sequencer.c:2361 +#: sequencer.c:2674 msgid "could not lock HEAD" msgstr "не удалоÑÑŒ заблокировать HEAD" -#: sequencer.c:2416 sequencer.c:3543 +#: sequencer.c:2729 sequencer.c:3979 msgid "no cherry-pick or revert in progress" msgstr "копирование или обращение изменений коммита уже выполнÑÑŽÑ‚ÑÑ" -#: sequencer.c:2418 +#: sequencer.c:2731 msgid "cannot resolve HEAD" msgstr "не удалоÑÑŒ определить HEAD" -#: sequencer.c:2420 sequencer.c:2455 +#: sequencer.c:2733 sequencer.c:2768 msgid "cannot abort from a branch yet to be born" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ Ð²ÐµÑ‚ÐºÐ¸, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÐµÑ‰Ðµ не Ñоздана" -#: sequencer.c:2441 builtin/grep.c:721 +#: sequencer.c:2754 builtin/grep.c:732 #, c-format msgid "cannot open '%s'" msgstr "не удалоÑÑŒ открыть «%s»" -#: sequencer.c:2443 +#: sequencer.c:2756 #, c-format msgid "cannot read '%s': %s" msgstr "не удалоÑÑŒ прочитать «%s»: %s" -#: sequencer.c:2444 +#: sequencer.c:2757 msgid "unexpected end of file" msgstr "неожиданный конец файла" -#: sequencer.c:2450 +#: sequencer.c:2763 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "Ñохраненный файл Ñ HEAD перед копированием коммита «%s» поврежден" -#: sequencer.c:2461 +#: sequencer.c:2774 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "Похоже, что вы перемеÑтили HEAD. Перемотка не выполнÑетÑÑ, проверьте Ñвой указатель HEAD!" -#: sequencer.c:2565 sequencer.c:3461 +#: sequencer.c:2903 sequencer.c:3894 #, c-format msgid "could not update %s" msgstr "не удалоÑÑŒ обновить %s" -#: sequencer.c:2603 sequencer.c:3441 +#: sequencer.c:2941 sequencer.c:3874 msgid "cannot read HEAD" msgstr "не удалоÑÑŒ прочитать HEAD" -#: sequencer.c:2618 +#: sequencer.c:2958 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "" -#: sequencer.c:2626 +#: sequencer.c:2966 #, c-format msgid "" "You can amend the commit now, with\n" @@ -4360,26 +5889,27 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:2636 +#: sequencer.c:2976 #, c-format msgid "Could not apply %s... %.*s" msgstr "" -#: sequencer.c:2643 +#: sequencer.c:2983 #, c-format msgid "Could not merge %.*s" msgstr "" -#: sequencer.c:2654 sequencer.c:2658 builtin/difftool.c:640 +#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "не удалоÑÑŒ Ñкопировать «%s» в «%s»" -#: sequencer.c:2680 sequencer.c:3095 +#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 +#: builtin/rebase.c:1580 builtin/rebase.c:1940 builtin/rebase.c:1995 msgid "could not read index" msgstr "не удалоÑÑŒ прочитать индекÑ" -#: sequencer.c:2685 +#: sequencer.c:3028 #, c-format msgid "" "execution failed: %s\n" @@ -4389,11 +5919,11 @@ msgid "" "\n" msgstr "ошибка выполнениÑ: %s\n%sÐ’Ñ‹ можете иÑправить ошибку, а затем запуÑтить\n\n git rebase --continue\n\n" -#: sequencer.c:2691 +#: sequencer.c:3034 msgid "and made changes to the index and/or the working tree\n" msgstr "и были Ñделаны Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² индекÑе и/или в рабочем каталоге\n" -#: sequencer.c:2697 +#: sequencer.c:3040 #, c-format msgid "" "execution succeeded: %s\n" @@ -4404,81 +5934,76 @@ msgid "" "\n" msgstr "уÑпешное выполнение: %s\nно оÑталиÑÑŒ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² индекÑе и/или в рабочем каталоге\nСделайте коммит или ÑпрÑчьте ваши изменениÑ, а затем выполните\n\n git rebase --continue\n\n" -#: sequencer.c:2758 +#: sequencer.c:3101 #, c-format msgid "illegal label name: '%.*s'" msgstr "" -#: sequencer.c:2810 +#: sequencer.c:3155 msgid "writing fake root commit" msgstr "запиÑÑŒ поддельного корневого коммита" -#: sequencer.c:2815 +#: sequencer.c:3160 msgid "writing squash-onto" msgstr "запить уплотнить-над" -#: sequencer.c:2850 +#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 #, c-format msgid "failed to find tree of %s" msgstr "не удалоÑÑŒ найти дерево Ð´Ð»Ñ %s" -#: sequencer.c:2868 +#: sequencer.c:3216 builtin/rebase.c:863 msgid "could not write index" msgstr "не удалоÑÑŒ запиÑать индекÑ" -#: sequencer.c:2895 +#: sequencer.c:3243 #, c-format msgid "could not resolve '%s'" msgstr "не удалоÑÑŒ раÑпознать «%s»" -#: sequencer.c:2921 +#: sequencer.c:3271 msgid "cannot merge without a current revision" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñлить без текущей редакции" -#: sequencer.c:2943 +#: sequencer.c:3293 #, c-format msgid "unable to parse '%.*s'" msgstr "" -#: sequencer.c:2952 +#: sequencer.c:3302 #, c-format msgid "nothing to merge: '%.*s'" msgstr "" -#: sequencer.c:2964 +#: sequencer.c:3314 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "" -#: sequencer.c:2979 +#: sequencer.c:3329 #, c-format msgid "could not get commit message of '%s'" msgstr "не удалоÑÑŒ получить Ñообщение коммита Ð´Ð»Ñ Â«%s»" -#: sequencer.c:2989 sequencer.c:3015 -#, c-format -msgid "could not write '%s'" -msgstr "не удалоÑÑŒ запиÑать «%s»" - -#: sequencer.c:3127 +#: sequencer.c:3478 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "не удалоÑÑŒ даже попытатьÑÑ Ñлить «%.*s»" -#: sequencer.c:3143 +#: sequencer.c:3494 msgid "merge: Unable to write new index file" msgstr "ÑлиÑние: Ðе удалоÑÑŒ запиÑать файл индекÑа" -#: sequencer.c:3211 +#: sequencer.c:3562 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Применены автоматичеÑки ÑпрÑтанные изменениÑ.\n" -#: sequencer.c:3223 +#: sequencer.c:3574 #, c-format msgid "cannot store %s" msgstr "не удалоÑÑŒ Ñохранить %s" -#: sequencer.c:3226 git-rebase.sh:188 +#: sequencer.c:3577 builtin/rebase.c:727 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -4486,7 +6011,31 @@ msgid "" "You can run \"git stash pop\" or \"git stash drop\" at any time.\n" msgstr "Применение автоматичеÑки ÑпрÑтанных изменений вызвало конфликты.\nВаши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑпрÑтаны и в безопаÑноÑти.\nÐ’Ñ‹ можете выполнить «git stash pop» или «git stash drop» в любой момент.\n" -#: sequencer.c:3257 +#: sequencer.c:3638 +#, c-format +msgid "could not checkout %s" +msgstr "" + +#: sequencer.c:3652 +#, c-format +msgid "%s: not a valid OID" +msgstr "" + +#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +msgid "could not detach HEAD" +msgstr "не удалоÑÑŒ отделить HEAD" + +#: sequencer.c:3672 +#, c-format +msgid "Stopped at HEAD\n" +msgstr "" + +#: sequencer.c:3674 +#, c-format +msgid "Stopped at %s\n" +msgstr "" + +#: sequencer.c:3682 #, c-format msgid "" "Could not execute the todo command\n" @@ -4499,125 +6048,104 @@ msgid "" " git rebase --continue\n" msgstr "" -#: sequencer.c:3325 +#: sequencer.c:3759 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "ОÑтановлено на %s … %.*s\n" -#: sequencer.c:3404 +#: sequencer.c:3837 #, c-format msgid "unknown command %d" msgstr "неизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %d" -#: sequencer.c:3449 +#: sequencer.c:3882 msgid "could not read orig-head" msgstr "не удалоÑÑŒ прочитать orig-head" -#: sequencer.c:3454 sequencer.c:4517 +#: sequencer.c:3887 msgid "could not read 'onto'" msgstr "не удалоÑÑŒ прочитать «onto»" -#: sequencer.c:3468 +#: sequencer.c:3901 #, c-format msgid "could not update HEAD to %s" msgstr "не удалоÑÑŒ обновить HEAD на %s" -#: sequencer.c:3554 +#: sequencer.c:3991 msgid "cannot rebase: You have unstaged changes." msgstr "не удалоÑÑŒ выполнить перемещение коммитов: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: sequencer.c:3563 +#: sequencer.c:4000 msgid "cannot amend non-existing commit" msgstr "не удалоÑÑŒ иÑправить неÑущеÑтвующий коммит" -#: sequencer.c:3565 +#: sequencer.c:4002 #, c-format msgid "invalid file: '%s'" msgstr "недопуÑтимый файл: «%s»" -#: sequencer.c:3567 +#: sequencer.c:4004 #, c-format msgid "invalid contents: '%s'" msgstr "недопуÑтимое Ñодержимое: «%s»" -#: sequencer.c:3570 +#: sequencer.c:4007 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" "first and then run 'git rebase --continue' again." msgstr "\nУ Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½ÐµÐ·Ð°ÐºÐ¾Ð¼Ð¼Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² рабочем каталоге. Сделайте коммит, а затем запуÑтите «git rebase --continue» Ñнова." -#: sequencer.c:3595 sequencer.c:3633 +#: sequencer.c:4043 sequencer.c:4081 #, c-format msgid "could not write file: '%s'" msgstr "" -#: sequencer.c:3648 +#: sequencer.c:4096 msgid "could not remove CHERRY_PICK_HEAD" msgstr "не удалоÑÑŒ удалить CHERRY_PICK_HEAD" -#: sequencer.c:3655 +#: sequencer.c:4103 msgid "could not commit staged changes." msgstr "не удалоÑÑŒ закоммитить проиндекÑированные изменениÑ." -#: sequencer.c:3752 +#: sequencer.c:4204 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: не удалоÑÑŒ Ñкопировать коммит %s" -#: sequencer.c:3756 +#: sequencer.c:4208 #, c-format msgid "%s: bad revision" msgstr "%s: Ð¿Ð»Ð¾Ñ…Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ" -#: sequencer.c:3791 +#: sequencer.c:4243 msgid "can't revert as initial commit" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð¸Ñ‚ÑŒ изначальный коммит" -#: sequencer.c:4238 +#: sequencer.c:4686 msgid "make_script: unhandled options" msgstr "make_script: не обработанные опции" -#: sequencer.c:4241 +#: sequencer.c:4689 msgid "make_script: error preparing revisions" msgstr "make_script: ошибка при обновлении редакций" -#: sequencer.c:4281 sequencer.c:4337 -#, c-format -msgid "unusable todo list: '%s'" -msgstr "непригодный Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑпиÑок дел: «%s»" - -#: sequencer.c:4396 -#, c-format -msgid "" -"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring." -msgstr "нераÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð½Ð°Ñтройка %s Ð´Ð»Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ rebase.missingCommitsCheck. Игнорирую." - -#: sequencer.c:4466 -#, c-format -msgid "" -"Warning: some commits may have been dropped accidentally.\n" -"Dropped commits (newer to older):\n" -msgstr "Внимание: некоторые коммиты могли быть отброшены по ошибке.\nОтброшенные коммиты (от новых к Ñтарым):\n" - -#: sequencer.c:4473 -#, c-format -msgid "" -"To avoid this message, use \"drop\" to explicitly remove a commit.\n" -"\n" -"Use 'git config rebase.missingCommitsCheck' to change the level of warnings.\n" -"The possible behaviours are: ignore, warn, error.\n" -"\n" -msgstr "Ð”Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ñтого ÑообщениÑ, иÑпользуйте «drop» чтобы Ñвно удалить коммит.\n\nИÑпользуйте опцию «git config rebase.missingCommitsCheck» Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтва предупреждений.\nВозможные значениÑ: ignore, warn, error.\n\n" - -#: sequencer.c:4486 -#, c-format +#: sequencer.c:4847 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.\n" "Or you can abort the rebase with 'git rebase --abort'.\n" msgstr "Ð’Ñ‹ можете иÑправить Ñто Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git rebase --edit-todo», а потом запуÑтив «git rebase --continue».\nИли вы можете прервать процеÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ, выполнив «git rebase --abort»\n" -#: sequencer.c:4660 +#: sequencer.c:4959 sequencer.c:4976 +msgid "nothing to do" +msgstr "" + +#: sequencer.c:4990 +msgid "could not skip unnecessary pick commands" +msgstr "" + +#: sequencer.c:5073 msgid "the script was already rearranged." msgstr "Ñценарий уже был переÑтроен." @@ -4626,14 +6154,14 @@ msgstr "Ñценарий уже был переÑтроен." msgid "'%s' is outside repository" msgstr "«%s» вне репозиториÑ" -#: setup.c:172 +#: setup.c:173 #, c-format msgid "" "%s: no such path in the working tree.\n" "Use 'git <command> -- <path>...' to specify paths that do not exist locally." msgstr "%s: нет такого пути в рабочем каталоге.\nИÑпользуйте «git <команда> -- <путь>…» Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹, которые не ÑущеÑтвуют локально." -#: setup.c:185 +#: setup.c:186 #, c-format msgid "" "ambiguous argument '%s': unknown revision or path not in the working tree.\n" @@ -4641,12 +6169,12 @@ msgid "" "'git <command> [<revision>...] -- [<file>...]'" msgstr "неоднозначный аргумент «%s»: неизвеÑÑ‚Ð½Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ð¸Ð»Ð¸ не путь в рабочем каталоге.\nИÑпользуйте «--» Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹ от редакций, вот так:\n«git <команда> [<редакциÑ>…] -- [<файл>…]»" -#: setup.c:234 +#: setup.c:235 #, c-format msgid "option '%s' must come before non-option arguments" msgstr "" -#: setup.c:253 +#: setup.c:254 #, c-format msgid "" "ambiguous argument '%s': both revision and filename\n" @@ -4654,376 +6182,376 @@ msgid "" "'git <command> [<revision>...] -- [<file>...]'" msgstr "неоднозначный аргумент «%s»: ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ и редакцией и именем файла.\nИÑпользуйте «--» Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹ от редакций, вот так:\n«git <команда> [<редакциÑ>…] -- [<файл>…]»" -#: setup.c:389 +#: setup.c:390 msgid "unable to set up work tree using invalid config" msgstr "" -#: setup.c:393 +#: setup.c:394 msgid "this operation must be run in a work tree" msgstr "" -#: setup.c:503 +#: setup.c:540 #, c-format msgid "Expected git repo version <= %d, found %d" msgstr "ÐžÐ¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ git Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ <= %d, а обнаружена %d" -#: setup.c:511 +#: setup.c:548 msgid "unknown repository extensions found:" msgstr "обнаружены неизвеÑтные раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ:" -#: setup.c:530 +#: setup.c:567 #, c-format msgid "error opening '%s'" msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Â«%s»" -#: setup.c:532 +#: setup.c:569 #, c-format msgid "too large to be a .git file: '%s'" msgstr "файл Ñлишком большой как Ð´Ð»Ñ .git файла: «%s»" -#: setup.c:534 +#: setup.c:571 #, c-format msgid "error reading %s" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s" -#: setup.c:536 +#: setup.c:573 #, c-format msgid "invalid gitfile format: %s" msgstr "неправильный формат файла gitfile: %s" -#: setup.c:538 +#: setup.c:575 #, c-format msgid "no path in gitfile: %s" msgstr "нет пути в gitfile: %s" -#: setup.c:540 +#: setup.c:577 #, c-format msgid "not a git repository: %s" msgstr "не ÑвлÑетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¼ git: %s" -#: setup.c:639 +#: setup.c:676 #, c-format msgid "'$%s' too big" msgstr "«$%s» Ñлишком большой" -#: setup.c:653 +#: setup.c:690 #, c-format msgid "not a git repository: '%s'" msgstr "не ÑвлÑетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¼ git: «%s»" -#: setup.c:682 setup.c:684 setup.c:715 +#: setup.c:719 setup.c:721 setup.c:752 #, c-format msgid "cannot chdir to '%s'" msgstr "не удалоÑÑŒ выполнить chdir в «%s»" -#: setup.c:687 setup.c:743 setup.c:753 setup.c:792 setup.c:800 setup.c:815 +#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837 msgid "cannot come back to cwd" msgstr "не удалоÑÑŒ вернутьÑÑ Ð² cwd" -#: setup.c:813 -#, c-format -msgid "not a git repository (or any of the parent directories): %s" -msgstr "не найден git репозиторий (или один из родительÑких каталогов): %s" - -#: setup.c:824 +#: setup.c:851 #, c-format msgid "failed to stat '%*s%s%s'" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Â«%*s%s%s»" -#: setup.c:1054 +#: setup.c:1083 msgid "Unable to read current working directory" msgstr "Ðе удалоÑÑŒ прочитать текущий рабочий каталог" -#: setup.c:1066 setup.c:1072 +#: setup.c:1092 setup.c:1098 #, c-format msgid "cannot change to '%s'" msgstr "не удалоÑÑŒ изменить на «%s»" -#: setup.c:1085 +#: setup.c:1103 +#, c-format +msgid "not a git repository (or any of the parent directories): %s" +msgstr "не найден git репозиторий (или один из родительÑких каталогов): %s" + +#: setup.c:1109 #, 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 "не найден git репозиторий (или один из его каталогов вплоть до точки Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s)\nОÑтанавливаю поиÑк на границе файловой ÑиÑтемы (так как GIT_DISCOVERY_ACROSS_FILESYSTEM не уÑтановлен)." -#: setup.c:1168 +#: setup.c:1220 #, c-format msgid "" "problem with core.sharedRepository filemode value (0%.3o).\n" "The owner of files must always have read and write permissions." msgstr "" -#: setup.c:1211 +#: setup.c:1264 msgid "open /dev/null or dup failed" msgstr "Ñбой Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ /dev/null или Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´ÐµÑкриптора" -#: setup.c:1226 +#: setup.c:1279 msgid "fork failed" msgstr "Ñбой при выполнении fork" -#: setup.c:1231 +#: setup.c:1284 msgid "setsid failed" msgstr "Ñбой при выполнении setsid" -#: sha1-file.c:381 +#: sha1-file.c:453 #, c-format msgid "object directory %s does not exist; check .git/objects/info/alternates" msgstr "" -#: sha1-file.c:432 +#: sha1-file.c:504 #, c-format msgid "unable to normalize alternate object path: %s" msgstr "" -#: sha1-file.c:503 +#: sha1-file.c:576 #, c-format msgid "%s: ignoring alternate object stores, nesting too deep" msgstr "" -#: sha1-file.c:510 +#: sha1-file.c:583 #, c-format msgid "unable to normalize object directory: %s" msgstr "" -#: sha1-file.c:565 +#: sha1-file.c:626 msgid "unable to fdopen alternates lockfile" msgstr "" -#: sha1-file.c:583 +#: sha1-file.c:644 msgid "unable to read alternates file" msgstr "" -#: sha1-file.c:590 +#: sha1-file.c:651 msgid "unable to move new alternates file into place" msgstr "" -#: sha1-file.c:625 +#: sha1-file.c:686 #, c-format msgid "path '%s' does not exist" msgstr "путь «%s» не ÑущеÑтвует" -#: sha1-file.c:651 +#: sha1-file.c:712 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "ÑÑылаемый репозиторий «%s» как ÑвÑзанное ÑоÑтоÑние, пока не поддерживаетÑÑ." -#: sha1-file.c:657 +#: sha1-file.c:718 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "ÑÑылаемый репозиторий «%s» не ÑвлÑетÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼." -#: sha1-file.c:663 +#: sha1-file.c:724 #, c-format msgid "reference repository '%s' is shallow" msgstr "ÑÑылаемый репозиторий «%s» ÑвлÑетÑÑ Ñ‡Ð°Ñтичным" -#: sha1-file.c:671 +#: sha1-file.c:732 #, c-format msgid "reference repository '%s' is grafted" msgstr "ÑÑылаемый репозиторий «%s» ÑвлÑетÑÑ Ñращенным" -#: sha1-file.c:781 +#: sha1-file.c:846 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "" -#: sha1-file.c:806 +#: sha1-file.c:871 msgid "mmap failed" msgstr "" -#: sha1-file.c:973 +#: sha1-file.c:1035 #, c-format msgid "object file %s is empty" msgstr "" -#: sha1-file.c:1093 sha1-file.c:2206 +#: sha1-file.c:1159 sha1-file.c:2297 #, c-format msgid "corrupt loose object '%s'" msgstr "" -#: sha1-file.c:1095 sha1-file.c:2210 +#: sha1-file.c:1161 sha1-file.c:2301 #, c-format msgid "garbage at end of loose object '%s'" msgstr "" -#: sha1-file.c:1137 +#: sha1-file.c:1203 msgid "invalid object type" msgstr "" -#: sha1-file.c:1219 +#: sha1-file.c:1287 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1222 +#: sha1-file.c:1290 #, c-format msgid "unable to unpack %s header" msgstr "" -#: sha1-file.c:1228 +#: sha1-file.c:1296 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "" -#: sha1-file.c:1231 +#: sha1-file.c:1299 #, c-format msgid "unable to parse %s header" msgstr "" -#: sha1-file.c:1422 +#: sha1-file.c:1490 #, c-format msgid "failed to read object %s" msgstr "" -#: sha1-file.c:1426 +#: sha1-file.c:1494 #, c-format msgid "replacement %s not found for %s" msgstr "" -#: sha1-file.c:1430 +#: sha1-file.c:1498 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "" -#: sha1-file.c:1434 +#: sha1-file.c:1502 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "" -#: sha1-file.c:1536 +#: sha1-file.c:1604 #, c-format -msgid "unable to write sha1 filename %s" +msgid "unable to write file %s" msgstr "" -#: sha1-file.c:1543 +#: sha1-file.c:1611 #, c-format msgid "unable to set permission to '%s'" msgstr "" -#: sha1-file.c:1550 +#: sha1-file.c:1618 msgid "file write error" msgstr "" -#: sha1-file.c:1569 -msgid "error when closing sha1 file" +#: sha1-file.c:1637 +msgid "error when closing loose object file" msgstr "" -#: sha1-file.c:1635 +#: sha1-file.c:1702 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" -#: sha1-file.c:1637 +#: sha1-file.c:1704 msgid "unable to create temporary file" msgstr "" -#: sha1-file.c:1661 -msgid "unable to write sha1 file" +#: sha1-file.c:1728 +msgid "unable to write loose object file" msgstr "" -#: sha1-file.c:1667 +#: sha1-file.c:1734 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "" -#: sha1-file.c:1671 +#: sha1-file.c:1738 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "" -#: sha1-file.c:1675 +#: sha1-file.c:1742 #, c-format msgid "confused by unstable object source data for %s" msgstr "" -#: sha1-file.c:1685 builtin/pack-objects.c:899 +#: sha1-file.c:1752 builtin/pack-objects.c:920 #, c-format msgid "failed utime() on %s" msgstr "" -#: sha1-file.c:1760 +#: sha1-file.c:1827 #, c-format -msgid "cannot read sha1_file for %s" +msgid "cannot read object for %s" msgstr "" -#: sha1-file.c:1805 +#: sha1-file.c:1867 msgid "corrupt commit" msgstr "" -#: sha1-file.c:1813 +#: sha1-file.c:1875 msgid "corrupt tag" msgstr "" -#: sha1-file.c:1906 +#: sha1-file.c:1974 #, c-format msgid "read error while indexing %s" msgstr "" -#: sha1-file.c:1909 +#: sha1-file.c:1977 #, c-format msgid "short read while indexing %s" msgstr "" -#: sha1-file.c:1980 sha1-file.c:1989 +#: sha1-file.c:2050 sha1-file.c:2059 #, c-format msgid "%s: failed to insert into database" msgstr "" -#: sha1-file.c:1995 +#: sha1-file.c:2065 #, c-format msgid "%s: unsupported file type" msgstr "" -#: sha1-file.c:2019 +#: sha1-file.c:2089 #, c-format msgid "%s is not a valid object" msgstr "" -#: sha1-file.c:2021 +#: sha1-file.c:2091 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным объектом «%s»" -#: sha1-file.c:2048 builtin/index-pack.c:158 +#: sha1-file.c:2118 builtin/index-pack.c:154 #, c-format msgid "unable to open %s" msgstr "не удалоÑÑŒ открыть %s" -#: sha1-file.c:2217 sha1-file.c:2269 +#: sha1-file.c:2308 sha1-file.c:2360 #, c-format -msgid "sha1 mismatch for %s (expected %s)" -msgstr "" +msgid "hash mismatch for %s (expected %s)" +msgstr "неÑоответÑтвие хеш-Ñуммы %s (ожидаетÑÑ %s)" -#: sha1-file.c:2241 +#: sha1-file.c:2332 #, c-format msgid "unable to mmap %s" msgstr "" -#: sha1-file.c:2246 +#: sha1-file.c:2337 #, c-format msgid "unable to unpack header of %s" msgstr "" -#: sha1-file.c:2252 +#: sha1-file.c:2343 #, c-format msgid "unable to parse header of %s" msgstr "" -#: sha1-file.c:2263 +#: sha1-file.c:2354 #, c-format msgid "unable to unpack contents of %s" msgstr "" -#: sha1-name.c:444 +#: sha1-name.c:490 #, c-format msgid "short SHA1 %s is ambiguous" msgstr "Ñокращённый SHA1 идентификатор %s неоднозначен" -#: sha1-name.c:455 +#: sha1-name.c:501 msgid "The candidates are:" msgstr "Возможно, вы имели в виду:" -#: sha1-name.c:699 +#: sha1-name.c:800 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -5036,96 +6564,90 @@ msgid "" "running \"git config advice.objectNameWarning false\"" msgstr "Обычно Git не Ñоздает ÑÑылки, оканчивающиеÑÑ Ð½Ð° 40 шеÑтнадцатеричных\nÑимволов, потому, что они будут игнорироватьÑÑ, когда вы проÑто\nукажете Ñто 40-Ñимвольное шеÑтнадцатеричное чиÑло. Такие ÑÑылки\nмогли быть Ñозданы по ошибке. Ðапример, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:\n\n git checkout -b $br $(git rev-parse …)\n\n, еÑли «$br» оказалÑÑ Ð¿ÑƒÑтым, то ÑÑылка Ñ 40-Ñимвольным\nшеÑтнадцатеричным чиÑлом будет Ñоздана. ПожалуйÑта, проÑмотрите Ñти\nÑÑылки и, возможно, удалите их. Ð’Ñ‹ можете отключить Ñто Ñообщение\nзапуÑтив «git config advice.objectNameWarning false»" -#: submodule.c:97 submodule.c:131 +#: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "Ðе удалоÑÑŒ изменить не Ñлитый .gitmodules, Ñначала разрешите конфликты" -#: submodule.c:101 submodule.c:135 +#: submodule.c:118 submodule.c:147 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "Ðе удалоÑÑŒ найти раздел в .gitmodules, где путь равен %s" -#: submodule.c:109 -#, c-format -msgid "Could not update .gitmodules entry %s" -msgstr " Ðе удалоÑÑŒ обновить .gitmodules запиÑÑŒ %s" - -#: submodule.c:142 +#: submodule.c:154 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "Ðе удалоÑÑŒ удалить запиÑÑŒ в .gitmodules Ð´Ð»Ñ %s" -#: submodule.c:153 +#: submodule.c:165 msgid "staging updated .gitmodules failed" msgstr "Ñбой индекÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ .gitmodules" -#: submodule.c:315 +#: submodule.c:327 #, c-format msgid "in unpopulated submodule '%s'" msgstr "в пуÑтом подмодуле «%s»" -#: submodule.c:346 +#: submodule.c:358 #, c-format msgid "Pathspec '%s' is in submodule '%.*s'" msgstr "Спецификатор пути «%s» в подмодуле «%.*s»" -#: submodule.c:839 +#: submodule.c:910 #, c-format msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "запиÑÑŒ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s» (%s) ÑвлÑетÑÑ %s, а не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼" -#: submodule.c:1071 builtin/branch.c:662 builtin/submodule--helper.c:1888 +#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 msgid "Failed to resolve HEAD as a valid ref." msgstr "Ðе удалоÑÑŒ определить HEAD как дейÑтвительную ÑÑылку." -#: submodule.c:1377 +#: submodule.c:1481 +#, c-format +msgid "Could not access submodule '%s'" +msgstr "" + +#: submodule.c:1651 #, c-format msgid "'%s' not recognized as a git repository" msgstr "«%s» не раÑпознан как репозиторий git" -#: submodule.c:1515 +#: submodule.c:1789 #, c-format msgid "could not start 'git status' in submodule '%s'" msgstr "не удалоÑÑŒ запуÑтить «git status» в подмодуле «%s»" -#: submodule.c:1528 +#: submodule.c:1802 #, c-format msgid "could not run 'git status' in submodule '%s'" msgstr "не удалоÑÑŒ запуÑтить «git status» в подмодуле «%s»" -#: submodule.c:1543 +#: submodule.c:1817 #, c-format msgid "Could not unset core.worktree setting in submodule '%s'" msgstr "" -#: submodule.c:1633 +#: submodule.c:1907 #, c-format msgid "submodule '%s' has dirty index" msgstr "подмодуль «%s» имеет изменённый индекÑ" -#: submodule.c:1685 +#: submodule.c:1959 #, c-format msgid "Submodule '%s' could not be updated." msgstr "" -#: submodule.c:1734 +#: submodule.c:2008 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" msgstr "relocate_gitdir Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s» Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ более одного рабочего дерева не поддерживаетÑÑ" -#: submodule.c:1746 submodule.c:1802 +#: submodule.c:2020 submodule.c:2076 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "не удалоÑÑŒ запроÑить Ð¸Ð¼Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: submodule.c:1750 builtin/submodule--helper.c:1406 -#: builtin/submodule--helper.c:1416 -#, c-format -msgid "could not create directory '%s'" -msgstr "не удалоÑÑŒ Ñоздать каталог «%s»" - -#: submodule.c:1753 +#: submodule.c:2027 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -5133,34 +6655,44 @@ msgid "" "'%s'\n" msgstr "Перемещение каталога git Ð´Ð»Ñ Â«%s%s» из\n«%s» в\n«%s»\n" -#: submodule.c:1837 +#: submodule.c:2111 #, c-format msgid "could not recurse into submodule '%s'" msgstr "не удалоÑÑŒ рекурÑивно зайти в подмодуль «%s»" -#: submodule.c:1881 +#: submodule.c:2155 msgid "could not start ls-files in .." msgstr "не удалоÑÑŒ выполнить stat ls-files в .." -#: submodule.c:1920 +#: submodule.c:2194 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree вернул неожиданный код %d" -#: submodule-config.c:231 +#: submodule-config.c:232 #, c-format msgid "ignoring suspicious submodule name: %s" msgstr "игнорирую подозрительный подмодуль Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼: %s" -#: submodule-config.c:295 +#: submodule-config.c:299 msgid "negative values not allowed for submodule.fetchjobs" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать отрицательные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ submodule.fetchjobs" -#: submodule-config.c:468 +#: submodule-config.c:397 +#, c-format +msgid "ignoring '%s' which may be interpreted as a command-line option: %s" +msgstr "" + +#: submodule-config.c:486 #, c-format msgid "invalid value for %s" msgstr "неправильное значение %s" +#: submodule-config.c:755 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr " Ðе удалоÑÑŒ обновить .gitmodules запиÑÑŒ %s" + #: trailer.c:238 #, c-format msgid "running trailer command '%s' failed" @@ -5172,7 +6704,7 @@ msgstr "Ñбой при запуÑке команды Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚ÐµÐ»Ñ Â«% msgid "unknown value '%s' for key '%s'" msgstr "неизвеÑтное значение «%s» Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° «%s»" -#: trailer.c:539 trailer.c:544 builtin/remote.c:294 +#: trailer.c:539 trailer.c:544 builtin/remote.c:295 #, c-format msgid "more than one %s" msgstr "больше одного %s" @@ -5191,26 +6723,26 @@ msgstr "не удалоÑÑŒ прочитать входной файл «%s»" msgid "could not read from stdin" msgstr "не удалоÑÑŒ прочитать из Ñтандартного ввода" -#: trailer.c:1008 builtin/am.c:47 +#: trailer.c:1011 wrapper.c:701 #, c-format msgid "could not stat %s" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ %s" -#: trailer.c:1010 +#: trailer.c:1013 #, c-format msgid "file %s is not a regular file" msgstr "файл %s не ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом" -#: trailer.c:1012 +#: trailer.c:1015 #, c-format msgid "file %s is not writable by user" msgstr "файл %s не доÑтупен на запиÑÑŒ пользователю" -#: trailer.c:1024 +#: trailer.c:1027 msgid "could not open temporary file" msgstr "не удалоÑÑŒ Ñоздать временный файл" -#: trailer.c:1064 +#: trailer.c:1067 #, c-format msgid "could not rename temporary file to %s" msgstr "не удалоÑÑŒ переименовать временный файл в %s" @@ -5230,36 +6762,44 @@ msgstr "" msgid "transport: invalid depth option '%s'" msgstr "транÑпорт: неправильный параметр глубины «%s»" -#: transport.c:586 +#: transport.c:259 +msgid "see protocol.version in 'git help config' for more details" +msgstr "" + +#: transport.c:260 +msgid "server options require protocol version 2 or later" +msgstr "" + +#: transport.c:625 msgid "could not parse transport.color.* config" msgstr "не удалоÑÑŒ разобрать опцию transport.color.*" -#: transport.c:659 +#: transport.c:698 msgid "support for protocol v2 not implemented yet" msgstr "" -#: transport.c:785 +#: transport.c:825 #, c-format msgid "unknown value for config '%s': %s" msgstr "" -#: transport.c:851 +#: transport.c:891 #, c-format msgid "transport '%s' not allowed" msgstr "" -#: transport.c:903 +#: transport.c:945 msgid "git-over-rsync is no longer supported" msgstr "" -#: transport.c:998 +#: transport.c:1040 #, c-format msgid "" "The following submodule paths contain changes that can\n" "not be found on any remote:\n" msgstr "Подмодули по указанным путÑм Ñодержат изменениÑ, которые не найдены ни на одном из внешних репозиториев:\n" -#: transport.c:1002 +#: transport.c:1044 #, c-format msgid "" "\n" @@ -5275,19 +6815,19 @@ msgid "" "\n" msgstr "\nПопробуйте выполнить\n\n\tgit push --recurse-submodules=on-demand\n\nили перейти в каталог Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды cd и выполнить\n\n\tgit push\n\nÐ´Ð»Ñ Ð¸Ñ… отправки на внешний репозиторий.\n" -#: transport.c:1010 +#: transport.c:1052 msgid "Aborting." msgstr "Прерываю." -#: transport.c:1148 +#: transport.c:1193 msgid "failed to push all needed submodules" msgstr "" -#: transport.c:1270 transport-helper.c:643 +#: transport.c:1326 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "" -#: transport.c:1352 +#: transport.c:1430 #, c-format msgid "invalid line while parsing alternate refs: %s" msgstr "" @@ -5296,162 +6836,162 @@ msgstr "" msgid "full write to remote helper failed" msgstr "" -#: transport-helper.c:132 +#: transport-helper.c:134 #, c-format msgid "unable to find remote helper for '%s'" msgstr "" -#: transport-helper.c:148 transport-helper.c:557 +#: transport-helper.c:150 transport-helper.c:559 msgid "can't dup helper output fd" msgstr "" -#: transport-helper.c:199 +#: transport-helper.c:201 #, c-format msgid "" "unknown mandatory capability %s; this remote helper probably needs newer " "version of Git" msgstr "" -#: transport-helper.c:205 +#: transport-helper.c:207 msgid "this remote helper should implement refspec capability" msgstr "" -#: transport-helper.c:272 transport-helper.c:412 +#: transport-helper.c:274 transport-helper.c:414 #, c-format msgid "%s unexpectedly said: '%s'" msgstr "" -#: transport-helper.c:401 +#: transport-helper.c:403 #, c-format msgid "%s also locked %s" msgstr "" -#: transport-helper.c:479 +#: transport-helper.c:481 msgid "couldn't run fast-import" msgstr "" -#: transport-helper.c:502 +#: transport-helper.c:504 msgid "error while running fast-import" msgstr "" -#: transport-helper.c:531 transport-helper.c:1091 +#: transport-helper.c:533 transport-helper.c:1099 #, c-format msgid "could not read ref %s" msgstr "" -#: transport-helper.c:576 +#: transport-helper.c:578 #, c-format msgid "unknown response to connect: %s" msgstr "" -#: transport-helper.c:598 +#: transport-helper.c:600 msgid "setting remote service path not supported by protocol" msgstr "" -#: transport-helper.c:600 +#: transport-helper.c:602 msgid "invalid remote service path" msgstr "" -#: transport-helper.c:646 +#: transport-helper.c:648 #, c-format msgid "can't connect to subservice %s" msgstr "" -#: transport-helper.c:713 +#: transport-helper.c:720 #, c-format msgid "expected ok/error, helper said '%s'" msgstr "" -#: transport-helper.c:766 +#: transport-helper.c:773 #, c-format msgid "helper reported unexpected status of %s" msgstr "" -#: transport-helper.c:827 +#: transport-helper.c:834 #, c-format msgid "helper %s does not support dry-run" msgstr "" -#: transport-helper.c:830 +#: transport-helper.c:837 #, c-format msgid "helper %s does not support --signed" msgstr "" -#: transport-helper.c:833 +#: transport-helper.c:840 #, c-format msgid "helper %s does not support --signed=if-asked" msgstr "" -#: transport-helper.c:840 +#: transport-helper.c:847 #, c-format msgid "helper %s does not support 'push-option'" msgstr "" -#: transport-helper.c:932 +#: transport-helper.c:939 msgid "remote-helper doesn't support push; refspec needed" msgstr "" -#: transport-helper.c:937 +#: transport-helper.c:944 #, c-format msgid "helper %s does not support 'force'" msgstr "" -#: transport-helper.c:984 +#: transport-helper.c:991 msgid "couldn't run fast-export" msgstr "" -#: transport-helper.c:989 +#: transport-helper.c:996 msgid "error while running fast-export" msgstr "" -#: transport-helper.c:1014 +#: transport-helper.c:1021 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" "Perhaps you should specify a branch such as 'master'.\n" msgstr "" -#: transport-helper.c:1077 +#: transport-helper.c:1085 #, c-format msgid "malformed response in ref list: %s" msgstr "" -#: transport-helper.c:1230 +#: transport-helper.c:1238 #, c-format msgid "read(%s) failed" msgstr "" -#: transport-helper.c:1257 +#: transport-helper.c:1265 #, c-format msgid "write(%s) failed" msgstr "" -#: transport-helper.c:1306 +#: transport-helper.c:1314 #, c-format msgid "%s thread failed" msgstr "" -#: transport-helper.c:1310 +#: transport-helper.c:1318 #, c-format msgid "%s thread failed to join: %s" msgstr "" -#: transport-helper.c:1329 transport-helper.c:1333 +#: transport-helper.c:1337 transport-helper.c:1341 #, c-format msgid "can't start thread for copying data: %s" msgstr "" -#: transport-helper.c:1370 +#: transport-helper.c:1378 #, c-format msgid "%s process failed to wait" msgstr "" -#: transport-helper.c:1374 +#: transport-helper.c:1382 #, c-format msgid "%s process failed" msgstr "" -#: transport-helper.c:1392 transport-helper.c:1401 +#: transport-helper.c:1400 transport-helper.c:1409 msgid "can't start thread for copying data" msgstr "" @@ -5467,185 +7007,192 @@ msgstr "неправильный режим в запиÑи дерева" msgid "empty filename in tree entry" msgstr "пуÑтое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в запиÑи дерева" -#: tree-walk.c:115 +#: tree-walk.c:116 msgid "too-short tree file" msgstr "Ñлишком короткий файл дерева" -#: unpack-trees.c:112 +#: unpack-trees.c:111 #, c-format 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 "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при переключении на ÑоÑтоÑние:\n%%sСделайте коммит или ÑпрÑчьте ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ переключением веток." -#: unpack-trees.c:114 +#: unpack-trees.c:113 #, c-format msgid "" "Your local changes to the following files would be overwritten by checkout:\n" "%%s" msgstr "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при переключении на ÑоÑтоÑние:\n%%s" -#: unpack-trees.c:117 +#: unpack-trees.c:116 #, c-format 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 "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при ÑлиÑнии:\n%%sСделайте коммит или ÑпрÑчьте ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ ÑлиÑнием веток." -#: unpack-trees.c:119 +#: unpack-trees.c:118 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" "%%s" msgstr "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при ÑлиÑнии:\n%%s" -#: unpack-trees.c:122 +#: unpack-trees.c:121 #, 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 "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при %s:\n%%sСделайте коммит или ÑпрÑчьте ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ %s." -#: unpack-trees.c:124 +#: unpack-trees.c:123 #, c-format msgid "" "Your local changes to the following files would be overwritten by %s:\n" "%%s" msgstr "Ваши локальные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² указанных файлах будут перезапиÑаны при %s:\n%%s" -#: unpack-trees.c:129 +#: unpack-trees.c:128 #, c-format msgid "" "Updating the following directories would lose untracked files in them:\n" "%s" msgstr "Обновление указанных каталогов приведет к потере неотÑлеживаемых файлов в них:\n%s" -#: unpack-trees.c:133 +#: unpack-trees.c:132 #, 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 "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при переключении на ÑоÑтоÑние:\n%%sПеремеÑтите Ñти файлы или удалите их перед переключением веток." -#: unpack-trees.c:135 +#: unpack-trees.c:134 #, c-format msgid "" "The following untracked working tree files would be removed by checkout:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при переключении на ÑоÑтоÑние:\n%%s" -#: unpack-trees.c:138 +#: unpack-trees.c:137 #, c-format msgid "" "The following untracked working tree files would be removed by merge:\n" "%%sPlease move or remove them before you merge." msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при ÑлиÑнии:\n%%sПеремеÑтите Ñти файлы или удалите их перед переключением веток." -#: unpack-trees.c:140 +#: unpack-trees.c:139 #, c-format msgid "" "The following untracked working tree files would be removed by merge:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при ÑлиÑнии:\n%%s" -#: unpack-trees.c:143 +#: unpack-trees.c:142 #, c-format msgid "" "The following untracked working tree files would be removed by %s:\n" "%%sPlease move or remove them before you %s." msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при %s:\n%%sПеремеÑтите Ñти файлы или удалите их перед %s." -#: unpack-trees.c:145 +#: unpack-trees.c:144 #, c-format msgid "" "The following untracked working tree files would be removed by %s:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут удалены при %s:\n%%s" -#: unpack-trees.c:151 +#: unpack-trees.c:150 #, 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 "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при переключении на ÑоÑтоÑние:\n%%sПеремеÑтите Ñти файлы или удалите их перед переключением веток." -#: unpack-trees.c:153 +#: unpack-trees.c:152 #, c-format msgid "" "The following untracked working tree files would be overwritten by checkout:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при переключении на ÑоÑтоÑние:\n%%s" -#: unpack-trees.c:156 +#: unpack-trees.c:155 #, c-format msgid "" "The following untracked working tree files would be overwritten by merge:\n" "%%sPlease move or remove them before you merge." msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при ÑлиÑнии:\n%%sПеремеÑтите Ñти файлы или удалите их перед переключением веток." -#: unpack-trees.c:158 +#: unpack-trees.c:157 #, c-format msgid "" "The following untracked working tree files would be overwritten by merge:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при ÑлиÑнии:\n%%s" -#: unpack-trees.c:161 +#: unpack-trees.c:160 #, c-format msgid "" "The following untracked working tree files would be overwritten by %s:\n" "%%sPlease move or remove them before you %s." msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при %s:\n%%sПеремеÑтите Ñти файлы или удалите их перед %s." -#: unpack-trees.c:163 +#: unpack-trees.c:162 #, c-format msgid "" "The following untracked working tree files would be overwritten by %s:\n" "%%s" msgstr "Указанные неотÑлеживаемые файлы в рабочем каталоге будут перезапиÑаны при %s:\n%%s" -#: unpack-trees.c:171 +#: unpack-trees.c:170 #, c-format msgid "Entry '%s' overlaps with '%s'. Cannot bind." msgstr "ЗапиÑÑŒ «%s» чаÑтично Ñовпадает Ñ Â«%s». Ðе удалоÑÑŒ назначить ÑоответÑтвие." -#: unpack-trees.c:174 +#: unpack-trees.c:173 #, c-format msgid "" "Cannot update sparse checkout: the following entries are not up to date:\n" "%s" msgstr "Ðе удалоÑÑŒ обновить чаÑтичное ÑоÑтоÑние: Ñледующие Ñлементы не поÑледней верÑии:\n%s" -#: unpack-trees.c:176 +#: unpack-trees.c:175 #, c-format msgid "" "The following working tree files would be overwritten by sparse checkout update:\n" "%s" msgstr "Указанные файлы из рабочего каталога будут перезапиÑаны при обновлении чаÑтичного ÑоÑтоÑниÑ:\n%s" -#: unpack-trees.c:178 +#: unpack-trees.c:177 #, c-format msgid "" "The following working tree files would be removed by sparse checkout update:\n" "%s" msgstr "Указанные файлы из рабочего каталога будут удалены при обновлении чаÑтичного ÑоÑтоÑниÑ:\n%s" -#: unpack-trees.c:180 +#: unpack-trees.c:179 #, c-format msgid "" "Cannot update submodule:\n" "%s" msgstr "Ðе удолоÑÑŒ обновить подмодуль:\n%s" -#: unpack-trees.c:254 +#: unpack-trees.c:256 #, c-format msgid "Aborting\n" msgstr "Прерываю\n" -#: unpack-trees.c:336 +#: unpack-trees.c:318 msgid "Checking out files" msgstr "РаÑпаковка файлов" +#: unpack-trees.c:350 +msgid "" +"the following paths have collided (e.g. case-sensitive paths\n" +"on a case-insensitive filesystem) and only one from the same\n" +"colliding group is in the working tree:\n" +msgstr "" + #: urlmatch.c:163 msgid "invalid URL scheme name or missing '://' suffix" msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¸Ð¼Ñ URL Ñхемы или пропущен ÑÑƒÑ„Ñ„Ð¸ÐºÑ Â«://»" @@ -5675,32 +7222,32 @@ msgstr "неправильный номер порта" msgid "invalid '..' path segment" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñ‡Ð°Ñть пути «..»" -#: worktree.c:245 builtin/am.c:2147 +#: worktree.c:255 builtin/am.c:2097 #, c-format msgid "failed to read '%s'" msgstr "не удалоÑÑŒ прочитать «%s»" -#: worktree.c:291 +#: worktree.c:301 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "" -#: worktree.c:302 +#: worktree.c:312 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" -#: worktree.c:314 +#: worktree.c:324 #, c-format msgid "'%s' does not exist" msgstr "«%s» не ÑущеÑтвует" -#: worktree.c:320 +#: worktree.c:330 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "" -#: worktree.c:328 +#: worktree.c:338 #, c-format msgid "'%s' does not point back to '%s'" msgstr "" @@ -5710,12 +7257,6 @@ msgstr "" msgid "could not open '%s' for reading and writing" msgstr "не удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑи" -#: wrapper.c:227 wrapper.c:397 builtin/am.c:321 builtin/am.c:771 -#: builtin/am.c:863 builtin/merge.c:1078 -#, c-format -msgid "could not open '%s' for reading" -msgstr "не удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" - #: wrapper.c:424 wrapper.c:624 #, c-format msgid "unable to access '%s'" @@ -5725,135 +7266,135 @@ msgstr "«%s» недоÑтупно" msgid "unable to get current working directory" msgstr "не удалоÑÑŒ получить текущий рабочий каталог" -#: wt-status.c:154 +#: wt-status.c:156 msgid "Unmerged paths:" msgstr "Ðе Ñлитые пути:" -#: wt-status.c:181 wt-status.c:208 +#: wt-status.c:183 wt-status.c:210 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr " (иÑпользуйте «git reset %s <файл>…», чтобы убрать из индекÑа)" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:185 wt-status.c:212 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (иÑпользуйте «git rm --cached <файл>…», чтобы убрать из индекÑа)" -#: wt-status.c:187 +#: wt-status.c:189 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (иÑпользуйте «git add <файл>…», чтобы пометить разрешение конфликта)" -#: wt-status.c:189 wt-status.c:193 +#: wt-status.c:191 wt-status.c:195 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr " (иÑпользуйте «git add/rm <файл>…», чтобы пометить выбранное разрешение конфликта)" -#: wt-status.c:191 +#: wt-status.c:193 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (иÑпользуйте «git rm <файл>…», чтобы пометить разрешение конфликта)" -#: wt-status.c:202 wt-status.c:1015 +#: wt-status.c:204 wt-status.c:1064 msgid "Changes to be committed:" msgstr "ИзменениÑ, которые будут включены в коммит:" -#: wt-status.c:220 wt-status.c:1024 +#: wt-status.c:222 wt-status.c:1073 msgid "Changes not staged for commit:" msgstr "ИзменениÑ, которые не в индекÑе Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°:" -#: wt-status.c:224 +#: wt-status.c:226 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr " (иÑпользуйте «git add <файл>…», чтобы добавить файл в индекÑ)" -#: wt-status.c:226 +#: wt-status.c:228 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr " (иÑпользуйте «git add/rm <файл>…», чтобы добавить или удалить файл из индекÑа)" -#: wt-status.c:227 +#: wt-status.c:229 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working " "directory)" msgstr " (иÑпользуйте «git checkout -- <файл>…», чтобы отменить изменениÑ\n в рабочем каталоге)" -#: wt-status.c:229 +#: wt-status.c:231 msgid " (commit or discard the untracked or modified content in submodules)" msgstr " (Ñделайте коммит или отмените Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² неотÑлеживаемом или измененном Ñодержимом в подмодулÑÑ…)" -#: wt-status.c:241 +#: wt-status.c:243 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr " (иÑпользуйте «git %s <файл>…», чтобы добавить в то, что будет включено в коммит)" -#: wt-status.c:256 +#: wt-status.c:258 msgid "both deleted:" msgstr "оба удалены:" -#: wt-status.c:258 +#: wt-status.c:260 msgid "added by us:" msgstr "добавлено нами:" -#: wt-status.c:260 +#: wt-status.c:262 msgid "deleted by them:" msgstr "удалено ими:" -#: wt-status.c:262 +#: wt-status.c:264 msgid "added by them:" msgstr "добавлено ими:" -#: wt-status.c:264 +#: wt-status.c:266 msgid "deleted by us:" msgstr "удалено нами:" -#: wt-status.c:266 +#: wt-status.c:268 msgid "both added:" msgstr "оба добавлены:" -#: wt-status.c:268 +#: wt-status.c:270 msgid "both modified:" msgstr "оба изменены:" -#: wt-status.c:278 +#: wt-status.c:280 msgid "new file:" msgstr "новый файл:" -#: wt-status.c:280 +#: wt-status.c:282 msgid "copied:" msgstr "Ñкопировано:" -#: wt-status.c:282 +#: wt-status.c:284 msgid "deleted:" msgstr "удалено:" -#: wt-status.c:284 +#: wt-status.c:286 msgid "modified:" msgstr "изменено:" -#: wt-status.c:286 +#: wt-status.c:288 msgid "renamed:" msgstr "переименовано:" -#: wt-status.c:288 +#: wt-status.c:290 msgid "typechange:" msgstr "изменен тип:" -#: wt-status.c:290 +#: wt-status.c:292 msgid "unknown:" msgstr "неизвеÑтно:" -#: wt-status.c:292 +#: wt-status.c:294 msgid "unmerged:" msgstr "не Ñлитые:" -#: wt-status.c:372 +#: wt-status.c:374 msgid "new commits, " msgstr "новые коммиты, " -#: wt-status.c:374 +#: wt-status.c:376 msgid "modified content, " msgstr "изменено Ñодержимое, " -#: wt-status.c:376 +#: wt-status.c:378 msgid "untracked content, " msgstr "неотÑлеживаемое Ñодержимое, " -#: wt-status.c:853 +#: wt-status.c:896 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" @@ -5862,69 +7403,69 @@ msgstr[1] "У Ð²Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ ÑпрÑтаны %d запиÑи" msgstr[2] "У Ð²Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ ÑпрÑтано %d запиÑей" msgstr[3] "У Ð²Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ ÑпрÑтаны %d запиÑи" -#: wt-status.c:885 +#: wt-status.c:928 msgid "Submodules changed but not updated:" msgstr "Измененные, но не обновленные подмодули:" -#: wt-status.c:887 +#: wt-status.c:930 msgid "Submodule changes to be committed:" msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² подмодулÑÑ…, которые будут закоммичены:" -#: wt-status.c:969 +#: wt-status.c:1012 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." msgstr "Ðе изменÑйте или удалÑйте Ñтроку выше Ñтой.\nÐ’ÑÑ‘, что ниже — будет проигнорировано." -#: wt-status.c:1084 +#: wt-status.c:1119 msgid "You have unmerged paths." msgstr "У Ð²Ð°Ñ ÐµÑть не Ñлитые пути." -#: wt-status.c:1087 +#: wt-status.c:1122 msgid " (fix conflicts and run \"git commit\")" msgstr " (разрешите конфликты, затем запуÑтите «git commit»)" -#: wt-status.c:1089 +#: wt-status.c:1124 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (иÑпользуйте «git merge --abort», чтобы оÑтановить операцию ÑлиÑниÑ)" -#: wt-status.c:1094 +#: wt-status.c:1128 msgid "All conflicts fixed but you are still merging." msgstr "Ð’Ñе конфликты иÑправлены, но вы вÑе еще в процеÑÑе ÑлиÑниÑ." -#: wt-status.c:1097 +#: wt-status.c:1131 msgid " (use \"git commit\" to conclude merge)" msgstr " (иÑпользуйте «git commit», чтобы завершить ÑлиÑние)" -#: wt-status.c:1107 +#: wt-status.c:1140 msgid "You are in the middle of an am session." msgstr "Ð’Ñ‹ в процеÑÑе ÑеÑÑии am." -#: wt-status.c:1110 +#: wt-status.c:1143 msgid "The current patch is empty." msgstr "Текущий патч пуÑтой." -#: wt-status.c:1114 +#: wt-status.c:1147 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (разрешите конфликты, затем запуÑтите «git am --continue»)" -#: wt-status.c:1116 +#: wt-status.c:1149 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (иÑпользуйте «git am --skip», чтобы пропуÑтить Ñтот патч)" -#: wt-status.c:1118 +#: wt-status.c:1151 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (иÑпользуйте «git am --abort», чтобы воÑÑтановить оригинальную ветку)" -#: wt-status.c:1250 +#: wt-status.c:1284 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo отÑутÑтвует." -#: wt-status.c:1252 +#: wt-status.c:1286 msgid "No commands done." msgstr "Команды не выполнены." -#: wt-status.c:1255 +#: wt-status.c:1289 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" @@ -5933,16 +7474,16 @@ msgstr[1] "ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° выполнена (%d команд msgstr[2] "ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° выполнена (%d команд выполнено):" msgstr[3] "ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° выполнена (%d команд выполнено):" -#: wt-status.c:1266 +#: wt-status.c:1300 #, c-format msgid " (see more in file %s)" msgstr " (Ñмотрите дополнительно в файле %s)" -#: wt-status.c:1271 +#: wt-status.c:1305 msgid "No commands remaining." msgstr "Команд больше не оÑталоÑÑŒ." -#: wt-status.c:1274 +#: wt-status.c:1308 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" @@ -5951,154 +7492,170 @@ msgstr[1] "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (%d кРmsgstr[2] "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (%d команд оÑталоÑÑŒ):" msgstr[3] "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (%d команд оÑталоÑÑŒ):" -#: wt-status.c:1282 +#: wt-status.c:1316 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (иÑпользуйте «git rebase --edit-todo», чтобы проÑмотреть и изменить)" -#: wt-status.c:1295 +#: wt-status.c:1328 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÑ‚Ðµ ветку «%s» над «%s»." -#: wt-status.c:1300 +#: wt-status.c:1333 msgid "You are currently rebasing." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÑ‚Ðµ ветку." -#: wt-status.c:1314 +#: wt-status.c:1346 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (разрешите конфликты, затем запуÑтите «git rebase --continue»)" -#: wt-status.c:1316 +#: wt-status.c:1348 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (иÑпользуйте «git rebase --skip», чтобы пропуÑтить Ñтот патч)" -#: wt-status.c:1318 +#: wt-status.c:1350 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (иÑпользуйте «git rebase --abort», чтобы перейти на оригинальную ветку)" -#: wt-status.c:1324 +#: wt-status.c:1357 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (вÑе конфликты разрешены: запуÑтите «git rebase --continue»)" -#: wt-status.c:1328 +#: wt-status.c:1361 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñете коммит при перемещении ветки «%s» над «%s»." -#: wt-status.c:1333 +#: wt-status.c:1366 msgid "You are currently splitting a commit during a rebase." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñете коммит при перемещении ветки." -#: wt-status.c:1336 +#: wt-status.c:1369 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "(Как только ваш рабочий каталог будет чиÑтый, запуÑтите «git rebase --continue»)" -#: wt-status.c:1340 +#: wt-status.c:1373 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚Ðµ коммит при перемещении ветки «%s» над «%s»." -#: wt-status.c:1345 +#: wt-status.c:1378 msgid "You are currently editing a commit during a rebase." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚Ðµ коммит при перемещении ветки." -#: wt-status.c:1348 +#: wt-status.c:1381 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (иÑпользуйте «git commit --amend», чтобы иÑправить текущий коммит)" -#: wt-status.c:1350 +#: wt-status.c:1383 msgid " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr " (иÑпользуйте «git rebase --continue», когда будете довольны изменениÑми)" -#: wt-status.c:1360 +#: wt-status.c:1394 +msgid "Cherry-pick currently in progress." +msgstr "" + +#: wt-status.c:1397 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Ð’Ñ‹ копируете коммит %s." -#: wt-status.c:1365 +#: wt-status.c:1404 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (разрешите конфликты, затем запуÑтите «git cherry-pick --continue»)" -#: wt-status.c:1368 +#: wt-status.c:1407 +msgid " (run \"git cherry-pick --continue\" to continue)" +msgstr "" + +#: wt-status.c:1410 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr " (вÑе конфликты разрешены: запуÑтите «git cherry-pick --continue»)" -#: wt-status.c:1370 +#: wt-status.c:1412 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (иÑпользуйте «git cherry-pick --abort», чтобы отменить ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°)" -#: wt-status.c:1379 +#: wt-status.c:1422 +msgid "Revert currently in progress." +msgstr "" + +#: wt-status.c:1425 #, c-format msgid "You are currently reverting commit %s." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‰Ð°ÐµÑ‚Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s." -#: wt-status.c:1384 +#: wt-status.c:1431 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (разрешите конфликты, затем запуÑтите «git revert --continue»)" -#: wt-status.c:1387 +#: wt-status.c:1434 +msgid " (run \"git revert --continue\" to continue)" +msgstr "" + +#: wt-status.c:1437 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (вÑе конфликты разрешены: запуÑтите «git revert --continue»)" -#: wt-status.c:1389 +#: wt-status.c:1439 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (иÑпользуйте «git revert --abort», чтобы отменить операцию Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ коммита)" -#: wt-status.c:1400 +#: wt-status.c:1449 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð² процеÑÑе двоичного поиÑка, начатого Ñ Ð²ÐµÑ‚ÐºÐ¸ «%s»." -#: wt-status.c:1404 +#: wt-status.c:1453 msgid "You are currently bisecting." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð² процеÑÑе двоичного поиÑка." -#: wt-status.c:1407 +#: wt-status.c:1456 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (иÑпользуйте «git bisect reset», чтобы вернутьÑÑ Ð½Ð° иÑходную ветку)" -#: wt-status.c:1604 +#: wt-status.c:1665 msgid "On branch " msgstr "Ðа ветке " -#: wt-status.c:1610 +#: wt-status.c:1672 msgid "interactive rebase in progress; onto " msgstr "интерактивное перемещение в процеÑÑе; над " -#: wt-status.c:1612 +#: wt-status.c:1674 msgid "rebase in progress; onto " msgstr "перемещение в процеÑÑе; над " -#: wt-status.c:1617 +#: wt-status.c:1679 msgid "HEAD detached at " msgstr "HEAD отделён на " -#: wt-status.c:1619 +#: wt-status.c:1681 msgid "HEAD detached from " msgstr "HEAD отделён Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ " -#: wt-status.c:1622 +#: wt-status.c:1684 msgid "Not currently on any branch." msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð½Ð¸ на одной из веток" -#: wt-status.c:1642 +#: wt-status.c:1701 msgid "Initial commit" msgstr "Ðачальный коммит" -#: wt-status.c:1643 +#: wt-status.c:1702 msgid "No commits yet" msgstr "Еще нет коммитов" -#: wt-status.c:1657 +#: wt-status.c:1716 msgid "Untracked files" msgstr "ÐеотÑлеживаемые файлы" -#: wt-status.c:1659 +#: wt-status.c:1718 msgid "Ignored files" msgstr "Игнорируемые файлы" -#: wt-status.c:1663 +#: wt-status.c:1722 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -6106,221 +7663,216 @@ msgid "" "new files yourself (see 'git help status')." msgstr "%.2f Ñекунды занÑл вывод ÑпиÑка неотÑлеживаемых файлов. «status -uno» возможно может уÑкорить Ñто, но будьте внимательны, и не забудьте добавить новые файлы вручную (Ñмотрите «git help status» Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей)." -#: wt-status.c:1669 +#: wt-status.c:1728 #, c-format msgid "Untracked files not listed%s" msgstr "ÐеотÑлеживаемые файлы не показаны%s" -#: wt-status.c:1671 +#: wt-status.c:1730 msgid " (use -u option to show untracked files)" msgstr "(иÑпользуйте опцию «-u», чтобы показать неотÑлеживаемые файлы)" -#: wt-status.c:1677 +#: wt-status.c:1736 msgid "No changes" msgstr "Ðет изменений" -#: wt-status.c:1682 +#: wt-status.c:1741 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "нет изменений добавленных Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°\n(иÑпользуйте «git add» и/или «git commit -a»)\n" -#: wt-status.c:1685 +#: wt-status.c:1744 #, c-format msgid "no changes added to commit\n" msgstr "нет изменений добавленных Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°\n" -#: wt-status.c:1688 +#: wt-status.c:1747 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "ничего не добавлено в коммит, но еÑть неотÑлеживаемые файлы (иÑпользуйте «git add», чтобы отÑлеживать их)\n" -#: wt-status.c:1691 +#: wt-status.c:1750 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "ничего не добавлено в коммит, но еÑть неотÑлеживаемые файлы\n" -#: wt-status.c:1694 +#: wt-status.c:1753 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "нечего коммитить (Ñоздайте/Ñкопируйте файлы, затем запуÑтите «git add», чтобы отÑлеживать их)\n" -#: wt-status.c:1697 wt-status.c:1702 +#: wt-status.c:1756 wt-status.c:1761 #, c-format msgid "nothing to commit\n" msgstr "нечего коммитить\n" -#: wt-status.c:1700 +#: wt-status.c:1759 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "нечего коммитить (иÑпользуйте опцию «-u», чтобы показать неотÑлеживаемые файлы)\n" -#: wt-status.c:1704 +#: wt-status.c:1763 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "нечего коммитить, нет изменений в рабочем каталоге\n" -#: wt-status.c:1817 +#: wt-status.c:1876 msgid "No commits yet on " msgstr "Еще нет коммитов в" -#: wt-status.c:1821 +#: wt-status.c:1880 msgid "HEAD (no branch)" msgstr "HEAD (нет ветки)" -#: wt-status.c:1852 +#: wt-status.c:1911 msgid "different" msgstr "отличаетÑÑ" -#: wt-status.c:1854 wt-status.c:1862 +#: wt-status.c:1913 wt-status.c:1921 msgid "behind " msgstr "позади" -#: wt-status.c:1857 wt-status.c:1860 +#: wt-status.c:1916 wt-status.c:1919 msgid "ahead " msgstr "впереди " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2376 +#: wt-status.c:2443 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "не удалоÑÑŒ выполнить %s: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: wt-status.c:2382 +#: wt-status.c:2449 msgid "additionally, your index contains uncommitted changes." msgstr "к тому же, в вашем индекÑе еÑть незакоммиченные изменениÑ." -#: wt-status.c:2384 +#: wt-status.c:2451 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "не удалоÑÑŒ выполнить %s: Ð’ вашем индекÑе еÑть незакоммиченные изменениÑ." -#: compat/precompose_utf8.c:58 builtin/clone.c:443 -#, c-format -msgid "failed to unlink '%s'" -msgstr "Ñбой отÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Â«%s»" - -#: builtin/add.c:24 +#: builtin/add.c:25 msgid "git add [<options>] [--] <pathspec>..." msgstr "git add [<опции>] [--] <Ñпецификатор-пути>…" -#: builtin/add.c:83 +#: builtin/add.c:84 #, c-format msgid "unexpected diff status %c" -msgstr "неожиданный ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ð¹ %c" +msgstr "неожиданный ÑÑ‚Ð°Ñ‚ÑƒÑ ÑƒÑ‚Ð¸Ð»Ð¸Ñ‚Ñ‹ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ %c" -#: builtin/add.c:88 builtin/commit.c:279 +#: builtin/add.c:89 builtin/commit.c:285 msgid "updating files failed" msgstr "Ñбой при обновлении файлов" -#: builtin/add.c:98 +#: builtin/add.c:99 #, c-format msgid "remove '%s'\n" msgstr "удалить «%s»\n" -#: builtin/add.c:173 +#: builtin/add.c:174 msgid "Unstaged changes after refreshing the index:" msgstr "ÐепроиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа:" -#: builtin/add.c:233 builtin/rev-parse.c:893 +#: builtin/add.c:234 builtin/rev-parse.c:896 msgid "Could not read the index" msgstr "Ðе удалоÑÑŒ прочитать индекÑ" -#: builtin/add.c:244 +#: builtin/add.c:245 #, c-format msgid "Could not open '%s' for writing." msgstr "Ðе удалоÑÑŒ открыть «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи." -#: builtin/add.c:248 +#: builtin/add.c:249 msgid "Could not write patch" msgstr "Ðе удалоÑÑŒ запиÑать патч" -#: builtin/add.c:251 +#: builtin/add.c:252 msgid "editing patch failed" msgstr "Ñбой при редактировании патча" -#: builtin/add.c:254 +#: builtin/add.c:255 #, c-format msgid "Could not stat '%s'" msgstr "Ðе удалоÑÑŒ выполнить stat Ð´Ð»Ñ Â«%s»" -#: builtin/add.c:256 +#: builtin/add.c:257 msgid "Empty patch. Aborted." msgstr "ПуÑтой патч. ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð½Ð°." -#: builtin/add.c:261 +#: builtin/add.c:262 #, c-format msgid "Could not apply '%s'" msgstr "Ðе удалоÑÑŒ применить «%s»" -#: builtin/add.c:269 +#: builtin/add.c:270 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "Следующие пути игнорируютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из ваших файлов .gitignore:\n" -#: builtin/add.c:289 builtin/clean.c:906 builtin/fetch.c:134 builtin/mv.c:123 -#: builtin/prune-packed.c:56 builtin/pull.c:212 builtin/push.c:557 -#: builtin/remote.c:1344 builtin/rm.c:240 builtin/send-pack.c:165 +#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "пробный запуÑк" -#: builtin/add.c:292 +#: builtin/add.c:293 msgid "interactive picking" msgstr "интерактивный выбор" -#: builtin/add.c:293 builtin/checkout.c:1144 builtin/reset.c:302 +#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 msgid "select hunks interactively" msgstr "интерактивный выбор блоков" -#: builtin/add.c:294 +#: builtin/add.c:295 msgid "edit current diff and apply" -msgstr "отредактировать текущий файл различий и применить его" +msgstr "отредактировать текущий файл ÑпиÑка изменений и применить его" -#: builtin/add.c:295 +#: builtin/add.c:296 msgid "allow adding otherwise ignored files" msgstr "разрешить добавление игнорируемых иначе файлов" -#: builtin/add.c:296 +#: builtin/add.c:297 msgid "update tracked files" msgstr "обновить отÑлеживаемые файлы" -#: builtin/add.c:297 +#: builtin/add.c:298 msgid "renormalize EOL of tracked files (implies -u)" msgstr "перенормализировать концы Ñтрок (EOL) отÑлеживаемых файлов (подразумевает -u)" -#: builtin/add.c:298 +#: builtin/add.c:299 msgid "record only the fact that the path will be added later" msgstr "запиÑать только факт, что путь будет добавлен позже" -#: builtin/add.c:299 +#: builtin/add.c:300 msgid "add changes from all tracked and untracked files" msgstr "добавить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð· вÑех отÑлеживаемых и неотÑлеживаемых файлов" -#: builtin/add.c:302 +#: builtin/add.c:303 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "игнорировать пути удаленные из рабочего каталога (тоже, что и --no-all)" -#: builtin/add.c:304 +#: builtin/add.c:305 msgid "don't add, only refresh the index" msgstr "не добавлÑть, только обновить индекÑ" -#: builtin/add.c:305 +#: builtin/add.c:306 msgid "just skip files which cannot be added because of errors" msgstr "пропуÑкать файлы, которые не могут быть добавлены из-за ошибок" -#: builtin/add.c:306 +#: builtin/add.c:307 msgid "check if - even missing - files are ignored in dry run" msgstr "удоÑтоверитьÑÑ, что даже недоÑтающие файлы будут проигнорированы при пробном запуÑке" -#: builtin/add.c:308 builtin/update-index.c:973 +#: builtin/add.c:309 builtin/update-index.c:1001 msgid "override the executable bit of the listed files" msgstr "переопределить бит Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° указанных файлах" -#: builtin/add.c:310 +#: builtin/add.c:311 msgid "warn when adding an embedded repository" msgstr "предупреждать при добавлении вÑтроенного git репозиториÑ" -#: builtin/add.c:325 +#: builtin/add.c:326 #, c-format msgid "" "You've added another git repository inside your current repository.\n" @@ -6338,12 +7890,12 @@ msgid "" "See \"git help submodule\" for more information." msgstr "Ð’Ñ‹ добавили другой репозиторий git внутри текущего репозиториÑ\nКлоны внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð½Ðµ будут Ñодержать внутренний\nрепозиторий и не будут знать как его получить.\nЕÑли вы хотели добавить подмодуль, то запуÑтите:\n\n\tgit submodule add <url> %s\n\nЕÑли бы добавили Ñтот путь по ошибке, то вы можете удалить его\nиз индекÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:\n\n\tgit rm --cached %s\n\nÐ”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации Ñмотрите «git help submodule»." -#: builtin/add.c:353 +#: builtin/add.c:354 #, c-format msgid "adding embedded git repository: %s" msgstr "добавление вÑтроенного git репозиториÑ: %s" -#: builtin/add.c:371 +#: builtin/add.c:372 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "ИÑпользуйте -f, еÑли вы дейÑтвительно хотите добавить их.\n" @@ -6352,383 +7904,382 @@ msgstr "ИÑпользуйте -f, еÑли вы дейÑтвительно хо msgid "adding files failed" msgstr "ошибка при добавлении файлов" -#: builtin/add.c:417 +#: builtin/add.c:419 msgid "-A and -u are mutually incompatible" msgstr "-A и -u Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/add.c:424 +#: builtin/add.c:426 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "ÐžÐ¿Ñ†Ð¸Ñ --ignore-missing может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ вмеÑте Ñ --dry-run" -#: builtin/add.c:428 +#: builtin/add.c:430 #, c-format msgid "--chmod param '%s' must be either -x or +x" msgstr "параметр --chmod «%s» должен быть -x или +x" -#: builtin/add.c:443 +#: builtin/add.c:445 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "Ðичего не указано, ничего не добавлено.\n" -#: builtin/add.c:444 +#: builtin/add.c:446 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Возможно, вы имели в виду «git add .»?\n" -#: builtin/add.c:449 builtin/check-ignore.c:177 builtin/checkout.c:282 -#: builtin/checkout.c:485 builtin/clean.c:953 builtin/commit.c:338 -#: builtin/diff-tree.c:115 builtin/grep.c:492 builtin/mv.c:144 -#: builtin/reset.c:241 builtin/rm.c:270 builtin/submodule--helper.c:329 -msgid "index file corrupt" -msgstr "файл индекÑа поврежден" - -#: builtin/am.c:415 +#: builtin/am.c:348 msgid "could not parse author script" msgstr "не удалоÑÑŒ разобрать Ñценарий авторÑтва" -#: builtin/am.c:499 +#: builtin/am.c:432 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "«%s» был удален перехватчиком applypatch-msg" -#: builtin/am.c:540 +#: builtin/am.c:474 #, c-format msgid "Malformed input line: '%s'." msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока ввода: «%s»." -#: builtin/am.c:577 +#: builtin/am.c:512 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "Ðе удалоÑÑŒ Ñкопировать заметку из «%s» в «%s»" -#: builtin/am.c:603 +#: builtin/am.c:538 msgid "fseek failed" msgstr "Ñбой при выполнении fseek" -#: builtin/am.c:791 +#: builtin/am.c:726 #, c-format msgid "could not parse patch '%s'" msgstr "не удалоÑÑŒ разобрать патч «%s»" -#: builtin/am.c:856 +#: builtin/am.c:791 msgid "Only one StGIT patch series can be applied at once" msgstr "Только ÑÐµÑ€Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡ÐµÐ¹ StGIT может быть применена за раз" -#: builtin/am.c:904 +#: builtin/am.c:839 msgid "invalid timestamp" msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° даты/времени" -#: builtin/am.c:909 builtin/am.c:921 +#: builtin/am.c:844 builtin/am.c:856 msgid "invalid Date line" msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ñтрока даты" -#: builtin/am.c:916 +#: builtin/am.c:851 msgid "invalid timezone offset" msgstr "недопуÑтимое Ñмещение чаÑового поÑÑа" -#: builtin/am.c:1009 +#: builtin/am.c:944 msgid "Patch format detection failed." msgstr "Сбой Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° патча." -#: builtin/am.c:1014 builtin/clone.c:408 +#: builtin/am.c:949 builtin/clone.c:409 #, c-format msgid "failed to create directory '%s'" msgstr "не удалоÑÑŒ Ñоздать каталог «%s»" -#: builtin/am.c:1019 +#: builtin/am.c:954 msgid "Failed to split patches." msgstr "Ðе удалоÑÑŒ разделить патчи на чаÑти." -#: builtin/am.c:1149 builtin/commit.c:364 +#: builtin/am.c:1084 builtin/commit.c:371 msgid "unable to write index file" msgstr "не удалоÑÑŒ запиÑать индекÑ" -#: builtin/am.c:1163 +#: builtin/am.c:1098 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "Когда вы уÑтраните Ñту проблему, запуÑтите «%s --continue»." -#: builtin/am.c:1164 +#: builtin/am.c:1099 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "ЕÑли вы хотите пропуÑтить Ñтот патч, то запуÑтите «%s --skip»." -#: builtin/am.c:1165 +#: builtin/am.c:1100 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "Чтобы вернутьÑÑ Ð½Ð° предыдущую ветку и оÑтановить применение изменений, запуÑтите «%s --abort»." -#: builtin/am.c:1272 +#: builtin/am.c:1183 +msgid "" +"Patch sent with format=flowed; space at the end of lines might be lost." +msgstr "" + +#: builtin/am.c:1211 msgid "Patch is empty." msgstr "Патч пуÑтой." -#: builtin/am.c:1338 +#: builtin/am.c:1277 #, c-format msgid "invalid ident line: %.*s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока идентификации: %.*s" -#: builtin/am.c:1360 +#: builtin/am.c:1299 #, c-format msgid "unable to parse commit %s" msgstr "не удалоÑÑŒ разобрать коммит %s" -#: builtin/am.c:1556 +#: builtin/am.c:1495 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "Ð’ репозитории отÑутÑтвуют двоичные объекты, необходимые Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ°Ñ‚Ð° к трехходовому ÑлиÑнию." -#: builtin/am.c:1558 +#: builtin/am.c:1497 msgid "Using index info to reconstruct a base tree..." msgstr "ИÑпользую Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð»Ñ Ñ€ÐµÐºÐ¾Ð½Ñтрукции базового дерева…" -#: builtin/am.c:1577 +#: builtin/am.c:1516 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." msgstr "Ð’Ñ‹ вручную изменÑли патч?\nОн не накладываетÑÑ Ð±ÐµÐ· ошибок на двоичные объекты, запиÑанные в его заголовке." -#: builtin/am.c:1583 +#: builtin/am.c:1522 msgid "Falling back to patching base and 3-way merge..." msgstr "Откат к применению изменений к базовому коммиту Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ трехходового ÑлиÑниÑ…" -#: builtin/am.c:1608 +#: builtin/am.c:1548 msgid "Failed to merge in the changes." msgstr "Ðе удалоÑÑŒ Ñлить изменениÑ." -#: builtin/am.c:1640 +#: builtin/am.c:1580 msgid "applying to an empty history" msgstr "применение к пуÑтой иÑтории" -#: builtin/am.c:1686 builtin/am.c:1690 +#: builtin/am.c:1627 builtin/am.c:1631 #, c-format msgid "cannot resume: %s does not exist." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð½Ð¸Ñ‚ÑŒ: %s не ÑущеÑтвует " -#: builtin/am.c:1706 +#: builtin/am.c:1647 msgid "cannot be interactive without stdin connected to a terminal." msgstr "не удалоÑÑŒ иÑпользовать интерактивное поведение, без stdin подключенного к терминалу." -#: builtin/am.c:1711 +#: builtin/am.c:1652 msgid "Commit Body is:" msgstr "Тело коммита:" #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a] #. in your translation. The program will only accept English #. input at this point. -#: builtin/am.c:1721 +#: builtin/am.c:1662 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Применить? [y] - да/[n] - нет/[e] - редактировать/[v] - проÑмотреть патч/[a] - применить вÑÑ‘: " -#: builtin/am.c:1771 +#: builtin/am.c:1712 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" -msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ðµ пуÑтой: Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ñть патчи (в индекÑе: %s)" +msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½: Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ñть патчи (изменено: %s)" -#: builtin/am.c:1811 builtin/am.c:1879 +#: builtin/am.c:1752 builtin/am.c:1820 #, c-format msgid "Applying: %.*s" msgstr "Применение: %.*s" -#: builtin/am.c:1828 +#: builtin/am.c:1769 msgid "No changes -- Patch already applied." msgstr "Ðет изменений — Патч уже применен." -#: builtin/am.c:1834 +#: builtin/am.c:1775 #, c-format msgid "Patch failed at %s %.*s" msgstr "Ошибка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ на %s %.*s" -#: builtin/am.c:1838 +#: builtin/am.c:1779 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" -#: builtin/am.c:1882 +#: builtin/am.c:1823 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" "already introduced the same changes; you might want to skip this patch." msgstr "Ðет изменений — возможно, вы забыли вызвать «git add»?\nЕÑли ничего не оÑталоÑÑŒ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑации, то, Ñкорее вÑего, что-то другое уже Ñделало те же изменениÑ; возможно, вам Ñледует пропуÑтить Ñтот патч." -#: builtin/am.c:1889 +#: builtin/am.c:1830 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as such.\n" "You might run `git rm` on a file to accept \"deleted by them\" for it." msgstr "У Ð²Ð°Ñ ÐµÑть не Ñлитые пути в индекÑе.\nÐ’Ñ‹ должны выполнить «git add» Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð½Ñ‹Ð¼Ð¸ конфликтами, чтобы пометить их таковыми.\nÐ’Ñ‹ можете запуÑтить «git rm» Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла, чтобы пометить его как «удалено ими»." -#: builtin/am.c:1996 builtin/am.c:2000 builtin/am.c:2012 builtin/reset.c:324 -#: builtin/reset.c:332 +#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "Ðе удалоÑÑŒ разобрать объект «%s»." -#: builtin/am.c:2048 +#: builtin/am.c:1989 msgid "failed to clean index" msgstr "не удалоÑÑŒ очиÑтить индекÑ" -#: builtin/am.c:2083 +#: builtin/am.c:2033 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "Похоже, что вы перемеÑтили HEAD Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° поÑледней ошибки Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«am».\nПеремотка на ORIG_HEAD не выполнÑетÑÑ" -#: builtin/am.c:2174 +#: builtin/am.c:2130 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Ðеправильное значение Ð´Ð»Ñ --patch-format: %s" -#: builtin/am.c:2210 +#: builtin/am.c:2166 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<опции>] [(<mbox> | <Maildir>)…]" -#: builtin/am.c:2211 +#: builtin/am.c:2167 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<опции>] (--continue | --skip | --abort)" -#: builtin/am.c:2217 +#: builtin/am.c:2173 msgid "run interactively" msgstr "запуÑтить в интерактивном режиме" -#: builtin/am.c:2219 +#: builtin/am.c:2175 msgid "historical option -- no-op" msgstr "иÑторичеÑÐºÐ°Ñ Ð¾Ð¿Ñ†Ð¸Ñ â€” ничего не делает" -#: builtin/am.c:2221 +#: builtin/am.c:2177 msgid "allow fall back on 3way merging if needed" msgstr "разрешить откатитьÑÑ Ðº трехходовому ÑлиÑнию, еÑли нужно" -#: builtin/am.c:2222 builtin/init-db.c:485 builtin/prune-packed.c:58 -#: builtin/repack.c:299 +#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:306 builtin/stash.c:805 msgid "be quiet" msgstr "тихий режим" -#: builtin/am.c:2224 +#: builtin/am.c:2180 msgid "add a Signed-off-by line to the commit message" msgstr "добавить Ñтроку Signed-off-by к Ñообщению коммита" -#: builtin/am.c:2227 +#: builtin/am.c:2183 msgid "recode into utf8 (default)" msgstr "перекодировать в utf8 (по умолчанию)" -#: builtin/am.c:2229 +#: builtin/am.c:2185 msgid "pass -k flag to git-mailinfo" msgstr "передать флаг -k в git-mailinfo" -#: builtin/am.c:2231 +#: builtin/am.c:2187 msgid "pass -b flag to git-mailinfo" msgstr "передать флаг -b в git-mailinfo" -#: builtin/am.c:2233 +#: builtin/am.c:2189 msgid "pass -m flag to git-mailinfo" msgstr "передать флаг -m в git-mailinfo" -#: builtin/am.c:2235 +#: builtin/am.c:2191 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "передать флаг --keep-cr в git-mailsplit Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° mbox" -#: builtin/am.c:2238 +#: builtin/am.c:2194 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "не передавать --keep-cr флаг в git-mailsplit вне завиÑимоÑти от am.keepcr" -#: builtin/am.c:2241 +#: builtin/am.c:2197 msgid "strip everything before a scissors line" msgstr "обрезать вÑе до Ñтроки обрезки" -#: builtin/am.c:2243 builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252 -#: builtin/am.c:2255 builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 -#: builtin/am.c:2270 +#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 +#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 +#: builtin/am.c:2226 msgid "pass it through git-apply" msgstr "передать его в git-apply" -#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:670 -#: builtin/fmt-merge-msg.c:673 builtin/grep.c:857 builtin/merge.c:237 -#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:308 -#: builtin/repack.c:312 builtin/repack.c:314 builtin/show-branch.c:650 -#: builtin/show-ref.c:170 builtin/tag.c:384 parse-options.h:144 -#: parse-options.h:146 parse-options.h:258 +#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 +#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 +#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 +#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 +#: parse-options.h:141 parse-options.h:162 parse-options.h:311 msgid "n" msgstr "n" -#: builtin/am.c:2266 builtin/branch.c:643 builtin/for-each-ref.c:38 -#: builtin/replace.c:543 builtin/tag.c:420 builtin/verify-tag.c:39 +#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 msgid "format" msgstr "формат" -#: builtin/am.c:2267 +#: builtin/am.c:2223 msgid "format the patch(es) are in" msgstr "формат, в котором находÑÑ‚ÑÑ Ð¿Ð°Ñ‚Ñ‡Ð¸" -#: builtin/am.c:2273 +#: builtin/am.c:2229 msgid "override error message when patch failure occurs" msgstr "переопределить Ñообщение об ошибке, еÑли не удалоÑÑŒ наложить изменениÑ" -#: builtin/am.c:2275 +#: builtin/am.c:2231 msgid "continue applying patches after resolving a conflict" msgstr "продолжить применение изменений поÑле Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð»Ð¸ÐºÑ‚Ð°" -#: builtin/am.c:2278 +#: builtin/am.c:2234 msgid "synonyms for --continue" msgstr "Ñиноним Ð´Ð»Ñ --continue" -#: builtin/am.c:2281 +#: builtin/am.c:2237 msgid "skip the current patch" msgstr "пропуÑтить текущий патч" -#: builtin/am.c:2284 +#: builtin/am.c:2240 msgid "restore the original branch and abort the patching operation." msgstr "воÑÑтановить оригинальную ветку и отменить операцию Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹." -#: builtin/am.c:2287 +#: builtin/am.c:2243 msgid "abort the patching operation but keep HEAD where it is." msgstr "" -#: builtin/am.c:2290 +#: builtin/am.c:2246 msgid "show the patch being applied." msgstr "" -#: builtin/am.c:2294 +#: builtin/am.c:2250 msgid "lie about committer date" msgstr "Ñоврать о дате коммитера" -#: builtin/am.c:2296 +#: builtin/am.c:2252 msgid "use current timestamp for author date" msgstr "иÑпользовать текущее Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº Ð²Ñ€ÐµÐ¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ñтва" -#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:271 -#: builtin/pull.c:183 builtin/revert.c:113 builtin/tag.c:400 +#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 +#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 +#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2299 +#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 msgid "GPG-sign commits" msgstr "подпиÑать коммиты Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" -#: builtin/am.c:2302 +#: builtin/am.c:2258 msgid "(internal use for git-rebase)" msgstr "(внутреннее иÑпользование Ð´Ð»Ñ git-rebase)" -#: builtin/am.c:2320 +#: builtin/am.c:2276 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." msgstr "ÐžÐ¿Ñ†Ð¸Ñ -b/--binary уже долгое Ð²Ñ€ÐµÐ¼Ñ Ð½Ð¸Ñ‡ÐµÐ³Ð¾ не делает и будет удалена Ñ Ñледующих верÑиÑÑ… Git. ПожалуйÑта, не иÑпользуйте ее." -#: builtin/am.c:2327 +#: builtin/am.c:2283 msgid "failed to read the index" msgstr "Ñбой Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа" -#: builtin/am.c:2342 +#: builtin/am.c:2298 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "предыдущий каталог Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ %s еще ÑущеÑтвует, но передан mbox." -#: builtin/am.c:2366 +#: builtin/am.c:2322 #, c-format msgid "" "Stray %s directory found.\n" "Use \"git am --abort\" to remove it." msgstr "Ðайден забытый каталог %s.\nИÑпользуйте «git am --abort», чтобы удалить его." -#: builtin/am.c:2372 +#: builtin/am.c:2328 msgid "Resolve operation not in progress, we are not resuming." msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² не в процеÑÑе выполнениÑ, не продолжаем." @@ -6749,221 +8300,410 @@ msgstr "не удалоÑÑŒ перенаправить вывод" msgid "git archive: Remote with no URL" msgstr "git archive: внешний репозиторий без URL" -#: builtin/archive.c:58 +#: builtin/archive.c:61 msgid "git archive: expected ACK/NAK, got a flush packet" msgstr "git archive: ожидаетÑÑ ACK/NAK, получен пакет ÑброÑа буфера" -#: builtin/archive.c:61 +#: builtin/archive.c:64 #, c-format msgid "git archive: NACK %s" msgstr "git archive: NACK %s" -#: builtin/archive.c:64 +#: builtin/archive.c:65 msgid "git archive: protocol error" msgstr "git archive: ошибка протокола" -#: builtin/archive.c:68 +#: builtin/archive.c:69 msgid "git archive: expected a flush" msgstr "git archive: ожидалÑÑ ÑÐ±Ñ€Ð¾Ñ Ð±ÑƒÑ„ÐµÑ€Ð°" -#: builtin/bisect--helper.c:12 +#: builtin/bisect--helper.c:22 msgid "git bisect--helper --next-all [--no-checkout]" msgstr "git bisect--helper --next-all [--no-checkout]" -#: builtin/bisect--helper.c:13 +#: builtin/bisect--helper.c:23 msgid "git bisect--helper --write-terms <bad_term> <good_term>" msgstr "git bisect--helper --write-terms <плохое-определение> <хорошее-определение>" -#: builtin/bisect--helper.c:14 +#: builtin/bisect--helper.c:24 msgid "git bisect--helper --bisect-clean-state" msgstr "git bisect--helper --bisect-clean-state" -#: builtin/bisect--helper.c:46 +#: builtin/bisect--helper.c:25 +msgid "git bisect--helper --bisect-reset [<commit>]" +msgstr "" + +#: builtin/bisect--helper.c:26 +msgid "" +"git bisect--helper --bisect-write [--no-log] <state> <revision> <good_term> " +"<bad_term>" +msgstr "" + +#: builtin/bisect--helper.c:27 +msgid "" +"git bisect--helper --bisect-check-and-set-terms <command> <good_term> " +"<bad_term>" +msgstr "" + +#: builtin/bisect--helper.c:28 +msgid "git bisect--helper --bisect-next-check <good_term> <bad_term> [<term>]" +msgstr "" + +#: builtin/bisect--helper.c:29 +msgid "" +"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | " +"--term-new]" +msgstr "" + +#: builtin/bisect--helper.c:30 +msgid "" +"git bisect--helper --bisect-start [--term-{old,good}=<term> " +"--term-{new,bad}=<term>][--no-checkout] [<bad> [<good>...]] [--] " +"[<paths>...]" +msgstr "" + +#: builtin/bisect--helper.c:86 #, c-format msgid "'%s' is not a valid term" msgstr "«%s» не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым определением" -#: builtin/bisect--helper.c:50 +#: builtin/bisect--helper.c:90 #, c-format msgid "can't use the builtin command '%s' as a term" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вÑтроенную команду «%s» как определение" -#: builtin/bisect--helper.c:60 +#: builtin/bisect--helper.c:100 #, c-format msgid "can't change the meaning of the term '%s'" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ значение Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«%s»" -#: builtin/bisect--helper.c:71 +#: builtin/bisect--helper.c:111 msgid "please use two different terms" msgstr "иÑпользуйте два разных определениÑ" -#: builtin/bisect--helper.c:78 +#: builtin/bisect--helper.c:118 msgid "could not open the file BISECT_TERMS" msgstr "не удалоÑÑŒ открыть файл BISECT_TERMS" -#: builtin/bisect--helper.c:120 +#: builtin/bisect--helper.c:155 +#, c-format +msgid "We are not bisecting.\n" +msgstr "" + +#: builtin/bisect--helper.c:163 +#, c-format +msgid "'%s' is not a valid commit" +msgstr "" + +#: builtin/bisect--helper.c:174 +#, c-format +msgid "" +"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'." +msgstr "" + +#: builtin/bisect--helper.c:215 +#, c-format +msgid "Bad bisect_write argument: %s" +msgstr "" + +#: builtin/bisect--helper.c:220 +#, c-format +msgid "couldn't get the oid of the rev '%s'" +msgstr "" + +#: builtin/bisect--helper.c:232 +#, c-format +msgid "couldn't open the file '%s'" +msgstr "" + +#: builtin/bisect--helper.c:258 +#, c-format +msgid "Invalid command: you're currently in a %s/%s bisect" +msgstr "" + +#: builtin/bisect--helper.c:285 +#, c-format +msgid "" +"You need to give me at least one %s and %s revision.\n" +"You can use \"git bisect %s\" and \"git bisect %s\" for that." +msgstr "" + +#: builtin/bisect--helper.c:289 +#, c-format +msgid "" +"You need to start by \"git bisect start\".\n" +"You then need to give me at least one %s and %s revision.\n" +"You can use \"git bisect %s\" and \"git bisect %s\" for that." +msgstr "" + +#: builtin/bisect--helper.c:321 +#, c-format +msgid "bisecting only with a %s commit" +msgstr "" + +#. TRANSLATORS: Make sure to include [Y] and [n] in your +#. translation. The program will only accept English input +#. at this point. +#: builtin/bisect--helper.c:329 +msgid "Are you sure [Y/n]? " +msgstr "Ð’Ñ‹ уверены [Y - да/n - нет]? " + +#: builtin/bisect--helper.c:376 +msgid "no terms defined" +msgstr "Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ заданы" + +#: builtin/bisect--helper.c:379 +#, c-format +msgid "" +"Your current terms are %s for the old state\n" +"and %s for the new state.\n" +msgstr "" + +#: builtin/bisect--helper.c:389 +#, c-format +msgid "" +"invalid argument %s for 'git bisect terms'.\n" +"Supported options are: --term-good|--term-old and --term-bad|--term-new." +msgstr "" + +#: builtin/bisect--helper.c:475 +#, c-format +msgid "unrecognized option: '%s'" +msgstr "" + +#: builtin/bisect--helper.c:479 +#, c-format +msgid "'%s' does not appear to be a valid revision" +msgstr "" + +#: builtin/bisect--helper.c:511 +msgid "bad HEAD - I need a HEAD" +msgstr "" + +#: builtin/bisect--helper.c:526 +#, c-format +msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'." +msgstr "" + +#: builtin/bisect--helper.c:547 +msgid "won't bisect on cg-seek'ed tree" +msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ двоичный поиÑк на дереве поÑле cg-seek" + +#: builtin/bisect--helper.c:550 +msgid "bad HEAD - strange symbolic ref" +msgstr "" + +#: builtin/bisect--helper.c:627 msgid "perform 'git bisect next'" msgstr "выполнить «git bisect next»" -#: builtin/bisect--helper.c:122 +#: builtin/bisect--helper.c:629 msgid "write the terms to .git/BISECT_TERMS" msgstr "запиÑать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² .git/BISECT_TERMS" -#: builtin/bisect--helper.c:124 +#: builtin/bisect--helper.c:631 msgid "cleanup the bisection state" msgstr "очиÑтить ÑоÑтоÑние двоичного поиÑка" -#: builtin/bisect--helper.c:126 +#: builtin/bisect--helper.c:633 msgid "check for expected revs" msgstr "проверить ожидаемые редакции" -#: builtin/bisect--helper.c:128 +#: builtin/bisect--helper.c:635 +msgid "reset the bisection state" +msgstr "" + +#: builtin/bisect--helper.c:637 +msgid "write out the bisection state in BISECT_LOG" +msgstr "" + +#: builtin/bisect--helper.c:639 +msgid "check and set terms in a bisection state" +msgstr "" + +#: builtin/bisect--helper.c:641 +msgid "check whether bad or good terms exist" +msgstr "" + +#: builtin/bisect--helper.c:643 +msgid "print out the bisect terms" +msgstr "" + +#: builtin/bisect--helper.c:645 +msgid "start the bisect session" +msgstr "" + +#: builtin/bisect--helper.c:647 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "обновить BISECT_HEAD вмеÑто перехода на текущий коммит" -#: builtin/bisect--helper.c:143 +#: builtin/bisect--helper.c:649 +msgid "no log for BISECT_WRITE" +msgstr "" + +#: builtin/bisect--helper.c:666 msgid "--write-terms requires two arguments" msgstr "--write-terms требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð´Ð²ÑƒÑ… параметров" -#: builtin/bisect--helper.c:147 +#: builtin/bisect--helper.c:670 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state не требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð²" -#: builtin/blame.c:31 +#: builtin/bisect--helper.c:677 +msgid "--bisect-reset requires either no argument or a commit" +msgstr "" + +#: builtin/bisect--helper.c:681 +msgid "--bisect-write requires either 4 or 5 arguments" +msgstr "" + +#: builtin/bisect--helper.c:687 +msgid "--check-and-set-terms requires 3 arguments" +msgstr "" + +#: builtin/bisect--helper.c:693 +msgid "--bisect-next-check requires 2 or 3 arguments" +msgstr "" + +#: builtin/bisect--helper.c:699 +msgid "--bisect-terms requires 0 or 1 argument" +msgstr "" + +#: builtin/blame.c:32 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<опции>] [<опции-редакции>] [<редакциÑ>] [--] <файл>" -#: builtin/blame.c:36 +#: builtin/blame.c:37 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<опции-rev-list> документированы в git-rev-list(1)" -#: builtin/blame.c:406 +#: builtin/blame.c:407 #, c-format msgid "expecting a color: %s" msgstr "ожидаетÑÑ Ñ†Ð²ÐµÑ‚: %s" -#: builtin/blame.c:413 +#: builtin/blame.c:414 msgid "must end with a color" msgstr "должно заканчиватьÑÑ Ð½Ð° цвет" -#: builtin/blame.c:700 +#: builtin/blame.c:701 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "" -#: builtin/blame.c:718 +#: builtin/blame.c:719 msgid "invalid value for blame.coloring" msgstr "" -#: builtin/blame.c:789 +#: builtin/blame.c:794 msgid "Show blame entries as we find them, incrementally" msgstr "Показать запиÑи авторÑтва поÑтепенно, в процеÑÑе нахождениÑ" -#: builtin/blame.c:790 +#: builtin/blame.c:795 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Ðе показывать SHA-1 Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð², не входÑщих в границы запроÑа (По умолчанию: отключено)" -#: builtin/blame.c:791 +#: builtin/blame.c:796 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Ðе воÑпринимать корневые коммиты как граничные (По умолчанию: отключено)" -#: builtin/blame.c:792 +#: builtin/blame.c:797 msgid "Show work cost statistics" msgstr "Показать ÑтатиÑтику раÑходов на выполнение запроÑа" -#: builtin/blame.c:793 +#: builtin/blame.c:798 msgid "Force progress reporting" msgstr "Принудительно выводить прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: builtin/blame.c:794 +#: builtin/blame.c:799 msgid "Show output score for blame entries" msgstr "Показать оценку Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей авторÑтва" -#: builtin/blame.c:795 +#: builtin/blame.c:800 msgid "Show original filename (Default: auto)" msgstr "Показать оригинальное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° (По умолчанию: автоматичеÑки)" -#: builtin/blame.c:796 +#: builtin/blame.c:801 msgid "Show original linenumber (Default: off)" msgstr "Показать оригинальные номера Ñтрок (По умолчанию: отключено)" -#: builtin/blame.c:797 +#: builtin/blame.c:802 msgid "Show in a format designed for machine consumption" msgstr "Показать в формате Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ разбора" -#: builtin/blame.c:798 +#: builtin/blame.c:803 msgid "Show porcelain format with per-line commit information" msgstr "Показать в машиночитаемом формате, Ñ Ð¿Ð¾Ñтрочной информацией о коммите" -#: builtin/blame.c:799 +#: builtin/blame.c:804 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "ИÑпользовать такой же формат вывода, как и git-annotate (По умолчанию: отключено)" -#: builtin/blame.c:800 +#: builtin/blame.c:805 msgid "Show raw timestamp (Default: off)" msgstr "Показать необработанные временные метки (По умолчанию: отключено)" -#: builtin/blame.c:801 +#: builtin/blame.c:806 msgid "Show long commit SHA1 (Default: off)" msgstr "Показать длинный SHA1 идентификатор коммита (По умолчанию: отключено)" -#: builtin/blame.c:802 +#: builtin/blame.c:807 msgid "Suppress author name and timestamp (Default: off)" msgstr "Ðе показывать Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° и временные метки (По умолчанию: отключено)" -#: builtin/blame.c:803 +#: builtin/blame.c:808 msgid "Show author email instead of name (Default: off)" msgstr "Показать почту автора вмеÑто имени (По умолчанию: отключено)" -#: builtin/blame.c:804 +#: builtin/blame.c:809 msgid "Ignore whitespace differences" msgstr "Игнорировать Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð² пробелах" -#: builtin/blame.c:805 +#: builtin/blame.c:810 msgid "color redundant metadata from previous line differently" msgstr "" -#: builtin/blame.c:806 +#: builtin/blame.c:811 msgid "color lines by age" msgstr "" -#: builtin/blame.c:813 +#: builtin/blame.c:818 msgid "Use an experimental heuristic to improve diffs" -msgstr "ИÑпользовать ÑкÑперементальную ÑвриÑтику, чтобы улучшить файлы различий" +msgstr "ИÑпользовать ÑкÑперементальную ÑвриÑтику, чтобы улучшить файлы ÑпиÑка изменений" -#: builtin/blame.c:815 +#: builtin/blame.c:820 msgid "Spend extra cycles to find better match" msgstr "Потратить больше времени, Ð´Ð»Ñ Ð½Ð°Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð»ÑƒÑ‡ÑˆÐ¸Ñ… Ñовпадений" -#: builtin/blame.c:816 +#: builtin/blame.c:821 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "ИÑпользовать редакции из <файла> вмеÑто вызова git-rev-list" -#: builtin/blame.c:817 +#: builtin/blame.c:822 msgid "Use <file>'s contents as the final image" msgstr "ИÑпользовать Ñодержимое <файла> как финальный Ñнимок" -#: builtin/blame.c:818 builtin/blame.c:819 +#: builtin/blame.c:823 builtin/blame.c:824 msgid "score" msgstr "мин-длина" -#: builtin/blame.c:818 +#: builtin/blame.c:823 msgid "Find line copies within and across files" msgstr "Ðайти копирование Ñтрок в пределах и между файлами" -#: builtin/blame.c:819 +#: builtin/blame.c:824 msgid "Find line movements within and across files" msgstr "Ðайти Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñтрок в пределах и между файлами" -#: builtin/blame.c:820 +#: builtin/blame.c:825 msgid "n,m" msgstr "начало,конец" -#: builtin/blame.c:820 +#: builtin/blame.c:825 msgid "Process only line range n,m, counting from 1" msgstr "Обработать только Ñтроки в диапазоне начало,конец, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1" -#: builtin/blame.c:869 +#: builtin/blame.c:876 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "--progress Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ --incremental или машиночитаемым (porcelain) форматом" @@ -6974,11 +8714,11 @@ msgstr "--progress Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременнР#. among various forms of relative timestamps, but #. your language may need more or fewer display #. columns. -#: builtin/blame.c:920 +#: builtin/blame.c:927 msgid "4 years, 11 months ago" msgstr "4 года и 11 меÑÑцев назад" -#: builtin/blame.c:1007 +#: builtin/blame.c:1031 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" @@ -6987,170 +8727,179 @@ msgstr[1] "файл %s Ñодержит только %lu Ñтроки" msgstr[2] "файл %s Ñодержит только %lu Ñтрок" msgstr[3] "файл %s Ñодержит только %lu Ñтроки" -#: builtin/blame.c:1053 +#: builtin/blame.c:1077 msgid "Blaming lines" msgstr "ПроÑмотр авторов Ñтрок" -#: builtin/branch.c:28 +#: builtin/branch.c:29 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]" msgstr "git branch [<опции>] [-r | -a] [--merged | --no-merged]" -#: builtin/branch.c:29 +#: builtin/branch.c:30 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]" msgstr "git branch [<опции>] [-l] [-f] <имÑ-ветки> [<точка-начала>]" -#: builtin/branch.c:30 +#: builtin/branch.c:31 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..." msgstr "git branch [<опции>] [-r] (-d | -D) <имÑ-ветки>…" -#: builtin/branch.c:31 +#: builtin/branch.c:32 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>" msgstr "git branch [<опции>] (-m | -M) [<ÑтараÑ-ветка>] <новаÑ-ветка>" -#: builtin/branch.c:32 +#: builtin/branch.c:33 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>" msgstr "git branch [<опции>] (-c | -C) [<ÑтараÑ-ветка>] <новаÑ-ветка>" -#: builtin/branch.c:33 +#: builtin/branch.c:34 msgid "git branch [<options>] [-r | -a] [--points-at]" msgstr "git branch [<опции>] [-r | -a] [--points-at]" -#: builtin/branch.c:34 +#: builtin/branch.c:35 msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<опции>] [-r | -a] [--format]" -#: builtin/branch.c:143 +#: builtin/branch.c:151 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" " '%s', but not yet merged to HEAD." msgstr "удаление ветки «%s», ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° Ñлита Ñ\n «%s», но не Ñлита Ñ HEAD." -#: builtin/branch.c:147 +#: builtin/branch.c:155 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" " '%s', even though it is merged to HEAD." msgstr "не удаление ветки «%s», ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÐµÑ‰Ðµ не Ñлита Ñ\n «%s», Ñ…Ð¾Ñ‚Ñ ÑƒÐ¶Ðµ Ñлита Ñ HEAD." -#: builtin/branch.c:161 +#: builtin/branch.c:169 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Ðе удалоÑÑŒ найти объект коммита Ð´Ð»Ñ Â«%s»" -#: builtin/branch.c:165 +#: builtin/branch.c:173 #, c-format msgid "" "The branch '%s' is not fully merged.\n" "If you are sure you want to delete it, run 'git branch -D %s'." msgstr "Ветка «%s» не Ñлита полноÑтью.\nЕÑли вы уверены, что хотите ее удалить, запуÑтите «git branch -D %s»." -#: builtin/branch.c:178 +#: builtin/branch.c:186 msgid "Update of config-file failed" msgstr "Ðе удалоÑÑŒ обновить файл конфигурации" -#: builtin/branch.c:209 +#: builtin/branch.c:217 msgid "cannot use -a with -d" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно ключи -a и -d" -#: builtin/branch.c:215 +#: builtin/branch.c:223 msgid "Couldn't look up commit object for HEAD" msgstr "Ðе удалоÑÑŒ найти объект коммита Ð´Ð»Ñ HEAD" -#: builtin/branch.c:229 +#: builtin/branch.c:237 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "ÐÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ ветку «%s» Ñ‚.к. она активна на «%s»" -#: builtin/branch.c:244 +#: builtin/branch.c:252 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "внешнÑÑ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ‚ÐºÐ° «%s» не найдена." -#: builtin/branch.c:245 +#: builtin/branch.c:253 #, c-format msgid "branch '%s' not found." msgstr "ветка «%s» не найдена." -#: builtin/branch.c:260 +#: builtin/branch.c:268 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ отÑлеживаемой ветки «%s»" -#: builtin/branch.c:261 +#: builtin/branch.c:269 #, c-format msgid "Error deleting branch '%s'" msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ‚ÐºÐ¸ «%s»" -#: builtin/branch.c:268 +#: builtin/branch.c:276 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "ВнешнÑÑ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ‚ÐºÐ° %s удалена (была %s).\n" -#: builtin/branch.c:269 +#: builtin/branch.c:277 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Ветка %s удалена (была %s).\n" -#: builtin/branch.c:413 builtin/tag.c:59 +#: builtin/branch.c:421 builtin/tag.c:60 msgid "unable to parse format string" msgstr "не удалоÑÑŒ разобрать Ñтроку формата" -#: builtin/branch.c:450 +#: builtin/branch.c:452 +msgid "could not resolve HEAD" +msgstr "" + +#: builtin/branch.c:458 +#, c-format +msgid "HEAD (%s) points outside of refs/heads/" +msgstr "" + +#: builtin/branch.c:473 #, c-format msgid "Branch %s is being rebased at %s" msgstr "ПроизводитÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ ветки %s на %s" -#: builtin/branch.c:454 +#: builtin/branch.c:477 #, c-format msgid "Branch %s is being bisected at %s" msgstr "ПроизводитÑÑ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ð¹ поиÑк в ветке %s на %s" -#: builtin/branch.c:471 +#: builtin/branch.c:494 msgid "cannot copy the current branch while not on any." msgstr "невозможно Ñкопировать текущую ветку, еÑли вы не находитеÑÑŒ ни на одной из веток." -#: builtin/branch.c:473 +#: builtin/branch.c:496 msgid "cannot rename the current branch while not on any." msgstr "невозможно переименовать текущую ветку, еÑли вы не находитеÑÑŒ ни на одной из них." -#: builtin/branch.c:484 +#: builtin/branch.c:507 #, c-format msgid "Invalid branch name: '%s'" msgstr "ÐедейÑтвительное Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸: «%s»" -#: builtin/branch.c:511 +#: builtin/branch.c:534 msgid "Branch rename failed" msgstr "Сбой Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÑ‚ÐºÐ¸" -#: builtin/branch.c:513 +#: builtin/branch.c:536 msgid "Branch copy failed" msgstr "Сбой ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÑ‚ÐºÐ¸" -#: builtin/branch.c:517 +#: builtin/branch.c:540 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Создана ÐºÐ¾Ð¿Ð¸Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ названной ветки «%s»" -#: builtin/branch.c:520 +#: builtin/branch.c:543 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Переименована неправильно Ð½Ð°Ð·Ð²Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° «%s»" -#: builtin/branch.c:526 +#: builtin/branch.c:549 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Ветка переименована в %s, но HEAD не обновлен!" -#: builtin/branch.c:535 +#: builtin/branch.c:558 msgid "Branch is renamed, but update of config-file failed" msgstr "Ветка переименована, но произошел Ñбой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° конфигурации" -#: builtin/branch.c:537 +#: builtin/branch.c:560 msgid "Branch is copied, but update of config-file failed" msgstr "Ветка Ñкопирована, но произошел Ñбой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° конфигурации" -#: builtin/branch.c:553 +#: builtin/branch.c:576 #, c-format msgid "" "Please edit the description for the branch\n" @@ -7158,223 +8907,213 @@ msgid "" "Lines starting with '%c' will be stripped.\n" msgstr "Измените опиÑание Ð´Ð»Ñ Ð²ÐµÑ‚ÐºÐ¸:\n %s\nСтроки, начинающиеÑÑ Ñ Â«%c» будут вырезаны.\n" -#: builtin/branch.c:594 +#: builtin/branch.c:610 msgid "Generic options" msgstr "Общие параметры" -#: builtin/branch.c:596 +#: builtin/branch.c:612 msgid "show hash and subject, give twice for upstream branch" -msgstr "показывать Ñ…Ñш-Ñумму и тему, укажите дважды Ð´Ð»Ñ Ð²Ñ‹ÑˆÐµÑтоÑщей ветки" +msgstr "показывать хеш-Ñумму и тему, укажите дважды Ð´Ð»Ñ Ð²Ñ‹ÑˆÐµÑтоÑщей ветки" -#: builtin/branch.c:597 +#: builtin/branch.c:613 msgid "suppress informational messages" msgstr "не выводить информационные ÑообщениÑ" -#: builtin/branch.c:598 +#: builtin/branch.c:614 msgid "set up tracking mode (see git-pull(1))" msgstr "уÑтановить режим отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹ÑˆÐµÑтоÑщей ветки (Ñм. git-pull(1))" -#: builtin/branch.c:600 +#: builtin/branch.c:616 msgid "do not use" msgstr "не иÑпользуйте" -#: builtin/branch.c:602 +#: builtin/branch.c:618 builtin/rebase.c:485 msgid "upstream" msgstr "вышеÑтоÑщаÑ" -#: builtin/branch.c:602 +#: builtin/branch.c:618 msgid "change the upstream info" msgstr "изменить информацию о вышеÑтоÑщей ветке" -#: builtin/branch.c:603 +#: builtin/branch.c:619 msgid "Unset the upstream info" msgstr "Убрать информацию о вышеÑтоÑщей ветке" -#: builtin/branch.c:604 +#: builtin/branch.c:620 msgid "use colored output" msgstr "иÑпользовать цветной вывод" -#: builtin/branch.c:605 +#: builtin/branch.c:621 msgid "act on remote-tracking branches" msgstr "выполнить дейÑÑ‚Ð²Ð¸Ñ Ð½Ð° отÑлеживаемых внешних ветках" -#: builtin/branch.c:607 builtin/branch.c:609 +#: builtin/branch.c:623 builtin/branch.c:625 msgid "print only branches that contain the commit" msgstr "вывод только веток, которые Ñодержат коммит" -#: builtin/branch.c:608 builtin/branch.c:610 +#: builtin/branch.c:624 builtin/branch.c:626 msgid "print only branches that don't contain the commit" msgstr "вывод только веток, которые не Ñодержат коммит" -#: builtin/branch.c:613 +#: builtin/branch.c:629 msgid "Specific git-branch actions:" msgstr "Специфичные Ð´Ð»Ñ git-branch дейÑтвиÑ:" -#: builtin/branch.c:614 +#: builtin/branch.c:630 msgid "list both remote-tracking and local branches" msgstr "показать ÑпиÑок и отÑлеживаемых и локальных веток" -#: builtin/branch.c:616 +#: builtin/branch.c:632 msgid "delete fully merged branch" msgstr "удалить полноÑтью Ñлитую ветку" -#: builtin/branch.c:617 +#: builtin/branch.c:633 msgid "delete branch (even if not merged)" msgstr "удалить ветку (даже никуда не Ñлитую)" -#: builtin/branch.c:618 +#: builtin/branch.c:634 msgid "move/rename a branch and its reflog" msgstr "перемеÑтить/переименовать ветки и ее журнал ÑÑылок" -#: builtin/branch.c:619 +#: builtin/branch.c:635 msgid "move/rename a branch, even if target exists" msgstr "перемеÑтить/переименовать ветку, даже еÑли целевое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ ÑущеÑтвует" -#: builtin/branch.c:620 +#: builtin/branch.c:636 msgid "copy a branch and its reflog" msgstr "Ñкопировать ветку и её журнал ÑÑылок" -#: builtin/branch.c:621 +#: builtin/branch.c:637 msgid "copy a branch, even if target exists" msgstr "Ñкопировать ветку, даже еÑли целевое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ ÑущеÑтвует" -#: builtin/branch.c:622 +#: builtin/branch.c:638 msgid "list branch names" msgstr "показать ÑпиÑок имен веток" -#: builtin/branch.c:623 +#: builtin/branch.c:639 +msgid "show current branch name" +msgstr "" + +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "Ñоздать журнал ÑÑылок ветки" -#: builtin/branch.c:626 -msgid "deprecated synonym for --create-reflog" -msgstr "" - -#: builtin/branch.c:631 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "изменить опиÑание ветки" -#: builtin/branch.c:632 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "принудительное Ñоздание, перемещение или удаление ветки" -#: builtin/branch.c:633 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "вывод только Ñлитых веток" -#: builtin/branch.c:634 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "вывод только не Ñлитых веток" -#: builtin/branch.c:635 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "показать ÑпиÑок веток по Ñтолбцам" -#: builtin/branch.c:636 builtin/for-each-ref.c:40 builtin/ls-remote.c:70 -#: builtin/tag.c:413 -msgid "key" -msgstr "ключ" - -#: builtin/branch.c:637 builtin/for-each-ref.c:41 builtin/ls-remote.c:71 -#: builtin/tag.c:414 -msgid "field name to sort on" -msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ, по которому выполнить Ñортировку" - -#: builtin/branch.c:639 builtin/for-each-ref.c:43 builtin/notes.c:410 -#: builtin/notes.c:413 builtin/notes.c:573 builtin/notes.c:576 -#: builtin/tag.c:416 +#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 +#: builtin/tag.c:427 msgid "object" msgstr "объект" -#: builtin/branch.c:640 +#: builtin/branch.c:650 msgid "print only branches of the object" msgstr "вывод только веток, определенного объекта" -#: builtin/branch.c:642 builtin/for-each-ref.c:49 builtin/tag.c:423 +#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 msgid "sorting and filtering are case insensitive" msgstr "Ñортировка и Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ завиÑÑÑ‚ от региÑтра" -#: builtin/branch.c:643 builtin/for-each-ref.c:38 builtin/tag.c:421 +#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 #: builtin/verify-tag.c:39 msgid "format to use for the output" msgstr "иÑпользовать формат Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°" -#: builtin/branch.c:666 builtin/clone.c:739 +#: builtin/branch.c:676 builtin/clone.c:748 msgid "HEAD not found below refs/heads!" msgstr "HEAD не найден в refs/heads!" -#: builtin/branch.c:689 +#: builtin/branch.c:700 msgid "--column and --verbose are incompatible" msgstr "--column и --verbose Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/branch.c:709 builtin/branch.c:761 builtin/branch.c:770 +#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 msgid "branch name required" msgstr "требуетÑÑ Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸" -#: builtin/branch.c:737 +#: builtin/branch.c:745 msgid "Cannot give description to detached HEAD" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð°Ñ‚ÑŒ опиÑание отделённому HEAD" -#: builtin/branch.c:742 +#: builtin/branch.c:750 msgid "cannot edit description of more than one branch" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ опиÑание более одной ветки за раз" -#: builtin/branch.c:749 +#: builtin/branch.c:757 #, c-format msgid "No commit on branch '%s' yet." msgstr "Еще нет коммита на ветке «%s»." -#: builtin/branch.c:752 +#: builtin/branch.c:760 #, c-format msgid "No branch named '%s'." msgstr "Ðет ветки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ «%s»." -#: builtin/branch.c:767 +#: builtin/branch.c:775 msgid "too many branches for a copy operation" msgstr "Ñлишком много веток Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ копированиÑ" -#: builtin/branch.c:776 +#: builtin/branch.c:784 msgid "too many arguments for a rename operation" msgstr "Ñлишком много аргументов Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ переименованиÑ" -#: builtin/branch.c:781 +#: builtin/branch.c:789 msgid "too many arguments to set new upstream" msgstr "Ñлишком много аргументов Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ вышеÑтоÑщей ветки" -#: builtin/branch.c:785 +#: builtin/branch.c:793 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "невозможно уÑтановить вышеÑтоÑщий репозиторий Ð´Ð»Ñ HEAD на %s, так как он не указывает ни на одну ветку." -#: builtin/branch.c:788 builtin/branch.c:810 builtin/branch.c:826 +#: builtin/branch.c:796 builtin/branch.c:819 #, c-format msgid "no such branch '%s'" msgstr "нет такой ветки «%s»" -#: builtin/branch.c:792 +#: builtin/branch.c:800 #, c-format msgid "branch '%s' does not exist" msgstr "ветка «%s» не ÑущеÑтвует" -#: builtin/branch.c:804 +#: builtin/branch.c:813 msgid "too many arguments to unset upstream" msgstr "Ñлишком много аргументов Ð´Ð»Ñ ÑброÑа ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²Ñ‹ÑˆÐµÑтоÑщей ветки" -#: builtin/branch.c:808 +#: builtin/branch.c:817 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "невозможно убрать вышеÑтоÑщий репозиторий Ð´Ð»Ñ HEAD, так как он не указывает ни на одну ветку." -#: builtin/branch.c:814 +#: builtin/branch.c:823 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Ветка «%s» не имеет информации о вышеÑтоÑщей ветке" -#: builtin/branch.c:829 +#: builtin/branch.c:833 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "параметры -a и -r Ð´Ð»Ñ Â«git branch» не имеют ÑмыÑла Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ имени ветки" -#: builtin/branch.c:832 +#: builtin/branch.c:836 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -7393,139 +9132,144 @@ msgstr "ТребуетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ð¹ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð°Ðº msgid "Need a repository to unbundle." msgstr "ТребуетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ð¹ Ð´Ð»Ñ Ñ€Ð°Ñпаковки." -#: builtin/cat-file.c:577 +#: builtin/cat-file.c:593 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | " "-p | <type> | --textconv | --filters) [--path=<path>] <object>" msgstr "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <тип> | --textconv | --filters) [--path=<путь>] <объект>" -#: builtin/cat-file.c:578 +#: builtin/cat-file.c:594 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | " "--filters]" msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]" #: builtin/cat-file.c:615 +msgid "only one batch option may be specified" +msgstr "" + +#: builtin/cat-file.c:633 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<тип> может быть одним из: blob, tree, commit, tag" -#: builtin/cat-file.c:616 +#: builtin/cat-file.c:634 msgid "show object type" msgstr "показать тип объекта" -#: builtin/cat-file.c:617 +#: builtin/cat-file.c:635 msgid "show object size" msgstr "показать размер объекта" -#: builtin/cat-file.c:619 +#: builtin/cat-file.c:637 msgid "exit with zero when there's no error" msgstr "выйти Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ кодом возврата, еÑли нет ошибки" -#: builtin/cat-file.c:620 +#: builtin/cat-file.c:638 msgid "pretty-print object's content" msgstr "Ñтруктурированный вывод Ñодержимого объекта" -#: builtin/cat-file.c:622 +#: builtin/cat-file.c:640 msgid "for blob objects, run textconv on object's content" msgstr "запуÑтить texconv на Ñодержимом двоичных объектов " -#: builtin/cat-file.c:624 +#: builtin/cat-file.c:642 msgid "for blob objects, run filters on object's content" msgstr "запуÑк фильтров на Ñодержимом двоичных объектов " -#: builtin/cat-file.c:625 git-submodule.sh:864 +#: builtin/cat-file.c:643 git-submodule.sh:936 msgid "blob" msgstr "двоичный объект" -#: builtin/cat-file.c:626 +#: builtin/cat-file.c:644 msgid "use a specific path for --textconv/--filters" msgstr "иÑпользовать определенный путь Ð´Ð»Ñ --textconv/--filters" -#: builtin/cat-file.c:628 +#: builtin/cat-file.c:646 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "разрешить -s и -t работать Ñ Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ объектами" -#: builtin/cat-file.c:629 +#: builtin/cat-file.c:647 msgid "buffer --batch output" msgstr "буфферировать вывод --batch" -#: builtin/cat-file.c:631 +#: builtin/cat-file.c:649 msgid "show info and content of objects fed from the standard input" msgstr "показать информацию и Ñодержимое объектов, переданных из Ñтандартного ввода" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:653 msgid "show info about objects fed from the standard input" msgstr "показать информацию об объектах, переданных из Ñтандартного ввода" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:657 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "переходить по Ñимвольным ÑÑылкам внутри дерева (иÑпользуетÑÑ Ñ Ð¾Ð¿Ñ†Ð¸Ñми --batch и --batch-check)" -#: builtin/cat-file.c:639 +#: builtin/cat-file.c:659 msgid "show all objects with --batch or --batch-check" msgstr "показать вÑе объекты Ñ Ð¾Ð¿Ñ†Ð¸Ñми --batch или --batch-check" -#: builtin/cat-file.c:641 +#: builtin/cat-file.c:661 msgid "do not order --batch-all-objects output" msgstr "" -#: builtin/check-attr.c:12 +#: builtin/check-attr.c:13 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..." msgstr "git check-attr [-a | --all | <атрибут>…] [--] <путь>…" -#: builtin/check-attr.c:13 +#: builtin/check-attr.c:14 msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]" msgstr "git check-attr --stdin [-z] [-a | --all | <атрибут>…]" -#: builtin/check-attr.c:20 +#: builtin/check-attr.c:21 msgid "report all attributes set on file" msgstr "вывеÑти вÑе атрибуты уÑтановленные Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: builtin/check-attr.c:21 +#: builtin/check-attr.c:22 msgid "use .gitattributes only from the index" msgstr "иÑпользовать только .gitattributes из индекÑа" -#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:101 +#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:102 msgid "read file names from stdin" msgstr "прочитать имена файлов из Ñтандартного ввода" -#: builtin/check-attr.c:24 builtin/check-ignore.c:26 +#: builtin/check-attr.c:25 builtin/check-ignore.c:27 msgid "terminate input and output records by a NUL character" msgstr "окончание ввода и вывода запиÑей по ÐУЛЕВОМУ Ñимволу" -#: builtin/check-ignore.c:20 builtin/checkout.c:1120 builtin/gc.c:503 +#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 +#: builtin/worktree.c:499 msgid "suppress progress reporting" msgstr "не выводить прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: builtin/check-ignore.c:28 +#: builtin/check-ignore.c:29 msgid "show non-matching input paths" msgstr "показать не Ñовпадающие введенные пути" -#: builtin/check-ignore.c:30 +#: builtin/check-ignore.c:31 msgid "ignore index when checking" msgstr "игнорировать Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ñ€Ð¸ проверке" -#: builtin/check-ignore.c:159 +#: builtin/check-ignore.c:160 msgid "cannot specify pathnames with --stdin" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ пути вмеÑте Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --stdin" -#: builtin/check-ignore.c:162 +#: builtin/check-ignore.c:163 msgid "-z only makes sense with --stdin" msgstr "-z имеет ÑмыÑл только вмеÑте Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --stdin" -#: builtin/check-ignore.c:164 +#: builtin/check-ignore.c:165 msgid "no path specified" msgstr "не указан путь" -#: builtin/check-ignore.c:168 +#: builtin/check-ignore.c:169 msgid "--quiet is only valid with a single pathname" msgstr "--quiet можно иÑпользовать только при указании одного пути" -#: builtin/check-ignore.c:170 +#: builtin/check-ignore.c:171 msgid "cannot have both --quiet and --verbose" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно --quiet и --verbose" -#: builtin/check-ignore.c:173 +#: builtin/check-ignore.c:174 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching можно иÑпользовать только вмеÑте Ñ --verbose" @@ -7546,164 +9290,203 @@ msgstr "не удалоÑÑŒ разобрать контакт: %s" msgid "no contacts specified" msgstr "не указаны контакты" -#: builtin/checkout-index.c:128 +#: builtin/checkout-index.c:131 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<опции>] [--] [<файл>…]" -#: builtin/checkout-index.c:143 +#: builtin/checkout-index.c:148 msgid "stage should be between 1 and 3 or all" msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть между 1 и 3 или all" -#: builtin/checkout-index.c:159 +#: builtin/checkout-index.c:164 msgid "check out all files in the index" msgstr "переключитьÑÑ Ð½Ð° ÑоÑтоÑние вÑех файлов из индекÑа" -#: builtin/checkout-index.c:160 +#: builtin/checkout-index.c:165 msgid "force overwrite of existing files" msgstr "Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸ÑÑŒ ÑущеÑтвующих файлов" -#: builtin/checkout-index.c:162 +#: builtin/checkout-index.c:167 msgid "no warning for existing files and files not in index" msgstr "не выводить Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑущеÑтвующих и непроиндекÑированных файлов" -#: builtin/checkout-index.c:164 +#: builtin/checkout-index.c:169 msgid "don't checkout new files" msgstr "не Ñоздавать новые файлы" -#: builtin/checkout-index.c:166 +#: builtin/checkout-index.c:171 msgid "update stat information in the index file" msgstr "обновить ÑтатиÑтику доÑтупа в файле индекÑа" -#: builtin/checkout-index.c:170 +#: builtin/checkout-index.c:175 msgid "read list of paths from the standard input" msgstr "прочитать ÑпиÑок путей из Ñтандартного ввода" -#: builtin/checkout-index.c:172 +#: builtin/checkout-index.c:177 msgid "write the content to temporary files" msgstr "запиÑать Ñодержимое во временные файлы" -#: builtin/checkout-index.c:173 builtin/column.c:31 -#: builtin/submodule--helper.c:1361 builtin/submodule--helper.c:1364 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1736 -#: builtin/worktree.c:610 +#: builtin/checkout-index.c:178 builtin/column.c:31 +#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 +#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 +#: builtin/worktree.c:672 msgid "string" msgstr "Ñтрока" -#: builtin/checkout-index.c:174 +#: builtin/checkout-index.c:179 msgid "when creating files, prepend <string>" msgstr "добавить Ñпереди <Ñтроку> при Ñоздании файлов" -#: builtin/checkout-index.c:176 +#: builtin/checkout-index.c:181 msgid "copy out the files from named stage" msgstr "копировать файлы из указанного индекÑа" -#: builtin/checkout.c:29 +#: builtin/checkout.c:32 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<опции>] <ветка>" -#: builtin/checkout.c:30 +#: builtin/checkout.c:33 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<опции>] [<ветка>] -- <файл>…" -#: builtin/checkout.c:138 builtin/checkout.c:171 +#: builtin/checkout.c:151 builtin/checkout.c:190 #, c-format msgid "path '%s' does not have our version" msgstr "путь «%s» не имеет нашей верÑии" -#: builtin/checkout.c:140 builtin/checkout.c:173 +#: builtin/checkout.c:153 builtin/checkout.c:192 #, c-format msgid "path '%s' does not have their version" msgstr "путь «%s» не имеет их верÑии" -#: builtin/checkout.c:156 +#: builtin/checkout.c:169 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "путь «%s» не имеет вÑех необходимых верÑий" -#: builtin/checkout.c:200 +#: builtin/checkout.c:219 #, c-format msgid "path '%s' does not have necessary versions" msgstr "путь «%s» не имеет необходимых верÑий" -#: builtin/checkout.c:217 +#: builtin/checkout.c:237 #, c-format msgid "path '%s': cannot merge" msgstr "путь «%s»: не удалоÑÑŒ Ñлить" -#: builtin/checkout.c:233 +#: builtin/checkout.c:253 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Ðе удалоÑÑŒ добавить результат ÑлиÑÐ½Ð¸Ñ Â«%s»" -#: builtin/checkout.c:255 builtin/checkout.c:258 builtin/checkout.c:261 -#: builtin/checkout.c:264 +#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 +#: builtin/checkout.c:340 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "«%s» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать при обновлении путей" -#: builtin/checkout.c:267 builtin/checkout.c:270 +#: builtin/checkout.c:343 builtin/checkout.c:346 #, c-format msgid "'%s' cannot be used with %s" msgstr "«%s» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ %s" -#: builtin/checkout.c:273 +#: builtin/checkout.c:349 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñть пути и переключатьÑÑ Ð½Ð° ветку «%s» одновременно." -#: builtin/checkout.c:342 builtin/checkout.c:349 +#: builtin/checkout.c:396 builtin/checkout.c:403 #, c-format msgid "path '%s' is unmerged" msgstr "путь «%s» не Ñлит" -#: builtin/checkout.c:508 +#: builtin/checkout.c:442 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: builtin/checkout.c:447 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: builtin/checkout.c:454 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: builtin/checkout.c:695 msgid "you need to resolve your current index first" msgstr "Ñначала нужно разрешить конфликты в вашем текущем индекÑе" -#: builtin/checkout.c:645 +#: builtin/checkout.c:744 +#, c-format +msgid "" +"cannot continue with staged changes in the following files:\n" +"%s" +msgstr "" + +#: builtin/checkout.c:751 +#, c-format +msgid "staged changes in the following files may be lost: %s" +msgstr "" + +#: builtin/checkout.c:848 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Ðе удалоÑÑŒ Ñоздать журнал ÑÑылок Ð´Ð»Ñ Â«%s»: %s\n" -#: builtin/checkout.c:686 +#: builtin/checkout.c:890 msgid "HEAD is now at" msgstr "HEAD ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð°" -#: builtin/checkout.c:690 builtin/clone.c:692 +#: builtin/checkout.c:894 builtin/clone.c:701 msgid "unable to update HEAD" msgstr "не удалоÑÑŒ обновить HEAD" -#: builtin/checkout.c:694 +#: builtin/checkout.c:898 #, c-format msgid "Reset branch '%s'\n" msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð²ÐµÑ‚ÐºÐ¸ «%s»\n" -#: builtin/checkout.c:697 +#: builtin/checkout.c:901 #, c-format msgid "Already on '%s'\n" msgstr "Уже на «%s»\n" -#: builtin/checkout.c:701 +#: builtin/checkout.c:905 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Переключение и ÑÐ±Ñ€Ð¾Ñ Ð²ÐµÑ‚ÐºÐ¸ «%s»\n" -#: builtin/checkout.c:703 builtin/checkout.c:1052 +#: builtin/checkout.c:907 builtin/checkout.c:1283 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Переключено на новую ветку «%s»\n" -#: builtin/checkout.c:705 +#: builtin/checkout.c:909 #, c-format msgid "Switched to branch '%s'\n" msgstr "Переключено на ветку «%s»\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:960 #, c-format msgid " ... and %d more.\n" msgstr " … и еще %d.\n" -#: builtin/checkout.c:762 +#: builtin/checkout.c:966 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -7720,7 +9503,7 @@ msgstr[1] "Предупреждение: вы оÑтавлÑете позади msgstr[2] "Предупреждение: вы оÑтавлÑете позади %d коммитов не Ñоединенные ни Ñ Ð¾Ð´Ð½Ð¾Ð¹ из ваших веток:\n\n%s\n" msgstr[3] "Предупреждение: вы оÑтавлÑете позади %d коммитов не Ñоединенные ни Ñ Ð¾Ð´Ð½Ð¾Ð¹ из ваших веток:\n\n%s\n" -#: builtin/checkout.c:781 +#: builtin/checkout.c:985 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -7739,166 +9522,181 @@ msgstr[1] "ЕÑли вы хотите Ñохранить их Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ msgstr[2] "ЕÑли вы хотите Ñохранить их Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ ветки, то ÑÐµÐ¹Ñ‡Ð°Ñ Ñамое времÑ\nÑделать Ñто Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:\n\n git branch <имÑ-новой-ветки> %s\n" msgstr[3] "ЕÑли вы хотите Ñохранить их Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ ветки, то ÑÐµÐ¹Ñ‡Ð°Ñ Ñамое времÑ\nÑделать Ñто Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:\n\n git branch <имÑ-новой-ветки> %s\n" -#: builtin/checkout.c:813 +#: builtin/checkout.c:1017 msgid "internal error in revision walk" msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° при хождении по редакциÑм" -#: builtin/checkout.c:817 +#: builtin/checkout.c:1021 msgid "Previous HEAD position was" msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ HEAD была" -#: builtin/checkout.c:845 builtin/checkout.c:1047 +#: builtin/checkout.c:1052 builtin/checkout.c:1278 msgid "You are on a branch yet to be born" msgstr "Ð’Ñ‹ находитеÑÑŒ на еще не Ñозданной ветке" -#: builtin/checkout.c:952 +#: builtin/checkout.c:1173 #, c-format msgid "only one reference expected, %d given." msgstr "ожидаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одна ÑÑылка, а передано %d." -#: builtin/checkout.c:993 builtin/worktree.c:240 builtin/worktree.c:389 +#: builtin/checkout.c:1209 +#, c-format +msgid "" +"'%s' could be both a local file and a tracking branch.\n" +"Please use -- (and optionally --no-guess) to disambiguate" +msgstr "" + +#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 #, c-format msgid "invalid reference: %s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÑÑылка: %s" -#: builtin/checkout.c:1022 +#: builtin/checkout.c:1251 #, c-format msgid "reference is not a tree: %s" msgstr "в дереве нет такой ÑÑылки: %s" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1292 msgid "paths cannot be used with switching branches" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать пути при переключении веток" -#: builtin/checkout.c:1064 builtin/checkout.c:1068 +#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать «%s» при переключении веток" -#: builtin/checkout.c:1072 builtin/checkout.c:1075 builtin/checkout.c:1080 -#: builtin/checkout.c:1083 +#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 +#: builtin/checkout.c:1318 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "«%s» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ Â«%s»" -#: builtin/checkout.c:1088 +#: builtin/checkout.c:1323 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ ветку на не коммит «%s»" -#: builtin/checkout.c:1121 builtin/checkout.c:1123 builtin/clone.c:119 -#: builtin/remote.c:168 builtin/remote.c:170 builtin/worktree.c:433 -#: builtin/worktree.c:435 +#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 +#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 +#: builtin/worktree.c:494 msgid "branch" msgstr "ветка" -#: builtin/checkout.c:1122 +#: builtin/checkout.c:1357 msgid "create and checkout a new branch" msgstr "Ñоздать и переключитьÑÑ Ð½Ð° новую ветку" -#: builtin/checkout.c:1124 +#: builtin/checkout.c:1359 msgid "create/reset and checkout a branch" msgstr "Ñоздать/ÑброÑить и перключитьÑÑ Ð½Ð° новую ветку" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1360 msgid "create reflog for new branch" msgstr "Ñоздать журнал ÑÑылок Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ ветки" -#: builtin/checkout.c:1126 builtin/worktree.c:437 +#: builtin/checkout.c:1361 builtin/worktree.c:496 msgid "detach HEAD at named commit" msgstr "отÑоединить HEAD на указанном коммите" -#: builtin/checkout.c:1127 +#: builtin/checkout.c:1362 msgid "set upstream info for new branch" msgstr "уÑтановить информацию о вышеÑтоÑщей ветке Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ ветки" -#: builtin/checkout.c:1129 +#: builtin/checkout.c:1364 msgid "new-branch" msgstr "новаÑ-ветка" -#: builtin/checkout.c:1129 +#: builtin/checkout.c:1364 msgid "new unparented branch" msgstr "Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ‚ÐºÐ° без родителей" -#: builtin/checkout.c:1131 +#: builtin/checkout.c:1366 msgid "checkout our version for unmerged files" msgstr "переключитьÑÑ Ð½Ð° нашу верÑию Ð´Ð»Ñ Ð½Ðµ Ñлитых файлов" -#: builtin/checkout.c:1134 +#: builtin/checkout.c:1369 msgid "checkout their version for unmerged files" msgstr "переключитьÑÑ Ð½Ð° их верÑию Ð´Ð»Ñ Ð½Ðµ Ñлитых файлов" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1371 msgid "force checkout (throw away local modifications)" msgstr "принудительное переключение на ÑоÑтоÑние (отбраÑывает вÑе локальные изменениÑ)" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1373 msgid "perform a 3-way merge with the new branch" msgstr "выполнить трехходовое ÑлиÑние Ñ Ð½Ð¾Ð²Ð¾Ð¹ веткой" -#: builtin/checkout.c:1140 builtin/merge.c:273 +#: builtin/checkout.c:1375 builtin/merge.c:284 msgid "update ignored files (default)" msgstr "обновить игнорируемые файлы (по умолчанию)" -#: builtin/checkout.c:1142 builtin/log.c:1510 parse-options.h:264 +#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 msgid "style" msgstr "Ñтиль" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1378 msgid "conflict style (merge or diff3)" msgstr "Ñтиль конфликтов ÑлиÑÐ½Ð¸Ñ (merge или diff3)" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1381 msgid "do not limit pathspecs to sparse entries only" msgstr "не ограничивать Ñпецификаторы пути только чаÑтичными запиÑÑми" -#: builtin/checkout.c:1148 -msgid "second guess 'git checkout <no-such-branch>'" -msgstr "переÑмотр «git checkout <нет-такой-ветки>»" +#: builtin/checkout.c:1383 +msgid "do not second guess 'git checkout <no-such-branch>'" +msgstr "" -#: builtin/checkout.c:1150 +#: builtin/checkout.c:1385 msgid "do not check if another worktree is holding the given ref" msgstr "не проверÑть, что другое дерево уже Ñодержит указанную ÑÑылку" -#: builtin/checkout.c:1154 builtin/clone.c:86 builtin/fetch.c:138 -#: builtin/merge.c:270 builtin/pull.c:128 builtin/push.c:572 +#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 +#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 #: builtin/send-pack.c:174 msgid "force progress reporting" msgstr "принудительно выводить прогреÑÑ" -#: builtin/checkout.c:1184 +#: builtin/checkout.c:1390 +msgid "use overlay mode (default)" +msgstr "" + +#: builtin/checkout.c:1422 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B и --orphan Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/checkout.c:1201 +#: builtin/checkout.c:1425 +msgid "-p and --overlay are mutually exclusive" +msgstr "" + +#: builtin/checkout.c:1442 msgid "--track needs a branch name" msgstr "--track требует Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸" -#: builtin/checkout.c:1206 +#: builtin/checkout.c:1447 msgid "missing branch name; try -b" msgstr "пропущено Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸; попробуйте -b" -#: builtin/checkout.c:1243 +#: builtin/checkout.c:1484 msgid "invalid path specification" msgstr "недопуÑтимый Ñпецификатор пути" -#: builtin/checkout.c:1250 +#: builtin/checkout.c:1491 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "«%s» не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼, поÑтому невозможно Ñоздать из него ветку «%s»" -#: builtin/checkout.c:1254 +#: builtin/checkout.c:1495 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach не принимает путь «%s» как аргумент" -#: builtin/checkout.c:1258 +#: builtin/checkout.c:1499 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "git checkout: --ours/--theirs, --force and --merge Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно при применении ÑоÑтоÑÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа." -#: builtin/checkout.c:1278 +#: builtin/checkout.c:1519 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -7915,37 +9713,37 @@ msgid "" "checkout.defaultRemote=origin in your config." msgstr "" -#: builtin/clean.c:27 +#: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "git clean [-d] [-f] [-i] [-n] [-q] [-e <шаблон>] [-x | -X] [--] <пути>…" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Removing %s\n" msgstr "Удаление %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would remove %s\n" msgstr "Будет удалено %s\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "Skipping repository %s\n" msgstr "ПропуÑк Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ %s\n" -#: builtin/clean.c:34 +#: builtin/clean.c:35 #, c-format msgid "Would skip repository %s\n" msgstr "Будет пропущен репозиторий %s\n" -#: builtin/clean.c:35 +#: builtin/clean.c:36 #, c-format msgid "failed to remove %s" msgstr "Ñбой ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s" -#: builtin/clean.c:297 git-add--interactive.perl:579 +#: builtin/clean.c:299 git-add--interactive.perl:579 #, c-format msgid "" "Prompt help:\n" @@ -7954,7 +9752,7 @@ msgid "" " - (empty) select nothing\n" msgstr "Справка по выделению:\n1 - выбрать указанный Ñлемент\nfoo - выбрать Ñлемент Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ префикÑом\n - (пуÑто) не выбирать ничего\n" -#: builtin/clean.c:301 git-add--interactive.perl:588 +#: builtin/clean.c:303 git-add--interactive.perl:588 #, c-format msgid "" "Prompt help:\n" @@ -7967,38 +9765,38 @@ msgid "" " - (empty) finish selecting\n" msgstr "Справка по выделению:\n1 - выбрать один Ñлемент\n3-5 - выбрать диапазон Ñлементов\n2-3,6-9 - выбрать неÑколько диапазонов\nfoo - выбрать Ñлемент Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ префикÑом\n-… - убрать выделение Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… Ñлементов\n* - выбрать вÑе Ñлементы\n - (пуÑто) завершить выделение\n" -#: builtin/clean.c:517 git-add--interactive.perl:554 +#: builtin/clean.c:519 git-add--interactive.perl:554 #: git-add--interactive.perl:559 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Хм (%s)?\n" -#: builtin/clean.c:659 +#: builtin/clean.c:661 #, c-format msgid "Input ignore patterns>> " msgstr "Шаблоны Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°>> " -#: builtin/clean.c:696 +#: builtin/clean.c:698 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ПРЕДУПРЕЖДЕÐИЕ: Ðе удалоÑÑŒ найти Ñлементы ÑоответÑтвующие: %s" -#: builtin/clean.c:717 +#: builtin/clean.c:719 msgid "Select items to delete" msgstr "Укажите Ñлементы Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:758 +#: builtin/clean.c:760 #, c-format msgid "Remove %s [y/N]? " msgstr "Удалить %s [y - да/N - нет]? " -#: builtin/clean.c:783 git-add--interactive.perl:1717 +#: builtin/clean.c:785 git-add--interactive.perl:1717 #, c-format msgid "Bye.\n" msgstr "До ÑвиданиÑ.\n" -#: builtin/clean.c:791 +#: builtin/clean.c:793 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -8009,15 +9807,15 @@ msgid "" "? - help for prompt selection" msgstr "clean - начать очиÑтку\nfilter by pattern - иÑключить удаление Ñлементов\nselect by numbers - иÑключить удаление Ñлементов по номерам\nask each - запрашивать подтверждение на удаление каждого Ñлемента (как «rm -i»)\nquit - прекратить очиÑтку\nhelp - Ñтот Ñкран\n? - Ñправка по выделению" -#: builtin/clean.c:818 git-add--interactive.perl:1793 +#: builtin/clean.c:820 git-add--interactive.perl:1793 msgid "*** Commands ***" msgstr "*** Команды ***" -#: builtin/clean.c:819 git-add--interactive.perl:1790 +#: builtin/clean.c:821 git-add--interactive.perl:1790 msgid "What now" msgstr "Что теперь" -#: builtin/clean.c:827 +#: builtin/clean.c:829 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Удалить Ñледующие Ñлементы:" @@ -8025,372 +9823,387 @@ msgstr[1] "Удалить Ñледующие Ñлементы:" msgstr[2] "Удалить Ñледующие Ñлементы:" msgstr[3] "Удалить Ñледующие Ñлементы:" -#: builtin/clean.c:843 +#: builtin/clean.c:845 msgid "No more files to clean, exiting." msgstr "Больше нет файлов Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñтки, выходим." -#: builtin/clean.c:905 +#: builtin/clean.c:907 msgid "do not print names of files removed" msgstr "не выводить имена удалÑемых файлов" -#: builtin/clean.c:907 +#: builtin/clean.c:909 msgid "force" msgstr "принудительно" -#: builtin/clean.c:908 +#: builtin/clean.c:910 msgid "interactive cleaning" msgstr "Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¾Ñ‡Ð¸Ñтка" -#: builtin/clean.c:910 +#: builtin/clean.c:912 msgid "remove whole directories" msgstr "удалить каталоги полноÑтью" -#: builtin/clean.c:911 builtin/describe.c:545 builtin/describe.c:547 -#: builtin/grep.c:875 builtin/log.c:161 builtin/log.c:163 -#: builtin/ls-files.c:549 builtin/name-rev.c:415 builtin/name-rev.c:417 -#: builtin/show-ref.c:177 +#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 +#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/show-ref.c:179 msgid "pattern" msgstr "шаблон" -#: builtin/clean.c:912 +#: builtin/clean.c:914 msgid "add <pattern> to ignore rules" msgstr "добавить <шаблон> в правила игнорированиÑ" -#: builtin/clean.c:913 +#: builtin/clean.c:915 msgid "remove ignored files, too" msgstr "также удалить игнорируемые файлы" -#: builtin/clean.c:915 +#: builtin/clean.c:917 msgid "remove only ignored files" msgstr "удалить только игнорируемые файлы" -#: builtin/clean.c:933 +#: builtin/clean.c:935 msgid "-x and -X cannot be used together" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно -x и -X" -#: builtin/clean.c:937 +#: builtin/clean.c:939 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to" " clean" msgstr "clean.requireForce уÑтановлен как true и ни одна из опций -i, -n или -f не указана; отказ очиÑтки" -#: builtin/clean.c:940 +#: builtin/clean.c:942 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" msgstr "clean.requireForce уÑтановлен по умолчанию как true и ни одна из опций -i, -n или -f не указана; отказ очиÑтки" -#: builtin/clone.c:43 +#: builtin/clone.c:44 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<опции>] [--] <репозиторий> [<каталог>]" -#: builtin/clone.c:88 +#: builtin/clone.c:90 msgid "don't create a checkout" msgstr "не переключать рабочую копию на HEAD" -#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:480 +#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 msgid "create a bare repository" msgstr "Ñоздать голый репозиторий" -#: builtin/clone.c:93 +#: builtin/clone.c:95 msgid "create a mirror repository (implies bare)" msgstr "Ñоздать зеркало Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ (включает в ÑÐµÐ±Ñ Ð¸ параметр bare)" -#: builtin/clone.c:95 +#: builtin/clone.c:97 msgid "to clone from a local repository" msgstr "Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· локального репозиториÑ" -#: builtin/clone.c:97 +#: builtin/clone.c:99 msgid "don't use local hardlinks, always copy" msgstr "не иÑпользовать жеÑткие ÑÑылки, вÑегда копировать файлы" -#: builtin/clone.c:99 +#: builtin/clone.c:101 msgid "setup as shared repository" msgstr "наÑтроить как общедоÑтупный репозиторий" -#: builtin/clone.c:101 builtin/clone.c:105 +#: builtin/clone.c:104 msgid "pathspec" msgstr "Ñпецификатор-пути" -#: builtin/clone.c:101 builtin/clone.c:105 +#: builtin/clone.c:104 msgid "initialize submodules in the clone" msgstr "инициализировать подмодули в клоне" -#: builtin/clone.c:108 +#: builtin/clone.c:107 msgid "number of submodules cloned in parallel" msgstr "количеÑтво подмодулей, которые будут клонированы парралельно" -#: builtin/clone.c:109 builtin/init-db.c:477 +#: builtin/clone.c:108 builtin/init-db.c:486 msgid "template-directory" msgstr "каталог-шаблонов" -#: builtin/clone.c:110 builtin/init-db.c:478 +#: builtin/clone.c:109 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "каталог, шаблоны из которого будут иÑпользованы" -#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1368 -#: builtin/submodule--helper.c:1739 +#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 +#: builtin/submodule--helper.c:1859 msgid "reference repository" msgstr "ÑÑылаемый репозиторий" -#: builtin/clone.c:116 builtin/submodule--helper.c:1370 -#: builtin/submodule--helper.c:1741 +#: builtin/clone.c:115 builtin/submodule--helper.c:1381 +#: builtin/submodule--helper.c:1861 msgid "use --reference only while cloning" msgstr "иÑпользуйте --reference только при клонировании" -#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:44 -#: builtin/pack-objects.c:3194 builtin/repack.c:320 +#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3306 builtin/repack.c:329 msgid "name" msgstr "имÑ" -#: builtin/clone.c:118 +#: builtin/clone.c:117 msgid "use <name> instead of 'origin' to track upstream" msgstr "иÑпользовать <имÑ> вмеÑто «origin» Ð´Ð»Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹ÑˆÐµÑтоÑщего репозиториÑ" -#: builtin/clone.c:120 +#: builtin/clone.c:119 msgid "checkout <branch> instead of the remote's HEAD" msgstr "переключитьÑÑ Ð½Ð° <ветку>, вмеÑто HEAD внешнего репозиториÑ" -#: builtin/clone.c:122 +#: builtin/clone.c:121 msgid "path to git-upload-pack on the remote" msgstr "путь к git-upload-pack на внешнем репозитории" -#: builtin/clone.c:123 builtin/fetch.c:139 builtin/grep.c:814 -#: builtin/pull.c:216 +#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 +#: builtin/pull.c:225 msgid "depth" msgstr "глубина" -#: builtin/clone.c:124 +#: builtin/clone.c:123 msgid "create a shallow clone of that depth" msgstr "Ñделать чаÑтичный клон указанной глубины" -#: builtin/clone.c:125 builtin/fetch.c:141 builtin/pack-objects.c:3185 -#: parse-options.h:154 +#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 msgid "time" msgstr "времÑ" -#: builtin/clone.c:126 +#: builtin/clone.c:125 msgid "create a shallow clone since a specific time" msgstr "Ñделать чаÑтичный клон до определенного времени" -#: builtin/clone.c:127 builtin/fetch.c:143 builtin/fetch.c:166 +#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 +#: builtin/rebase.c:1389 msgid "revision" msgstr "редакциÑ" -#: builtin/clone.c:128 builtin/fetch.c:144 +#: builtin/clone.c:127 builtin/fetch.c:147 msgid "deepen history of shallow clone, excluding rev" msgstr "углубить иÑторию чаÑтичного клона иÑÐºÐ»ÑŽÑ‡Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸ÑŽ" -#: builtin/clone.c:130 +#: builtin/clone.c:129 msgid "clone only one branch, HEAD or --branch" msgstr "клонировать только одну ветку, HEAD или --branch" -#: builtin/clone.c:132 +#: builtin/clone.c:131 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "не клонировать метки, а также наÑтроить, чтобы не клонировалиÑÑŒ и в дальнейшем" -#: builtin/clone.c:134 +#: builtin/clone.c:133 msgid "any cloned submodules will be shallow" msgstr "вÑе Ñклонированные подмодули будут чаÑтичными клонами" -#: builtin/clone.c:135 builtin/init-db.c:486 +#: builtin/clone.c:134 builtin/init-db.c:495 msgid "gitdir" msgstr "каталог-git" -#: builtin/clone.c:136 builtin/init-db.c:487 +#: builtin/clone.c:135 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "размеÑтить каталог git отдельно от рабочей копии" -#: builtin/clone.c:137 +#: builtin/clone.c:136 msgid "key=value" msgstr "ключ=значение" -#: builtin/clone.c:138 +#: builtin/clone.c:137 msgid "set config inside the new repository" msgstr "уÑтановить параметры внутри нового репозиториÑ" -#: builtin/clone.c:139 builtin/fetch.c:162 builtin/pull.c:229 -#: builtin/push.c:583 +#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/push.c:585 builtin/send-pack.c:172 +msgid "server-specific" +msgstr "завиÑит-от-Ñервера" + +#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/push.c:585 builtin/send-pack.c:173 +msgid "option to transmit" +msgstr "передаваемые опции" + +#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "иÑпользовать только IPv4 адреÑа" -#: builtin/clone.c:141 builtin/fetch.c:164 builtin/pull.c:232 -#: builtin/push.c:585 +#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "иÑпользовать только IPv6 адреÑа" -#: builtin/clone.c:279 +#: builtin/clone.c:280 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" msgstr "Ð˜Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° не может быть угадано.\nУкажите Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра командной Ñтроки" -#: builtin/clone.c:332 +#: builtin/clone.c:333 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "информациÑ: Ðе удалоÑÑŒ добавить альтернативу Ð´Ð»Ñ Â«%s»: %s\n" -#: builtin/clone.c:404 +#: builtin/clone.c:405 #, c-format msgid "failed to open '%s'" msgstr "не удалоÑÑŒ открыть «%s»" -#: builtin/clone.c:412 +#: builtin/clone.c:413 #, c-format msgid "%s exists and is not a directory" msgstr "%s уже ÑущеÑтвует и не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" -#: builtin/clone.c:426 +#: builtin/clone.c:427 #, c-format msgid "failed to stat %s\n" msgstr "не удалоÑÑŒ выполнить stat %s\n" -#: builtin/clone.c:448 +#: builtin/clone.c:444 +#, c-format +msgid "failed to unlink '%s'" +msgstr "Ñбой отÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Â«%s»" + +#: builtin/clone.c:449 #, c-format msgid "failed to create link '%s'" msgstr "не удалоÑÑŒ Ñоздать ÑÑылку «%s»" -#: builtin/clone.c:452 +#: builtin/clone.c:453 #, c-format msgid "failed to copy file to '%s'" msgstr "не удалоÑÑŒ копировать файл в «%s»" -#: builtin/clone.c:478 +#: builtin/clone.c:479 #, c-format msgid "done.\n" msgstr "готово.\n" -#: builtin/clone.c:492 +#: builtin/clone.c:493 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" "and retry the checkout with 'git checkout -f HEAD'\n" msgstr "Клонирование прошло уÑпешно, но во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑоÑтоÑÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾ÑˆÐ»Ð° ошибка.\nС помощь команды «git status» вы можете проÑмотреть, какие файлы были обновлены,\nа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git checkout -f HEAD» можно повторить попытку Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½Ð° ветку \n" -#: builtin/clone.c:569 +#: builtin/clone.c:570 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Ðе удалоÑÑŒ найти внешнюю ветку %s Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ." -#: builtin/clone.c:680 +#: builtin/clone.c:689 #, c-format msgid "unable to update %s" msgstr "не удалоÑÑŒ обновить %s" -#: builtin/clone.c:730 +#: builtin/clone.c:739 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "внешний HEAD ÑÑылаетÑÑ Ð½Ð° неÑущеÑтвующую ÑÑылку, Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ð½Ð° такую верÑию.\n" -#: builtin/clone.c:760 +#: builtin/clone.c:770 msgid "unable to checkout working tree" msgstr "не удалоÑÑŒ переключитьÑÑ Ð½Ð° верÑию в рабочем каталоге" -#: builtin/clone.c:805 +#: builtin/clone.c:815 msgid "unable to write parameters to config file" msgstr "не удалоÑÑŒ запиÑать параметры в файл конфигурации" -#: builtin/clone.c:868 +#: builtin/clone.c:878 msgid "cannot repack to clean up" msgstr "не удалоÑÑŒ выполнить перепаковку Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñтки" -#: builtin/clone.c:870 +#: builtin/clone.c:880 msgid "cannot unlink temporary alternates file" msgstr "не удалоÑÑŒ отÑоединить временные альтернативные файлы" -#: builtin/clone.c:910 builtin/receive-pack.c:1935 +#: builtin/clone.c:920 builtin/receive-pack.c:1952 msgid "Too many arguments." msgstr "Слишком много аргументов." -#: builtin/clone.c:914 +#: builtin/clone.c:924 msgid "You must specify a repository to clone." msgstr "Ð’Ñ‹ должны указать репозиторий Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ." -#: builtin/clone.c:927 +#: builtin/clone.c:937 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare и --origin %s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно." -#: builtin/clone.c:930 +#: builtin/clone.c:940 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare и --separate-git-dir Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно." -#: builtin/clone.c:943 +#: builtin/clone.c:953 #, c-format msgid "repository '%s' does not exist" msgstr "репозиторий «%s» не ÑущеÑтвует" -#: builtin/clone.c:949 builtin/fetch.c:1512 +#: builtin/clone.c:959 builtin/fetch.c:1610 #, c-format msgid "depth %s is not a positive number" msgstr "глубина %s не ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼ чиÑлом" -#: builtin/clone.c:959 +#: builtin/clone.c:969 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "целевой путь «%s» уже ÑущеÑтвует и не ÑвлÑетÑÑ Ð¿ÑƒÑтым каталогом." -#: builtin/clone.c:969 +#: builtin/clone.c:979 #, c-format msgid "working tree '%s' already exists." msgstr "рабочий каталог «%s» уже ÑущеÑтвует." -#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:271 -#: builtin/worktree.c:246 builtin/worktree.c:276 +#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 +#: builtin/worktree.c:296 builtin/worktree.c:328 #, c-format msgid "could not create leading directories of '%s'" msgstr "не удалоÑÑŒ Ñоздать родительÑкие каталоги Ð´Ð»Ñ Â«%s»" -#: builtin/clone.c:989 +#: builtin/clone.c:999 #, c-format msgid "could not create work tree dir '%s'" msgstr "не удалоÑÑŒ Ñоздать рабочий каталог «%s»" -#: builtin/clone.c:1009 +#: builtin/clone.c:1019 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Клонирование в голый репозиторий «%s»…\n" -#: builtin/clone.c:1011 +#: builtin/clone.c:1021 #, c-format msgid "Cloning into '%s'...\n" msgstr "Клонирование в «%s»…\n" -#: builtin/clone.c:1035 +#: builtin/clone.c:1045 msgid "" "clone --recursive is not compatible with both --reference and --reference-" "if-able" msgstr "клонирование Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --recursive Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно ни Ñ --reference, ни Ñ --reference-if-able" -#: builtin/clone.c:1096 +#: builtin/clone.c:1106 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth игнорируетÑÑ Ð½Ð° локальных клонах; вмеÑто Ñтого иÑпользуйте file://." -#: builtin/clone.c:1098 +#: builtin/clone.c:1108 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "--shallow-since игнорируетÑÑ Ð½Ð° локальных клонах; иÑпользуйте file:// вмеÑто Ñтого." -#: builtin/clone.c:1100 +#: builtin/clone.c:1110 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "--shallow-exclude игнорируетÑÑ Ð½Ð° локальных клонах; иÑпользуйте file:// вмеÑто Ñтого." -#: builtin/clone.c:1102 +#: builtin/clone.c:1112 msgid "--filter is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:1105 +#: builtin/clone.c:1115 msgid "source repository is shallow, ignoring --local" msgstr "иÑходный репозиторий ÑвлÑетÑÑ Ñ‡Ð°Ñтичным, --local игнорируетÑÑ" -#: builtin/clone.c:1110 +#: builtin/clone.c:1120 msgid "--local is ignored" msgstr "--local игнорируетÑÑ" -#: builtin/clone.c:1180 builtin/clone.c:1188 +#: builtin/clone.c:1197 builtin/clone.c:1205 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "ВнешнÑÑ Ð²ÐµÑ‚ÐºÐ° %s не найдена в вышеÑтоÑщем репозитории %s" -#: builtin/clone.c:1191 +#: builtin/clone.c:1208 msgid "You appear to have cloned an empty repository." msgstr "Похоже, что вы клонировали пуÑтой репозиторий." @@ -8426,22 +10239,88 @@ msgstr "РаÑÑтоÑние отÑтупа между колонками" msgid "--command must be the first argument" msgstr "параметр --command должен быть первым" -#: builtin/commit.c:38 +#: builtin/commit-tree.c:18 +msgid "" +"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F " +"<file>)...] <tree>" +msgstr "" + +#: builtin/commit-tree.c:31 +#, c-format +msgid "duplicate parent %s ignored" +msgstr "" + +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#, c-format +msgid "not a valid object name %s" +msgstr "" + +#: builtin/commit-tree.c:93 +#, c-format +msgid "git commit-tree: failed to open '%s'" +msgstr "" + +#: builtin/commit-tree.c:96 +#, c-format +msgid "git commit-tree: failed to read '%s'" +msgstr "" + +#: builtin/commit-tree.c:98 +#, c-format +msgid "git commit-tree: failed to close '%s'" +msgstr "" + +#: builtin/commit-tree.c:111 +msgid "parent" +msgstr "" + +#: builtin/commit-tree.c:112 +msgid "id of a parent commit object" +msgstr "" + +#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 +#: builtin/tag.c:406 +msgid "message" +msgstr "Ñообщение" + +#: builtin/commit-tree.c:115 builtin/commit.c:1480 +msgid "commit message" +msgstr "Ñообщение коммита" + +#: builtin/commit-tree.c:118 +msgid "read commit log message from file" +msgstr "" + +#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 +#: builtin/pull.c:193 builtin/revert.c:117 +msgid "GPG sign commit" +msgstr "подпиÑать коммит Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" + +#: builtin/commit-tree.c:133 +msgid "must give exactly one tree" +msgstr "" + +#: builtin/commit-tree.c:140 +msgid "git commit-tree: failed to read" +msgstr "" + +#: builtin/commit.c:41 msgid "git commit [<options>] [--] <pathspec>..." msgstr "git commit [<опции>] [--] <Ñпецификатор-пути>…" -#: builtin/commit.c:43 +#: builtin/commit.c:46 msgid "git status [<options>] [--] <pathspec>..." msgstr "git status [<опции>] [--] <Ñпецификатор-пути>…" -#: builtin/commit.c:48 +#: builtin/commit.c:51 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" "remove the commit entirely with \"git reset HEAD^\".\n" msgstr "Ð’Ñ‹ попроÑили иÑправить поÑледний коммит, но Ð´ÐµÐ»Ð°Ñ Ñто вы Ñделаете\nпуÑтой коммит. Ð’Ñ‹ можете повторить Ñту команду Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --allow-empty\nили вы можете удалить коммит полноÑтью Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды \n«git reset HEAD^».\n" -#: builtin/commit.c:53 +#: builtin/commit.c:56 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -8450,11 +10329,11 @@ msgid "" "\n" msgstr "Копируемый коммит теперь пуÑÑ‚, возможно поÑле Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð².\nЕÑли вы вÑе равно хотите Ñделать пуÑтой коммит, иÑпользуйте:\n\n git commit --allow-empty\n\n" -#: builtin/commit.c:60 +#: builtin/commit.c:63 msgid "Otherwise, please use 'git reset'\n" msgstr "Ð’ противном Ñлучае, иÑпользуйте «git reset»\n" -#: builtin/commit.c:63 +#: builtin/commit.c:66 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -8464,98 +10343,98 @@ msgid "" "the remaining commits.\n" msgstr "ЕÑли вы хотите пропуÑтит Ñтот коммит, иÑпользуйте команду:\n\n git reset\n\nПоÑле Ñтого «git cherry-pick --continue» продолжит копирование оÑтавшихÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð².\n" -#: builtin/commit.c:306 +#: builtin/commit.c:312 msgid "failed to unpack HEAD tree object" msgstr "Ñбой раÑпаковки объекта дерева HEAD" -#: builtin/commit.c:347 +#: builtin/commit.c:353 msgid "unable to create temporary index" msgstr "не удалоÑÑŒ Ñоздать временный индекÑ" -#: builtin/commit.c:353 +#: builtin/commit.c:359 msgid "interactive add failed" msgstr "Ñбой интерактивного добавлениÑ" -#: builtin/commit.c:366 +#: builtin/commit.c:373 msgid "unable to update temporary index" msgstr "не удалоÑÑŒ обновить временный индекÑ" -#: builtin/commit.c:368 +#: builtin/commit.c:375 msgid "Failed to update main cache tree" msgstr "Сбой при обновлении оÑновного кÑша дерева" -#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:462 +#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 msgid "unable to write new_index file" msgstr "не удалоÑÑŒ запиÑать файл new_index" -#: builtin/commit.c:445 +#: builtin/commit.c:452 msgid "cannot do a partial commit during a merge." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздать чаÑтичный коммит во Ð²Ñ€ÐµÐ¼Ñ ÑлиÑниÑ." -#: builtin/commit.c:447 +#: builtin/commit.c:454 msgid "cannot do a partial commit during a cherry-pick." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздать чаÑтичный коммит во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°." -#: builtin/commit.c:455 +#: builtin/commit.c:462 msgid "cannot read the index" msgstr "не удалоÑÑŒ прочитать индекÑ" -#: builtin/commit.c:474 +#: builtin/commit.c:481 msgid "unable to write temporary index file" msgstr "не удалоÑÑŒ запиÑать временный файл индекÑа" -#: builtin/commit.c:571 +#: builtin/commit.c:579 #, c-format msgid "commit '%s' lacks author header" msgstr "у коммита «%s» отÑутÑтвует автор в заголовке" -#: builtin/commit.c:573 +#: builtin/commit.c:581 #, c-format msgid "commit '%s' has malformed author line" msgstr "у коммита «%s» Ñтрока автора в неправильном формате" -#: builtin/commit.c:592 +#: builtin/commit.c:600 msgid "malformed --author parameter" msgstr "параметр --author в неправильном формате" -#: builtin/commit.c:644 +#: builtin/commit.c:653 msgid "" "unable to select a comment character that is not used\n" "in the current commit message" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ñимвол комментариÑ, который\nне иÑпользуетÑÑ Ð² текущем Ñообщении коммита" -#: builtin/commit.c:681 builtin/commit.c:714 builtin/commit.c:1042 +#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 #, c-format msgid "could not lookup commit %s" msgstr "не удалоÑÑŒ запроÑить коммит %s" -#: builtin/commit.c:693 builtin/shortlog.c:317 +#: builtin/commit.c:703 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(чтение файла журнала из Ñтандартного ввода)\n" -#: builtin/commit.c:695 +#: builtin/commit.c:705 msgid "could not read log from standard input" msgstr "не удалоÑÑŒ прочитать файл журнала из Ñтандартного ввода" -#: builtin/commit.c:699 +#: builtin/commit.c:709 #, c-format msgid "could not read log file '%s'" msgstr "не удалоÑÑŒ прочитать файл журнала «%s»" -#: builtin/commit.c:728 builtin/commit.c:736 +#: builtin/commit.c:740 builtin/commit.c:756 msgid "could not read SQUASH_MSG" msgstr "не удалоÑÑŒ прочитать SQUASH_MSG" -#: builtin/commit.c:733 +#: builtin/commit.c:747 msgid "could not read MERGE_MSG" msgstr "не удалоÑÑŒ прочитать MERGE_MSG" -#: builtin/commit.c:787 +#: builtin/commit.c:807 msgid "could not write commit template" msgstr "не удалоÑÑŒ запиÑать шаблон опиÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/commit.c:805 +#: builtin/commit.c:826 #, c-format msgid "" "\n" @@ -8565,7 +10444,7 @@ msgid "" "and try again.\n" msgstr "\nПохоже, что вы пытаетеÑÑŒ закоммитить ÑлиÑние.\nЕÑли Ñто ошибка, пожалуйÑта удалите файл\n\t%s\nи попробуйте Ñнова.\n" -#: builtin/commit.c:810 +#: builtin/commit.c:831 #, c-format msgid "" "\n" @@ -8575,14 +10454,14 @@ msgid "" "and try again.\n" msgstr "\nПохоже, что вы пытаетеÑÑŒ закоммитить при копировании коммита.\nЕÑли Ñто не так, то удалите файл\n\t%s\nи попробуйте Ñнова.\n" -#: builtin/commit.c:823 +#: builtin/commit.c:844 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "ПожалуйÑта, введите Ñообщение коммита Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… изменений. Строки,\nначинающиеÑÑ Ñ Â«%c» будут проигнорированы, а пуÑтое Ñообщение\nотменÑет процеÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:852 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -8590,345 +10469,320 @@ msgid "" "An empty message aborts the commit.\n" msgstr "ПожалуйÑта, введите Ñообщение коммита Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… изменений. Строки,\nначинающиеÑÑ Ñ Â«%c» будут оÑтавлены; вы можете удалить их вручную,\nеÑли хотите. ПуÑтое Ñообщение отменÑет процеÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°.\n" -#: builtin/commit.c:848 +#: builtin/commit.c:869 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sÐвтор: %.*s <%.*s>" -#: builtin/commit.c:856 +#: builtin/commit.c:877 #, c-format msgid "%sDate: %s" msgstr "%sДата: %s" -#: builtin/commit.c:863 +#: builtin/commit.c:884 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sКоммитер: %.*s <%.*s>" -#: builtin/commit.c:880 +#: builtin/commit.c:902 msgid "Cannot read index" msgstr "Ðе удалоÑÑŒ прочитать индекÑ" -#: builtin/commit.c:946 +#: builtin/commit.c:969 msgid "Error building trees" msgstr "Ошибка при поÑтроении деревьев" -#: builtin/commit.c:960 builtin/tag.c:258 +#: builtin/commit.c:983 builtin/tag.c:269 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "ПожалуйÑта, укажите Ñообщение, при указании опций -m или -F.\n" -#: builtin/commit.c:1004 +#: builtin/commit.c:1027 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "--author «%s» не в формате Â«Ð˜Ð¼Ñ <почта>» и не Ñовпадает Ñ ÑущеÑтвующим автором" -#: builtin/commit.c:1018 +#: builtin/commit.c:1041 #, c-format msgid "Invalid ignored mode '%s'" msgstr "ÐедопуÑтимый режим показа игнорируемых файлов «%s»" -#: builtin/commit.c:1032 builtin/commit.c:1269 +#: builtin/commit.c:1059 builtin/commit.c:1284 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ðеправильный режим неотÑлеживаемых файлов «%s»" -#: builtin/commit.c:1070 +#: builtin/commit.c:1097 msgid "--long and -z are incompatible" msgstr "--long и -z Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/commit.c:1103 +#: builtin/commit.c:1130 msgid "Using both --reset-author and --author does not make sense" msgstr "Указание одновременно опций --reset-author и --author не имеет ÑмыÑла" -#: builtin/commit.c:1112 +#: builtin/commit.c:1139 msgid "You have nothing to amend." msgstr "Ðечего иÑправлÑть." -#: builtin/commit.c:1115 +#: builtin/commit.c:1142 msgid "You are in the middle of a merge -- cannot amend." msgstr "Ð’Ñ‹ в процеÑÑе ÑлиÑÐ½Ð¸Ñ â€” ÑÐµÐ¹Ñ‡Ð°Ñ Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸ÑправлÑть." -#: builtin/commit.c:1117 +#: builtin/commit.c:1144 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Ð’Ñ‹ в процеÑÑе ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° — ÑÐµÐ¹Ñ‡Ð°Ñ Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸ÑправлÑть." -#: builtin/commit.c:1120 +#: builtin/commit.c:1147 msgid "Options --squash and --fixup cannot be used together" msgstr "Опции --squash и --fixup не могут иÑпользоватьÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾" -#: builtin/commit.c:1130 +#: builtin/commit.c:1157 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одна из опций -c/-C/-F/--fixup." -#: builtin/commit.c:1132 +#: builtin/commit.c:1159 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "" -#: builtin/commit.c:1140 +#: builtin/commit.c:1167 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одновременно Ñ Ð¾Ð¿Ñ†Ð¸Ñми -C, -c или --amend." -#: builtin/commit.c:1157 +#: builtin/commit.c:1184 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "Может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одна из опций --include/--only/--all/--interactive/--patch." -#: builtin/commit.c:1159 +#: builtin/commit.c:1186 msgid "No paths with --include/--only does not make sense." msgstr "Указание путей каталогов Ñ Ð¾Ð¿Ñ†Ð¸Ñми --include/--only не имеет ÑмыÑла." -#: builtin/commit.c:1173 builtin/tag.c:544 +#: builtin/commit.c:1192 #, c-format -msgid "Invalid cleanup mode %s" -msgstr "Ðеправильное значение режима очиÑтки %s" - -#: builtin/commit.c:1178 -msgid "Paths with -a does not make sense." -msgstr "С опцией -a указание пути не имеет ÑмыÑла." +msgid "paths '%s ...' with -a does not make sense" +msgstr "" -#: builtin/commit.c:1303 builtin/commit.c:1480 +#: builtin/commit.c:1319 builtin/commit.c:1503 msgid "show status concisely" msgstr "кратко показать ÑтатуÑ" -#: builtin/commit.c:1305 builtin/commit.c:1482 +#: builtin/commit.c:1321 builtin/commit.c:1505 msgid "show branch information" msgstr "показать информацию о верÑии" -#: builtin/commit.c:1307 +#: builtin/commit.c:1323 msgid "show stash information" msgstr "показать информацию о ÑпрÑтанном" -#: builtin/commit.c:1309 builtin/commit.c:1484 +#: builtin/commit.c:1325 builtin/commit.c:1507 msgid "compute full ahead/behind values" msgstr "" -#: builtin/commit.c:1311 +#: builtin/commit.c:1327 msgid "version" msgstr "верÑиÑ" -#: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558 -#: builtin/worktree.c:581 +#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 +#: builtin/worktree.c:643 msgid "machine-readable output" msgstr "машиночитаемый вывод" -#: builtin/commit.c:1314 builtin/commit.c:1488 +#: builtin/commit.c:1330 builtin/commit.c:1511 msgid "show status in long format (default)" msgstr "показать ÑÑ‚Ð°Ñ‚ÑƒÑ Ð² длинном формате (по умолчанию)" -#: builtin/commit.c:1317 builtin/commit.c:1491 +#: builtin/commit.c:1333 builtin/commit.c:1514 msgid "terminate entries with NUL" msgstr "завершать запиÑи ÐУЛЕВЫМ байтом" -#: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494 -#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/tag.c:398 +#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 +#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 +#: parse-options.h:331 msgid "mode" msgstr "режим" -#: builtin/commit.c:1320 builtin/commit.c:1494 +#: builtin/commit.c:1336 builtin/commit.c:1517 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "показать неотÑлеживаемые файлы, опциональные режимы: all (вÑе), normal (как обычно), no (нет). (По умолчанию: all)" -#: builtin/commit.c:1324 +#: builtin/commit.c:1340 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" msgstr "показывать игнорируемые файлы, Ñ Ð¾Ð¿Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ð¼ режимом: traditional (традиционный), matching (только Ñовпадающие), no (не показывать). (По умолчанию: traditional)" -#: builtin/commit.c:1326 parse-options.h:167 +#: builtin/commit.c:1342 parse-options.h:179 msgid "when" msgstr "когда" -#: builtin/commit.c:1327 +#: builtin/commit.c:1343 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" -msgstr "игнорировать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² подмодулÑÑ…, опционально когда: all (вÑегда), dirty (измененные), untracked (неотÑлеживаемые). (По умолчанию: all)" +msgstr "игнорировать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² подмодулÑÑ…, опционально когда: all (вÑегда), dirty (изменённые), untracked (неотÑлеживаемые). (По умолчанию: all)" -#: builtin/commit.c:1329 +#: builtin/commit.c:1345 msgid "list untracked files in columns" msgstr "показать неотÑлеживаемые файлы по Ñтолбцам" -#: builtin/commit.c:1330 +#: builtin/commit.c:1346 msgid "do not detect renames" msgstr "не определÑть переименованиÑ" -#: builtin/commit.c:1332 +#: builtin/commit.c:1348 msgid "detect renames, optionally set similarity index" msgstr "определÑть переименованиÑ, опционально уÑтанавливать рейтинг ÑходÑтва" -#: builtin/commit.c:1352 +#: builtin/commit.c:1368 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "ÐÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… и неотÑлеживаемых файлов" -#: builtin/commit.c:1450 +#: builtin/commit.c:1473 msgid "suppress summary after successful commit" -msgstr "не выводить Ñводку поÑле уÑпешного коммита" +msgstr "не выводить Ñводку изменений поÑле уÑпешного коммита" -#: builtin/commit.c:1451 +#: builtin/commit.c:1474 msgid "show diff in commit message template" msgstr "добавить ÑпиÑок изменений в шаблон ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/commit.c:1453 +#: builtin/commit.c:1476 msgid "Commit message options" msgstr "Опции ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/commit.c:1454 builtin/merge.c:261 builtin/tag.c:395 +#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 msgid "read message from file" msgstr "прочитать Ñообщение из файла" -#: builtin/commit.c:1455 +#: builtin/commit.c:1478 msgid "author" msgstr "автор" -#: builtin/commit.c:1455 +#: builtin/commit.c:1478 msgid "override author for commit" msgstr "подменить автора коммита" -#: builtin/commit.c:1456 builtin/gc.c:504 +#: builtin/commit.c:1479 builtin/gc.c:539 msgid "date" msgstr "дата" -#: builtin/commit.c:1456 +#: builtin/commit.c:1479 msgid "override date for commit" msgstr "подменить дату коммита" -#: builtin/commit.c:1457 builtin/merge.c:257 builtin/notes.c:404 -#: builtin/notes.c:567 builtin/tag.c:393 -msgid "message" -msgstr "Ñообщение" - -#: builtin/commit.c:1457 -msgid "commit message" -msgstr "Ñообщение коммита" - -#: builtin/commit.c:1458 builtin/commit.c:1459 builtin/commit.c:1460 -#: builtin/commit.c:1461 parse-options.h:270 ref-filter.h:92 +#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 +#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 msgid "commit" msgstr "коммит" -#: builtin/commit.c:1458 +#: builtin/commit.c:1481 msgid "reuse and edit message from specified commit" msgstr "иÑпользовать и отредактировать Ñообщение от указанного коммита" -#: builtin/commit.c:1459 +#: builtin/commit.c:1482 msgid "reuse message from specified commit" msgstr "иÑпользовать Ñообщение указанного коммита" -#: builtin/commit.c:1460 +#: builtin/commit.c:1483 msgid "use autosquash formatted message to fixup specified commit" msgstr "иÑпользовать форматированное Ñообщение Ð°Ð²Ñ‚Ð¾ÑƒÐ¿Ð»Ð¾Ñ‚Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ коммита" -#: builtin/commit.c:1461 +#: builtin/commit.c:1484 msgid "use autosquash formatted message to squash specified commit" msgstr "иÑпользовать форматированное Ñообщение Ð°Ð²Ñ‚Ð¾ÑƒÐ¿Ð»Ð¾Ñ‚Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑƒÐ¿Ð»Ð¾Ñ‚Ð½ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ коммита" -#: builtin/commit.c:1462 +#: builtin/commit.c:1485 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "коммит теперь за моим авторÑтвом (иÑпользуетÑÑ Ñ -C/-c/--amend)" -#: builtin/commit.c:1463 builtin/log.c:1457 builtin/merge.c:274 -#: builtin/pull.c:154 builtin/revert.c:106 +#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 +#: builtin/pull.c:162 builtin/revert.c:109 msgid "add Signed-off-by:" msgstr "добавить Signed-off-by:" -#: builtin/commit.c:1464 +#: builtin/commit.c:1487 msgid "use specified template file" msgstr "иÑпользовать указанный файл шаблона" -#: builtin/commit.c:1465 +#: builtin/commit.c:1488 msgid "force edit of commit" msgstr "принудительно редактировать коммит" -#: builtin/commit.c:1466 -msgid "default" -msgstr "по-умолчанию" - -#: builtin/commit.c:1466 builtin/tag.c:399 -msgid "how to strip spaces and #comments from message" -msgstr "как удалÑть пробелы и #комментарии из ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" - -#: builtin/commit.c:1467 +#: builtin/commit.c:1490 msgid "include status in commit message template" msgstr "включить ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ„Ð°Ð¹Ð»Ð¾Ð² в шаблон ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/commit.c:1469 builtin/merge.c:272 builtin/pull.c:184 -#: builtin/revert.c:114 -msgid "GPG sign commit" -msgstr "подпиÑать коммит Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" - -#: builtin/commit.c:1472 +#: builtin/commit.c:1495 msgid "Commit contents options" msgstr "Опции Ñодержимого коммита" -#: builtin/commit.c:1473 +#: builtin/commit.c:1496 msgid "commit all changed files" msgstr "закоммитить вÑе измененные файлы" -#: builtin/commit.c:1474 +#: builtin/commit.c:1497 msgid "add specified files to index for commit" msgstr "добавить указанные файлы в Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/commit.c:1475 +#: builtin/commit.c:1498 msgid "interactively add files" msgstr "интерактивное добавление файлов" -#: builtin/commit.c:1476 +#: builtin/commit.c:1499 msgid "interactively add changes" msgstr "интерактивное добавление изменений" -#: builtin/commit.c:1477 +#: builtin/commit.c:1500 msgid "commit only specified files" msgstr "закоммитить только указанные файлы" -#: builtin/commit.c:1478 +#: builtin/commit.c:1501 msgid "bypass pre-commit and commit-msg hooks" msgstr "пропуÑтить перехватчик pre-commit и commit-msg" -#: builtin/commit.c:1479 +#: builtin/commit.c:1502 msgid "show what would be committed" msgstr "показать, что будет закоммичено" -#: builtin/commit.c:1492 +#: builtin/commit.c:1515 msgid "amend previous commit" msgstr "иÑправить предыдущий коммит" -#: builtin/commit.c:1493 +#: builtin/commit.c:1516 msgid "bypass post-rewrite hook" msgstr "пропуÑтить перехватчик post-rewrite" -#: builtin/commit.c:1498 +#: builtin/commit.c:1521 msgid "ok to record an empty change" msgstr "разрешить запиÑÑŒ пуÑтого коммита" -#: builtin/commit.c:1500 +#: builtin/commit.c:1523 msgid "ok to record a change with an empty message" msgstr "разрешить запиÑÑŒ изменений Ñ Ð¿ÑƒÑтым Ñообщением" -#: builtin/commit.c:1573 +#: builtin/commit.c:1596 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Файл MERGE_HEAD поврежден (%s)" -#: builtin/commit.c:1580 +#: builtin/commit.c:1603 msgid "could not read MERGE_MODE" msgstr "не удалоÑÑŒ прочитать MERGE_MODE" -#: builtin/commit.c:1599 +#: builtin/commit.c:1622 #, c-format msgid "could not read commit message: %s" msgstr "не удалоÑÑŒ открыть Ñообщение коммита: %s" -#: builtin/commit.c:1610 +#: builtin/commit.c:1629 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Отмена коммита из-за пуÑтого ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°.\n" -#: builtin/commit.c:1615 +#: builtin/commit.c:1634 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Отмена коммита; вы не изменили Ñообщение.\n" -#: builtin/commit.c:1650 +#: builtin/commit.c:1668 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" @@ -8953,236 +10807,245 @@ msgid "" "|--stdin-packs|--stdin-commits]" msgstr "git commit-graph write [--object-dir <каталог-объектов>] [--append] [--reachable|--stdin-packs|--stdin-commits]" -#: builtin/commit-graph.c:48 builtin/commit-graph.c:77 -#: builtin/commit-graph.c:131 builtin/commit-graph.c:184 builtin/fetch.c:150 -#: builtin/log.c:1477 +#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 +#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 +#: builtin/log.c:1561 msgid "dir" msgstr "каталог" -#: builtin/commit-graph.c:49 builtin/commit-graph.c:78 -#: builtin/commit-graph.c:132 builtin/commit-graph.c:185 +#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 +#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 msgid "The object directory to store the graph" -msgstr "" +msgstr "Каталог объектов Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð°" -#: builtin/commit-graph.c:134 +#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#, c-format +msgid "Could not open commit-graph '%s'" +msgstr "Ðе удалоÑÑŒ открыть файл commit-graph «%s»" + +#: builtin/commit-graph.c:150 msgid "start walk at all refs" -msgstr "" +msgstr "начать Ñо вÑех ÑÑылок" -#: builtin/commit-graph.c:136 +#: builtin/commit-graph.c:152 msgid "scan pack-indexes listed by stdin for commits" -msgstr "" +msgstr "иÑкать коммиты в pack-indexes, перечиÑленных на Ñтандартном вводе" -#: builtin/commit-graph.c:138 +#: builtin/commit-graph.c:154 msgid "start walk at commits listed by stdin" -msgstr "" +msgstr "начать Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð², перечиÑленных на Ñтандартном вводе" -#: builtin/commit-graph.c:140 +#: builtin/commit-graph.c:156 msgid "include all commits already in the commit-graph file" -msgstr "" +msgstr "включить вÑе коммиты, которые уже еÑть в файле commit-graph" -#: builtin/commit-graph.c:149 +#: builtin/commit-graph.c:165 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" -msgstr "" +msgstr "иÑпользуйте что-то одно из --reachable, --stdin-commits и --stdin-packs" -#: builtin/config.c:10 +#: builtin/config.c:11 msgid "git config [<options>]" msgstr "git config [<опции>]" -#: builtin/config.c:101 +#: builtin/config.c:103 #, c-format msgid "unrecognized --type argument, %s" msgstr "" -#: builtin/config.c:113 +#: builtin/config.c:115 msgid "only one type at a time" msgstr "" -#: builtin/config.c:122 +#: builtin/config.c:124 msgid "Config file location" msgstr "Размещение файла конфигурации" -#: builtin/config.c:123 +#: builtin/config.c:125 msgid "use global config file" msgstr "иÑпользовать глобальный файл конфигурации" -#: builtin/config.c:124 +#: builtin/config.c:126 msgid "use system config file" msgstr "иÑпользовать ÑиÑтемный файл конфигурации" -#: builtin/config.c:125 +#: builtin/config.c:127 msgid "use repository config file" msgstr "иÑпользовать файл конфигурации репозиториÑ" -#: builtin/config.c:126 +#: builtin/config.c:128 +msgid "use per-worktree config file" +msgstr "" + +#: builtin/config.c:129 msgid "use given config file" msgstr "иÑпользовать указанный файл конфигурации" -#: builtin/config.c:127 +#: builtin/config.c:130 msgid "blob-id" msgstr "идент-двоичн-объекта" -#: builtin/config.c:127 +#: builtin/config.c:130 msgid "read config from given blob object" msgstr "прочитать наÑтройки из указанного двоичного объекта" -#: builtin/config.c:128 +#: builtin/config.c:131 msgid "Action" msgstr "ДейÑтвие" -#: builtin/config.c:129 +#: builtin/config.c:132 msgid "get value: name [value-regex]" msgstr "получить значение: Ð¸Ð¼Ñ [шаблон-значений]" -#: builtin/config.c:130 +#: builtin/config.c:133 msgid "get all values: key [value-regex]" msgstr "получить вÑе значениÑ: ключ [шаблон-значений]" -#: builtin/config.c:131 +#: builtin/config.c:134 msgid "get values for regexp: name-regex [value-regex]" msgstr "получить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ шаблону: шаблон-имен [шаблон-значений]" -#: builtin/config.c:132 +#: builtin/config.c:135 msgid "get value specific for the URL: section[.var] URL" msgstr "получить значение, Ñпецифичное Ð´Ð»Ñ URL: раздел[.переменнаÑ] URL" -#: builtin/config.c:133 +#: builtin/config.c:136 msgid "replace all matching variables: name value [value_regex]" msgstr "заменить вÑе ÑоответÑтвующие переменные: Ð¸Ð¼Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ [шаблон-значений]" -#: builtin/config.c:134 +#: builtin/config.c:137 msgid "add a new variable: name value" msgstr "добавить новую переменную: Ð¸Ð¼Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ" -#: builtin/config.c:135 +#: builtin/config.c:138 msgid "remove a variable: name [value-regex]" msgstr "удалить переменную: Ð¸Ð¼Ñ [шаблон-значений]" -#: builtin/config.c:136 +#: builtin/config.c:139 msgid "remove all matches: name [value-regex]" msgstr "удалить вÑе Ñовпадающие: Ð¸Ð¼Ñ [шаблон-значений]" -#: builtin/config.c:137 +#: builtin/config.c:140 msgid "rename section: old-name new-name" msgstr "переименовать раздел: Ñтарое-Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ðµ-имÑ" -#: builtin/config.c:138 +#: builtin/config.c:141 msgid "remove a section: name" msgstr "удалить раздел: имÑ" -#: builtin/config.c:139 +#: builtin/config.c:142 msgid "list all" msgstr "показать веÑÑŒ ÑпиÑок" -#: builtin/config.c:140 +#: builtin/config.c:143 msgid "open an editor" msgstr "открыть в редакторе" -#: builtin/config.c:141 +#: builtin/config.c:144 msgid "find the color configured: slot [default]" msgstr "найти наÑтроенный цвет: раздел [по-умолчанию]" -#: builtin/config.c:142 +#: builtin/config.c:145 msgid "find the color setting: slot [stdout-is-tty]" msgstr "проверить, ÑущеÑтвует ли наÑтроенный цвет: раздел [stdout-еÑть-tty]" -#: builtin/config.c:143 +#: builtin/config.c:146 msgid "Type" msgstr "Тип" -#: builtin/config.c:144 +#: builtin/config.c:147 msgid "value is given this type" msgstr "" -#: builtin/config.c:145 +#: builtin/config.c:148 msgid "value is \"true\" or \"false\"" msgstr "значение — Ñто «true» (правда) или «false» (ложь)" -#: builtin/config.c:146 +#: builtin/config.c:149 msgid "value is decimal number" msgstr "значение — Ñто деÑÑтичное чиÑло" -#: builtin/config.c:147 +#: builtin/config.c:150 msgid "value is --bool or --int" msgstr "значение — Ñто --bool или --int" -#: builtin/config.c:148 +#: builtin/config.c:151 msgid "value is a path (file or directory name)" msgstr "значение — Ñто путь (к файлу или каталогу)" -#: builtin/config.c:149 +#: builtin/config.c:152 msgid "value is an expiry date" msgstr "значение - Ñто дата Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ñрока дейÑтвиÑ" -#: builtin/config.c:150 +#: builtin/config.c:153 msgid "Other" msgstr "Другое" -#: builtin/config.c:151 +#: builtin/config.c:154 msgid "terminate values with NUL byte" msgstr "завершать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐУЛЕВЫМ байтом" -#: builtin/config.c:152 +#: builtin/config.c:155 msgid "show variable names only" msgstr "показывать только имена переменных" -#: builtin/config.c:153 +#: builtin/config.c:156 msgid "respect include directives on lookup" msgstr "учитывать директивы include (Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²) при запроÑе" -#: builtin/config.c:154 +#: builtin/config.c:157 msgid "show origin of config (file, standard input, blob, command line)" msgstr "показать иÑточник наÑтройки (файл, Ñтандартный ввод, двоичный объект, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ñтрока)" -#: builtin/config.c:155 +#: builtin/config.c:158 msgid "value" msgstr "" -#: builtin/config.c:155 +#: builtin/config.c:158 msgid "with --get, use default value when missing entry" msgstr "" -#: builtin/config.c:168 +#: builtin/config.c:172 #, c-format msgid "wrong number of arguments, should be %d" msgstr "" -#: builtin/config.c:170 +#: builtin/config.c:174 #, c-format msgid "wrong number of arguments, should be from %d to %d" msgstr "" -#: builtin/config.c:304 +#: builtin/config.c:308 #, c-format msgid "invalid key pattern: %s" msgstr "" -#: builtin/config.c:340 +#: builtin/config.c:344 #, c-format msgid "failed to format default config value: %s" msgstr "" -#: builtin/config.c:397 +#: builtin/config.c:401 #, c-format msgid "cannot parse color '%s'" msgstr "" -#: builtin/config.c:439 +#: builtin/config.c:443 msgid "unable to parse default color value" msgstr "не удалоÑÑŒ разобрать значение цвета по умолчанию" -#: builtin/config.c:492 builtin/config.c:724 +#: builtin/config.c:496 builtin/config.c:742 msgid "not in a git directory" msgstr "" -#: builtin/config.c:495 +#: builtin/config.c:499 msgid "writing to stdin is not supported" msgstr "" -#: builtin/config.c:498 +#: builtin/config.c:502 msgid "writing config blobs is not supported" msgstr "" -#: builtin/config.c:583 +#: builtin/config.c:587 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -9192,74 +11055,81 @@ msgid "" "#\temail = %s\n" msgstr "# Ðто файл конфигурации Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Git.\n[user]\n# ПожалуйÑта, адаптируйте и раÑкомментируйте Ñледующие Ñтроки:\n#\tuser = %s\n#\temail = %s\n" -#: builtin/config.c:606 +#: builtin/config.c:611 msgid "only one config file at a time" msgstr "" -#: builtin/config.c:611 +#: builtin/config.c:616 msgid "--local can only be used inside a git repository" msgstr "--local можно иÑпользовать только внутри git репозиториÑ" -#: builtin/config.c:614 +#: builtin/config.c:619 msgid "--blob can only be used inside a git repository" msgstr "" -#: builtin/config.c:633 +#: builtin/config.c:638 msgid "$HOME not set" msgstr "" -#: builtin/config.c:670 +#: builtin/config.c:658 +msgid "" +"--worktree cannot be used with multiple working trees unless the config\n" +"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n" +"section in \"git help worktree\" for details" +msgstr "" + +#: builtin/config.c:688 msgid "--get-color and variable type are incoherent" msgstr "" -#: builtin/config.c:675 +#: builtin/config.c:693 msgid "only one action at a time" msgstr "" -#: builtin/config.c:688 +#: builtin/config.c:706 msgid "--name-only is only applicable to --list or --get-regexp" msgstr "" -#: builtin/config.c:694 +#: builtin/config.c:712 msgid "" "--show-origin is only applicable to --get, --get-all, --get-regexp, and " "--list" msgstr "" -#: builtin/config.c:700 +#: builtin/config.c:718 msgid "--default is only applicable to --get" msgstr "" -#: builtin/config.c:713 +#: builtin/config.c:731 #, c-format msgid "unable to read config file '%s'" msgstr "" -#: builtin/config.c:716 +#: builtin/config.c:734 msgid "error processing config file(s)" msgstr "" -#: builtin/config.c:726 +#: builtin/config.c:744 msgid "editing stdin is not supported" msgstr "" -#: builtin/config.c:728 +#: builtin/config.c:746 msgid "editing blobs is not supported" msgstr "" -#: builtin/config.c:742 +#: builtin/config.c:760 #, c-format msgid "cannot create configuration file %s" msgstr "не удалоÑÑŒ Ñоздать файл конфигурации %s" -#: builtin/config.c:755 +#: builtin/config.c:773 #, c-format msgid "" "cannot overwrite multiple values with a single value\n" " Use a regexp, --add or --replace-all to change %s." msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñать неÑколько значений одним\n ИÑпользуйте регулÑрные выражениÑ, параметры --add или --replace-all, чтобы изменить %s." -#: builtin/config.c:829 builtin/config.c:840 +#: builtin/config.c:847 builtin/config.c:858 #, c-format msgid "no such section: %s" msgstr "" @@ -9272,194 +11142,194 @@ msgstr "git count-objects [-v] [-H | --human-readable]" msgid "print sizes in human readable format" msgstr "вывод размеров в удобочитаемом Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде" -#: builtin/describe.c:26 +#: builtin/describe.c:27 msgid "git describe [<options>] [<commit-ish>...]" msgstr "git describe [<опции>] [<указатель-коммита>…]" -#: builtin/describe.c:27 +#: builtin/describe.c:28 msgid "git describe [<options>] --dirty" msgstr "git describe [<опции>] --dirty" -#: builtin/describe.c:62 +#: builtin/describe.c:63 msgid "head" msgstr "указатель на ветку" -#: builtin/describe.c:62 +#: builtin/describe.c:63 msgid "lightweight" msgstr "легковеÑный" -#: builtin/describe.c:62 +#: builtin/describe.c:63 msgid "annotated" msgstr "аннотированный" -#: builtin/describe.c:272 +#: builtin/describe.c:273 #, c-format msgid "annotated tag %s not available" msgstr "Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° %s не доÑтупна" -#: builtin/describe.c:276 +#: builtin/describe.c:277 #, c-format msgid "annotated tag %s has no embedded name" msgstr "Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° %s не Ñодержит вÑтроенного названиÑ" -#: builtin/describe.c:278 +#: builtin/describe.c:279 #, c-format msgid "tag '%s' is really '%s' here" msgstr "метка «%s» уже здеÑÑŒ «%s»" -#: builtin/describe.c:322 +#: builtin/describe.c:323 #, c-format msgid "no tag exactly matches '%s'" msgstr "нет меток, точно ÑоответÑтвующих «%s»" -#: builtin/describe.c:324 +#: builtin/describe.c:325 #, c-format msgid "No exact match on refs or tags, searching to describe\n" msgstr "Ðет точных Ñовпадений по ÑÑылкам или тегам, ищу опиÑаниÑ\n" -#: builtin/describe.c:378 +#: builtin/describe.c:379 #, c-format msgid "finished search at %s\n" msgstr "поиÑк окончен на %s\n" -#: builtin/describe.c:404 +#: builtin/describe.c:405 #, c-format msgid "" "No annotated tags can describe '%s'.\n" "However, there were unannotated tags: try --tags." msgstr "Ðет аннотированных меток, которые могут опиÑать «%s».\nÐо имеютÑÑ Ð½ÐµÐ°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ метки: попробуйте добавить параметр --tags." -#: builtin/describe.c:408 +#: builtin/describe.c:409 #, c-format msgid "" "No tags can describe '%s'.\n" "Try --always, or create some tags." msgstr "Ðет меток, которые могут опиÑать «%s….\nПопробуйте добавить параметр --always или Ñоздать какие-нибудь метки." -#: builtin/describe.c:438 +#: builtin/describe.c:439 #, c-format msgid "traversed %lu commits\n" msgstr "поÑещено %lu коммитов\n" -#: builtin/describe.c:441 +#: builtin/describe.c:442 #, c-format msgid "" "more than %i tags found; listed %i most recent\n" "gave up search at %s\n" msgstr "более %i меток найдено; показано поÑледние %i\nоÑтановлен поиÑк поÑле %s\n" -#: builtin/describe.c:509 +#: builtin/describe.c:510 #, c-format msgid "describe %s\n" msgstr "опиÑать %s\n" -#: builtin/describe.c:512 builtin/log.c:508 +#: builtin/describe.c:513 #, c-format msgid "Not a valid object name %s" msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %s" -#: builtin/describe.c:520 +#: builtin/describe.c:521 #, c-format msgid "%s is neither a commit nor blob" msgstr "%s не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼ или двоичным объектом" -#: builtin/describe.c:534 +#: builtin/describe.c:535 msgid "find the tag that comes after the commit" msgstr "поиÑк метки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð´ÐµÑ‚ поÑле коммита" -#: builtin/describe.c:535 +#: builtin/describe.c:536 msgid "debug search strategy on stderr" msgstr "вывод отладочной информации Ñтратегии поиÑка на Ñтандартный вывод" -#: builtin/describe.c:536 +#: builtin/describe.c:537 msgid "use any ref" msgstr "иÑпользовать любую ÑÑылку" -#: builtin/describe.c:537 +#: builtin/describe.c:538 msgid "use any tag, even unannotated" msgstr "иÑпользовать любую метку, даже неаннотированную" -#: builtin/describe.c:538 +#: builtin/describe.c:539 msgid "always use long format" msgstr "вÑегда иÑпользовать длинный формат вывода" -#: builtin/describe.c:539 +#: builtin/describe.c:540 msgid "only follow first parent" msgstr "Ñледовать только за первым родителем" -#: builtin/describe.c:542 +#: builtin/describe.c:543 msgid "only output exact matches" msgstr "выводить только точные ÑовпадениÑ" -#: builtin/describe.c:544 +#: builtin/describe.c:545 msgid "consider <n> most recent tags (default: 10)" msgstr "раÑÑматривать поÑледние <n> меток (по умолчанию: 10)" -#: builtin/describe.c:546 +#: builtin/describe.c:547 msgid "only consider tags matching <pattern>" msgstr "раÑÑматривать только метки по <шаблону>" -#: builtin/describe.c:548 +#: builtin/describe.c:549 msgid "do not consider tags matching <pattern>" msgstr "не учитывать метки, которые ÑоответÑтвуют <шаблону>" -#: builtin/describe.c:550 builtin/name-rev.c:424 +#: builtin/describe.c:551 builtin/name-rev.c:426 msgid "show abbreviated commit object as fallback" msgstr "еÑли не найдено, показать Ñокращенный номер редакции коммита" -#: builtin/describe.c:551 builtin/describe.c:554 +#: builtin/describe.c:552 builtin/describe.c:555 msgid "mark" msgstr "пометка" -#: builtin/describe.c:552 +#: builtin/describe.c:553 msgid "append <mark> on dirty working tree (default: \"-dirty\")" -msgstr "добавить <пометку> при измененном рабочем каталоге (по умолчанию: «-dirty»)" +msgstr "добавить <пометку> при изменённом рабочем каталоге (по умолчанию: «-dirty»)" -#: builtin/describe.c:555 +#: builtin/describe.c:556 msgid "append <mark> on broken working tree (default: \"-broken\")" msgstr "добавить <пометку> на повреждённое рабочее дерево (по умолчанию: «-broken»)" -#: builtin/describe.c:573 +#: builtin/describe.c:574 msgid "--long is incompatible with --abbrev=0" msgstr "--long неÑовмеÑтимо Ñ --abbrev=0" -#: builtin/describe.c:602 +#: builtin/describe.c:603 msgid "No names found, cannot describe anything." msgstr "Имена не найдены, не могу ничего опиÑать." -#: builtin/describe.c:652 +#: builtin/describe.c:654 msgid "--dirty is incompatible with commit-ishes" msgstr "--dirty неÑовмеÑтимо Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ указателей коммитов" -#: builtin/describe.c:654 +#: builtin/describe.c:656 msgid "--broken is incompatible with commit-ishes" msgstr "--broken неÑовмеÑтимо Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ указателей коммитов" -#: builtin/diff.c:83 +#: builtin/diff.c:84 #, c-format msgid "'%s': not a regular file or symlink" msgstr "«%s»: не ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом или Ñимвольной ÑÑылкой" -#: builtin/diff.c:234 +#: builtin/diff.c:235 #, c-format msgid "invalid option: %s" msgstr "неправильный параметр: %s" -#: builtin/diff.c:363 +#: builtin/diff.c:350 msgid "Not a git repository" msgstr "Ðе найден git репозиторий" -#: builtin/diff.c:407 +#: builtin/diff.c:394 #, c-format msgid "invalid object '%s' given." msgstr "передан неправильный объект «%s»." -#: builtin/diff.c:416 +#: builtin/diff.c:403 #, c-format msgid "more than two blobs given: '%s'" msgstr "передано больше двух двоичных объектов: «%s»" -#: builtin/diff.c:421 +#: builtin/diff.c:408 #, c-format msgid "unhandled object '%s' given." msgstr "передан необработанный объект «%s»." @@ -9468,93 +11338,109 @@ msgstr "передан необработанный объект «%s»." msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]" msgstr "git difftool [<опции>] [<коммит> [<коммит>]] [--] [<путь>…]" -#: builtin/difftool.c:260 +#: builtin/difftool.c:253 #, c-format msgid "failed: %d" msgstr "Ñбой: %d" -#: builtin/difftool.c:302 +#: builtin/difftool.c:295 #, c-format msgid "could not read symlink %s" msgstr "не удалоÑÑŒ прочитать Ñимвольную ÑÑылку %s" -#: builtin/difftool.c:304 +#: builtin/difftool.c:297 #, c-format msgid "could not read symlink file %s" msgstr "не удалоÑÑŒ прочитать файл Ñимвольной ÑÑылки %s" -#: builtin/difftool.c:312 +#: builtin/difftool.c:305 #, c-format msgid "could not read object %s for symlink %s" msgstr "не удалоÑÑŒ прочитать объект %s Ð´Ð»Ñ Ñимвольной ÑÑылки %s" -#: builtin/difftool.c:413 +#: builtin/difftool.c:406 msgid "" "combined diff formats('-c' and '--cc') are not supported in\n" "directory diff mode('-d' and '--dir-diff')." -msgstr "комбинированные форматы различий файлов(«-c» и «--cc») не поддерживаютÑÑ Ð² режиме ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²(«-d» и «--dir-diff»)." +msgstr "комбинированные форматы файлов ÑпиÑка изменений(«-c» и «--cc») не поддерживаютÑÑ Ð² режиме ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²(«-d» и «--dir-diff»)." -#: builtin/difftool.c:633 +#: builtin/difftool.c:626 #, c-format msgid "both files modified: '%s' and '%s'." msgstr "оба файла изменены: «%s» и «%s»." -#: builtin/difftool.c:635 +#: builtin/difftool.c:628 msgid "working tree file has been left." msgstr "рабочий каталог был покинут." -#: builtin/difftool.c:646 +#: builtin/difftool.c:639 #, c-format msgid "temporary files exist in '%s'." msgstr "временные файлы уже находÑÑ‚ÑÑ Ð² «%s»." -#: builtin/difftool.c:647 +#: builtin/difftool.c:640 msgid "you may want to cleanup or recover these." msgstr "возможно вы хотите их удалить или воÑÑтановить." -#: builtin/difftool.c:696 +#: builtin/difftool.c:689 msgid "use `diff.guitool` instead of `diff.tool`" msgstr "иÑпользовать «diff.guitool» вмеÑто «diff.tool»" -#: builtin/difftool.c:698 +#: builtin/difftool.c:691 msgid "perform a full-directory diff" msgstr "выполнить пофайловое Ñравнение вÑего каталога" -#: builtin/difftool.c:700 +#: builtin/difftool.c:693 msgid "do not prompt before launching a diff tool" msgstr "не Ñпрашивать перед запуÑком утилиты ÑравнениÑ" -#: builtin/difftool.c:705 +#: builtin/difftool.c:698 msgid "use symlinks in dir-diff mode" msgstr "иÑпользовать Ñимвольные ÑÑылки в режиме ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°" -#: builtin/difftool.c:706 +#: builtin/difftool.c:699 msgid "tool" msgstr "" -#: builtin/difftool.c:707 +#: builtin/difftool.c:700 msgid "use the specified diff tool" msgstr "иÑпользовать указанную утилиту ÑравнениÑ" -#: builtin/difftool.c:709 +#: builtin/difftool.c:702 msgid "print a list of diff tools that may be used with `--tool`" msgstr "вывеÑти ÑпиÑок утилит, которые можно иÑпользовать Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ «--tool»" -#: builtin/difftool.c:712 +#: builtin/difftool.c:705 msgid "" "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit" " code" msgstr "выходить из «git-difftool», еÑли Ð²Ñ‹Ð·Ð²Ð°Ð½Ð½Ð°Ñ ÑƒÑ‚Ð¸Ð»Ð¸Ñ‚Ð° ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²ÐµÑ€Ð½ÑƒÐ»Ð° не нулевой код возврата" -#: builtin/difftool.c:715 +#: builtin/difftool.c:708 msgid "specify a custom command for viewing diffs" -msgstr "иÑпользовать оÑобую команду Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра различий" +msgstr "иÑпользовать оÑобую команду Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра изменений" + +#: builtin/difftool.c:709 +msgid "passed to `diff`" +msgstr "" + +#: builtin/difftool.c:724 +msgid "difftool requires worktree or --no-index" +msgstr "" -#: builtin/difftool.c:739 +#: builtin/difftool.c:731 +msgid "--dir-diff is incompatible with --no-index" +msgstr "" + +#: builtin/difftool.c:734 +msgid "--gui, --tool and --extcmd are mutually exclusive" +msgstr "" + +#: builtin/difftool.c:742 msgid "no <tool> given for --tool=<tool>" msgstr "не передана <утилита> Ð´Ð»Ñ --tool=<утилита>" -#: builtin/difftool.c:746 +#: builtin/difftool.c:749 msgid "no <cmd> given for --extcmd=<cmd>" msgstr "не передана <команда> Ð´Ð»Ñ --extcmd=<команда>" @@ -9562,364 +11448,373 @@ msgstr "не передана <команда> Ð´Ð»Ñ --extcmd=<команда>" msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [опции-rev-list]" -#: builtin/fast-export.c:1006 +#: builtin/fast-export.c:1084 msgid "show progress after <n> objects" msgstr "показать прогреÑÑ Ð¿Ð¾Ñле <n> объектов" -#: builtin/fast-export.c:1008 +#: builtin/fast-export.c:1086 msgid "select handling of signed tags" msgstr "выбор обработки подпиÑанных меток" -#: builtin/fast-export.c:1011 +#: builtin/fast-export.c:1089 msgid "select handling of tags that tag filtered objects" msgstr "выбор обработки меток, которыми помечены отфильтрованные объекты" -#: builtin/fast-export.c:1014 +#: builtin/fast-export.c:1092 msgid "Dump marks to this file" msgstr "ЗапиÑать пометки в Ñтот файл" -#: builtin/fast-export.c:1016 +#: builtin/fast-export.c:1094 msgid "Import marks from this file" msgstr "Импортировать пометки из Ñтого файла" -#: builtin/fast-export.c:1018 +#: builtin/fast-export.c:1096 msgid "Fake a tagger when tags lack one" msgstr "Подделать автора метки, еÑли у метки он отÑутÑтвует" -#: builtin/fast-export.c:1020 +#: builtin/fast-export.c:1098 msgid "Output full tree for each commit" msgstr "ВывеÑти полное дерево Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ коммита" -#: builtin/fast-export.c:1022 +#: builtin/fast-export.c:1100 msgid "Use the done feature to terminate the stream" msgstr "ИÑпользовать пометку Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð² конце потока" -#: builtin/fast-export.c:1023 +#: builtin/fast-export.c:1101 msgid "Skip output of blob data" msgstr "ПропуÑтить вывод данных двоичных объектов" -#: builtin/fast-export.c:1024 +#: builtin/fast-export.c:1102 builtin/log.c:1609 msgid "refspec" msgstr "Ñпецификатор ÑÑылки" -#: builtin/fast-export.c:1025 +#: builtin/fast-export.c:1103 msgid "Apply refspec to exported refs" msgstr "Применить Ñпецификатор ÑÑылки к ÑкÑпортируемым ÑÑылкам" -#: builtin/fast-export.c:1026 +#: builtin/fast-export.c:1104 msgid "anonymize output" msgstr "Ñделать вывод анонимным" -#: builtin/fetch.c:27 +#: builtin/fast-export.c:1106 +msgid "Reference parents which are not in fast-export stream by object id" +msgstr "" + +#: builtin/fast-export.c:1108 +msgid "Show original object ids of blobs/commits" +msgstr "" + +#: builtin/fetch.c:28 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<опции>] [<репозиторий> [<Ñпецификатор-ÑÑылки>…]]" -#: builtin/fetch.c:28 +#: builtin/fetch.c:29 msgid "git fetch [<options>] <group>" msgstr "git fetch [<опции>] <группа>" -#: builtin/fetch.c:29 +#: builtin/fetch.c:30 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<опции>] [(<репозиторий> | <группа>)…]" -#: builtin/fetch.c:30 +#: builtin/fetch.c:31 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<опции>]" -#: builtin/fetch.c:112 builtin/pull.c:193 +#: builtin/fetch.c:115 builtin/pull.c:202 msgid "fetch from all remotes" msgstr "извлечь Ñо вÑех внешних репозиториев" -#: builtin/fetch.c:114 builtin/pull.c:196 +#: builtin/fetch.c:117 builtin/pull.c:205 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "допиÑать к .git/FETCH_HEAD вмеÑто перезапиÑи" -#: builtin/fetch.c:116 builtin/pull.c:199 +#: builtin/fetch.c:119 builtin/pull.c:208 msgid "path to upload pack on remote end" msgstr "путь к программе упаковки пакета на машине Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ репозиторием" -#: builtin/fetch.c:117 builtin/pull.c:201 -msgid "force overwrite of local branch" -msgstr "Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸ÑÑŒ локальной ветки" +#: builtin/fetch.c:120 +msgid "force overwrite of local reference" +msgstr "" -#: builtin/fetch.c:119 +#: builtin/fetch.c:122 msgid "fetch from multiple remotes" msgstr "извлечь Ñ Ð½ÐµÑкольких внешних репозиториев" -#: builtin/fetch.c:121 builtin/pull.c:203 +#: builtin/fetch.c:124 builtin/pull.c:212 msgid "fetch all tags and associated objects" msgstr "извлечь вÑе метки и ÑвÑзанные объекты" -#: builtin/fetch.c:123 +#: builtin/fetch.c:126 msgid "do not fetch all tags (--no-tags)" msgstr "не извлекать вÑе метки (--no-tags)" -#: builtin/fetch.c:125 +#: builtin/fetch.c:128 msgid "number of submodules fetched in parallel" msgstr "количеÑтво подмодулей, которые будут Ñкачаны парралельно" -#: builtin/fetch.c:127 builtin/pull.c:206 +#: builtin/fetch.c:130 builtin/pull.c:215 msgid "prune remote-tracking branches no longer on remote" msgstr "почиÑтить отÑлеживаемые внешние ветки, которых уже нет на внешнем репозитории" -#: builtin/fetch.c:129 +#: builtin/fetch.c:132 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" -#: builtin/fetch.c:130 builtin/fetch.c:153 builtin/pull.c:131 +#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 msgid "on-demand" msgstr "по требованию" -#: builtin/fetch.c:131 +#: builtin/fetch.c:134 msgid "control recursive fetching of submodules" msgstr "управление рекурÑивным извлечением подмодулей" -#: builtin/fetch.c:135 builtin/pull.c:214 +#: builtin/fetch.c:138 builtin/pull.c:223 msgid "keep downloaded pack" msgstr "оÑтавить загруженный пакет данных" -#: builtin/fetch.c:137 +#: builtin/fetch.c:140 msgid "allow updating of HEAD ref" msgstr "разрешить обновление ÑÑылки HEAD" -#: builtin/fetch.c:140 builtin/fetch.c:146 builtin/pull.c:217 +#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 msgid "deepen history of shallow clone" msgstr "улугубить иÑторию чаÑтичного клона" -#: builtin/fetch.c:142 +#: builtin/fetch.c:145 msgid "deepen history of shallow repository based on time" msgstr "углубить иÑторию чаÑтичного клона оÑновываÑÑÑŒ на времени" -#: builtin/fetch.c:148 builtin/pull.c:220 +#: builtin/fetch.c:151 builtin/pull.c:229 msgid "convert to a complete repository" msgstr "преобразовать в полный репозиторий" -#: builtin/fetch.c:151 +#: builtin/fetch.c:154 msgid "prepend this to submodule path output" msgstr "приÑоединÑть Ñто Ñпереди к выводу путей подмодулÑ" -#: builtin/fetch.c:154 +#: builtin/fetch.c:157 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" msgstr "наÑтроить по умолчанию рекурÑивное извлечение подмодулей (более низкий приоритет, чем файлы конфигурации)" -#: builtin/fetch.c:158 builtin/pull.c:223 +#: builtin/fetch.c:161 builtin/pull.c:232 msgid "accept refs that update .git/shallow" msgstr "принимать ÑÑылки, которые обновлÑÑŽÑ‚ .git/shallow" -#: builtin/fetch.c:159 builtin/pull.c:225 +#: builtin/fetch.c:162 builtin/pull.c:234 msgid "refmap" msgstr "ÑоответÑтвие-ÑÑылок" -#: builtin/fetch.c:160 builtin/pull.c:226 +#: builtin/fetch.c:163 builtin/pull.c:235 msgid "specify fetch refmap" msgstr "указать ÑоответÑтвие ÑÑылок при извлечении" -#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582 -#: builtin/send-pack.c:172 -msgid "server-specific" -msgstr "завиÑит-от-Ñервера" - -#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582 -#: builtin/send-pack.c:173 -msgid "option to transmit" -msgstr "передаваемые опции" - -#: builtin/fetch.c:167 +#: builtin/fetch.c:170 msgid "report that we have only objects reachable from this object" msgstr "" -#: builtin/fetch.c:418 +#: builtin/fetch.c:469 msgid "Couldn't find remote ref HEAD" msgstr "Ðе удалоÑÑŒ найти ÑÑылку HEAD на внешнем репозитории" -#: builtin/fetch.c:552 +#: builtin/fetch.c:608 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ fetch.output Ñодержит неправильное значение Ð´Ð»Ñ %s" -#: builtin/fetch.c:645 +#: builtin/fetch.c:705 #, c-format msgid "object %s not found" msgstr "объект %s не найден" -#: builtin/fetch.c:649 +#: builtin/fetch.c:709 msgid "[up to date]" msgstr "[актуально]" -#: builtin/fetch.c:662 builtin/fetch.c:744 +#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 msgid "[rejected]" msgstr "[отклонено]" -#: builtin/fetch.c:663 +#: builtin/fetch.c:723 msgid "can't fetch in current branch" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÑŒ текущую ветку" -#: builtin/fetch.c:672 +#: builtin/fetch.c:733 msgid "[tag update]" msgstr "[обновление метки]" -#: builtin/fetch.c:673 builtin/fetch.c:708 builtin/fetch.c:724 -#: builtin/fetch.c:739 +#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 +#: builtin/fetch.c:796 msgid "unable to update local ref" msgstr "не удалоÑÑŒ обновить локальную ÑÑылку" -#: builtin/fetch.c:694 +#: builtin/fetch.c:738 +msgid "would clobber existing tag" +msgstr "" + +#: builtin/fetch.c:760 msgid "[new tag]" msgstr "[Ð½Ð¾Ð²Ð°Ñ Ð¼ÐµÑ‚ÐºÐ°]" -#: builtin/fetch.c:697 +#: builtin/fetch.c:763 msgid "[new branch]" msgstr "[Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ‚ÐºÐ°]" -#: builtin/fetch.c:700 +#: builtin/fetch.c:766 msgid "[new ref]" msgstr "[Ð½Ð¾Ð²Ð°Ñ ÑÑылка]" -#: builtin/fetch.c:739 +#: builtin/fetch.c:796 msgid "forced update" msgstr "принудительное обновление" -#: builtin/fetch.c:744 +#: builtin/fetch.c:801 msgid "non-fast-forward" msgstr "без перемотки вперед" -#: builtin/fetch.c:790 +#: builtin/fetch.c:847 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s не отправил вÑе необходимые объекты\n" -#: builtin/fetch.c:811 +#: builtin/fetch.c:868 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "%s отклонено из-за того, что чаÑтичные корни не разрешено обновлÑть" -#: builtin/fetch.c:900 builtin/fetch.c:1011 +#: builtin/fetch.c:959 builtin/fetch.c:1081 #, c-format msgid "From %.*s\n" msgstr "Из %.*s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:970 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "не удалоÑÑŒ обновить некоторые локальные ÑÑылки; попробуйте запуÑтить «git remote prune %s», чтобы почиÑтить Ñтарые, конфликтующие ветки" -#: builtin/fetch.c:981 +#: builtin/fetch.c:1051 #, c-format msgid " (%s will become dangling)" msgstr " (%s будет виÑÑщей веткой)" -#: builtin/fetch.c:982 +#: builtin/fetch.c:1052 #, c-format msgid " (%s has become dangling)" msgstr " (%s Ñтала виÑÑщей веткой)" -#: builtin/fetch.c:1014 +#: builtin/fetch.c:1084 msgid "[deleted]" msgstr "[удалено]" -#: builtin/fetch.c:1015 builtin/remote.c:1035 +#: builtin/fetch.c:1085 builtin/remote.c:1036 msgid "(none)" msgstr "(нет)" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1108 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Отказ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð² текущую ветку %s не голого репозиториÑ" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1127 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Ðеправильное значение «%2$s» Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%1$s» Ð´Ð»Ñ %3$s" -#: builtin/fetch.c:1060 +#: builtin/fetch.c:1130 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Параметр «%s» игнорируетÑÑ Ð´Ð»Ñ %s\n" -#: builtin/fetch.c:1339 +#: builtin/fetch.c:1434 #, c-format msgid "Fetching %s\n" msgstr "Извлечение из %s\n" -#: builtin/fetch.c:1341 builtin/remote.c:99 +#: builtin/fetch.c:1436 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Ðе удалоÑÑŒ извлечь %s" -#: builtin/fetch.c:1387 builtin/fetch.c:1555 +#: builtin/fetch.c:1482 msgid "" -"--filter can only be used with the remote configured in core.partialClone" +"--filter can only be used with the remote configured in " +"extensions.partialClone" msgstr "" -#: builtin/fetch.c:1410 +#: builtin/fetch.c:1506 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "Ðе указан внешний репозиторий. Укажите URL или Ð¸Ð¼Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð· которого должны извлекатьÑÑ Ð½Ð¾Ð²Ñ‹Ðµ редакции." -#: builtin/fetch.c:1447 +#: builtin/fetch.c:1543 msgid "You need to specify a tag name." msgstr "Вам нужно указать Ð¸Ð¼Ñ Ð¼ÐµÑ‚ÐºÐ¸." -#: builtin/fetch.c:1496 +#: builtin/fetch.c:1594 msgid "Negative depth in --deepen is not supported" msgstr "ÐžÑ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð³Ñ€ÑƒÐ±Ð¸Ð½Ð° Ð´Ð»Ñ --deepen не поддерживаетÑÑ" -#: builtin/fetch.c:1498 +#: builtin/fetch.c:1596 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen и --depth Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/fetch.c:1503 +#: builtin/fetch.c:1601 msgid "--depth and --unshallow cannot be used together" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно --depth и --unshallow" -#: builtin/fetch.c:1505 +#: builtin/fetch.c:1603 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow не имеет ÑмыÑла на полном репозитории" -#: builtin/fetch.c:1521 +#: builtin/fetch.c:1619 msgid "fetch --all does not take a repository argument" msgstr "fetch --all не принимает Ð¸Ð¼Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ ÐºÐ°Ðº аргумент" -#: builtin/fetch.c:1523 +#: builtin/fetch.c:1621 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all не имеет ÑмыÑла при указании Ñпецификаторов ÑÑылок" -#: builtin/fetch.c:1532 +#: builtin/fetch.c:1630 #, c-format msgid "No such remote or remote group: %s" msgstr "Ðет такого внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð»Ð¸ группы: %s" -#: builtin/fetch.c:1539 +#: builtin/fetch.c:1637 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Получение группы и указание Ñпецификаций ÑÑылок не имеет ÑмыÑла" -#: builtin/fmt-merge-msg.c:17 +#: builtin/fetch.c:1653 +msgid "" +"--filter can only be used with the remote configured in " +"extensions.partialclone" +msgstr "" + +#: builtin/fmt-merge-msg.c:18 msgid "" "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]" msgstr "git fmt-merge-msg [-m <Ñообщение>] [--log[=<n>] | --no-log] [--file <файл>]" -#: builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:672 msgid "populate log with at most <n> entries from shortlog" msgstr "отправить в журнал <n> запиÑей из короткого журнала" -#: builtin/fmt-merge-msg.c:674 +#: builtin/fmt-merge-msg.c:675 msgid "alias for --log (deprecated)" msgstr "Ñокращение Ð´Ð»Ñ --log (уÑтаревшее)" -#: builtin/fmt-merge-msg.c:677 +#: builtin/fmt-merge-msg.c:678 msgid "text" msgstr "текÑÑ‚" -#: builtin/fmt-merge-msg.c:678 +#: builtin/fmt-merge-msg.c:679 msgid "use <text> as start of message" msgstr "иÑпользовать <текÑÑ‚> как начальное Ñообщение" -#: builtin/fmt-merge-msg.c:679 +#: builtin/fmt-merge-msg.c:680 msgid "file to read from" msgstr "файл Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" @@ -9959,90 +11854,271 @@ msgstr "выводить указатели меÑта Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² Ð msgid "show only <n> matched refs" msgstr "показать только <n> Ñовпадающих ÑÑылок" -#: builtin/for-each-ref.c:39 builtin/tag.c:422 +#: builtin/for-each-ref.c:39 builtin/tag.c:433 msgid "respect format colors" msgstr "иÑпользовать цвета из формата" -#: builtin/for-each-ref.c:43 +#: builtin/for-each-ref.c:42 msgid "print only refs which points at the given object" msgstr "вывод только ÑÑылок, которые указывают на переданный объект" -#: builtin/for-each-ref.c:45 +#: builtin/for-each-ref.c:44 msgid "print only refs that are merged" msgstr "вывод только Ñлитых ÑÑылок" -#: builtin/for-each-ref.c:46 +#: builtin/for-each-ref.c:45 msgid "print only refs that are not merged" msgstr "вывод только не Ñлитых ÑÑылок" -#: builtin/for-each-ref.c:47 +#: builtin/for-each-ref.c:46 msgid "print only refs which contain the commit" msgstr "вывод только ÑÑылок, которые Ñодержат коммит" -#: builtin/for-each-ref.c:48 +#: builtin/for-each-ref.c:47 msgid "print only refs which don't contain the commit" msgstr "вывод только ÑÑылок, которые не Ñодержат коммит" -#: builtin/fsck.c:574 +#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161 +msgid "unknown" +msgstr "" + +#. TRANSLATORS: e.g. error in tree 01bfda: <more explanation> +#: builtin/fsck.c:120 builtin/fsck.c:136 +#, c-format +msgid "error in %s %s: %s" +msgstr "" + +#. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation> +#: builtin/fsck.c:131 +#, c-format +msgid "warning in %s %s: %s" +msgstr "" + +#: builtin/fsck.c:157 builtin/fsck.c:159 +#, c-format +msgid "broken link from %7s %s" +msgstr "" + +#: builtin/fsck.c:168 +msgid "wrong object type in link" +msgstr "" + +#: builtin/fsck.c:184 +#, c-format +msgid "" +"broken link from %7s %s\n" +" to %7s %s" +msgstr "" + +#: builtin/fsck.c:295 +#, c-format +msgid "missing %s %s" +msgstr "" + +#: builtin/fsck.c:321 +#, c-format +msgid "unreachable %s %s" +msgstr "" + +#: builtin/fsck.c:340 +#, c-format +msgid "dangling %s %s" +msgstr "" + +#: builtin/fsck.c:349 +msgid "could not create lost-found" +msgstr "" + +#: builtin/fsck.c:360 +#, c-format +msgid "could not finish '%s'" +msgstr "не удалоÑÑŒ закончить '%s'" + +#: builtin/fsck.c:377 +#, c-format +msgid "Checking %s" +msgstr "" + +#: builtin/fsck.c:415 +#, c-format +msgid "Checking connectivity (%d objects)" +msgstr "" + +#: builtin/fsck.c:434 +#, c-format +msgid "Checking %s %s" +msgstr "" + +#: builtin/fsck.c:438 +msgid "broken links" +msgstr "" + +#: builtin/fsck.c:447 +#, c-format +msgid "root %s" +msgstr "" + +#: builtin/fsck.c:455 +#, c-format +msgid "tagged %s %s (%s) in %s" +msgstr "" + +#: builtin/fsck.c:484 +#, c-format +msgid "%s: object corrupt or missing" +msgstr "" + +#: builtin/fsck.c:509 +#, c-format +msgid "%s: invalid reflog entry %s" +msgstr "" + +#: builtin/fsck.c:523 +#, c-format +msgid "Checking reflog %s->%s" +msgstr "" + +#: builtin/fsck.c:557 +#, c-format +msgid "%s: invalid sha1 pointer %s" +msgstr "" + +#: builtin/fsck.c:564 +#, c-format +msgid "%s: not a commit" +msgstr "" + +#: builtin/fsck.c:619 +msgid "notice: No default references" +msgstr "" + +#: builtin/fsck.c:634 +#, c-format +msgid "%s: object corrupt or missing: %s" +msgstr "" + +#: builtin/fsck.c:647 +#, c-format +msgid "%s: object could not be parsed: %s" +msgstr "" + +#: builtin/fsck.c:667 +#, c-format +msgid "bad sha1 file: %s" +msgstr "" + +#: builtin/fsck.c:682 +msgid "Checking object directory" +msgstr "" + +#: builtin/fsck.c:685 msgid "Checking object directories" msgstr "Проверка каталогов объектов" -#: builtin/fsck.c:666 +#: builtin/fsck.c:700 +#, c-format +msgid "Checking %s link" +msgstr "" + +#: builtin/fsck.c:705 builtin/index-pack.c:841 +#, c-format +msgid "invalid %s" +msgstr "неправильный %s" + +#: builtin/fsck.c:712 +#, c-format +msgid "%s points to something strange (%s)" +msgstr "" + +#: builtin/fsck.c:718 +#, c-format +msgid "%s: detached HEAD points at nothing" +msgstr "" + +#: builtin/fsck.c:722 +#, c-format +msgid "notice: %s points to an unborn branch (%s)" +msgstr "" + +#: builtin/fsck.c:734 +msgid "Checking cache tree" +msgstr "" + +#: builtin/fsck.c:739 +#, c-format +msgid "%s: invalid sha1 pointer in cache-tree" +msgstr "" + +#: builtin/fsck.c:750 +msgid "non-tree in cache-tree" +msgstr "" + +#: builtin/fsck.c:781 msgid "git fsck [<options>] [<object>...]" msgstr "git fsck [<опции>] [<объект>…]" -#: builtin/fsck.c:672 +#: builtin/fsck.c:787 msgid "show unreachable objects" msgstr "показать недоÑтупные объекты" -#: builtin/fsck.c:673 +#: builtin/fsck.c:788 msgid "show dangling objects" msgstr "показать объекты, на которые нет ÑÑылок" -#: builtin/fsck.c:674 +#: builtin/fsck.c:789 msgid "report tags" msgstr "вывеÑти отчет по меткам" -#: builtin/fsck.c:675 +#: builtin/fsck.c:790 msgid "report root nodes" msgstr "вывеÑти отчет по корневым узлам" -#: builtin/fsck.c:676 +#: builtin/fsck.c:791 msgid "make index objects head nodes" msgstr "воÑпринимать объекты в индекÑе как корневые узлы" -#: builtin/fsck.c:677 +#: builtin/fsck.c:792 msgid "make reflogs head nodes (default)" msgstr "Ñоздать корневые узлы журналов ÑÑылок (по умолчанию)" -#: builtin/fsck.c:678 +#: builtin/fsck.c:793 msgid "also consider packs and alternate objects" msgstr "также проверÑть пакеты и альтернативные объекты" -#: builtin/fsck.c:679 +#: builtin/fsck.c:794 msgid "check only connectivity" msgstr "только проверить Ñоединение" -#: builtin/fsck.c:680 +#: builtin/fsck.c:795 msgid "enable more strict checking" msgstr "иÑпользовать более Ñтрогую проверку" -#: builtin/fsck.c:682 +#: builtin/fsck.c:797 msgid "write dangling objects in .git/lost-found" msgstr "запиÑать объекты на которые нет ÑÑылок в .git/lost-found" -#: builtin/fsck.c:683 builtin/prune.c:110 +#: builtin/fsck.c:798 builtin/prune.c:132 msgid "show progress" msgstr "показать прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: builtin/fsck.c:684 +#: builtin/fsck.c:799 msgid "show verbose names for reachable objects" msgstr "показать подробные имена Ð´Ð»Ñ Ð½ÐµÐ´Ð¾Ñтупных объектов" -#: builtin/fsck.c:750 +#: builtin/fsck.c:859 builtin/index-pack.c:224 msgid "Checking objects" msgstr "Проверка объектов" +#: builtin/fsck.c:887 +#, c-format +msgid "%s: object missing" +msgstr "" + +#: builtin/fsck.c:899 +#, c-format +msgid "invalid parameter: expected sha1, got '%s'" +msgstr "" + #: builtin/gc.c:34 msgid "git gc [<options>]" msgstr "git gc [<опции>]" @@ -10052,12 +12128,22 @@ msgstr "git gc [<опции>]" msgid "Failed to fstat %s: %s" msgstr "Ðе удалоÑÑŒ выполнить fstat %s: %s" -#: builtin/gc.c:455 +#: builtin/gc.c:126 #, c-format -msgid "Can't stat %s" -msgstr "Ðе удалоÑÑŒ выполнить stat Ð´Ð»Ñ %s" +msgid "failed to parse '%s' value '%s'" +msgstr "" -#: builtin/gc.c:464 +#: builtin/gc.c:476 builtin/init-db.c:55 +#, c-format +msgid "cannot stat '%s'" +msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Â«%s»" + +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#, c-format +msgid "cannot read '%s'" +msgstr "не удалоÑÑŒ прочитать «%s»" + +#: builtin/gc.c:492 #, c-format msgid "" "The last gc run reported the following. Please correct the root cause\n" @@ -10067,73 +12153,73 @@ msgid "" "%s" msgstr "ПоÑледний запуÑк gc Ñообщил Ñледующее. ПожалуйÑта, иÑправьте ошибку и удалите %s.\nÐвтоматичеÑÐºÐ°Ñ Ð¾Ñ‡Ð¸Ñтка Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð½Ðµ будет производитьÑÑ, пока Ñтот файл не удалён.\n\n%s" -#: builtin/gc.c:505 +#: builtin/gc.c:540 msgid "prune unreferenced objects" msgstr "почиÑтить объекты, на которые нет ÑÑылок" -#: builtin/gc.c:507 +#: builtin/gc.c:542 msgid "be more thorough (increased runtime)" msgstr "проверÑть более внимательно (занимает больше времени)" -#: builtin/gc.c:508 +#: builtin/gc.c:543 msgid "enable auto-gc mode" msgstr "включить режим auto-gc" -#: builtin/gc.c:511 +#: builtin/gc.c:546 msgid "force running gc even if there may be another gc running" msgstr "принудительно запуÑтить gc, даже еÑть Ð´Ñ€ÑƒÐ³Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ gc уже запущена" -#: builtin/gc.c:514 +#: builtin/gc.c:549 msgid "repack all other packs except the largest pack" msgstr "" -#: builtin/gc.c:531 +#: builtin/gc.c:566 #, c-format msgid "failed to parse gc.logexpiry value %s" msgstr "" -#: builtin/gc.c:542 +#: builtin/gc.c:577 #, c-format msgid "failed to parse prune expiry value %s" msgstr "" -#: builtin/gc.c:562 +#: builtin/gc.c:597 #, c-format msgid "Auto packing the repository in background for optimum performance.\n" msgstr "ÐвтоматичеÑÐºÐ°Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ° Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² фоне, Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ производительноÑти.\n" -#: builtin/gc.c:564 +#: builtin/gc.c:599 #, c-format msgid "Auto packing the repository for optimum performance.\n" msgstr "ÐвтоматичеÑÐºÐ°Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ° репозиториÑ, Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ производительноÑти.\n" -#: builtin/gc.c:565 +#: builtin/gc.c:600 #, c-format msgid "See \"git help gc\" for manual housekeeping.\n" msgstr "Смотрите «git help gc» руководÑтва по ручной очиÑтке.\n" -#: builtin/gc.c:601 +#: builtin/gc.c:640 #, c-format msgid "" "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" msgstr "gc уже запущен на Ñтом компьютере «%s» pid %<PRIuMAX> (еÑли нет, иÑпользуйте --force)" -#: builtin/gc.c:652 +#: builtin/gc.c:693 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove " "them." msgstr "ИмеетÑÑ Ñлишком много объектов, на которые нет ÑÑылок; запуÑтите «git prune» Ð´Ð»Ñ Ð¸Ñ… удалениÑ." -#: builtin/grep.c:28 +#: builtin/grep.c:29 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<опции>] [-e] <шаблон> [<редакциÑ>…] [[--] <путь>…]" -#: builtin/grep.c:226 +#: builtin/grep.c:225 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: Ñбой ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ°: %s" -#: builtin/grep.c:284 +#: builtin/grep.c:279 #, c-format msgid "invalid number of threads specified (%d) for %s" msgstr "указано недопуÑтимое количеÑтво потоков (%d) Ð´Ð»Ñ %s" @@ -10141,289 +12227,297 @@ msgstr "указано недопуÑтимое количеÑтво потокР#. TRANSLATORS: %s is the configuration #. variable for tweaking threads, currently #. grep.threads -#: builtin/grep.c:293 builtin/index-pack.c:1536 builtin/index-pack.c:1728 -#: builtin/pack-objects.c:2639 +#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 +#: builtin/pack-objects.c:2720 #, c-format msgid "no threads support, ignoring %s" msgstr "нет поддержки потоков, игнорирование %s" -#: builtin/grep.c:461 builtin/grep.c:582 builtin/grep.c:623 +#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 #, c-format msgid "unable to read tree (%s)" msgstr "не удалоÑÑŒ прочитать дерево (%s)" -#: builtin/grep.c:638 +#: builtin/grep.c:646 #, c-format msgid "unable to grep from object of type %s" msgstr "не удалоÑÑŒ выполнить grep из объекта типа %s" -#: builtin/grep.c:704 +#: builtin/grep.c:712 #, c-format msgid "switch `%c' expects a numerical value" msgstr "параметр «%c» ожидает чиÑловое значение" -#: builtin/grep.c:791 +#: builtin/grep.c:811 msgid "search in index instead of in the work tree" msgstr "иÑкать в индекÑе, а не в рабочем каталоге" -#: builtin/grep.c:793 +#: builtin/grep.c:813 msgid "find in contents not managed by git" msgstr "иÑкать в Ñодержимом не управлÑемым git" -#: builtin/grep.c:795 +#: builtin/grep.c:815 msgid "search in both tracked and untracked files" msgstr "иÑкать и в отÑлеживаемых, и в неотÑлеживаемых файлах" -#: builtin/grep.c:797 +#: builtin/grep.c:817 msgid "ignore files specified via '.gitignore'" msgstr "игнорировать файлы указанные в «.gitignore»" -#: builtin/grep.c:799 +#: builtin/grep.c:819 msgid "recursively search in each submodule" msgstr "рекурÑивный поиÑк по вÑем подмодулÑм" -#: builtin/grep.c:802 +#: builtin/grep.c:822 msgid "show non-matching lines" msgstr "иÑкать в неÑовпадающих Ñтроках" -#: builtin/grep.c:804 +#: builtin/grep.c:824 msgid "case insensitive matching" msgstr "без учета региÑтра" -#: builtin/grep.c:806 +#: builtin/grep.c:826 msgid "match patterns only at word boundaries" msgstr "иÑкать ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° только на границах Ñлов" -#: builtin/grep.c:808 +#: builtin/grep.c:828 msgid "process binary files as text" msgstr "обработка двоичных файлов как текÑта" -#: builtin/grep.c:810 +#: builtin/grep.c:830 msgid "don't match patterns in binary files" msgstr "не иÑкать ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° в двоичных файлах" -#: builtin/grep.c:813 +#: builtin/grep.c:833 msgid "process binary files with textconv filters" msgstr "обрабатыватьÑÑ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ðµ файлы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ фильтров textconv" -#: builtin/grep.c:815 +#: builtin/grep.c:835 +msgid "search in subdirectories (default)" +msgstr "" + +#: builtin/grep.c:837 msgid "descend at most <depth> levels" msgstr "на глубине макÑиму <глубина> уровней" -#: builtin/grep.c:819 +#: builtin/grep.c:841 msgid "use extended POSIX regular expressions" msgstr "иÑпользовать раÑширенные регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ POSIX" -#: builtin/grep.c:822 +#: builtin/grep.c:844 msgid "use basic POSIX regular expressions (default)" msgstr "иÑпользовать базовые регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ POSIX (по умолчанию)" -#: builtin/grep.c:825 +#: builtin/grep.c:847 msgid "interpret patterns as fixed strings" msgstr "интерпретировать шаблоны как фикÑированные Ñтроки" -#: builtin/grep.c:828 +#: builtin/grep.c:850 msgid "use Perl-compatible regular expressions" msgstr "иÑпользовать Perl-ÑовмеÑтимые регулÑрные выражениÑ" -#: builtin/grep.c:831 +#: builtin/grep.c:853 msgid "show line numbers" msgstr "вывеÑти номера Ñтрок" -#: builtin/grep.c:832 +#: builtin/grep.c:854 msgid "show column number of first match" msgstr "" -#: builtin/grep.c:833 +#: builtin/grep.c:855 msgid "don't show filenames" msgstr "не выводить имена файлов" -#: builtin/grep.c:834 +#: builtin/grep.c:856 msgid "show filenames" msgstr "выводить имена файлов" -#: builtin/grep.c:836 +#: builtin/grep.c:858 msgid "show filenames relative to top directory" msgstr "выводить имена файлов отноÑительно каталога репозиториÑ" -#: builtin/grep.c:838 +#: builtin/grep.c:860 msgid "show only filenames instead of matching lines" msgstr "выводить только имена файлов, а не Ñовпадающие Ñтроки" -#: builtin/grep.c:840 +#: builtin/grep.c:862 msgid "synonym for --files-with-matches" msgstr "Ñиноним Ð´Ð»Ñ --files-with-matches" -#: builtin/grep.c:843 +#: builtin/grep.c:865 msgid "show only the names of files without match" msgstr "выводить только неÑовпадающие имена файлов" -#: builtin/grep.c:845 +#: builtin/grep.c:867 msgid "print NUL after filenames" msgstr "выводить двоичный ÐОЛЬ поÑле ÑпиÑка имен файлов" -#: builtin/grep.c:848 +#: builtin/grep.c:870 msgid "show only matching parts of a line" msgstr "" -#: builtin/grep.c:850 +#: builtin/grep.c:872 msgid "show the number of matches instead of matching lines" msgstr "выводить количеÑтво Ñовпадений, а не Ñовпадающие Ñтроки" -#: builtin/grep.c:851 +#: builtin/grep.c:873 msgid "highlight matches" msgstr "подÑвечивать ÑовпадениÑ" -#: builtin/grep.c:853 +#: builtin/grep.c:875 msgid "print empty line between matches from different files" msgstr "выводить пуÑтую Ñтроку поÑле Ñовпадений из разных файлов" -#: builtin/grep.c:855 +#: builtin/grep.c:877 msgid "show filename only once above matches from same file" msgstr "выводить Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° только раз на неÑколько Ñовпадений в одном файле" -#: builtin/grep.c:858 +#: builtin/grep.c:880 msgid "show <n> context lines before and after matches" msgstr "показать <n> Ñтрок контекÑта перед и поÑле ÑовпадениÑ" -#: builtin/grep.c:861 +#: builtin/grep.c:883 msgid "show <n> context lines before matches" msgstr "показать <n> Ñтрок контекÑта перед Ñовпадением" -#: builtin/grep.c:863 +#: builtin/grep.c:885 msgid "show <n> context lines after matches" msgstr "показать <n> Ñтрок контекÑта поÑле ÑовпадениÑ" -#: builtin/grep.c:865 +#: builtin/grep.c:887 msgid "use <n> worker threads" msgstr "иÑпользовать <кол> рабочих потоков" -#: builtin/grep.c:866 +#: builtin/grep.c:888 msgid "shortcut for -C NUM" msgstr "тоже, что и -C КОЛИЧЕСТВО" -#: builtin/grep.c:869 +#: builtin/grep.c:891 msgid "show a line with the function name before matches" msgstr "показать Ñтроку Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ функции перед Ñовпадением" -#: builtin/grep.c:871 +#: builtin/grep.c:893 msgid "show the surrounding function" msgstr "показать окружающую функцию" -#: builtin/grep.c:874 +#: builtin/grep.c:896 msgid "read patterns from file" msgstr "прочитать шаблоны из файла" -#: builtin/grep.c:876 +#: builtin/grep.c:898 msgid "match <pattern>" msgstr "поиÑк ÑоответÑтвий Ñ <шаблоном>" -#: builtin/grep.c:878 +#: builtin/grep.c:900 msgid "combine patterns specified with -e" msgstr "объединить шаблоны указанные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ -e" -#: builtin/grep.c:890 +#: builtin/grep.c:912 msgid "indicate hit with exit status without output" msgstr "ничего не выводить, указать на Ñовпадение Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ кода выхода" -#: builtin/grep.c:892 +#: builtin/grep.c:914 msgid "show only matches from files that match all patterns" msgstr "показать только ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¸Ð· файлов в которых Ñовпадают вÑе шаблоны" -#: builtin/grep.c:894 +#: builtin/grep.c:916 msgid "show parse tree for grep expression" msgstr "показать дерево разбора Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¸Ñка" -#: builtin/grep.c:898 +#: builtin/grep.c:920 msgid "pager" msgstr "пейджер" -#: builtin/grep.c:898 +#: builtin/grep.c:920 msgid "show matching files in the pager" msgstr "показать Ñовпадающие файлы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программы-пейджера" -#: builtin/grep.c:902 +#: builtin/grep.c:924 msgid "allow calling of grep(1) (ignored by this build)" msgstr "разрешить вызов grep(1) (игнорируетÑÑ Ð² Ñтой Ñборке)" -#: builtin/grep.c:966 +#: builtin/grep.c:988 msgid "no pattern given" msgstr "" -#: builtin/grep.c:1002 +#: builtin/grep.c:1024 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index или --untracked Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ ревизии" -#: builtin/grep.c:1009 +#: builtin/grep.c:1032 #, c-format msgid "unable to resolve revision: %s" msgstr "не удалоÑÑŒ определить редакцию: %s" -#: builtin/grep.c:1044 builtin/index-pack.c:1532 builtin/pack-objects.c:2635 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "указано неправильное количеÑтво потоков (%d)" +#: builtin/grep.c:1063 +msgid "invalid option combination, ignoring --threads" +msgstr "" -#: builtin/grep.c:1049 builtin/pack-objects.c:3289 +#: builtin/grep.c:1066 builtin/pack-objects.c:3403 msgid "no threads support, ignoring --threads" msgstr "нет поддержки потоков, игнорирование --threads" -#: builtin/grep.c:1073 +#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "указано неправильное количеÑтво потоков (%d)" + +#: builtin/grep.c:1092 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager работает только в рабочем каталоге" -#: builtin/grep.c:1096 +#: builtin/grep.c:1115 msgid "option not supported with --recurse-submodules" msgstr "" -#: builtin/grep.c:1102 +#: builtin/grep.c:1121 msgid "--cached or --untracked cannot be used with --no-index" msgstr "" -#: builtin/grep.c:1108 +#: builtin/grep.c:1127 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "" -#: builtin/grep.c:1116 +#: builtin/grep.c:1135 msgid "both --cached and trees are given" msgstr "" -#: builtin/hash-object.c:84 +#: builtin/hash-object.c:85 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." msgstr "git hash-object [-t <тип>] [-w] [--path=<файл> | --no-filters] [--stdin] [--] <файл>…" -#: builtin/hash-object.c:85 +#: builtin/hash-object.c:86 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "type" msgstr "тип" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "object type" msgstr "тип объекта" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "write the object into the object database" msgstr "запиÑÑŒ объекта в базу данных объектов" -#: builtin/hash-object.c:100 +#: builtin/hash-object.c:101 msgid "read the object from stdin" msgstr "прочитать объект из Ñтандартного ввода" -#: builtin/hash-object.c:102 +#: builtin/hash-object.c:103 msgid "store file as is without filters" msgstr "Ñохранить файл без иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð¾Ð²" -#: builtin/hash-object.c:103 +#: builtin/hash-object.c:104 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" -msgstr "Ñ…Ñшировать любой муÑор и Ñоздавать поврежденные объекты Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ Git" +msgstr "хешировать любой муÑор и Ñоздавать поврежденные объекты Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ Git" -#: builtin/hash-object.c:104 +#: builtin/hash-object.c:105 msgid "process file as it were from this path" msgstr "обработать файл так, будто он находитÑÑ Ð¿Ð¾ указанному пути" @@ -10463,86 +12557,91 @@ msgstr "" msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]" msgstr "git help [--all] [--guides] [--man | --web | --info] [<команда>]" -#: builtin/help.c:73 +#: builtin/help.c:77 #, c-format msgid "unrecognized help format '%s'" msgstr "неопознанный формат руководÑтва «%s»" -#: builtin/help.c:100 +#: builtin/help.c:104 msgid "Failed to start emacsclient." msgstr "Сбой при запуÑке emacsclient." -#: builtin/help.c:113 +#: builtin/help.c:117 msgid "Failed to parse emacsclient version." msgstr "Сбой при определении верÑии emacsclient." -#: builtin/help.c:121 +#: builtin/help.c:125 #, c-format msgid "emacsclient version '%d' too old (< 22)." msgstr "верÑÐ¸Ñ emacsclient «%d» Ñлишком ÑÑ‚Ð°Ñ€Ð°Ñ (< 22)." -#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179 +#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183 #, c-format msgid "failed to exec '%s'" msgstr "Ñбой при запуÑке «%s»" -#: builtin/help.c:217 +#: builtin/help.c:221 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" "Please consider using 'man.<tool>.cmd' instead." msgstr "«%s»: путь Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ программы проÑмотра man.\nВмеÑто Ñтого иÑпользуйте «man.<программа>.cmd»." -#: builtin/help.c:229 +#: builtin/help.c:233 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" "Please consider using 'man.<tool>.path' instead." msgstr "«%s»: команда Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ программы проÑмотра man.\nВмеÑто Ñтого иÑпользуйте «man.<программа>.path»." -#: builtin/help.c:346 +#: builtin/help.c:350 #, c-format msgid "'%s': unknown man viewer." msgstr "«%s»: неизвеÑÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проÑмотра man." -#: builtin/help.c:363 +#: builtin/help.c:367 msgid "no man viewer handled the request" msgstr "программа проÑмотра man не обработала запроÑ" -#: builtin/help.c:371 +#: builtin/help.c:375 msgid "no info viewer handled the request" msgstr "программа проÑмотра info не обработала запроÑ" -#: builtin/help.c:418 +#: builtin/help.c:434 builtin/help.c:445 git.c:335 #, c-format msgid "'%s' is aliased to '%s'" msgstr "«%s» — Ñто Ñокращение Ð´Ð»Ñ Â«%s»" -#: builtin/help.c:445 builtin/help.c:475 +#: builtin/help.c:448 git.c:364 +#, c-format +msgid "bad alias.%s string: %s" +msgstr "" + +#: builtin/help.c:477 builtin/help.c:507 #, c-format msgid "usage: %s%s" msgstr "иÑпользование: %s%s" -#: builtin/help.c:459 +#: builtin/help.c:491 msgid "'git help config' for more information" msgstr "" -#: builtin/index-pack.c:208 +#: builtin/index-pack.c:184 #, c-format msgid "object type mismatch at %s" msgstr "неÑоответÑтвие типа объекта на %s" -#: builtin/index-pack.c:228 +#: builtin/index-pack.c:204 #, c-format msgid "did not receive expected object %s" msgstr "ожидаемый объект не получен на %s" -#: builtin/index-pack.c:231 +#: builtin/index-pack.c:207 #, c-format msgid "object %s: expected type %s, found %s" msgstr "объект %s: ожидаемый тип %s, получен %s" -#: builtin/index-pack.c:273 +#: builtin/index-pack.c:257 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" @@ -10551,73 +12650,73 @@ msgstr[1] "не удалоÑÑŒ заполнить %d байта" msgstr[2] "не удалоÑÑŒ заполнить %d байтов" msgstr[3] "не удалоÑÑŒ заполнить %d байтов" -#: builtin/index-pack.c:283 +#: builtin/index-pack.c:267 msgid "early EOF" msgstr "неожиданный конец файла" -#: builtin/index-pack.c:284 +#: builtin/index-pack.c:268 msgid "read error on input" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°" -#: builtin/index-pack.c:296 +#: builtin/index-pack.c:280 msgid "used more bytes than were available" msgstr "иÑпользовано больше байт, чем было доÑтупно" -#: builtin/index-pack.c:303 builtin/pack-objects.c:590 +#: builtin/index-pack.c:287 builtin/pack-objects.c:600 msgid "pack too large for current definition of off_t" msgstr "пакет Ñлишком большой Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ off_t" -#: builtin/index-pack.c:306 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "размер пакета превышает макÑимальный допуÑтимый" -#: builtin/index-pack.c:321 +#: builtin/index-pack.c:305 builtin/repack.c:250 #, c-format msgid "unable to create '%s'" msgstr "не удалоÑÑŒ Ñоздать «%s»" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:311 #, c-format msgid "cannot open packfile '%s'" msgstr "не удалоÑÑŒ открыть файл пакета «%s»" -#: builtin/index-pack.c:341 +#: builtin/index-pack.c:325 msgid "pack signature mismatch" msgstr "неÑоответÑтвие подпиÑи пакета" -#: builtin/index-pack.c:343 +#: builtin/index-pack.c:327 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "верÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %<PRIu32> не поддерживаетÑÑ" -#: builtin/index-pack.c:361 +#: builtin/index-pack.c:345 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "пакет Ñодержит плохой объект по Ñмещению %<PRIuMAX>: %s" -#: builtin/index-pack.c:482 +#: builtin/index-pack.c:465 #, c-format msgid "inflate returned %d" msgstr "программа ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð²ÐµÑ€Ð½ÑƒÐ»Ð° %d" -#: builtin/index-pack.c:531 +#: builtin/index-pack.c:514 msgid "offset value overflow for delta base object" msgstr "переполнение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñƒ базового объекта дельты" -#: builtin/index-pack.c:539 +#: builtin/index-pack.c:522 msgid "delta base offset is out of bound" msgstr "Ñмещение базовой дельты вышло за допуÑтимые пределы" -#: builtin/index-pack.c:547 +#: builtin/index-pack.c:530 #, c-format msgid "unknown object type %d" msgstr "неизвеÑтный тип объекта %d" -#: builtin/index-pack.c:578 +#: builtin/index-pack.c:561 msgid "cannot pread pack file" msgstr "не удалоÑÑŒ выполнить pread Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° пакета" -#: builtin/index-pack.c:580 +#: builtin/index-pack.c:563 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" @@ -10626,93 +12725,88 @@ msgstr[1] "преждевременное окончание файла паке msgstr[2] "преждевременное окончание файла пакета, %<PRIuMAX> байтов отÑутÑтвует" msgstr[3] "преждевременное окончание файла пакета, %<PRIuMAX> байтов отÑутÑтвует" -#: builtin/index-pack.c:606 +#: builtin/index-pack.c:589 msgid "serious inflate inconsistency" msgstr "Ñерьезное неÑоответÑтвие при раÑпаковке" -#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:780 -#: builtin/index-pack.c:819 builtin/index-pack.c:828 +#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 +#: builtin/index-pack.c:802 builtin/index-pack.c:811 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "ÐÐЙДЕÐРКОЛЛИЗИЯ SHA1 С %s !" -#: builtin/index-pack.c:754 builtin/pack-objects.c:143 -#: builtin/pack-objects.c:203 builtin/pack-objects.c:297 +#: builtin/index-pack.c:737 builtin/pack-objects.c:153 +#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 #, c-format msgid "unable to read %s" msgstr "не удалоÑÑŒ прочитать %s" -#: builtin/index-pack.c:817 +#: builtin/index-pack.c:800 #, c-format msgid "cannot read existing object info %s" msgstr "не удалоÑÑŒ прочитать информацию ÑущеÑтвующего объекта %s" -#: builtin/index-pack.c:825 +#: builtin/index-pack.c:808 #, c-format msgid "cannot read existing object %s" msgstr "не удалоÑÑŒ прочитать ÑущеÑтвующий объект %s" -#: builtin/index-pack.c:839 +#: builtin/index-pack.c:822 #, c-format msgid "invalid blob object %s" msgstr "неправильный файл двоичного объекта %s" -#: builtin/index-pack.c:842 builtin/index-pack.c:861 +#: builtin/index-pack.c:825 builtin/index-pack.c:844 msgid "fsck error in packed object" msgstr "" -#: builtin/index-pack.c:858 -#, c-format -msgid "invalid %s" -msgstr "неправильный %s" - -#: builtin/index-pack.c:863 +#: builtin/index-pack.c:846 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Ðе вÑе дочерние объекты %s доÑтижимы" -#: builtin/index-pack.c:935 builtin/index-pack.c:966 +#: builtin/index-pack.c:918 builtin/index-pack.c:949 msgid "failed to apply delta" msgstr "Ñбой при применении дельты" -#: builtin/index-pack.c:1136 +#: builtin/index-pack.c:1117 msgid "Receiving objects" msgstr "Получение объектов" -#: builtin/index-pack.c:1136 +#: builtin/index-pack.c:1117 msgid "Indexing objects" msgstr "ИндекÑирование объектов" -#: builtin/index-pack.c:1170 +#: builtin/index-pack.c:1151 msgid "pack is corrupted (SHA1 mismatch)" msgstr "пакет поврежден (неÑоответÑтвие SHA1)" -#: builtin/index-pack.c:1175 +#: builtin/index-pack.c:1156 msgid "cannot fstat packfile" msgstr "не удалоÑÑŒ выполнить fstat Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° пакета" -#: builtin/index-pack.c:1178 +#: builtin/index-pack.c:1159 msgid "pack has junk at the end" msgstr "файл пакета Ñодержит муÑор в конце" -#: builtin/index-pack.c:1190 +#: builtin/index-pack.c:1171 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "Ð±ÐµÐ·ÑƒÐ¼Ð½Ð°Ñ Ð¿ÑƒÑ‚Ð°Ð½Ð¸Ñ†Ð° в parse_pack_objects()" -#: builtin/index-pack.c:1213 +#: builtin/index-pack.c:1194 msgid "Resolving deltas" msgstr "Определение изменений" -#: builtin/index-pack.c:1224 builtin/pack-objects.c:2410 +#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 #, c-format msgid "unable to create thread: %s" msgstr "не удалоÑÑŒ Ñоздать поток: %s" -#: builtin/index-pack.c:1266 +#: builtin/index-pack.c:1245 msgid "confusion beyond insanity" msgstr "Ð±ÐµÐ·ÑƒÐ¼Ð½Ð°Ñ Ð¿ÑƒÑ‚Ð°Ð½Ð¸Ñ†Ð°" -#: builtin/index-pack.c:1272 +#: builtin/index-pack.c:1251 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" @@ -10721,12 +12815,12 @@ msgstr[1] "завершено Ñ %d локальными объектами" msgstr[2] "завершено Ñ %d локальными объектами" msgstr[3] "завершено Ñ %d локальными объектами" -#: builtin/index-pack.c:1284 +#: builtin/index-pack.c:1263 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "ÐÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма в конце %s (диÑк поврежден?)" -#: builtin/index-pack.c:1288 +#: builtin/index-pack.c:1267 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" @@ -10735,59 +12829,59 @@ msgstr[1] "пакет Ñодержит %d неразрешенные Ð´ÐµÐ»ÑŒÑ‚Ñ msgstr[2] "пакет Ñодержит %d неразрешенных дельт" msgstr[3] "пакет Ñодержит %d неразрешенных дельт" -#: builtin/index-pack.c:1312 +#: builtin/index-pack.c:1291 #, c-format msgid "unable to deflate appended object (%d)" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñжать приÑоединенный объект (%d)" -#: builtin/index-pack.c:1389 +#: builtin/index-pack.c:1368 #, c-format msgid "local object %s is corrupt" msgstr "локальный объект %s поврежден" -#: builtin/index-pack.c:1403 +#: builtin/index-pack.c:1382 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð° «%s» не оканчиваетÑÑ Ð½Ð° «.pack»" -#: builtin/index-pack.c:1428 +#: builtin/index-pack.c:1407 #, c-format msgid "cannot write %s file '%s'" msgstr "" -#: builtin/index-pack.c:1436 +#: builtin/index-pack.c:1415 #, c-format msgid "cannot close written %s file '%s'" msgstr "" -#: builtin/index-pack.c:1460 +#: builtin/index-pack.c:1439 msgid "error while closing pack file" msgstr "ошибка при закрытии файла пакета" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1453 msgid "cannot store pack file" msgstr "не удалоÑÑŒ Ñохранить файл пакета" -#: builtin/index-pack.c:1482 +#: builtin/index-pack.c:1461 msgid "cannot store index file" msgstr "не удалоÑÑŒ Ñохранить файл индекÑа" -#: builtin/index-pack.c:1526 builtin/pack-objects.c:2648 +#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "плохой pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1595 +#: builtin/index-pack.c:1573 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Ðе удалоÑÑŒ открыть ÑущеÑтвующий файл пакета «%s»" -#: builtin/index-pack.c:1597 +#: builtin/index-pack.c:1575 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Ðе удалоÑÑŒ открыть ÑущеÑтвующий файл индекÑа Ð´Ð»Ñ Â«%s»" -#: builtin/index-pack.c:1645 +#: builtin/index-pack.c:1623 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" @@ -10796,7 +12890,7 @@ msgstr[1] "не дельты: %d объекта" msgstr[2] "не дельты: %d объектов" msgstr[3] "не дельты: %d объектов" -#: builtin/index-pack.c:1652 +#: builtin/index-pack.c:1630 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" @@ -10805,37 +12899,32 @@ msgstr[1] "длина цепочки = %d: %lu объекта" msgstr[2] "длина цепочки = %d: %lu объектов" msgstr[3] "длина цепочки = %d: %lu объектов" -#: builtin/index-pack.c:1689 +#: builtin/index-pack.c:1667 msgid "Cannot come back to cwd" msgstr "Ðе удалоÑÑŒ вернутьÑÑ Ð² текущий рабочий каталог" -#: builtin/index-pack.c:1740 builtin/index-pack.c:1743 -#: builtin/index-pack.c:1759 builtin/index-pack.c:1763 +#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 +#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 #, c-format msgid "bad %s" msgstr "плохой %s" -#: builtin/index-pack.c:1779 +#: builtin/index-pack.c:1755 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать без --stdin" -#: builtin/index-pack.c:1781 +#: builtin/index-pack.c:1757 msgid "--stdin requires a git repository" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ --stdin требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ git" -#: builtin/index-pack.c:1787 +#: builtin/index-pack.c:1763 msgid "--verify with no packfile name given" msgstr "--verify без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файла пакета" -#: builtin/index-pack.c:1837 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "" -#: builtin/init-db.c:55 -#, c-format -msgid "cannot stat '%s'" -msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Â«%s»" - #: builtin/init-db.c:61 #, c-format msgid "cannot stat template '%s'" @@ -10876,73 +12965,73 @@ msgstr "" msgid "not copying templates from '%s': %s" msgstr "не копирую шаблоны из «%s»: %s" -#: builtin/init-db.c:329 +#: builtin/init-db.c:334 #, c-format msgid "unable to handle file type %d" msgstr "не удаетÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ файл типа %d" -#: builtin/init-db.c:332 +#: builtin/init-db.c:337 #, c-format msgid "unable to move %s to %s" msgstr "не удаетÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтить файл %s в %s" -#: builtin/init-db.c:349 builtin/init-db.c:352 +#: builtin/init-db.c:354 builtin/init-db.c:357 #, c-format msgid "%s already exists" msgstr "%s уже ÑущеÑтвует" -#: builtin/init-db.c:405 +#: builtin/init-db.c:413 #, c-format msgid "Reinitialized existing shared Git repository in %s%s\n" msgstr "Переинициализирован ÑущеÑтвующий общий репозиторий Git в %s%s\n" -#: builtin/init-db.c:406 +#: builtin/init-db.c:414 #, c-format msgid "Reinitialized existing Git repository in %s%s\n" msgstr "Переинициализирован ÑущеÑтвующий репозиторий Git в %s%s\n" -#: builtin/init-db.c:410 +#: builtin/init-db.c:418 #, c-format msgid "Initialized empty shared Git repository in %s%s\n" msgstr "Инициализирован пуÑтой общий репозиторий Git в %s%s\n" -#: builtin/init-db.c:411 +#: builtin/init-db.c:419 #, c-format msgid "Initialized empty Git repository in %s%s\n" msgstr "Инициализирован пуÑтой репозиторий Git в %s%s\n" -#: builtin/init-db.c:459 +#: builtin/init-db.c:468 msgid "" "git init [-q | --quiet] [--bare] [--template=<template-directory>] " "[--shared[=<permissions>]] [<directory>]" msgstr "git init [-q | --quiet] [--bare] [--template=<каталог-шаблонов>] [--shared[=<права-доÑтупа>]] [<каталог>]" -#: builtin/init-db.c:482 +#: builtin/init-db.c:491 msgid "permissions" msgstr "права-доÑтупа" -#: builtin/init-db.c:483 +#: builtin/init-db.c:492 msgid "specify that the git repository is to be shared amongst several users" msgstr "укажите, еÑли репозиторий git будет иÑпользоватьÑÑ Ð½ÐµÑколькими пользователÑми" -#: builtin/init-db.c:517 builtin/init-db.c:522 +#: builtin/init-db.c:526 builtin/init-db.c:531 #, c-format msgid "cannot mkdir %s" msgstr "не удалоÑÑŒ выполнить mkdir %s" -#: builtin/init-db.c:526 +#: builtin/init-db.c:535 #, c-format msgid "cannot chdir to %s" msgstr "не удалоÑÑŒ выполнить chdir в %s" -#: builtin/init-db.c:547 +#: builtin/init-db.c:556 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" "dir=<directory>)" msgstr "%s (или --work-tree=<каталог>) Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ %s (или --git-dir=<каталог>)" -#: builtin/init-db.c:575 +#: builtin/init-db.c:584 #, c-format msgid "Cannot access work tree '%s'" msgstr "Ðе удалоÑÑŒ получить доÑтуп к рабочему каталогу «%s»" @@ -10953,505 +13042,555 @@ msgid "" "<token>[(=|:)<value>])...] [<file>...]" msgstr "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ключ>[(=|:)<значение>])…] [<файл>…]" -#: builtin/interpret-trailers.c:92 +#: builtin/interpret-trailers.c:94 msgid "edit files in place" msgstr "редактировать файлы на меÑте" -#: builtin/interpret-trailers.c:93 +#: builtin/interpret-trailers.c:95 msgid "trim empty trailers" msgstr "удалÑть пуÑтые завершители" -#: builtin/interpret-trailers.c:96 +#: builtin/interpret-trailers.c:98 msgid "where to place the new trailer" msgstr "где помеÑтить новый завершитель" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 msgid "action if trailer already exists" msgstr "дейÑтвие, еÑли завершитель уже ÑущеÑтвует" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:102 msgid "action if trailer is missing" msgstr "дейÑтвие, еÑли завершитель не ÑущеÑтвует" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:104 msgid "output only the trailers" msgstr "вывеÑти только завершители" -#: builtin/interpret-trailers.c:103 +#: builtin/interpret-trailers.c:105 msgid "do not apply config rules" msgstr "не применÑть правила из файла конфигурации" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:106 msgid "join whitespace-continued values" msgstr "объединить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ðµ пробелом" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:107 msgid "set parsing options" msgstr "указание опций разбора" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:109 +msgid "do not treat --- specially" +msgstr "" + +#: builtin/interpret-trailers.c:110 msgid "trailer" msgstr "завершитель" -#: builtin/interpret-trailers.c:108 +#: builtin/interpret-trailers.c:111 msgid "trailer(s) to add" msgstr "завершители Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ" -#: builtin/interpret-trailers.c:117 +#: builtin/interpret-trailers.c:120 msgid "--trailer with --only-input does not make sense" msgstr "--trailer одновременно Ñ --only-input не имеет ÑмыÑла" -#: builtin/interpret-trailers.c:127 +#: builtin/interpret-trailers.c:130 msgid "no input file given for in-place editing" msgstr "ничего не передано, Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² на меÑте" -#: builtin/log.c:51 +#: builtin/log.c:55 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<опции>] [<диапазон-редакций>] [[--] <путь>…]" -#: builtin/log.c:52 +#: builtin/log.c:56 msgid "git show [<options>] <object>..." msgstr "git show [<опции>] <объект>…" -#: builtin/log.c:96 +#: builtin/log.c:104 #, c-format msgid "invalid --decorate option: %s" msgstr "неправильный параметр Ð´Ð»Ñ --decorate: %s" -#: builtin/log.c:157 -msgid "suppress diff output" -msgstr "не выводить различиÑ" - -#: builtin/log.c:158 +#: builtin/log.c:168 msgid "show source" msgstr "показать иÑточник" -#: builtin/log.c:159 +#: builtin/log.c:169 msgid "Use mail map file" msgstr "ИÑпользовать файл ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ñ‹Ñ… адреÑов" -#: builtin/log.c:161 +#: builtin/log.c:171 msgid "only decorate refs that match <pattern>" msgstr "декорировать только ÑÑылки ÑоответÑтвующие <шаблону>" -#: builtin/log.c:163 +#: builtin/log.c:173 msgid "do not decorate refs that match <pattern>" msgstr "не декорировать ÑÑылки ÑоответÑтвующие <шаблону>" -#: builtin/log.c:164 +#: builtin/log.c:174 msgid "decorate options" msgstr "опции формата вывода ÑÑылок" -#: builtin/log.c:167 +#: builtin/log.c:177 msgid "Process line range n,m in file, counting from 1" msgstr "Обработать диапазон Ñтрок n,m из файла, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1" -#: builtin/log.c:265 +#: builtin/log.c:275 #, c-format msgid "Final output: %d %s\n" msgstr "Финальный вывод: %d %s\n" -#: builtin/log.c:516 +#: builtin/log.c:529 #, c-format msgid "git show %s: bad file" msgstr "git show %s: плохой файл" -#: builtin/log.c:531 builtin/log.c:625 +#: builtin/log.c:544 builtin/log.c:638 #, c-format -msgid "Could not read object %s" -msgstr "Ðе удалоÑÑŒ прочитать объект %s" +msgid "could not read object %s" +msgstr "" -#: builtin/log.c:649 +#: builtin/log.c:663 #, c-format -msgid "Unknown type: %d" -msgstr "ÐеизвеÑтный тип объекта: %d" +msgid "unknown type: %d" +msgstr "" -#: builtin/log.c:770 +#: builtin/log.c:784 msgid "format.headers without value" msgstr "в format.headers не указано значение" -#: builtin/log.c:871 +#: builtin/log.c:885 msgid "name of output directory is too long" msgstr "Ñлишком длинное Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ каталога" -#: builtin/log.c:887 +#: builtin/log.c:901 #, c-format -msgid "Cannot open patch file %s" -msgstr "Ðу удалоÑÑŒ открыть файл изменений %s" +msgid "cannot open patch file %s" +msgstr "" -#: builtin/log.c:904 -msgid "Need exactly one range." -msgstr "Ðужен только один диапазон." +#: builtin/log.c:918 +msgid "need exactly one range" +msgstr "" -#: builtin/log.c:914 -msgid "Not a range." -msgstr "Ðе ÑвлÑетÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼." +#: builtin/log.c:928 +msgid "not a range" +msgstr "" -#: builtin/log.c:1020 -msgid "Cover letter needs email format" -msgstr "Сопроводительное пиÑьмо должно быть в формате Ñлектронной почты" +#: builtin/log.c:1051 +msgid "cover letter needs email format" +msgstr "" -#: builtin/log.c:1101 +#: builtin/log.c:1057 +msgid "failed to create cover-letter file" +msgstr "" + +#: builtin/log.c:1136 #, c-format msgid "insane in-reply-to: %s" msgstr "ошибка в поле in-reply-to: %s" -#: builtin/log.c:1128 +#: builtin/log.c:1163 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<опции>] [<начинаÑ-Ñ> | <диапазон-редакций>]" -#: builtin/log.c:1178 -msgid "Two output directories?" -msgstr "Два выходных каталога?" +#: builtin/log.c:1221 +msgid "two output directories?" +msgstr "" -#: builtin/log.c:1285 builtin/log.c:1945 builtin/log.c:1947 builtin/log.c:1959 +#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 #, c-format -msgid "Unknown commit %s" -msgstr "ÐеизвеÑтный коммит %s" +msgid "unknown commit %s" +msgstr "" -#: builtin/log.c:1295 builtin/notes.c:889 builtin/tag.c:524 +#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/replace.c:210 #, c-format -msgid "Failed to resolve '%s' as a valid ref." -msgstr "Ðе удалоÑÑŒ разрешить «%s» как ÑÑылку." +msgid "failed to resolve '%s' as a valid ref" +msgstr "" -#: builtin/log.c:1300 -msgid "Could not find exact merge base." -msgstr "Ðе удалоÑÑŒ найти точную базу ÑлиÑниÑ." +#: builtin/log.c:1347 +msgid "could not find exact merge base" +msgstr "" -#: builtin/log.c:1304 +#: builtin/log.c:1351 msgid "" -"Failed to get upstream, if you want to record base commit automatically,\n" +"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=<base-commit-id> manually." -msgstr "Ðе удалоÑÑŒ получить вышеÑтоÑщую ветку. ЕÑли вы хотите запиÑать базовый коммит автомитичеÑки, то иÑпользуйте git branch --set-upstream-to Ð´Ð»Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ ветки.\nИли же вы можете указать базовый коммит указанием --base=<идентификатор-базового-коммита> вручную." +"Or you could specify base commit by --base=<base-commit-id> manually" +msgstr "" -#: builtin/log.c:1324 -msgid "Failed to find exact merge base" -msgstr "Ðе удалоÑÑŒ найти точную базу ÑлиÑниÑ" +#: builtin/log.c:1371 +msgid "failed to find exact merge base" +msgstr "" -#: builtin/log.c:1335 +#: builtin/log.c:1382 msgid "base commit should be the ancestor of revision list" msgstr "базовый коммит должен быть предком ÑпиÑка редакций" -#: builtin/log.c:1339 +#: builtin/log.c:1386 msgid "base commit shouldn't be in revision list" msgstr "базовый коммит не должен быть в ÑпиÑке редакций" -#: builtin/log.c:1392 +#: builtin/log.c:1439 msgid "cannot get patch id" msgstr "не удалоÑÑŒ получить идентификатор патча" -#: builtin/log.c:1452 +#: builtin/log.c:1491 +msgid "failed to infer range-diff ranges" +msgstr "" + +#: builtin/log.c:1536 msgid "use [PATCH n/m] even with a single patch" msgstr "выводить [PATCH n/m] даже когда один патч" -#: builtin/log.c:1455 +#: builtin/log.c:1539 msgid "use [PATCH] even with multiple patches" msgstr "выводить [PATCH] даже когда неÑколько патчей" -#: builtin/log.c:1459 +#: builtin/log.c:1543 msgid "print patches to standard out" msgstr "выводить патчи на Ñтандартный вывод" -#: builtin/log.c:1461 +#: builtin/log.c:1545 msgid "generate a cover letter" msgstr "Ñоздать Ñопроводительное пиÑьмо" -#: builtin/log.c:1463 +#: builtin/log.c:1547 msgid "use simple number sequence for output file names" msgstr "иÑпользовать проÑтую поÑледовательноÑть чиÑел Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½ выходных файлов" -#: builtin/log.c:1464 +#: builtin/log.c:1548 msgid "sfx" msgstr "ÑуффикÑ" -#: builtin/log.c:1465 +#: builtin/log.c:1549 msgid "use <sfx> instead of '.patch'" msgstr "иÑпользовать ÑÑƒÑ„Ñ„Ð¸ÐºÑ <ÑуффикÑ> вмеÑто «.patch»" -#: builtin/log.c:1467 +#: builtin/log.c:1551 msgid "start numbering patches at <n> instead of 1" msgstr "начать нумерацию патчей Ñ <n>, а не Ñ 1" -#: builtin/log.c:1469 +#: builtin/log.c:1553 msgid "mark the series as Nth re-roll" msgstr "пометить Ñерию как Ñнную попытку" -#: builtin/log.c:1471 +#: builtin/log.c:1555 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "ИÑпользовать [RFC PATCH] вмеÑто [PATCH]" -#: builtin/log.c:1474 +#: builtin/log.c:1558 msgid "Use [<prefix>] instead of [PATCH]" msgstr "ИÑпользовать [<префикÑ>] вмеÑто [PATCH]" -#: builtin/log.c:1477 +#: builtin/log.c:1561 msgid "store resulting files in <dir>" msgstr "Ñохранить результирующие файлы в <каталог>" -#: builtin/log.c:1480 +#: builtin/log.c:1564 msgid "don't strip/add [PATCH]" msgstr "не обрезать/добавлÑть [PATCH]" -#: builtin/log.c:1483 +#: builtin/log.c:1567 msgid "don't output binary diffs" -msgstr "не выводить двоичные различиÑ" +msgstr "не выводить двоичные изменениÑ" -#: builtin/log.c:1485 +#: builtin/log.c:1569 msgid "output all-zero hash in From header" -msgstr "выводить нулевую Ñ…Ñш-Ñумму в заголовке From" +msgstr "выводить нулевую хеш-Ñумму в заголовке From" -#: builtin/log.c:1487 +#: builtin/log.c:1571 msgid "don't include a patch matching a commit upstream" msgstr "не включать патч, еÑли коммит уже еÑть в вышеÑтоÑщей ветке" -#: builtin/log.c:1489 +#: builtin/log.c:1573 msgid "show patch format instead of default (patch + stat)" msgstr "выводить в формате патча, а не в Ñтандартном (патч + ÑтатиÑтика)" -#: builtin/log.c:1491 +#: builtin/log.c:1575 msgid "Messaging" msgstr "Передача Ñообщений" -#: builtin/log.c:1492 +#: builtin/log.c:1576 msgid "header" msgstr "заголовок" -#: builtin/log.c:1493 +#: builtin/log.c:1577 msgid "add email header" msgstr "добавить заголовок ÑообщениÑ" -#: builtin/log.c:1494 builtin/log.c:1496 +#: builtin/log.c:1578 builtin/log.c:1580 msgid "email" msgstr "почта" -#: builtin/log.c:1494 +#: builtin/log.c:1578 msgid "add To: header" msgstr "добавить заголовок To:" -#: builtin/log.c:1496 +#: builtin/log.c:1580 msgid "add Cc: header" msgstr "добавить заголовок Cc:" -#: builtin/log.c:1498 +#: builtin/log.c:1582 msgid "ident" msgstr "идентификатор" -#: builtin/log.c:1499 +#: builtin/log.c:1583 msgid "set From address to <ident> (or committer ident if absent)" msgstr "уÑтановить Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ Ð½Ð° <идентификатор> (или на идентификатор коммитера, еÑли отÑутÑтвует)" -#: builtin/log.c:1501 +#: builtin/log.c:1585 msgid "message-id" msgstr "идентификатор-ÑообщениÑ" -#: builtin/log.c:1502 +#: builtin/log.c:1586 msgid "make first mail a reply to <message-id>" msgstr "Ñделать первое пиÑьмо ответом на <идентификатор-ÑообщениÑ>" -#: builtin/log.c:1503 builtin/log.c:1506 +#: builtin/log.c:1587 builtin/log.c:1590 msgid "boundary" msgstr "вложение" -#: builtin/log.c:1504 +#: builtin/log.c:1588 msgid "attach the patch" msgstr "приложить патч" -#: builtin/log.c:1507 +#: builtin/log.c:1591 msgid "inline the patch" msgstr "включить патч в текÑÑ‚ пиÑьма" -#: builtin/log.c:1511 +#: builtin/log.c:1595 msgid "enable message threading, styles: shallow, deep" msgstr "включить в пиÑьмах иерархичноÑть, Ñтили: shallow (чаÑтичную), deep (глубокую)" -#: builtin/log.c:1513 +#: builtin/log.c:1597 msgid "signature" msgstr "подпиÑÑŒ" -#: builtin/log.c:1514 +#: builtin/log.c:1598 msgid "add a signature" msgstr "добавить подпиÑÑŒ" -#: builtin/log.c:1515 +#: builtin/log.c:1599 msgid "base-commit" msgstr "базовый коммит" -#: builtin/log.c:1516 +#: builtin/log.c:1600 msgid "add prerequisite tree info to the patch series" msgstr "добавить информацию о требовании дерева к Ñерии патчей" -#: builtin/log.c:1518 +#: builtin/log.c:1602 msgid "add a signature from a file" msgstr "добавить подпиÑÑŒ из файла" -#: builtin/log.c:1519 +#: builtin/log.c:1603 msgid "don't print the patch filenames" msgstr "не выводить имена файлов патчей" -#: builtin/log.c:1521 +#: builtin/log.c:1605 msgid "show progress while generating patches" msgstr "показать прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ‚Ñ‡ÐµÐ¹" -#: builtin/log.c:1596 +#: builtin/log.c:1606 +msgid "rev" +msgstr "" + +#: builtin/log.c:1607 +msgid "show changes against <rev> in cover letter or single patch" +msgstr "" + +#: builtin/log.c:1610 +msgid "show changes against <refspec> in cover letter or single patch" +msgstr "" + +#: builtin/log.c:1612 +msgid "percentage by which creation is weighted" +msgstr "" + +#: builtin/log.c:1687 #, c-format msgid "invalid ident line: %s" msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока идентификации: %s" -#: builtin/log.c:1611 +#: builtin/log.c:1702 msgid "-n and -k are mutually exclusive" msgstr "" -#: builtin/log.c:1613 +#: builtin/log.c:1704 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "" -#: builtin/log.c:1621 +#: builtin/log.c:1712 msgid "--name-only does not make sense" msgstr "--name-only не имеет ÑмыÑла" -#: builtin/log.c:1623 +#: builtin/log.c:1714 msgid "--name-status does not make sense" msgstr "--name-status не имеет ÑмыÑла" -#: builtin/log.c:1625 +#: builtin/log.c:1716 msgid "--check does not make sense" msgstr "--check не имеет ÑмыÑла" -#: builtin/log.c:1657 +#: builtin/log.c:1748 msgid "standard output, or directory, which one?" msgstr "Ñтандартный вывод или каталог?" -#: builtin/log.c:1659 +#: builtin/log.c:1837 +msgid "--interdiff requires --cover-letter or single patch" +msgstr "" + +#: builtin/log.c:1841 +msgid "Interdiff:" +msgstr "" + +#: builtin/log.c:1842 #, c-format -msgid "Could not create directory '%s'" -msgstr "Ðе удалоÑÑŒ Ñоздать каталог «%s»" +msgid "Interdiff against v%d:" +msgstr "" + +#: builtin/log.c:1848 +msgid "--creation-factor requires --range-diff" +msgstr "" + +#: builtin/log.c:1852 +msgid "--range-diff requires --cover-letter or single patch" +msgstr "" + +#: builtin/log.c:1860 +msgid "Range-diff:" +msgstr "" + +#: builtin/log.c:1861 +#, c-format +msgid "Range-diff against v%d:" +msgstr "" -#: builtin/log.c:1752 +#: builtin/log.c:1872 #, c-format msgid "unable to read signature file '%s'" msgstr "не удалоÑÑŒ прочитать файл подпиÑи «%s»" -#: builtin/log.c:1785 +#: builtin/log.c:1908 msgid "Generating patches" msgstr "Создание патчей" -#: builtin/log.c:1829 -msgid "Failed to create output files" -msgstr "Сбой при Ñоздании выходных файлов" +#: builtin/log.c:1952 +msgid "failed to create output files" +msgstr "" -#: builtin/log.c:1880 +#: builtin/log.c:2011 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" -msgstr "git cherry [-v] [<вышеÑтоÑщаÑ-ветка> [<голова> [<ограничение>]]]" +msgstr "git cherry [-v] [<вышеÑтоÑщаÑ-ветка> [<редакциÑ> [<ограничение>]]]" -#: builtin/log.c:1934 +#: builtin/log.c:2065 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> " "manually.\n" msgstr "Ðе удалоÑÑŒ найти отÑлеживаемую внешнюю ветку, укажите <вышеÑтоÑщую-ветку> вручную.\n" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:470 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<опции>] [<файл>…]" -#: builtin/ls-files.c:518 +#: builtin/ls-files.c:526 msgid "identify the file status with tags" msgstr "выводить имена файлов Ñ Ð¼ÐµÑ‚ÐºÐ°Ð¼Ð¸" -#: builtin/ls-files.c:520 +#: builtin/ls-files.c:528 msgid "use lowercase letters for 'assume unchanged' files" msgstr "иÑпользовать Ñимволы в нижнем региÑтре Ð´Ð»Ñ Â«Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ без изменений» файлов" -#: builtin/ls-files.c:522 +#: builtin/ls-files.c:530 msgid "use lowercase letters for 'fsmonitor clean' files" msgstr "иÑпользовать Ñимволы нижнего региÑтра Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² «fsmonitor clean»" -#: builtin/ls-files.c:524 +#: builtin/ls-files.c:532 msgid "show cached files in the output (default)" msgstr "показывать кÑшированные файлы при выводе (по умолчанию)" -#: builtin/ls-files.c:526 +#: builtin/ls-files.c:534 msgid "show deleted files in the output" msgstr "показывать удаленные файлы при выводе" -#: builtin/ls-files.c:528 +#: builtin/ls-files.c:536 msgid "show modified files in the output" msgstr "показывать измененные файлы при выводе" -#: builtin/ls-files.c:530 +#: builtin/ls-files.c:538 msgid "show other files in the output" msgstr "показывать другие файлы при выводе" -#: builtin/ls-files.c:532 +#: builtin/ls-files.c:540 msgid "show ignored files in the output" msgstr "показывать игнорируемые файлы при выводе" -#: builtin/ls-files.c:535 +#: builtin/ls-files.c:543 msgid "show staged contents' object name in the output" msgstr "показывать Ð¸Ð¼Ñ Ð¸Ð½Ð´ÐµÐºÑированного объекта на выводе" -#: builtin/ls-files.c:537 +#: builtin/ls-files.c:545 msgid "show files on the filesystem that need to be removed" msgstr "показывать файлы в файловой ÑиÑтеме, которые должны быть удалены" -#: builtin/ls-files.c:539 +#: builtin/ls-files.c:547 msgid "show 'other' directories' names only" msgstr "показывать только имена у «других» каталогов" -#: builtin/ls-files.c:541 +#: builtin/ls-files.c:549 msgid "show line endings of files" msgstr "показать концы Ñтрок файлов" -#: builtin/ls-files.c:543 +#: builtin/ls-files.c:551 msgid "don't show empty directories" msgstr "не показывать пуÑтые каталоги" -#: builtin/ls-files.c:546 +#: builtin/ls-files.c:554 msgid "show unmerged files in the output" msgstr "показывать не Ñлитые файлы на выводе" -#: builtin/ls-files.c:548 +#: builtin/ls-files.c:556 msgid "show resolve-undo information" msgstr "показывать информации о разрешении конфликтов и отмене" -#: builtin/ls-files.c:550 +#: builtin/ls-files.c:558 msgid "skip files matching pattern" msgstr "пропуÑтить файлы, ÑоответÑтвующие шаблону" -#: builtin/ls-files.c:553 +#: builtin/ls-files.c:561 msgid "exclude patterns are read from <file>" msgstr "прочитать шаблоны иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð· <файл>" -#: builtin/ls-files.c:556 +#: builtin/ls-files.c:564 msgid "read additional per-directory exclude patterns in <file>" msgstr "прочитать дополнительные покаталожные шаблоны иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð· <файл>" -#: builtin/ls-files.c:558 +#: builtin/ls-files.c:566 msgid "add the standard git exclusions" msgstr "добавить Ñтандартные иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ git" -#: builtin/ls-files.c:561 +#: builtin/ls-files.c:570 msgid "make the output relative to the project top directory" msgstr "выводить пути отноÑительно корневого каталога проекта" -#: builtin/ls-files.c:564 +#: builtin/ls-files.c:573 msgid "recurse through submodules" msgstr "рекурÑивно по подмодулÑм" -#: builtin/ls-files.c:566 +#: builtin/ls-files.c:575 msgid "if any <file> is not in the index, treat this as an error" msgstr "еÑли какой-либо <файл> не в индекÑе, Ñчитать Ñто ошибкой" -#: builtin/ls-files.c:567 +#: builtin/ls-files.c:576 msgid "tree-ish" msgstr "указатель-дерева" -#: builtin/ls-files.c:568 +#: builtin/ls-files.c:577 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "притворитьÑÑ, что пути удалены, Ñ‚.к. <указатель-дерева> еще ÑущеÑтвует" -#: builtin/ls-files.c:570 +#: builtin/ls-files.c:579 msgid "show debugging data" msgstr "показать отладочную информацию" @@ -11466,7 +13605,7 @@ msgstr "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<запуÑк>] msgid "do not print remote URL" msgstr "не выводить URL внешних репозиториев" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 msgid "exec" msgstr "запуÑк" @@ -11490,11 +13629,11 @@ msgstr "не показывать удалённые метки" msgid "take url.<base>.insteadOf into account" msgstr "учитывать url.<база>.insteadOf" -#: builtin/ls-remote.c:73 +#: builtin/ls-remote.c:72 msgid "exit with exit code 2 if no matching refs are found" msgstr "выходить Ñ ÐºÐ¾Ð´Ð¾Ð¼ 2, еÑли ÑоответÑтвующие ÑÑылки не найдены" -#: builtin/ls-remote.c:76 +#: builtin/ls-remote.c:75 msgid "show underlying ref in addition to the object pointed by it" msgstr "показать также внутреннюю ÑÑылку в дополнение к объекту, на который она указывает" @@ -11539,409 +13678,402 @@ msgstr "вывеÑти полное дерево; не только текущи msgid "empty mbox: '%s'" msgstr "пуÑтой mbox: «%s»" -#: builtin/merge.c:51 +#: builtin/merge.c:54 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<опции>] [<коммит>…]" -#: builtin/merge.c:52 +#: builtin/merge.c:55 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:53 +#: builtin/merge.c:56 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:110 +#: builtin/merge.c:116 msgid "switch `m' requires a value" msgstr "при указании параметра «m» требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ значение" -#: builtin/merge.c:176 +#: builtin/merge.c:139 +#, c-format +msgid "option `%s' requires a value" +msgstr "" + +#: builtin/merge.c:185 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Ðе удалоÑÑŒ найти Ñтратегию ÑлиÑÐ½Ð¸Ñ Â«%s».\n" -#: builtin/merge.c:177 +#: builtin/merge.c:186 #, c-format msgid "Available strategies are:" msgstr "ДоÑтупные Ñтратегии:" -#: builtin/merge.c:182 +#: builtin/merge.c:191 #, c-format msgid "Available custom strategies are:" msgstr "ДоÑтупные пользовательÑкие Ñтратегии:" -#: builtin/merge.c:232 builtin/pull.c:142 +#: builtin/merge.c:242 builtin/pull.c:150 msgid "do not show a diffstat at the end of the merge" msgstr "не выводить ÑтатиÑтику изменений поÑле Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ ÑлиÑниÑ" -#: builtin/merge.c:235 builtin/pull.c:145 +#: builtin/merge.c:245 builtin/pull.c:153 msgid "show a diffstat at the end of the merge" msgstr "вывеÑти ÑтатиÑтику изменений поÑле Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ ÑлиÑниÑ" -#: builtin/merge.c:236 builtin/pull.c:148 +#: builtin/merge.c:246 builtin/pull.c:156 msgid "(synonym to --stat)" msgstr "(Ñиноним Ð´Ð»Ñ --stat)" -#: builtin/merge.c:238 builtin/pull.c:151 +#: builtin/merge.c:248 builtin/pull.c:159 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "добавить (макÑимум <n>) запиÑей из короткого журнала в Ñообщение коммита у ÑлиÑниÑ" -#: builtin/merge.c:241 builtin/pull.c:157 +#: builtin/merge.c:251 builtin/pull.c:165 msgid "create a single commit instead of doing a merge" msgstr "Ñоздать один коммит, вмеÑто Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑлиÑниÑ" -#: builtin/merge.c:243 builtin/pull.c:160 +#: builtin/merge.c:253 builtin/pull.c:168 msgid "perform a commit if the merge succeeds (default)" msgstr "Ñделать коммит, еÑли ÑлиÑние прошло уÑпешно (по умолчанию)" -#: builtin/merge.c:245 builtin/pull.c:163 +#: builtin/merge.c:255 builtin/pull.c:171 msgid "edit message before committing" msgstr "отредактировать Ñообщение перед выполнением коммита" -#: builtin/merge.c:246 +#: builtin/merge.c:257 msgid "allow fast-forward (default)" msgstr "разрешить перемотку вперед (по умолчанию)" -#: builtin/merge.c:248 builtin/pull.c:169 +#: builtin/merge.c:259 builtin/pull.c:178 msgid "abort if fast-forward is not possible" msgstr "отменить выполнение ÑлиÑниÑ, еÑли перемотка вперед невозможна" -#: builtin/merge.c:252 builtin/pull.c:172 +#: builtin/merge.c:263 builtin/pull.c:181 msgid "verify that the named commit has a valid GPG signature" msgstr "проверить, что указанный коммит имеет верную Ñлектронную подпиÑÑŒ GPG" -#: builtin/merge.c:253 builtin/notes.c:779 builtin/pull.c:176 -#: builtin/revert.c:110 +#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 +#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 msgid "strategy" msgstr "ÑтратегиÑ" -#: builtin/merge.c:254 builtin/pull.c:177 +#: builtin/merge.c:265 builtin/pull.c:186 msgid "merge strategy to use" msgstr "иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑлиÑниÑ" -#: builtin/merge.c:255 builtin/pull.c:180 +#: builtin/merge.c:266 builtin/pull.c:189 msgid "option=value" msgstr "опциÑ=значение" -#: builtin/merge.c:256 builtin/pull.c:181 +#: builtin/merge.c:267 builtin/pull.c:190 msgid "option for selected merge strategy" msgstr "опции Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ Ñтратегии ÑлиÑниÑ" -#: builtin/merge.c:258 +#: builtin/merge.c:269 msgid "merge commit message (for a non-fast-forward merge)" msgstr "Ñообщение коммита Ð´Ð»Ñ ÑлиÑÐ½Ð¸Ñ (Ð´Ð»Ñ ÑлиÑÐ½Ð¸Ñ Ð±ÐµÐ· перемотки вперед)" -#: builtin/merge.c:265 +#: builtin/merge.c:276 msgid "abort the current in-progress merge" msgstr "отменить выполнение проиÑходÑщего ÑлиÑниÑ" -#: builtin/merge.c:267 +#: builtin/merge.c:278 msgid "continue the current in-progress merge" msgstr "продолжить выполнение проиÑходÑщего ÑлиÑниÑ" -#: builtin/merge.c:269 builtin/pull.c:188 +#: builtin/merge.c:280 builtin/pull.c:197 msgid "allow merging unrelated histories" msgstr "разрешить ÑлиÑние неÑвÑзанных иÑторий изменений" -#: builtin/merge.c:275 +#: builtin/merge.c:286 msgid "verify commit-msg hook" msgstr "проверить перехватчик commit-msg" -#: builtin/merge.c:300 +#: builtin/merge.c:311 msgid "could not run stash." msgstr "не удалоÑÑŒ выполнить stash." -#: builtin/merge.c:305 +#: builtin/merge.c:316 msgid "stash failed" msgstr "Ñбой при выполнении stash" -#: builtin/merge.c:310 +#: builtin/merge.c:321 #, c-format msgid "not a valid object: %s" msgstr "неправильный объект: %s" -#: builtin/merge.c:332 builtin/merge.c:349 +#: builtin/merge.c:343 builtin/merge.c:360 msgid "read-tree failed" msgstr "Ñбой при выполнении read-tree" -#: builtin/merge.c:379 +#: builtin/merge.c:390 msgid " (nothing to squash)" msgstr " (нечего уплотнÑть)" -#: builtin/merge.c:390 +#: builtin/merge.c:401 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Уплотнение коммита — не обновлÑÑ HEAD\n" -#: builtin/merge.c:440 +#: builtin/merge.c:451 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Ðет ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑлиÑÐ½Ð¸Ñ â€” не обновлÑем HEAD\n" -#: builtin/merge.c:491 +#: builtin/merge.c:502 #, c-format msgid "'%s' does not point to a commit" msgstr "«%s» не указывает на коммит" -#: builtin/merge.c:578 +#: builtin/merge.c:589 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока branch.%s.mergeoptions: %s" -#: builtin/merge.c:699 +#: builtin/merge.c:712 msgid "Not handling anything other than two heads merge." msgstr "Ðе обрабатываю ничего, кроме ÑлиÑÐ½Ð¸Ñ Ð´Ð²ÑƒÑ… указателей на ветки." -#: builtin/merge.c:713 +#: builtin/merge.c:726 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "ÐеизвеÑтный параметр merge-recursive: -X%s" -#: builtin/merge.c:728 +#: builtin/merge.c:741 #, c-format msgid "unable to write %s" msgstr "не удалоÑÑŒ запиÑать %s" -#: builtin/merge.c:779 +#: builtin/merge.c:793 #, c-format msgid "Could not read from '%s'" msgstr "Ðе удалоÑÑŒ прочеÑть из «%s»" -#: builtin/merge.c:788 +#: builtin/merge.c:802 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "Ðе выполнÑÑŽ коммит ÑлиÑниÑ; иÑпользуйте «git commit» Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑлиÑниÑ.\n" -#: builtin/merge.c:794 -#, c-format +#: builtin/merge.c:808 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" "\n" +msgstr "" + +#: builtin/merge.c:813 +msgid "An empty message aborts the commit.\n" +msgstr "" + +#: builtin/merge.c:816 +#, c-format +msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" "the commit.\n" -msgstr "ПожалуйÑта, введите Ñообщение коммита, Ð´Ð»Ñ Ð¾Ð±ÑŠÑÑнениÑ, зачем нужно\nÑто ÑлиÑние, оÑобенно, еÑли Ñто ÑлиÑние обновленной вышеÑтоÑщей\nветки в тематичеÑкую ветку.\n\nСтроки, начинающиеÑÑ Ñ Â«%c» будут проигнорированы, а пуÑтое\nÑообщение отменÑет процеÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°.\n" +msgstr "" -#: builtin/merge.c:830 +#: builtin/merge.c:857 msgid "Empty commit message." msgstr "ПуÑтое Ñообщение коммита." -#: builtin/merge.c:849 +#: builtin/merge.c:876 #, c-format msgid "Wonderful.\n" msgstr "ПрекраÑно.\n" -#: builtin/merge.c:902 +#: builtin/merge.c:936 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "Ðе удалоÑÑŒ провеÑти автоматичеÑкое ÑлиÑние; иÑправьте конфликты и Ñделайте коммит результата.\n" -#: builtin/merge.c:941 +#: builtin/merge.c:975 msgid "No current branch." msgstr "Ðет текущей ветки." -#: builtin/merge.c:943 +#: builtin/merge.c:977 msgid "No remote for the current branch." msgstr "У текущей ветки нет внешнего репозиториÑ." -#: builtin/merge.c:945 +#: builtin/merge.c:979 msgid "No default upstream defined for the current branch." msgstr "Ð”Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ветки не указана вышеÑтоÑÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° по умолчанию." -#: builtin/merge.c:950 +#: builtin/merge.c:984 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Ðе указана внешнÑÑ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ‚ÐºÐ° Ð´Ð»Ñ %s на %s" -#: builtin/merge.c:1007 +#: builtin/merge.c:1041 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Плохое значение «%s» в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Â«%s»" -#: builtin/merge.c:1110 +#: builtin/merge.c:1144 #, c-format msgid "not something we can merge in %s: %s" msgstr "не ÑвлÑетÑÑ Ñ‚ÐµÐ¼, что можно Ñлить в %s: %s" -#: builtin/merge.c:1144 +#: builtin/merge.c:1178 msgid "not something we can merge" msgstr "не ÑвлÑетÑÑ Ñ‚ÐµÐ¼, что можно Ñлить" -#: builtin/merge.c:1247 +#: builtin/merge.c:1281 msgid "--abort expects no arguments" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ --abort не принимает аргументы" -#: builtin/merge.c:1251 +#: builtin/merge.c:1285 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Ðет ÑлиÑниÑ, которое можно отменить (отÑутÑтвует файл MERGE_HEAD)." -#: builtin/merge.c:1263 +#: builtin/merge.c:1297 msgid "--continue expects no arguments" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ --continue не принимает аргументы" -#: builtin/merge.c:1267 +#: builtin/merge.c:1301 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ проиÑходит ÑлиÑние (отÑутÑтвует файл MERGE_HEAD)." -#: builtin/merge.c:1283 +#: builtin/merge.c:1317 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "Ð’Ñ‹ не завершили ÑлиÑние (приÑутÑтвует файл MERGE_HEAD).\nВыполните коммит ваших изменений, перед ÑлиÑнием." -#: builtin/merge.c:1290 +#: builtin/merge.c:1324 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "Ð’Ñ‹ не завершили копирование коммита (приÑутÑтвует файл CHERRY_PICK_HEAD).\nПожалуйÑта, закоммитьте ваши изменениÑ, перед ÑлиÑнием." -#: builtin/merge.c:1293 +#: builtin/merge.c:1327 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Ð’Ñ‹ не завершили копирование коммита (приÑутÑтвует файл CHERRY_PICK_HEAD)." -#: builtin/merge.c:1302 +#: builtin/merge.c:1341 msgid "You cannot combine --squash with --no-ff." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно --squash и --no-ff." -#: builtin/merge.c:1310 +#: builtin/merge.c:1349 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Коммит не указан и параметр merge.defaultToUpstream не уÑтановлен." -#: builtin/merge.c:1327 +#: builtin/merge.c:1366 msgid "Squash commit into empty head not supported yet" msgstr "Уплотнение коммита в пуÑтую ветку еще не поддерживаетÑÑ" -#: builtin/merge.c:1329 +#: builtin/merge.c:1368 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Коммит, не ÑвлÑющийÑÑ Ð¿ÐµÑ€ÐµÐ¼Ð¾Ñ‚ÐºÐ¾Ð¹ вперед, нет ÑмыÑла делать в пуÑтую ветку." -#: builtin/merge.c:1334 +#: builtin/merge.c:1373 #, c-format msgid "%s - not something we can merge" msgstr "%s не ÑвлÑетÑÑ Ñ‚ÐµÐ¼, что можно Ñлить" -#: builtin/merge.c:1336 +#: builtin/merge.c:1375 msgid "Can merge only exactly one commit into empty head" msgstr "Можно только один коммит в пуÑтую ветку." -#: builtin/merge.c:1370 -#, c-format -msgid "Commit %s has an untrusted GPG signature, allegedly by %s." -msgstr "Коммит %s Ñодержит не доверенную GPG подпиÑÑŒ, предположительно от %s." - -#: builtin/merge.c:1373 -#, c-format -msgid "Commit %s has a bad GPG signature allegedly by %s." -msgstr "Коммит %s Ñодержит плохую GPG подпиÑÑŒ, предположительно от %s." - -#: builtin/merge.c:1376 -#, c-format -msgid "Commit %s does not have a GPG signature." -msgstr "Коммит %s не Ñодержит GPG подпиÑÑŒ." - -#: builtin/merge.c:1379 -#, c-format -msgid "Commit %s has a good GPG signature by %s\n" -msgstr "Коммит %s Ñодержит дейÑтвительную GPG подпиÑÑŒ, от %s.\n" - -#: builtin/merge.c:1438 +#: builtin/merge.c:1454 msgid "refusing to merge unrelated histories" msgstr "отказ ÑлиÑÐ½Ð¸Ñ Ð½ÐµÑвÑзанных иÑторий изменений" -#: builtin/merge.c:1447 +#: builtin/merge.c:1463 msgid "Already up to date." msgstr "Уже обновлено." -#: builtin/merge.c:1457 +#: builtin/merge.c:1473 #, c-format msgid "Updating %s..%s\n" msgstr "Обновление %s..%s\n" -#: builtin/merge.c:1498 +#: builtin/merge.c:1515 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Попытка тривиального ÑлиÑÐ½Ð¸Ñ Ð² индекÑе…\n" -#: builtin/merge.c:1505 +#: builtin/merge.c:1522 #, c-format msgid "Nope.\n" msgstr "Ðе вышло.\n" -#: builtin/merge.c:1530 +#: builtin/merge.c:1547 msgid "Already up to date. Yeeah!" msgstr "Уже обновлено. Круто!" -#: builtin/merge.c:1536 +#: builtin/merge.c:1553 msgid "Not possible to fast-forward, aborting." msgstr "Перемотка вперед невозможна, отмена." -#: builtin/merge.c:1559 builtin/merge.c:1638 +#: builtin/merge.c:1576 builtin/merge.c:1655 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Перемотка дерева к иÑходному ÑоÑтоÑнию…\n" -#: builtin/merge.c:1563 +#: builtin/merge.c:1580 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Попытка ÑлиÑÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтратегии %s…\n" -#: builtin/merge.c:1629 +#: builtin/merge.c:1646 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Ðи одна ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑлиÑÐ½Ð¸Ñ Ð½Ðµ обработала ÑлиÑние.\n" -#: builtin/merge.c:1631 +#: builtin/merge.c:1648 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Сбой при ÑлиÑнии Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтратегии %s.\n" -#: builtin/merge.c:1640 +#: builtin/merge.c:1657 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "ИÑпользую %s Ð´Ð»Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñ‚Ð¾Ð²ÐºÐ¸ ручного Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð².\n" -#: builtin/merge.c:1652 +#: builtin/merge.c:1669 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "ÐвтоматичеÑкое ÑлиÑние прошло уÑпешно; как и запрашивали, оÑтановлено перед выполнением коммита\n" -#: builtin/merge-base.c:31 +#: builtin/merge-base.c:32 msgid "git merge-base [-a | --all] <commit> <commit>..." msgstr "git merge-base [-a | --all] <коммит> <коммит>…" -#: builtin/merge-base.c:32 +#: builtin/merge-base.c:33 msgid "git merge-base [-a | --all] --octopus <commit>..." msgstr "git merge-base [-a | --all] --octopus <коммит>…" -#: builtin/merge-base.c:33 +#: builtin/merge-base.c:34 msgid "git merge-base --independent <commit>..." msgstr "git merge-base --independent <коммит>…" -#: builtin/merge-base.c:34 +#: builtin/merge-base.c:35 msgid "git merge-base --is-ancestor <commit> <commit>" msgstr "git merge-base --is-ancestor <коммит> <коммит>" -#: builtin/merge-base.c:35 +#: builtin/merge-base.c:36 msgid "git merge-base --fork-point <ref> [<commit>]" msgstr "git merge-base --fork-point <ÑÑылка> [<коммит>]" -#: builtin/merge-base.c:221 +#: builtin/merge-base.c:153 msgid "output all common ancestors" msgstr "вывеÑти вÑех общих предков" -#: builtin/merge-base.c:223 +#: builtin/merge-base.c:155 msgid "find ancestors for a single n-way merge" msgstr "вывеÑти предков Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ многоходового ÑлиÑниÑ" -#: builtin/merge-base.c:225 +#: builtin/merge-base.c:157 msgid "list revs not reachable from others" msgstr "вывеÑти ÑпиÑок редаций, которые не доÑтижимы из друг друга" -#: builtin/merge-base.c:227 +#: builtin/merge-base.c:159 msgid "is the first one ancestor of the other?" msgstr "ÑвлÑетÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¼ предком второго указанного коммита?" -#: builtin/merge-base.c:229 +#: builtin/merge-base.c:161 msgid "find where <commit> forked from reflog of <ref>" msgstr "найти журнале ÑÑылок <ÑÑылка> где именно <коммит> разветвилÑÑ" @@ -11951,49 +14083,49 @@ msgid "" "<orig-file> <file2>" msgstr "git merge-file [<опции>] [-L имÑ1 [-L orig [-L имÑ2]]] <файл1> <ориг-файл> <файл2>" -#: builtin/merge-file.c:33 +#: builtin/merge-file.c:35 msgid "send results to standard output" msgstr "вывеÑти результат на Ñтандартный вывод" -#: builtin/merge-file.c:34 +#: builtin/merge-file.c:36 msgid "use a diff3 based merge" msgstr "иÑпользовать diff3 ÑлиÑние" -#: builtin/merge-file.c:35 +#: builtin/merge-file.c:37 msgid "for conflicts, use our version" msgstr "при возникновении конфликтов, иÑпользовать нашу верÑию" -#: builtin/merge-file.c:37 +#: builtin/merge-file.c:39 msgid "for conflicts, use their version" msgstr "при возникновении конфликтов, иÑпользовать их верÑию" -#: builtin/merge-file.c:39 +#: builtin/merge-file.c:41 msgid "for conflicts, use a union version" msgstr "при возникновении конфликтов, иÑпользовать обе верÑии" -#: builtin/merge-file.c:42 +#: builtin/merge-file.c:44 msgid "for conflicts, use this marker size" msgstr "при возникновении конфликтов, иÑпользовать Ñтот размер маркера" -#: builtin/merge-file.c:43 +#: builtin/merge-file.c:45 msgid "do not warn about conflicts" msgstr "не предупреждать о конфликтах" -#: builtin/merge-file.c:45 +#: builtin/merge-file.c:47 msgid "set labels for file1/orig-file/file2" msgstr "уÑтановить метки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»1/ориг-файл/файл2" -#: builtin/merge-recursive.c:45 +#: builtin/merge-recursive.c:46 #, c-format msgid "unknown option %s" msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ %s" -#: builtin/merge-recursive.c:51 +#: builtin/merge-recursive.c:52 #, c-format msgid "could not parse object '%s'" msgstr "не удалоÑÑŒ разобрать объект «%s»" -#: builtin/merge-recursive.c:55 +#: builtin/merge-recursive.c:56 #, c-format msgid "cannot handle more than %d base. Ignoring %s." msgid_plural "cannot handle more than %d bases. Ignoring %s." @@ -12002,16 +14134,16 @@ msgstr[1] "невозможно обработать больше %d баз. ИРmsgstr[2] "невозможно обработать больше %d баз. Игнорирую %s." msgstr[3] "невозможно обработать больше %d базы. Игнорирую %s." -#: builtin/merge-recursive.c:63 +#: builtin/merge-recursive.c:64 msgid "not handling anything other than two heads merge." msgstr "не обрабатываю ничего, кроме ÑлиÑÐ½Ð¸Ñ Ð´Ð²ÑƒÑ… указателей на ветки." -#: builtin/merge-recursive.c:69 builtin/merge-recursive.c:71 +#: builtin/merge-recursive.c:70 builtin/merge-recursive.c:72 #, c-format msgid "could not resolve ref '%s'" msgstr "не удалоÑÑŒ раÑпознать ÑÑылку «%s»" -#: builtin/merge-recursive.c:77 +#: builtin/merge-recursive.c:78 #, c-format msgid "Merging %s with %s\n" msgstr "СлиÑние %s и %s\n" @@ -12024,7 +14156,7 @@ msgstr "git mktree [-z] [--missing] [--batch]" msgid "input is NUL terminated" msgstr "ввод отделённый ÐУЛЕВЫМИ Ñимволами" -#: builtin/mktree.c:155 builtin/write-tree.c:25 +#: builtin/mktree.c:155 builtin/write-tree.c:26 msgid "allow missing objects" msgstr "допуÑтить отÑутÑтвие объектов" @@ -12032,94 +14164,111 @@ msgstr "допуÑтить отÑутÑтвие объектов" msgid "allow creation of more than one tree" msgstr "допуÑтить Ñоздание более одного дерева" -#: builtin/mv.c:17 +#: builtin/multi-pack-index.c:9 +msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" +msgstr "" + +#: builtin/multi-pack-index.c:22 +msgid "object directory containing set of packfile and pack-index pairs" +msgstr "" + +#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +msgid "too many arguments" +msgstr "" + +#: builtin/multi-pack-index.c:51 +#, c-format +msgid "unrecognized verb: %s" +msgstr "" + +#: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<опции>] <иÑточник>… <назначение>" -#: builtin/mv.c:82 +#: builtin/mv.c:83 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "Каталог %s в индекÑе и не ÑвлÑетÑÑ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼?" -#: builtin/mv.c:84 +#: builtin/mv.c:85 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "Чтобы продолжить, проиндекÑируйте или ÑпрÑчьте ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² файле .gitmodules" -#: builtin/mv.c:102 +#: builtin/mv.c:103 #, c-format msgid "%.*s is in index" msgstr "%.*s в индеÑе" -#: builtin/mv.c:124 +#: builtin/mv.c:125 msgid "force move/rename even if target exists" msgstr "принудительно перемещать/переименовать, даже еÑли цель ÑущеÑтвует" -#: builtin/mv.c:126 +#: builtin/mv.c:127 msgid "skip move/rename errors" msgstr "пропуÑкать ошибки при перемещении/переименовании" -#: builtin/mv.c:168 +#: builtin/mv.c:169 #, c-format msgid "destination '%s' is not a directory" msgstr "целевой путь «%s» не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" -#: builtin/mv.c:179 +#: builtin/mv.c:180 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Проверка Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· «%s» в «%s»\n" -#: builtin/mv.c:183 +#: builtin/mv.c:184 msgid "bad source" msgstr "плохой иÑточник" -#: builtin/mv.c:186 +#: builtin/mv.c:187 msgid "can not move directory into itself" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтить каталог в Ñамого ÑебÑ" -#: builtin/mv.c:189 +#: builtin/mv.c:190 msgid "cannot move directory over file" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтить каталог в файл" -#: builtin/mv.c:198 +#: builtin/mv.c:199 msgid "source directory is empty" msgstr "иÑходный каталог пуÑÑ‚" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "not under version control" msgstr "не под верÑионным контролем" -#: builtin/mv.c:226 +#: builtin/mv.c:227 msgid "destination exists" msgstr "целевой путь уже ÑущеÑтвует" -#: builtin/mv.c:234 +#: builtin/mv.c:235 #, c-format msgid "overwriting '%s'" msgstr "перезапиÑÑŒ «%s»" -#: builtin/mv.c:237 +#: builtin/mv.c:238 msgid "Cannot overwrite" msgstr "Ðе удалоÑÑŒ перезапиÑать" -#: builtin/mv.c:240 +#: builtin/mv.c:241 msgid "multiple sources for the same target" msgstr "неÑколько иÑточников Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ целевого пути" -#: builtin/mv.c:242 +#: builtin/mv.c:243 msgid "destination directory does not exist" msgstr "целевой каталог не ÑущеÑтвует" -#: builtin/mv.c:249 +#: builtin/mv.c:250 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, откуда=%s, куда=%s" -#: builtin/mv.c:270 +#: builtin/mv.c:271 #, c-format msgid "Renaming %s to %s\n" msgstr "Переименование %s в %s\n" -#: builtin/mv.c:276 builtin/remote.c:716 builtin/repack.c:494 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 #, c-format msgid "renaming '%s' failed" msgstr "Ñбой при переименовании «%s»" @@ -12136,35 +14285,35 @@ msgstr "git name-rev [<опции>] --all" msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<опции>] --stdin" -#: builtin/name-rev.c:413 +#: builtin/name-rev.c:415 msgid "print only names (no SHA-1)" msgstr "выводить только имена (без SHA-1)" -#: builtin/name-rev.c:414 +#: builtin/name-rev.c:416 msgid "only use tags to name the commits" msgstr "иÑпользовать только метки Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð²" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:418 msgid "only use refs matching <pattern>" msgstr "иÑпользовать только ÑÑылки, ÑоответÑтвующие <шаблону> " -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:420 msgid "ignore refs matching <pattern>" msgstr "игнорировать ÑÑылки, ÑоответÑтвующие <шаблону>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:422 msgid "list all commits reachable from all refs" msgstr "вывеÑти ÑпиÑок вÑех коммитов, доÑтижимых Ñо вÑех ÑÑылок" -#: builtin/name-rev.c:421 +#: builtin/name-rev.c:423 msgid "read from stdin" msgstr "прочитать из Ñтандартного ввода" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:424 msgid "allow to print `undefined` names (default)" msgstr "разрешить вывод «undefined», еÑли не найдено (по умолчанию)" -#: builtin/name-rev.c:428 +#: builtin/name-rev.c:430 msgid "dereference tags in the input (internal use)" msgstr "разыменовывать введенные метки (Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ иÑпользованиÑ)" @@ -12304,224 +14453,219 @@ msgstr "не удалоÑÑŒ запиÑать объект заметки" msgid "the note contents have been left in %s" msgstr "Ñодержимое заметки оÑталоÑÑŒ в %s" -#: builtin/notes.c:236 builtin/tag.c:508 -#, c-format -msgid "cannot read '%s'" -msgstr "не удалоÑÑŒ прочитать «%s»" - -#: builtin/notes.c:238 builtin/tag.c:511 +#: builtin/notes.c:242 builtin/tag.c:522 #, c-format msgid "could not open or read '%s'" msgstr "не удалоÑÑŒ открыть или прочитать «%s»" -#: builtin/notes.c:257 builtin/notes.c:308 builtin/notes.c:310 -#: builtin/notes.c:378 builtin/notes.c:433 builtin/notes.c:519 -#: builtin/notes.c:524 builtin/notes.c:602 builtin/notes.c:664 +#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315 +#: builtin/notes.c:383 builtin/notes.c:438 builtin/notes.c:526 +#: builtin/notes.c:531 builtin/notes.c:610 builtin/notes.c:672 #, c-format msgid "failed to resolve '%s' as a valid ref." msgstr "не удалоÑÑŒ разрешить «%s» как ÑÑылку." -#: builtin/notes.c:260 +#: builtin/notes.c:265 #, c-format msgid "failed to read object '%s'." msgstr "не удалоÑÑŒ прочитать объект «%s»." -#: builtin/notes.c:264 +#: builtin/notes.c:268 #, c-format msgid "cannot read note data from non-blob object '%s'." msgstr "не удалоÑÑŒ прочитать данные заметки из недвоичного объекта «%s»." -#: builtin/notes.c:304 +#: builtin/notes.c:309 #, c-format msgid "malformed input line: '%s'." msgstr "Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ Ñтрока: «%s»." -#: builtin/notes.c:319 +#: builtin/notes.c:324 #, c-format msgid "failed to copy notes from '%s' to '%s'" msgstr "не удалоÑÑŒ Ñкопировать заметку из «%s» в «%s»" #. TRANSLATORS: the first %s will be replaced by a git #. notes command: 'add', 'merge', 'remove', etc. -#: builtin/notes.c:351 +#: builtin/notes.c:356 #, c-format msgid "refusing to %s notes in %s (outside of refs/notes/)" msgstr "отказ в перезапиÑи %s заметок в %s (за пределами refs/notes/)" -#: builtin/notes.c:371 builtin/notes.c:426 builtin/notes.c:502 -#: builtin/notes.c:514 builtin/notes.c:590 builtin/notes.c:657 -#: builtin/notes.c:807 builtin/notes.c:954 builtin/notes.c:975 +#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:509 +#: builtin/notes.c:521 builtin/notes.c:598 builtin/notes.c:665 +#: builtin/notes.c:815 builtin/notes.c:963 builtin/notes.c:985 msgid "too many parameters" msgstr "передано Ñлишком много параметров" -#: builtin/notes.c:384 builtin/notes.c:670 +#: builtin/notes.c:389 builtin/notes.c:678 #, c-format msgid "no note found for object %s." msgstr "не найдена заметка Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %s." -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:410 builtin/notes.c:576 msgid "note contents as a string" msgstr "текÑтовое Ñодержимое заметки" -#: builtin/notes.c:408 builtin/notes.c:571 +#: builtin/notes.c:413 builtin/notes.c:579 msgid "note contents in a file" msgstr "Ñодержимое заметки в файле" -#: builtin/notes.c:411 builtin/notes.c:574 +#: builtin/notes.c:416 builtin/notes.c:582 msgid "reuse and edit specified note object" msgstr "иÑпользовать и отредактировать указанный объект заметки" -#: builtin/notes.c:414 builtin/notes.c:577 +#: builtin/notes.c:419 builtin/notes.c:585 msgid "reuse specified note object" msgstr "иÑпользовать указанный объект заметки" -#: builtin/notes.c:417 builtin/notes.c:580 +#: builtin/notes.c:422 builtin/notes.c:588 msgid "allow storing empty note" msgstr "разрешить Ñохранение пуÑтой заметки" -#: builtin/notes.c:418 builtin/notes.c:489 +#: builtin/notes.c:423 builtin/notes.c:496 msgid "replace existing notes" msgstr "заменить ÑущеÑтвующие заметки" -#: builtin/notes.c:443 +#: builtin/notes.c:448 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "Ðе удалоÑÑŒ добавить заметку. Ðайдена ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° у объекта %s. ИÑпользуйте параметр «-f» Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñи ÑущеÑтвующих заметок." -#: builtin/notes.c:458 builtin/notes.c:537 +#: builtin/notes.c:463 builtin/notes.c:544 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "ПерезапиÑÑŒ ÑущеÑтвующих заметок у объекта %s\n" -#: builtin/notes.c:469 builtin/notes.c:629 builtin/notes.c:894 +#: builtin/notes.c:475 builtin/notes.c:637 builtin/notes.c:902 #, c-format msgid "Removing note for object %s\n" msgstr "Удаление заметки у объекта %s\n" -#: builtin/notes.c:490 +#: builtin/notes.c:497 msgid "read objects from stdin" msgstr "прочитать объекты из Ñтандартного ввода" -#: builtin/notes.c:492 +#: builtin/notes.c:499 msgid "load rewriting config for <command> (implies --stdin)" msgstr "загрузить наÑтройки перезапиÑи Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ <команда> (включает в ÑÐµÐ±Ñ --stdin)" -#: builtin/notes.c:510 +#: builtin/notes.c:517 msgid "too few parameters" msgstr "передано Ñлишком мало параметров" -#: builtin/notes.c:531 +#: builtin/notes.c:538 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite" " existing notes" msgstr "Ðе удалоÑÑŒ Ñкопировать заметку. Ðайдена ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° у объекта %s. ИÑпользуйте параметр «-f» Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñи ÑущеÑтвующих заметок." -#: builtin/notes.c:543 +#: builtin/notes.c:550 #, c-format msgid "missing notes on source object %s. Cannot copy." msgstr "нет заметок у иÑходного объекта %s. ÐÐµÐ»ÑŒÐ·Ñ Ñкопировать." -#: builtin/notes.c:595 +#: builtin/notes.c:603 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" "Please use 'git notes add -f -m/-F/-c/-C' instead.\n" msgstr "Опции -m/-F/-c/-C Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ «edit» уÑтарели.\nИÑпользуйте вмеÑто них «git notes add -f -m/-F/-c/-C».\n" -#: builtin/notes.c:690 +#: builtin/notes.c:698 msgid "failed to delete ref NOTES_MERGE_PARTIAL" msgstr "не удалоÑÑŒ удалить ÑÑылку NOTES_MERGE_PARTIAL" -#: builtin/notes.c:692 +#: builtin/notes.c:700 msgid "failed to delete ref NOTES_MERGE_REF" msgstr "не удалоÑÑŒ удалить ÑÑылку NOTES_MERGE_REF" -#: builtin/notes.c:694 +#: builtin/notes.c:702 msgid "failed to remove 'git notes merge' worktree" msgstr "не удалоÑÑŒ удалить рабочий каталог «git notes merge»" -#: builtin/notes.c:714 +#: builtin/notes.c:722 msgid "failed to read ref NOTES_MERGE_PARTIAL" msgstr "не удалоÑÑŒ прочитать ÑÑылку NOTES_MERGE_PARTIAL" -#: builtin/notes.c:716 +#: builtin/notes.c:724 msgid "could not find commit from NOTES_MERGE_PARTIAL." msgstr "не удалоÑÑŒ найти коммит из NOTES_MERGE_PARTIAL." -#: builtin/notes.c:718 +#: builtin/notes.c:726 msgid "could not parse commit from NOTES_MERGE_PARTIAL." msgstr "не удалоÑÑŒ разобрать коммит из NOTES_MERGE_PARTIAL." -#: builtin/notes.c:731 +#: builtin/notes.c:739 msgid "failed to resolve NOTES_MERGE_REF" msgstr "не удалоÑÑŒ разрешить NOTES_MERGE_REF" -#: builtin/notes.c:734 +#: builtin/notes.c:742 msgid "failed to finalize notes merge" msgstr "не удалоÑÑŒ завершить Ñлиние заметок" -#: builtin/notes.c:760 +#: builtin/notes.c:768 #, c-format msgid "unknown notes merge strategy %s" msgstr "неизвеÑÑ‚Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑлиÑÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº %s" -#: builtin/notes.c:776 +#: builtin/notes.c:784 msgid "General options" msgstr "Общие опции" -#: builtin/notes.c:778 +#: builtin/notes.c:786 msgid "Merge options" msgstr "Опции ÑлиÑниÑ" -#: builtin/notes.c:780 +#: builtin/notes.c:788 msgid "" "resolve notes conflicts using the given strategy " "(manual/ours/theirs/union/cat_sort_uniq)" msgstr "разрешить конфликты заметок Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ указанной Ñтратегии (manual/ours/theirs/union/cat_sort_uniq)" -#: builtin/notes.c:782 +#: builtin/notes.c:790 msgid "Committing unmerged notes" msgstr "Коммит не Ñлитых заметок" -#: builtin/notes.c:784 +#: builtin/notes.c:792 msgid "finalize notes merge by committing unmerged notes" msgstr "завершить ÑлиÑние заметок коммитом не Ñлитых заметок" -#: builtin/notes.c:786 +#: builtin/notes.c:794 msgid "Aborting notes merge resolution" msgstr "Отмена Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÑлиÑÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº" -#: builtin/notes.c:788 +#: builtin/notes.c:796 msgid "abort notes merge" msgstr "отменить ÑлиÑние заметок" -#: builtin/notes.c:799 +#: builtin/notes.c:807 msgid "cannot mix --commit, --abort or -s/--strategy" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно --commit, --abort и -s/--strategy" -#: builtin/notes.c:804 +#: builtin/notes.c:812 msgid "must specify a notes ref to merge" msgstr "вы должны указать ÑÑылку заметки Ð´Ð»Ñ ÑлиÑниÑ" -#: builtin/notes.c:828 +#: builtin/notes.c:836 #, c-format msgid "unknown -s/--strategy: %s" msgstr "неизвеÑтный параметр Ð´Ð»Ñ -s/--strategy: %s" -#: builtin/notes.c:865 +#: builtin/notes.c:873 #, c-format msgid "a notes merge into %s is already in-progress at %s" msgstr "ÑлиÑние заметок в %s уже выполнÑетÑÑ Ð½Ð° %s" -#: builtin/notes.c:868 +#: builtin/notes.c:876 #, c-format msgid "failed to store link to current notes ref (%s)" msgstr "не удалоÑÑŒ Ñохранить Ð°Ð´Ñ€ÐµÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ÑÑылки на заметку (%s)" -#: builtin/notes.c:870 +#: builtin/notes.c:878 #, c-format msgid "" "Automatic notes merge failed. Fix conflicts in %s and commit the result with" @@ -12529,418 +14673,431 @@ msgid "" "--abort'.\n" msgstr "Ðе удалоÑÑŒ автоматичеÑки Ñлить заметки. ИÑправьте конфликты в %s и закоммитьте результат Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git notes merge --commit», или прервите процеÑÑ ÑлиÑÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git notes merge --abort».\n" -#: builtin/notes.c:892 +#: builtin/notes.c:897 builtin/tag.c:535 +#, c-format +msgid "Failed to resolve '%s' as a valid ref." +msgstr "Ðе удалоÑÑŒ разрешить «%s» как ÑÑылку." + +#: builtin/notes.c:900 #, c-format msgid "Object %s has no note\n" msgstr "У объекта %s нет заметки\n" -#: builtin/notes.c:904 +#: builtin/notes.c:912 msgid "attempt to remove non-existent note is not an error" msgstr "попытка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÑущеÑтвующей заметки не ÑвлÑетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹" -#: builtin/notes.c:907 +#: builtin/notes.c:915 msgid "read object names from the standard input" msgstr "прочитать имена объектов из Ñтандартного ввода" -#: builtin/notes.c:945 builtin/prune.c:108 builtin/worktree.c:151 +#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165 msgid "do not remove, show only" msgstr "не удалÑть, только показать ÑпиÑок" -#: builtin/notes.c:946 +#: builtin/notes.c:955 msgid "report pruned notes" msgstr "вывеÑти ÑпиÑок удаленных заметок" -#: builtin/notes.c:988 +#: builtin/notes.c:998 msgid "notes-ref" msgstr "ÑÑылка-на-заметку" -#: builtin/notes.c:989 +#: builtin/notes.c:999 msgid "use notes from <notes-ref>" msgstr "иÑпользовать заметку из <ÑÑылка-на-заметку>" -#: builtin/notes.c:1024 +#: builtin/notes.c:1034 builtin/stash.c:1611 #, c-format msgid "unknown subcommand: %s" msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð´ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: %s" -#: builtin/pack-objects.c:48 +#: builtin/pack-objects.c:52 msgid "" "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]" msgstr "git pack-objects --stdout [<опции>…] [< <ÑпиÑок-ÑÑылок> | < <ÑпиÑок-объектов>]" -#: builtin/pack-objects.c:49 +#: builtin/pack-objects.c:53 msgid "" "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" msgstr "git pack-objects [<опции>…] <имÑ-базы> [< <ÑпиÑок-ÑÑылок> | < <ÑпиÑок-объектов>]" -#: builtin/pack-objects.c:414 +#: builtin/pack-objects.c:424 #, c-format msgid "bad packed object CRC for %s" msgstr "" -#: builtin/pack-objects.c:425 +#: builtin/pack-objects.c:435 #, c-format msgid "corrupt packed object for %s" msgstr "" -#: builtin/pack-objects.c:556 +#: builtin/pack-objects.c:566 #, c-format msgid "recursive delta detected for object %s" msgstr "" -#: builtin/pack-objects.c:756 +#: builtin/pack-objects.c:777 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:769 +#: builtin/pack-objects.c:790 #, c-format msgid "packfile is invalid: %s" msgstr "" -#: builtin/pack-objects.c:773 +#: builtin/pack-objects.c:794 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:798 msgid "unable to seek in reused packfile" msgstr "" -#: builtin/pack-objects.c:788 +#: builtin/pack-objects.c:809 msgid "unable to read from reused packfile" msgstr "" -#: builtin/pack-objects.c:816 +#: builtin/pack-objects.c:837 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "отключение запиÑи битовых карт, так как карты были разбиты на чаÑти из-за pack.packSizeLimit" -#: builtin/pack-objects.c:829 +#: builtin/pack-objects.c:850 msgid "Writing objects" msgstr "ЗапиÑÑŒ объектов" -#: builtin/pack-objects.c:891 builtin/update-index.c:88 +#: builtin/pack-objects.c:912 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "не удалоÑÑŒ выполнить stat %s" -#: builtin/pack-objects.c:944 +#: builtin/pack-objects.c:965 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "" -#: builtin/pack-objects.c:1112 +#: builtin/pack-objects.c:1161 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "отключение запиÑи битовых карт, так как некоторые объекты не были упакованы" -#: builtin/pack-objects.c:1489 +#: builtin/pack-objects.c:1589 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "" -#: builtin/pack-objects.c:1498 +#: builtin/pack-objects.c:1598 #, c-format msgid "delta base offset out of bound for %s" msgstr "" -#: builtin/pack-objects.c:1771 +#: builtin/pack-objects.c:1867 msgid "Counting objects" msgstr "ПодÑчет объектов" -#: builtin/pack-objects.c:1913 +#: builtin/pack-objects.c:1997 #, c-format msgid "unable to get size of %s" msgstr "не удалоÑÑŒ получить размер %s" -#: builtin/pack-objects.c:1928 +#: builtin/pack-objects.c:2012 #, c-format msgid "unable to parse object header of %s" msgstr "не удалоÑÑŒ разобрать заголовок объекта %s" -#: builtin/pack-objects.c:1995 builtin/pack-objects.c:2011 -#: builtin/pack-objects.c:2021 +#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 +#: builtin/pack-objects.c:2108 #, c-format msgid "object %s cannot be read" msgstr "" -#: builtin/pack-objects.c:1998 builtin/pack-objects.c:2025 +#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 #, c-format -msgid "object %s inconsistent object length (%lu vs %lu)" +msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" -#: builtin/pack-objects.c:2035 +#: builtin/pack-objects.c:2122 msgid "suboptimal pack - out of memory" msgstr "" -#: builtin/pack-objects.c:2369 +#: builtin/pack-objects.c:2448 #, c-format msgid "Delta compression using up to %d threads" msgstr "При Ñжатии изменений иÑпользуетÑÑ Ð´Ð¾ %d потоков" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2580 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "" -#: builtin/pack-objects.c:2589 +#: builtin/pack-objects.c:2667 msgid "Compressing objects" msgstr "Сжатие объектов" -#: builtin/pack-objects.c:2595 +#: builtin/pack-objects.c:2673 msgid "inconsistency with delta count" msgstr "" -#: builtin/pack-objects.c:2674 +#: builtin/pack-objects.c:2754 #, c-format msgid "" "expected edge object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2680 +#: builtin/pack-objects.c:2760 #, c-format msgid "" "expected object ID, got garbage:\n" " %s" msgstr "" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2858 msgid "invalid value for --missing" msgstr "недопуÑтимое значение Ð´Ð»Ñ --missing" -#: builtin/pack-objects.c:2819 builtin/pack-objects.c:2927 +#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 msgid "cannot open pack index" msgstr "" -#: builtin/pack-objects.c:2850 +#: builtin/pack-objects.c:2948 #, c-format msgid "loose object at %s could not be examined" msgstr "" -#: builtin/pack-objects.c:2935 +#: builtin/pack-objects.c:3033 msgid "unable to force loose object" msgstr "" -#: builtin/pack-objects.c:3022 +#: builtin/pack-objects.c:3125 #, c-format msgid "not a rev '%s'" msgstr "" -#: builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:3128 #, c-format msgid "bad revision '%s'" msgstr "" -#: builtin/pack-objects.c:3045 +#: builtin/pack-objects.c:3153 msgid "unable to add recent objects" msgstr "" -#: builtin/pack-objects.c:3095 +#: builtin/pack-objects.c:3206 #, c-format msgid "unsupported index version %s" msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð½Ð´ÐµÐºÑа %s" -#: builtin/pack-objects.c:3099 +#: builtin/pack-objects.c:3210 #, c-format msgid "bad index version '%s'" msgstr "Ð¿Ð»Ð¾Ñ…Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð½Ð´ÐµÐºÑа «%s»" -#: builtin/pack-objects.c:3130 +#: builtin/pack-objects.c:3240 msgid "do not show progress meter" msgstr "не выводить прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: builtin/pack-objects.c:3132 +#: builtin/pack-objects.c:3242 msgid "show progress meter" msgstr "показать прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: builtin/pack-objects.c:3134 +#: builtin/pack-objects.c:3244 msgid "show progress meter during object writing phase" msgstr "показать прогреÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸Ñи объектов" -#: builtin/pack-objects.c:3137 +#: builtin/pack-objects.c:3247 msgid "similar to --all-progress when progress meter is shown" msgstr "похоже на --all-progress при включенном прогреÑÑе выполнениÑ" -#: builtin/pack-objects.c:3138 +#: builtin/pack-objects.c:3248 msgid "<version>[,<offset>]" msgstr "" -#: builtin/pack-objects.c:3139 +#: builtin/pack-objects.c:3249 msgid "write the pack index file in the specified idx format version" msgstr "запиÑать файл индекÑа пакета в указанной верÑии формата" -#: builtin/pack-objects.c:3142 +#: builtin/pack-objects.c:3252 msgid "maximum size of each output pack file" msgstr "макÑимальный размер каждого выходного файла пакета" -#: builtin/pack-objects.c:3144 +#: builtin/pack-objects.c:3254 msgid "ignore borrowed objects from alternate object store" msgstr "игнорировать чужие объекты, взÑтые из альтернативного хранилища объектов" -#: builtin/pack-objects.c:3146 +#: builtin/pack-objects.c:3256 msgid "ignore packed objects" msgstr "игнорировать упакованные объекты" -#: builtin/pack-objects.c:3148 +#: builtin/pack-objects.c:3258 msgid "limit pack window by objects" msgstr "ограничить окно пакета по количеÑтву объектов" -#: builtin/pack-objects.c:3150 +#: builtin/pack-objects.c:3260 msgid "limit pack window by memory in addition to object limit" msgstr "дополнительно к количеÑтву объектов ограничить окно пакета по памÑти" -#: builtin/pack-objects.c:3152 +#: builtin/pack-objects.c:3262 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° цепочки дельт в результирующем пакете" -#: builtin/pack-objects.c:3154 +#: builtin/pack-objects.c:3264 msgid "reuse existing deltas" msgstr "иÑпользовать повторно ÑущеÑтвующие дельты" -#: builtin/pack-objects.c:3156 +#: builtin/pack-objects.c:3266 msgid "reuse existing objects" msgstr "иÑпользовать повторно ÑущеÑтвующие объекты" -#: builtin/pack-objects.c:3158 +#: builtin/pack-objects.c:3268 msgid "use OFS_DELTA objects" msgstr "иÑпользовать объекты OFS_DELTA" -#: builtin/pack-objects.c:3160 +#: builtin/pack-objects.c:3270 msgid "use threads when searching for best delta matches" msgstr "иÑпользовать многопоточноÑть при поиÑке лучших Ñовпадений дельт" -#: builtin/pack-objects.c:3162 +#: builtin/pack-objects.c:3272 msgid "do not create an empty pack output" msgstr "не Ñоздавать пуÑтые выходные пакеты" -#: builtin/pack-objects.c:3164 +#: builtin/pack-objects.c:3274 msgid "read revision arguments from standard input" msgstr "прочитать аргументы редакций из Ñтандартного ввода" -#: builtin/pack-objects.c:3166 +#: builtin/pack-objects.c:3276 msgid "limit the objects to those that are not yet packed" msgstr "ограничитьÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸, которые еще не упакованы" -#: builtin/pack-objects.c:3169 +#: builtin/pack-objects.c:3279 msgid "include objects reachable from any reference" msgstr "включить объекты, которые доÑтижимы по любой из ÑÑылок" -#: builtin/pack-objects.c:3172 +#: builtin/pack-objects.c:3282 msgid "include objects referred by reflog entries" msgstr "включить объекты, на которые ÑÑылаютÑÑ Ð·Ð°Ð¿Ð¸Ñи журнала ÑÑылок" -#: builtin/pack-objects.c:3175 +#: builtin/pack-objects.c:3285 msgid "include objects referred to by the index" msgstr "включить объекты, на которые ÑÑылаетÑÑ Ð¸Ð½Ð´ÐµÐºÑ" -#: builtin/pack-objects.c:3178 +#: builtin/pack-objects.c:3288 msgid "output pack to stdout" msgstr "вывеÑти пакет на Ñтандартный вывод" -#: builtin/pack-objects.c:3180 +#: builtin/pack-objects.c:3290 msgid "include tag objects that refer to objects to be packed" msgstr "включить объекты меток, которые ÑÑылаютÑÑ Ð½Ð° упаковываемые объекты" -#: builtin/pack-objects.c:3182 +#: builtin/pack-objects.c:3292 msgid "keep unreachable objects" msgstr "ÑохранÑть ÑÑылки на недоÑтупные объекты" -#: builtin/pack-objects.c:3184 +#: builtin/pack-objects.c:3294 msgid "pack loose unreachable objects" msgstr "паковать недоÑтижимые объекты" -#: builtin/pack-objects.c:3186 +#: builtin/pack-objects.c:3296 msgid "unpack unreachable objects newer than <time>" msgstr "раÑпаковать недоÑтупные объекты, которые новее, чем <времÑ>" -#: builtin/pack-objects.c:3189 +#: builtin/pack-objects.c:3299 +msgid "use the sparse reachability algorithm" +msgstr "" + +#: builtin/pack-objects.c:3301 msgid "create thin packs" msgstr "Ñоздавать тонкие пакеты" -#: builtin/pack-objects.c:3191 +#: builtin/pack-objects.c:3303 msgid "create packs suitable for shallow fetches" msgstr "Ñоздавать пакеты, подходÑщие Ð´Ð»Ñ Ñ‡Ð°Ñтичных извлечений" -#: builtin/pack-objects.c:3193 +#: builtin/pack-objects.c:3305 msgid "ignore packs that have companion .keep file" msgstr "игнорировать пакеты, Ñ€Ñдом Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ лежит .keep файл" -#: builtin/pack-objects.c:3195 +#: builtin/pack-objects.c:3307 msgid "ignore this pack" msgstr "игнорировать Ñтот пакет" -#: builtin/pack-objects.c:3197 +#: builtin/pack-objects.c:3309 msgid "pack compression level" msgstr "уровень ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð°" -#: builtin/pack-objects.c:3199 +#: builtin/pack-objects.c:3311 msgid "do not hide commits by grafts" msgstr "не Ñкрывать коммиты ÑращениÑми" -#: builtin/pack-objects.c:3201 +#: builtin/pack-objects.c:3313 msgid "use a bitmap index if available to speed up counting objects" msgstr "по возможноÑти иÑпользовать Ð¸Ð½Ð´ÐµÐºÑ Ð² битовых картах, Ð´Ð»Ñ ÑƒÑÐºÐ¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñчета объектов" -#: builtin/pack-objects.c:3203 +#: builtin/pack-objects.c:3315 msgid "write a bitmap index together with the pack index" msgstr "запиÑÑŒ индекÑа в битовых картах вмеÑте Ñ Ð¸Ð½Ð´ÐµÐºÑом пакета" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3318 msgid "handling for missing objects" msgstr "обработка отÑутÑтвующих объектов" -#: builtin/pack-objects.c:3209 +#: builtin/pack-objects.c:3321 msgid "do not pack objects in promisor packfiles" msgstr "не упаковывать объекты в promisor файлы пакетов" -#: builtin/pack-objects.c:3233 +#: builtin/pack-objects.c:3323 +msgid "respect islands during delta compression" +msgstr "" + +#: builtin/pack-objects.c:3348 #, c-format msgid "delta chain depth %d is too deep, forcing %d" -msgstr "глубина цепочки различий %d Ñлишком большаÑ, иÑпользую принудительно %d" +msgstr "глубина цепочки изменений %d Ñлишком большаÑ, иÑпользую принудительно %d" -#: builtin/pack-objects.c:3238 +#: builtin/pack-objects.c:3353 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "лиÑит pack.deltaCacheLimit Ñлишком выÑокий, иÑпользую принудительно %d" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3407 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3409 msgid "minimum pack size limit is 1 MiB" msgstr "" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3414 msgid "--thin cannot be used to build an indexable pack" msgstr "" -#: builtin/pack-objects.c:3304 +#: builtin/pack-objects.c:3417 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "" -#: builtin/pack-objects.c:3310 +#: builtin/pack-objects.c:3423 msgid "cannot use --filter without --stdout" msgstr "" -#: builtin/pack-objects.c:3366 +#: builtin/pack-objects.c:3484 msgid "Enumerating objects" msgstr "ПеречиÑление объектов" -#: builtin/pack-objects.c:3385 +#: builtin/pack-objects.c:3514 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "Ð’Ñего %<PRIu32> (Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %<PRIu32>), повторно иÑпользовано %<PRIu32> (Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %<PRIu32>)" -#: builtin/pack-refs.c:7 +#: builtin/pack-refs.c:8 msgid "git pack-refs [<options>]" msgstr "git pack-refs [<опции>]" -#: builtin/pack-refs.c:15 +#: builtin/pack-refs.c:16 msgid "pack everything" msgstr "паковать вÑÑ‘" -#: builtin/pack-refs.c:16 +#: builtin/pack-refs.c:17 msgid "prune loose refs (default)" msgstr "почиÑтить Ñлабые ÑÑылки (по умолчанию)" @@ -12954,84 +15111,88 @@ msgstr "Удаление дублирующихÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð²" #: builtin/prune.c:12 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]" -msgstr "git prune [-n] [-v] [--progress] [--expire <времÑ>] [--] [<ветка>…]" +msgstr "git prune [-n] [-v] [--progress] [--expire <времÑ>] [--] [<редакциÑ>…]" -#: builtin/prune.c:109 +#: builtin/prune.c:131 msgid "report pruned objects" msgstr "вывеÑти ÑпиÑок удаленных объектов" -#: builtin/prune.c:112 +#: builtin/prune.c:134 msgid "expire objects older than <time>" msgstr "удалить объекты Ñтарее чем <дата-окончаниÑ>" -#: builtin/prune.c:114 +#: builtin/prune.c:136 msgid "limit traversal to objects outside promisor packfiles" msgstr "ограничить обход объектами вне promisor файлов пакетов" -#: builtin/prune.c:128 +#: builtin/prune.c:150 msgid "cannot prune in a precious-objects repo" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ð¾Ñ‡Ð¸Ñтить неиÑпользуемые объекты в precious-objects репозитории" -#: builtin/pull.c:59 builtin/pull.c:61 +#: builtin/pull.c:66 builtin/pull.c:68 #, c-format msgid "Invalid value for %s: %s" msgstr "Ðеправильное значение %s: %s" -#: builtin/pull.c:81 +#: builtin/pull.c:88 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<опции>] [<репозиторий> [<Ñпецификатор-ÑÑылки>…]]" -#: builtin/pull.c:132 +#: builtin/pull.c:140 msgid "control for recursive fetching of submodules" msgstr "управление рекурÑивным извлечением подмодулей" -#: builtin/pull.c:136 +#: builtin/pull.c:144 msgid "Options related to merging" msgstr "Опции, ÑвÑзанные Ñо ÑлиÑнием" -#: builtin/pull.c:139 +#: builtin/pull.c:147 msgid "incorporate changes by rebasing rather than merging" msgstr "забрать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ перемещениÑ, а не ÑлиÑниÑ" -#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:122 +#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 msgid "allow fast-forward" msgstr "разрешить перемотку вперед" -#: builtin/pull.c:175 +#: builtin/pull.c:184 msgid "automatically stash/stash pop before and after rebase" msgstr "автоматичеÑки выполнÑть stash/stash pop до и поÑле перемещениÑ" -#: builtin/pull.c:191 +#: builtin/pull.c:200 msgid "Options related to fetching" msgstr "Опции, ÑвÑзанные Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸ÐµÐ¼ изменений" -#: builtin/pull.c:209 +#: builtin/pull.c:210 +msgid "force overwrite of local branch" +msgstr "Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸ÑÑŒ локальной ветки" + +#: builtin/pull.c:218 msgid "number of submodules pulled in parallel" msgstr "количеÑтво подмодулей, которые будут получены парралельно" -#: builtin/pull.c:304 +#: builtin/pull.c:313 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Ðеправильное значение Ð´Ð»Ñ pull.ff: %s" -#: builtin/pull.c:420 +#: builtin/pull.c:430 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "Ðет претендентов Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñреди ÑÑылок, которые вы только что получили." -#: builtin/pull.c:422 +#: builtin/pull.c:432 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "Ðет претендентов Ð´Ð»Ñ ÑлиÑÐ½Ð¸Ñ Ñреди ÑÑылок, которые вы только что получили." -#: builtin/pull.c:423 +#: builtin/pull.c:433 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." msgstr "Обычно Ñто означает, что вы передали Ñпецификацию ÑÑылки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ шаблона и Ñтот шаблон ни Ñ Ñ‡ÐµÐ¼ не Ñовпал на внешнем репозитории." -#: builtin/pull.c:426 +#: builtin/pull.c:436 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -13039,69 +15200,74 @@ msgid "" "for your current branch, you must specify a branch on the command line." msgstr "Ð’Ñ‹ попроÑили получить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñо внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Â«%s», но не указали ветку. Так как Ñто не репозиторий по умолчанию Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ текущей ветки, вы должны указать ветку в командной Ñтроке." -#: builtin/pull.c:431 git-parse-remote.sh:73 +#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð¸ на одной из веток." -#: builtin/pull.c:433 builtin/pull.c:448 git-parse-remote.sh:79 +#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "ПожалуйÑта, укажите на какую ветку вы хотите перемеÑтить изменениÑ." -#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:82 +#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "ПожалуйÑта, укажите Ñ ÐºÐ°ÐºÐ¾Ð¹ веткой вы хотите Ñлить изменениÑ." -#: builtin/pull.c:436 builtin/pull.c:451 +#: builtin/pull.c:446 builtin/pull.c:461 msgid "See git-pull(1) for details." msgstr "Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации, Ñмотрите git-pull(1)." -#: builtin/pull.c:438 builtin/pull.c:444 builtin/pull.c:453 -#: git-parse-remote.sh:64 +#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 +#: builtin/rebase.c:1327 git-parse-remote.sh:64 msgid "<remote>" msgstr "<внешний-репозиторий>" -#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:576 +#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<ветка>" -#: builtin/pull.c:446 git-parse-remote.sh:75 +#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "У текущей ветки нет информации об отÑлеживании." -#: builtin/pull.c:455 git-parse-remote.sh:95 +#: builtin/pull.c:465 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "ЕÑли вы хотите указать информацию о отÑлеживаемой ветке, выполните:" -#: builtin/pull.c:460 +#: builtin/pull.c:470 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" "from the remote, but no such ref was fetched." msgstr "Ваша ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, что нужно Ñлить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñо ÑÑылкой\n«%s» из внешнего репозиториÑ, но Ñ‚Ð°ÐºÐ°Ñ ÑÑылка не была получена." -#: builtin/pull.c:829 +#: builtin/pull.c:574 +#, c-format +msgid "unable to access commit %s" +msgstr "" + +#: builtin/pull.c:854 msgid "ignoring --verify-signatures for rebase" msgstr "игнорирование --verify-signatures при перемещении" -#: builtin/pull.c:877 +#: builtin/pull.c:909 msgid "--[no-]autostash option is only valid with --rebase." msgstr "--[no-]autostash можно иÑпользовать только вмеÑте Ñ --rebase." -#: builtin/pull.c:885 +#: builtin/pull.c:917 msgid "Updating an unborn branch with changes added to the index." msgstr "Обновление еще не начавшейÑÑ Ð²ÐµÑ‚ÐºÐ¸ Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñми, добавленными в индекÑ." -#: builtin/pull.c:888 +#: builtin/pull.c:921 msgid "pull with rebase" msgstr "получение Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼" -#: builtin/pull.c:889 +#: builtin/pull.c:922 msgid "please commit or stash them." msgstr "Ñделайте коммит или ÑпрÑчьте их." -#: builtin/pull.c:914 +#: builtin/pull.c:947 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -13109,7 +15275,7 @@ msgid "" "commit %s." msgstr "извлечение обновило указатель на вашу текущую ветку.\nперемотка вашего рабочего каталога\nÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° %s." -#: builtin/pull.c:919 +#: builtin/pull.c:953 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -13120,15 +15286,15 @@ msgid "" "to recover." msgstr "Ðе удалоÑÑŒ перемотать вперёд Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² вашем рабочем каталоге.\nПоÑле того, как вы убедитеÑÑŒ, что вы Ñохранили вÑÑ‘ необходимое из вывода\n$ git diff %s\n, запуÑтите\n$ git reset --hard\nÐ´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñходного ÑоÑтоÑниÑ." -#: builtin/pull.c:934 +#: builtin/pull.c:968 msgid "Cannot merge multiple branches into empty head." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ñлить неÑколько веток в пуÑтой указатель на ветку." -#: builtin/pull.c:938 +#: builtin/pull.c:972 msgid "Cannot rebase onto multiple branches." msgstr "Ðевозможно перемеÑтить над неÑколькими ветками." -#: builtin/pull.c:945 +#: builtin/pull.c:979 msgid "cannot rebase with locally recorded submodule modifications" msgstr "невозможно выполнить перемещение Ñ Ð·Ð°Ð¿Ð¸Ñанными локальными изменениÑми в подмодулÑÑ…" @@ -13144,13 +15310,13 @@ msgstr "указано Ñокращение tag, но не указана Ñам msgid "--delete only accepts plain target ref names" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ --delete принимает только проÑтые целевые имена ÑÑылок" -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." msgstr "\nЧтобы выбрать любую из опций на поÑтоÑнной оÑнове, Ñмотрите push.default в «git help config»." -#: builtin/push.c:168 +#: builtin/push.c:170 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -13161,11 +15327,11 @@ msgid "" "\n" "To push to the branch of the same name on the remote, use\n" "\n" -" git push %s %s\n" +" git push %s HEAD\n" "%s" -msgstr "Ð˜Ð¼Ñ Ð²Ñ‹ÑˆÐµÑтоÑщей ветки и вашей текущей ветки различаютÑÑ. Чтобы отправить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² вышеÑтоÑщую ветку на внешнем репозитории, иÑпользуйте:\n\n git push %s HEAD:%s\n\nЧтобы отправить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ветку Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же именем на внешнем репозитории, иÑпользуйте:\n\n git push %s %s\n%s" +msgstr "" -#: builtin/push.c:183 +#: builtin/push.c:185 #, c-format msgid "" "You are not currently on a branch.\n" @@ -13175,7 +15341,7 @@ msgid "" " git push %s HEAD:<name-of-remote-branch>\n" msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ находитеÑÑŒ ни на одной из веток.\nЧтобы отправить иÑторию, ведущую к текущему (отделённый HEAD) ÑоÑтоÑнию, иÑпользуйте\n\n git push %s HEAD:<имÑ-внешней-ветки>\n" -#: builtin/push.c:197 +#: builtin/push.c:199 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -13184,13 +15350,13 @@ msgid "" " git push --set-upstream %s %s\n" msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° %s не имеет вышеÑтоÑщей ветки.\nЧтобы отправить текущую ветку и уÑтановить внешнюю ветку как вышеÑтоÑщую Ð´Ð»Ñ Ñтой ветки, иÑпользуйте\n\n git push --set-upstream %s %s\n" -#: builtin/push.c:205 +#: builtin/push.c:207 #, c-format msgid "" "The current branch %s has multiple upstream branches, refusing to push." msgstr "Ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° %s имеет неÑколько вышеÑтоÑщих веток, отказ в отправке изменений." -#: builtin/push.c:208 +#: builtin/push.c:210 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -13198,11 +15364,11 @@ msgid "" "to update which remote branch." msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»Ñете Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° внешний репозиторий «%s», который не ÑвлÑетÑÑ Ð²Ñ‹ÑˆÐµÑтоÑщим Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ текущей ветки «%s», без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, что отправлÑть и в какую внешнюю ветку." -#: builtin/push.c:267 +#: builtin/push.c:269 msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "Ð’Ñ‹ не указали Ñпецификацию ÑÑылки Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸, а push.default указан как «nothing»." -#: builtin/push.c:274 +#: builtin/push.c:276 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -13210,7 +15376,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ отклонены, так как верхушка вашей текущей ветки\nпозади ее внешней чаÑти. Заберите и Ñлейте внешние Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ \n(например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git pull …») перед повторной попыткой отправки\nизменений.\nÐ”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации, Ñмотрите «Note about fast-forwards»\nв «git push --help»." -#: builtin/push.c:280 +#: builtin/push.c:282 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -13218,7 +15384,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ отклонены, так как верхушка отправлÑемой ветки\nпозади ее внешней чаÑти. ПереключитеÑÑŒ на ветку и заберите внешние\nÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git pull …») перед повторной\nпопыткой отправки изменений.\nÐ”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации, Ñмотрите «Note about fast-forwards»\nв «git push --help»." -#: builtin/push.c:286 +#: builtin/push.c:288 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -13227,33 +15393,33 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ отклонены, так как внешний репозиторий Ñодержит\nизменениÑ, которых у Ð²Ð°Ñ Ð½ÐµÑ‚ в вашем локальном репозитории.\nОбычно, Ñто ÑвÑзанно Ñ Ñ‚ÐµÐ¼, что кто-то уже отправил Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² \nто же меÑто. Перед повторной отправкой ваших изменений, вам нужно\nзабрать и Ñлить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð· внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ñебе\n(например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git pull …»).\nÐ”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации, Ñмотрите «Note about fast-forwards»\nв «git push --help»." -#: builtin/push.c:293 +#: builtin/push.c:295 msgid "Updates were rejected because the tag already exists in the remote." msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ отклонены, так как метка уже ÑущеÑтвует во внешнем репозитории." -#: builtin/push.c:296 +#: builtin/push.c:298 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" "without using the '--force' option.\n" msgstr "Ð’Ñ‹ не можете обновить внешнюю ÑÑылку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ на объект, не ÑвлÑющийÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼ или обновить внешнюю ÑÑылку так, чтобы она указывала на объект, не ÑвлÑющийÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼, без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ «--force».\n" -#: builtin/push.c:357 +#: builtin/push.c:359 #, c-format msgid "Pushing to %s\n" msgstr "Отправка в %s\n" -#: builtin/push.c:361 +#: builtin/push.c:364 #, c-format msgid "failed to push some refs to '%s'" msgstr "не удалоÑÑŒ отправить некоторые ÑÑылки в «%s»" -#: builtin/push.c:395 +#: builtin/push.c:398 #, c-format msgid "bad repository '%s'" msgstr "плохой Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Â«%s»" -#: builtin/push.c:396 +#: builtin/push.c:399 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote repository using\n" @@ -13265,104 +15431,104 @@ msgid "" " git push <name>\n" msgstr "Ðе наÑтроена точка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸.\nЛибо укажите URL Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ командной Ñтроки, либо наÑтройте внешний репозиторий Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n\n git remote add <имÑ> <адреÑ>\n\nа затем отправьте Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ имени внешнего репозиториÑ\n\n git push <имÑ>\n" -#: builtin/push.c:551 +#: builtin/push.c:554 msgid "repository" msgstr "репозиторий" -#: builtin/push.c:552 builtin/send-pack.c:164 +#: builtin/push.c:555 builtin/send-pack.c:164 msgid "push all refs" msgstr "отправить вÑе ÑÑылки" -#: builtin/push.c:553 builtin/send-pack.c:166 +#: builtin/push.c:556 builtin/send-pack.c:166 msgid "mirror all refs" msgstr "Ñделать зеркало вÑех ÑÑылок" -#: builtin/push.c:555 +#: builtin/push.c:558 msgid "delete refs" msgstr "удалить ÑÑылки" -#: builtin/push.c:556 +#: builtin/push.c:559 msgid "push tags (can't be used with --all or --mirror)" msgstr "отправить метки (Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вмеÑте Ñ --all или --mirror)" -#: builtin/push.c:559 builtin/send-pack.c:167 +#: builtin/push.c:562 builtin/send-pack.c:167 msgid "force updates" msgstr "принудительное обновление" -#: builtin/push.c:561 builtin/send-pack.c:181 +#: builtin/push.c:564 builtin/send-pack.c:181 msgid "<refname>:<expect>" msgstr "" -#: builtin/push.c:562 builtin/send-pack.c:182 +#: builtin/push.c:565 builtin/send-pack.c:182 msgid "require old value of ref to be at this value" msgstr "требовать, чтобы Ñтарое значение ÑÑылки было ожидаемым" -#: builtin/push.c:565 +#: builtin/push.c:568 msgid "control recursive pushing of submodules" msgstr "управление рекурÑивной отправкой подмодулей" -#: builtin/push.c:567 builtin/send-pack.c:175 +#: builtin/push.c:570 builtin/send-pack.c:175 msgid "use thin pack" msgstr "иÑпользовать тонкие пакеты" -#: builtin/push.c:568 builtin/push.c:569 builtin/send-pack.c:161 +#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161 #: builtin/send-pack.c:162 msgid "receive pack program" msgstr "путь к программе упаковки на Ñервере" -#: builtin/push.c:570 +#: builtin/push.c:573 msgid "set upstream for git pull/status" msgstr "уÑтановить вышеÑтоÑщую ветку Ð´Ð»Ñ git pull/status" -#: builtin/push.c:573 +#: builtin/push.c:576 msgid "prune locally removed refs" msgstr "почиÑтить локально удаленные ÑÑылки" -#: builtin/push.c:575 +#: builtin/push.c:578 msgid "bypass pre-push hook" msgstr "пропуÑтить перехватчик pre-push" -#: builtin/push.c:576 +#: builtin/push.c:579 msgid "push missing but relevant tags" msgstr "отправить пропущенные, но нужные метки" -#: builtin/push.c:579 builtin/send-pack.c:169 +#: builtin/push.c:582 builtin/send-pack.c:169 msgid "GPG sign the push" msgstr "подпиÑать отправку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" -#: builtin/push.c:581 builtin/send-pack.c:176 +#: builtin/push.c:584 builtin/send-pack.c:176 msgid "request atomic transaction on remote side" msgstr "запроÑить выполнение атомарной транзакции на внешней Ñтороне" -#: builtin/push.c:599 +#: builtin/push.c:602 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete неÑовмеÑтимо Ñ --all, --mirror и --tags" -#: builtin/push.c:601 +#: builtin/push.c:604 msgid "--delete doesn't make sense without any refs" msgstr "--delete не имеет ÑмыÑла без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑÑылок" -#: builtin/push.c:604 +#: builtin/push.c:607 msgid "--all and --tags are incompatible" msgstr "--all и --tags Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/push.c:606 +#: builtin/push.c:609 msgid "--all can't be combined with refspecs" msgstr "--all Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вмеÑте Ñо Ñпецификаторами ÑÑылок" -#: builtin/push.c:610 +#: builtin/push.c:613 msgid "--mirror and --tags are incompatible" msgstr "--mirror и --tags Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/push.c:612 +#: builtin/push.c:615 msgid "--mirror can't be combined with refspecs" msgstr "--mirror Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вмеÑте Ñо Ñпецификаторами ÑÑылок" -#: builtin/push.c:615 +#: builtin/push.c:618 msgid "--all and --mirror are incompatible" msgstr "--all и --mirror Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/push.c:634 +#: builtin/push.c:637 msgid "push options must not have new line characters" msgstr "опции Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ не должны Ñодержать Ñимволы перевода Ñтрок" @@ -13378,163 +15544,708 @@ msgstr "" msgid "git range-diff [<options>] <base> <old-tip> <new-tip>" msgstr "" -#: builtin/range-diff.c:26 +#: builtin/range-diff.c:21 msgid "Percentage by which creation is weighted" msgstr "" -#: builtin/range-diff.c:28 -msgid "color both diff and diff-between-diffs" +#: builtin/range-diff.c:23 +msgid "use simple diff colors" msgstr "" -#: builtin/range-diff.c:75 builtin/range-diff.c:79 +#: builtin/range-diff.c:46 builtin/range-diff.c:50 #, c-format msgid "no .. in range: '%s'" msgstr "" -#: builtin/range-diff.c:89 +#: builtin/range-diff.c:60 msgid "single arg format must be symmetric range" msgstr "" -#: builtin/range-diff.c:104 +#: builtin/range-diff.c:75 msgid "need two commit ranges" msgstr "" -#: builtin/read-tree.c:40 +#: builtin/read-tree.c:41 msgid "" "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>)" " [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] " "[--index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])" msgstr "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<префикÑ>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<файл>] (--empty | <указатель-дерева-1> [<указатель-дерева-2> [<указатель-дерева-3>]])" -#: builtin/read-tree.c:120 +#: builtin/read-tree.c:124 msgid "write resulting index to <file>" msgstr "запиÑать результирующий Ð¸Ð½Ð´ÐµÐºÑ Ð² <файл>" -#: builtin/read-tree.c:123 +#: builtin/read-tree.c:127 msgid "only empty the index" msgstr "проÑто очиÑтить индекÑ" -#: builtin/read-tree.c:125 +#: builtin/read-tree.c:129 msgid "Merging" msgstr "СлиÑние" -#: builtin/read-tree.c:127 +#: builtin/read-tree.c:131 msgid "perform a merge in addition to a read" msgstr "выполнить ÑлиÑние в дополнение к чтению" -#: builtin/read-tree.c:129 +#: builtin/read-tree.c:133 msgid "3-way merge if no file level merging required" msgstr "трехходовое ÑлиÑние, еÑли не требуетÑÑ ÑлиÑние на уровне файлов" -#: builtin/read-tree.c:131 +#: builtin/read-tree.c:135 msgid "3-way merge in presence of adds and removes" msgstr "трехходовое ÑлиÑние в Ñлучае приÑутÑÑ‚Ð²Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ð¹ или удалений файлов" -#: builtin/read-tree.c:133 +#: builtin/read-tree.c:137 msgid "same as -m, but discard unmerged entries" msgstr "тоже, что и -m, но отменÑет Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñлитых запиÑей" -#: builtin/read-tree.c:134 +#: builtin/read-tree.c:138 msgid "<subdirectory>/" msgstr "<подкаталог>/" -#: builtin/read-tree.c:135 +#: builtin/read-tree.c:139 msgid "read the tree into the index under <subdirectory>/" msgstr "прочитать дерево в Ð¸Ð½Ð´ÐµÐºÑ Ð² <подкаталог>/" -#: builtin/read-tree.c:138 +#: builtin/read-tree.c:142 msgid "update working tree with merge result" msgstr "обновить рабочий каталог результатом ÑлиÑниÑ" -#: builtin/read-tree.c:140 +#: builtin/read-tree.c:144 msgid "gitignore" msgstr "gitignore" -#: builtin/read-tree.c:141 +#: builtin/read-tree.c:145 msgid "allow explicitly ignored files to be overwritten" msgstr "разрешить перезапиÑÑŒ Ñвно игнорируемых файлов" -#: builtin/read-tree.c:144 +#: builtin/read-tree.c:148 msgid "don't check the working tree after merging" msgstr "не проверÑть рабочий каталог поÑле ÑлиÑниÑ" -#: builtin/read-tree.c:145 +#: builtin/read-tree.c:149 msgid "don't update the index or the work tree" msgstr "не обновлÑть Ð¸Ð½Ð´ÐµÐºÑ Ð¸Ð»Ð¸ рабочий каталог" -#: builtin/read-tree.c:147 +#: builtin/read-tree.c:151 msgid "skip applying sparse checkout filter" msgstr "пропуÑтить применение фильтра чаÑтичного Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½Ð° ÑоÑтоÑние" -#: builtin/read-tree.c:149 +#: builtin/read-tree.c:153 msgid "debug unpack-trees" msgstr "отладка unpack-trees" -#: builtin/rebase--helper.c:8 -msgid "git rebase--helper [<options>]" -msgstr "git rebase--helper [<опции>]" +#: builtin/read-tree.c:157 +msgid "suppress feedback messages" +msgstr "" + +#: builtin/rebase.c:32 +msgid "" +"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] " +"[<branch>]" +msgstr "" -#: builtin/rebase--helper.c:24 +#: builtin/rebase.c:34 +msgid "" +"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root " +"[<branch>]" +msgstr "" + +#: builtin/rebase.c:36 +msgid "git rebase --continue | --abort | --skip | --edit-todo" +msgstr "" + +#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209 +#, c-format +msgid "unusable todo list: '%s'" +msgstr "непригодный Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑпиÑок дел: «%s»" + +#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217 +#, c-format +msgid "could not write '%s'." +msgstr "" + +#: builtin/rebase.c:252 +msgid "no HEAD?" +msgstr "" + +#: builtin/rebase.c:279 +#, c-format +msgid "could not create temporary %s" +msgstr "" + +#: builtin/rebase.c:285 +msgid "could not mark as interactive" +msgstr "" + +#: builtin/rebase.c:343 +msgid "could not generate todo list" +msgstr "" + +#: builtin/rebase.c:382 +msgid "a base commit must be provided with --upstream or --onto" +msgstr "" + +#: builtin/rebase.c:437 +msgid "git rebase--interactive [<options>]" +msgstr "" + +#: builtin/rebase.c:449 msgid "keep empty commits" msgstr "оÑтавить пуÑтые коммиты" -#: builtin/rebase--helper.c:26 builtin/revert.c:124 +#: builtin/rebase.c:451 builtin/revert.c:127 msgid "allow commits with empty messages" msgstr "разрешить коммиты Ñ Ð¿ÑƒÑтыми ÑообщениÑми" -#: builtin/rebase--helper.c:27 +#: builtin/rebase.c:452 msgid "rebase merge commits" msgstr "" -#: builtin/rebase--helper.c:29 +#: builtin/rebase.c:454 msgid "keep original branch points of cousins" msgstr "" -#: builtin/rebase--helper.c:30 +#: builtin/rebase.c:456 +msgid "move commits that begin with squash!/fixup!" +msgstr "" + +#: builtin/rebase.c:457 +msgid "sign commits" +msgstr "" + +#: builtin/rebase.c:459 builtin/rebase.c:1397 +msgid "display a diffstat of what changed upstream" +msgstr "" + +#: builtin/rebase.c:461 msgid "continue rebase" msgstr "продолжить перемещение" -#: builtin/rebase--helper.c:32 -msgid "abort rebase" -msgstr "оÑтановить перемещение" +#: builtin/rebase.c:463 +msgid "skip commit" +msgstr "" -#: builtin/rebase--helper.c:35 -msgid "make rebase script" -msgstr "Ñоздать Ñценарий перемещениÑ" +#: builtin/rebase.c:464 +msgid "edit the todo list" +msgstr "" + +#: builtin/rebase.c:466 +msgid "show the current patch" +msgstr "" -#: builtin/rebase--helper.c:37 +#: builtin/rebase.c:469 msgid "shorten commit ids in the todo list" msgstr "вывеÑти короткие идентификаторы коммитов в ÑпиÑке дейÑтвий" -#: builtin/rebase--helper.c:39 +#: builtin/rebase.c:471 msgid "expand commit ids in the todo list" msgstr "вывеÑти полные идентификаторы коммитов в ÑпиÑке дейÑтвий" -#: builtin/rebase--helper.c:41 +#: builtin/rebase.c:473 msgid "check the todo list" msgstr "проверить ÑпиÑок дел" -#: builtin/rebase--helper.c:43 -msgid "skip unnecessary picks" -msgstr "пропуÑтить ненужные команды pick" - -#: builtin/rebase--helper.c:45 +#: builtin/rebase.c:475 msgid "rearrange fixup/squash lines" msgstr "переÑтавить Ñтроки fixup/squash" -#: builtin/rebase--helper.c:47 +#: builtin/rebase.c:477 msgid "insert exec commands in todo list" msgstr "вÑтавить команды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð² в ÑпиÑке дейÑтвий" -#: builtin/rebase--helper.c:68 +#: builtin/rebase.c:478 +msgid "onto" +msgstr "" + +#: builtin/rebase.c:481 +msgid "restrict-revision" +msgstr "" + +#: builtin/rebase.c:481 +msgid "restrict revision" +msgstr "" + +#: builtin/rebase.c:483 +msgid "squash-onto" +msgstr "" + +#: builtin/rebase.c:484 +msgid "squash onto" +msgstr "" + +#: builtin/rebase.c:486 +msgid "the upstream commit" +msgstr "" + +#: builtin/rebase.c:488 +msgid "head-name" +msgstr "" + +#: builtin/rebase.c:488 +msgid "head name" +msgstr "" + +#: builtin/rebase.c:493 +msgid "rebase strategy" +msgstr "" + +#: builtin/rebase.c:494 +msgid "strategy-opts" +msgstr "" + +#: builtin/rebase.c:495 +msgid "strategy options" +msgstr "" + +#: builtin/rebase.c:496 +msgid "switch-to" +msgstr "" + +#: builtin/rebase.c:497 +msgid "the branch or commit to checkout" +msgstr "" + +#: builtin/rebase.c:498 +msgid "onto-name" +msgstr "" + +#: builtin/rebase.c:498 +msgid "onto name" +msgstr "" + +#: builtin/rebase.c:499 +msgid "cmd" +msgstr "" + +#: builtin/rebase.c:499 +msgid "the command to run" +msgstr "" + +#: builtin/rebase.c:502 builtin/rebase.c:1480 +msgid "automatically re-schedule any `exec` that fails" +msgstr "" + +#: builtin/rebase.c:518 msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins не имеет ÑмыÑла без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ --rebase-merges" -#: builtin/receive-pack.c:32 +#: builtin/rebase.c:534 builtin/rebase.c:1787 +#, c-format +msgid "%s requires an interactive rebase" +msgstr "" + +#: builtin/rebase.c:586 +#, c-format +msgid "could not get 'onto': '%s'" +msgstr "" + +#: builtin/rebase.c:601 +#, c-format +msgid "invalid orig-head: '%s'" +msgstr "" + +#: builtin/rebase.c:626 +#, c-format +msgid "ignoring invalid allow_rerere_autoupdate: '%s'" +msgstr "" + +#: builtin/rebase.c:702 +#, c-format +msgid "Could not read '%s'" +msgstr "" + +#: builtin/rebase.c:720 +#, c-format +msgid "Cannot store %s" +msgstr "" + +#: builtin/rebase.c:817 +msgid "could not determine HEAD revision" +msgstr "" + +#: builtin/rebase.c:940 +msgid "" +"Resolve all conflicts manually, mark them as resolved with\n" +"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" +"You can instead skip this commit: run \"git rebase --skip\".\n" +"To abort and get back to the state before \"git rebase\", run \"git rebase --abort\"." +msgstr "Разрешите вÑе конфликты вручную, пометьте их разрешёнными Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git add/rm <конфликтующие-файлы>», а затем запуÑтите «git rebase --continue».\nЕÑли вы хотите пропуÑтить Ñтот коммит, то запуÑтите «git rebase --skip».\nЧтобы вернутьÑÑ Ð½Ð° ÑоÑтоÑние до «git rebase», запуÑтите «git rebase --abort»." + +#: builtin/rebase.c:1021 +#, c-format +msgid "" +"\n" +"git encountered an error while preparing the patches to replay\n" +"these revisions:\n" +"\n" +" %s\n" +"\n" +"As a result, git cannot rebase them." +msgstr "" + +#: builtin/rebase.c:1313 +#, c-format +msgid "" +"%s\n" +"Please specify which branch you want to rebase against.\n" +"See git-rebase(1) for details.\n" +"\n" +" git rebase '<branch>'\n" +"\n" +msgstr "" + +#: builtin/rebase.c:1329 +#, c-format +msgid "" +"If you wish to set tracking information for this branch you can do so with:\n" +"\n" +" git branch --set-upstream-to=%s/<branch> %s\n" +"\n" +msgstr "" + +#: builtin/rebase.c:1359 +msgid "exec commands cannot contain newlines" +msgstr "" + +#: builtin/rebase.c:1363 +msgid "empty exec command" +msgstr "" + +#: builtin/rebase.c:1390 +msgid "rebase onto given branch instead of upstream" +msgstr "" + +#: builtin/rebase.c:1392 +msgid "allow pre-rebase hook to run" +msgstr "" + +#: builtin/rebase.c:1394 +msgid "be quiet. implies --no-stat" +msgstr "" + +#: builtin/rebase.c:1400 +msgid "do not show diffstat of what changed upstream" +msgstr "" + +#: builtin/rebase.c:1403 +msgid "add a Signed-off-by: line to each commit" +msgstr "" + +#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +msgid "passed to 'git am'" +msgstr "" + +#: builtin/rebase.c:1413 builtin/rebase.c:1415 +msgid "passed to 'git apply'" +msgstr "" + +#: builtin/rebase.c:1417 builtin/rebase.c:1420 +msgid "cherry-pick all commits, even if unchanged" +msgstr "" + +#: builtin/rebase.c:1422 +msgid "continue" +msgstr "" + +#: builtin/rebase.c:1425 +msgid "skip current patch and continue" +msgstr "" + +#: builtin/rebase.c:1427 +msgid "abort and check out the original branch" +msgstr "" + +#: builtin/rebase.c:1430 +msgid "abort but keep HEAD where it is" +msgstr "" + +#: builtin/rebase.c:1431 +msgid "edit the todo list during an interactive rebase" +msgstr "" + +#: builtin/rebase.c:1434 +msgid "show the patch file being applied or merged" +msgstr "" + +#: builtin/rebase.c:1437 +msgid "use merging strategies to rebase" +msgstr "" + +#: builtin/rebase.c:1441 +msgid "let the user edit the list of commits to rebase" +msgstr "" + +#: builtin/rebase.c:1445 +msgid "(DEPRECATED) try to recreate merges instead of ignoring them" +msgstr "" + +#: builtin/rebase.c:1449 +msgid "preserve empty commits during rebase" +msgstr "" + +#: builtin/rebase.c:1451 +msgid "move commits that begin with squash!/fixup! under -i" +msgstr "" + +#: builtin/rebase.c:1457 +msgid "automatically stash/stash pop before and after" +msgstr "" + +#: builtin/rebase.c:1459 +msgid "add exec lines after each commit of the editable list" +msgstr "" + +#: builtin/rebase.c:1463 +msgid "allow rebasing commits with empty messages" +msgstr "" + +#: builtin/rebase.c:1466 +msgid "try to rebase merges instead of skipping them" +msgstr "" + +#: builtin/rebase.c:1469 +msgid "use 'merge-base --fork-point' to refine upstream" +msgstr "" + +#: builtin/rebase.c:1471 +msgid "use the given merge strategy" +msgstr "" + +#: builtin/rebase.c:1473 builtin/revert.c:114 +msgid "option" +msgstr "опциÑ" + +#: builtin/rebase.c:1474 +msgid "pass the argument through to the merge strategy" +msgstr "" + +#: builtin/rebase.c:1477 +msgid "rebase all reachable commits up to the root(s)" +msgstr "" + +#: builtin/rebase.c:1498 +msgid "" +"the rebase.useBuiltin support has been removed!\n" +"See its entry in 'git help config' for details." +msgstr "" + +#: builtin/rebase.c:1504 +msgid "It looks like 'git am' is in progress. Cannot rebase." +msgstr "Похоже, что выполнÑетÑÑ Â«git am». Ðевозможно выполнить перемещение." + +#: builtin/rebase.c:1545 +msgid "" +"git rebase --preserve-merges is deprecated. Use --rebase-merges instead." +msgstr "" + +#: builtin/rebase.c:1549 +msgid "No rebase in progress?" +msgstr "Ðет Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² процеÑÑе?" + +#: builtin/rebase.c:1553 +msgid "The --edit-todo action can only be used during interactive rebase." +msgstr "ДейÑтвие --edit-todo может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при интерактивном перемещении." + +#: builtin/rebase.c:1576 +msgid "Cannot read HEAD" +msgstr "Ðе удалоÑÑŒ прочитать HEAD" + +#: builtin/rebase.c:1588 +msgid "" +"You must edit all merge conflicts and then\n" +"mark them as resolved using git add" +msgstr "Ð’Ñ‹ должны отредактировать вÑе\nконфликты ÑлиÑниÑ, а потом пометить\nих как разрешенные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ git add" + +#: builtin/rebase.c:1607 +msgid "could not discard worktree changes" +msgstr "" + +#: builtin/rebase.c:1626 +#, c-format +msgid "could not move back to %s" +msgstr "" + +#: builtin/rebase.c:1637 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "не удалоÑÑŒ удалить «%s»" + +#: builtin/rebase.c:1663 +#, c-format +msgid "" +"It seems that there is already a %s directory, and\n" +"I wonder if you are in the middle of another rebase. If that is the\n" +"case, please try\n" +"\t%s\n" +"If that is not the case, please\n" +"\t%s\n" +"and run me again. I am stopping in case you still have something\n" +"valuable there.\n" +msgstr "" + +#: builtin/rebase.c:1684 +msgid "switch `C' expects a numerical value" +msgstr "" + +#: builtin/rebase.c:1725 +#, c-format +msgid "Unknown mode: %s" +msgstr "" + +#: builtin/rebase.c:1747 +msgid "--strategy requires --merge or --interactive" +msgstr "" + +#: builtin/rebase.c:1796 +msgid "cannot combine am options with either interactive or merge options" +msgstr "" + +#: builtin/rebase.c:1815 +msgid "cannot combine '--preserve-merges' with '--rebase-merges'" +msgstr "" + +#: builtin/rebase.c:1819 +msgid "" +"error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" +msgstr "" + +#: builtin/rebase.c:1825 +msgid "cannot combine '--rebase-merges' with '--strategy-option'" +msgstr "" + +#: builtin/rebase.c:1828 +msgid "cannot combine '--rebase-merges' with '--strategy'" +msgstr "" + +#: builtin/rebase.c:1852 +#, c-format +msgid "invalid upstream '%s'" +msgstr "" + +#: builtin/rebase.c:1858 +msgid "Could not create new root commit" +msgstr "" + +#: builtin/rebase.c:1876 +#, c-format +msgid "'%s': need exactly one merge base" +msgstr "" + +#: builtin/rebase.c:1883 +#, c-format +msgid "Does not point to a valid commit '%s'" +msgstr "" + +#: builtin/rebase.c:1908 +#, c-format +msgid "fatal: no such branch/commit '%s'" +msgstr "" + +#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1933 +#, c-format +msgid "No such ref: %s" +msgstr "Ðет такой ÑÑылки: %s" + +#: builtin/rebase.c:1927 +msgid "Could not resolve HEAD to a revision" +msgstr "" + +#: builtin/rebase.c:1968 +msgid "Cannot autostash" +msgstr "Ðе удалоÑÑŒ автоматичеÑки ÑпрÑтать изменениÑ" + +#: builtin/rebase.c:1971 +#, c-format +msgid "Unexpected stash response: '%s'" +msgstr "" + +#: builtin/rebase.c:1977 +#, c-format +msgid "Could not create directory for '%s'" +msgstr "" + +#: builtin/rebase.c:1980 +#, c-format +msgid "Created autostash: %s\n" +msgstr "" + +#: builtin/rebase.c:1983 +msgid "could not reset --hard" +msgstr "" + +#: builtin/rebase.c:1984 builtin/reset.c:114 +#, c-format +msgid "HEAD is now at %s" +msgstr "HEAD ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð° %s" + +#: builtin/rebase.c:2000 +msgid "Please commit or stash them." +msgstr "Сделайте коммит или ÑпрÑчьте их." + +#: builtin/rebase.c:2027 +#, c-format +msgid "could not parse '%s'" +msgstr "" + +#: builtin/rebase.c:2040 +#, c-format +msgid "could not switch to %s" +msgstr "" + +#: builtin/rebase.c:2051 +msgid "HEAD is up to date." +msgstr "HEAD уже в актуальном ÑоÑтоÑнии." + +#: builtin/rebase.c:2053 +#, c-format +msgid "Current branch %s is up to date.\n" +msgstr "" + +#: builtin/rebase.c:2061 +msgid "HEAD is up to date, rebase forced." +msgstr "HEAD уже в актуальном ÑоÑтоÑнии, принудительное перемещение." + +#: builtin/rebase.c:2063 +#, c-format +msgid "Current branch %s is up to date, rebase forced.\n" +msgstr "" + +#: builtin/rebase.c:2071 +msgid "The pre-rebase hook refused to rebase." +msgstr "Перехватчик pre-rebase отказал в перемещении." + +#: builtin/rebase.c:2078 +#, c-format +msgid "Changes to %s:\n" +msgstr "" + +#: builtin/rebase.c:2081 +#, c-format +msgid "Changes from %s to %s:\n" +msgstr "" + +#: builtin/rebase.c:2106 +#, c-format +msgid "First, rewinding head to replay your work on top of it...\n" +msgstr "" + +#: builtin/rebase.c:2115 +msgid "Could not detach HEAD" +msgstr "" + +#: builtin/rebase.c:2124 +#, c-format +msgid "Fast-forwarded %s to %s.\n" +msgstr "" + +#: builtin/receive-pack.c:33 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <каталог-git>" -#: builtin/receive-pack.c:830 +#: builtin/receive-pack.c:833 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -13551,7 +16262,7 @@ msgid "" "'receive.denyCurrentBranch' configuration variable to 'refuse'." msgstr "По умолчанию, обновлÑть текущую ветку в репозитории Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ¹\nкопией (не голом) запрещено, так как Ñто Ñделает ÑоÑтоÑние индекÑа\nи рабочего каталога противоречивым, и вам прийдетÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ\n«git reset --hard», чтобы ÑоÑтоÑние рабочего каталога Ñнова\nÑоответÑтвовало HEAD.\n\nÐ’Ñ‹ можете уÑтановить значение опции «receive.denyCurrentBranch»\nв «ignore» или «warn» во внешнем репозитории, чтобы разрешить\nотправку в его текущую ветку; но Ñто не рекомендуетÑÑ, еÑли только\nвы не намерены обновить его рабочий каталог ÑпоÑобом подобным\nвышеопиÑанному.\n\nЧтобы пропуÑтить Ñто Ñообщение и вÑе равно оÑтавить поведение\nпо умолчанию, уÑтановите значение опции «receive.denyCurrentBranch»\nв «refuse»." -#: builtin/receive-pack.c:850 +#: builtin/receive-pack.c:853 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -13563,189 +16274,235 @@ msgid "" "To squelch this message, you can set it to 'refuse'." msgstr "По умолчанию, удаление текущей ветки запрещено, так как поÑледующий\n«git clone» не Ñможет получить никаких файлов, что приведет к путанице.\n\nÐ’Ñ‹ можете уÑтановить значение опции «receive.denyDeleteCurrent»\nв «warn» или «ignore», во внешнем репозитории, чтобы разрешить\nудаление текущей ветки Ñ Ð¸Ð»Ð¸ без предупреждающего ÑообщениÑ.\n\nЧтобы пропуÑтить Ñто Ñообщение, вы можете уÑтановить значение опции\nв «refuse»." -#: builtin/receive-pack.c:1923 +#: builtin/receive-pack.c:1940 msgid "quiet" msgstr "тихий режим" -#: builtin/receive-pack.c:1937 +#: builtin/receive-pack.c:1954 msgid "You must specify a directory." msgstr "Ð’Ñ‹ должны указать каталог." -#: builtin/reflog.c:536 builtin/reflog.c:541 +#: builtin/reflog.c:17 +msgid "" +"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] " +"[--rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all]" +" <refs>..." +msgstr "" + +#: builtin/reflog.c:22 +msgid "" +"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] " +"<refs>..." +msgstr "" + +#: builtin/reflog.c:25 +msgid "git reflog exists <ref>" +msgstr "" + +#: builtin/reflog.c:567 builtin/reflog.c:572 #, c-format msgid "'%s' is not a valid timestamp" msgstr "«%s» не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой меткой даты/времени" -#: builtin/remote.c:15 +#: builtin/reflog.c:605 +#, c-format +msgid "Marking reachable objects..." +msgstr "" + +#: builtin/reflog.c:643 +#, c-format +msgid "%s points nowhere!" +msgstr "" + +#: builtin/reflog.c:695 +msgid "no reflog specified to delete" +msgstr "" + +#: builtin/reflog.c:704 +#, c-format +msgid "not a reflog: %s" +msgstr "" + +#: builtin/reflog.c:709 +#, c-format +msgid "no reflog for '%s'" +msgstr "" + +#: builtin/reflog.c:755 +#, c-format +msgid "invalid ref format: %s" +msgstr "" + +#: builtin/reflog.c:764 +msgid "git reflog [ show | expire | delete | exists ]" +msgstr "" + +#: builtin/remote.c:16 msgid "git remote [-v | --verbose]" msgstr "git remote [-v | --verbose]" -#: builtin/remote.c:16 +#: builtin/remote.c:17 msgid "" "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] " "[--mirror=<fetch|push>] <name> <url>" msgstr "git remote add [-t <ветка>] [-m <маÑтер-ветка>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <имÑ> <адреÑ>" -#: builtin/remote.c:17 builtin/remote.c:37 +#: builtin/remote.c:18 builtin/remote.c:38 msgid "git remote rename <old> <new>" msgstr "git remote rename <Ñтарое-название> <новое-название>" -#: builtin/remote.c:18 builtin/remote.c:42 +#: builtin/remote.c:19 builtin/remote.c:43 msgid "git remote remove <name>" msgstr "git remote remove <имÑ>" -#: builtin/remote.c:19 builtin/remote.c:47 +#: builtin/remote.c:20 builtin/remote.c:48 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" msgstr "git remote set-head <имÑ> (-a | --auto | -d | --delete | <ветка>)" -#: builtin/remote.c:20 +#: builtin/remote.c:21 msgid "git remote [-v | --verbose] show [-n] <name>" msgstr "git remote [-v | --verbose] show [-n] <имÑ>" -#: builtin/remote.c:21 +#: builtin/remote.c:22 msgid "git remote prune [-n | --dry-run] <name>" msgstr "git remote prune [-n | --dry-run] <имÑ>" -#: builtin/remote.c:22 +#: builtin/remote.c:23 msgid "" "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]" msgstr "git remote [-v | --verbose] update [-p | --prune] [(<группа> | <имÑ-внешнего-репозиториÑ>)…]" -#: builtin/remote.c:23 +#: builtin/remote.c:24 msgid "git remote set-branches [--add] <name> <branch>..." msgstr "git remote set-branches [--add] <имÑ> <ветка>…" -#: builtin/remote.c:24 builtin/remote.c:73 +#: builtin/remote.c:25 builtin/remote.c:74 msgid "git remote get-url [--push] [--all] <name>" msgstr "git remote get-url [--push] [--all] <имÑ>" -#: builtin/remote.c:25 builtin/remote.c:78 +#: builtin/remote.c:26 builtin/remote.c:79 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]" msgstr "git remote set-url [--push] <имÑ> <новый-url> [<Ñтарый-url>]" -#: builtin/remote.c:26 builtin/remote.c:79 +#: builtin/remote.c:27 builtin/remote.c:80 msgid "git remote set-url --add <name> <newurl>" msgstr "git remote set-url --add <имÑ> <новый-url>" -#: builtin/remote.c:27 builtin/remote.c:80 +#: builtin/remote.c:28 builtin/remote.c:81 msgid "git remote set-url --delete <name> <url>" msgstr "git remote set-url --delete <имÑ> <url>" -#: builtin/remote.c:32 +#: builtin/remote.c:33 msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<опции>] <имÑ> <url>" -#: builtin/remote.c:52 +#: builtin/remote.c:53 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <имÑ> <ветка>…" -#: builtin/remote.c:53 +#: builtin/remote.c:54 msgid "git remote set-branches --add <name> <branch>..." msgstr "git remote set-branches --add <имÑ> <ветка>…" -#: builtin/remote.c:58 +#: builtin/remote.c:59 msgid "git remote show [<options>] <name>" msgstr "git remote show [<опции>] <имÑ>" -#: builtin/remote.c:63 +#: builtin/remote.c:64 msgid "git remote prune [<options>] <name>" msgstr "git remote prune [<опции>] <имÑ>" -#: builtin/remote.c:68 +#: builtin/remote.c:69 msgid "git remote update [<options>] [<group> | <remote>]..." msgstr "git remote update [<опции>] [<группа> | <имÑ-внешнего-репозиториÑ>]…" -#: builtin/remote.c:97 +#: builtin/remote.c:98 #, c-format msgid "Updating %s" msgstr "Обновление %s" -#: builtin/remote.c:129 +#: builtin/remote.c:130 msgid "" "--mirror is dangerous and deprecated; please\n" "\t use --mirror=fetch or --mirror=push instead" msgstr "ключ --mirror небезопаÑен и не рекомендуетÑÑ Ðº иÑпользованию;\nиÑпользуйте вмеÑто него --mirror=fetch или --mirror=push" -#: builtin/remote.c:146 +#: builtin/remote.c:147 #, c-format msgid "unknown mirror argument: %s" msgstr "неизвеÑтный аргумент Ð´Ð»Ñ mirror: %s" -#: builtin/remote.c:162 +#: builtin/remote.c:163 msgid "fetch the remote branches" msgstr "извлечь внешние ветки" -#: builtin/remote.c:164 +#: builtin/remote.c:165 msgid "import all tags and associated objects when fetching" msgstr "импортировать вÑе метки и аÑÑоциированные объекты при извлечении" -#: builtin/remote.c:167 +#: builtin/remote.c:168 msgid "or do not fetch any tag at all (--no-tags)" msgstr "или не извлекать метки вообще (--no-tags)" -#: builtin/remote.c:169 +#: builtin/remote.c:170 msgid "branch(es) to track" msgstr "отÑлеживаемые ветки" -#: builtin/remote.c:170 +#: builtin/remote.c:171 msgid "master branch" msgstr "маÑтер ветка" -#: builtin/remote.c:171 -msgid "push|fetch" -msgstr "push|fetch" - -#: builtin/remote.c:172 +#: builtin/remote.c:173 msgid "set up remote as a mirror to push to or fetch from" msgstr "наÑтроить внешний репозиторий как зеркало Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ или Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹" -#: builtin/remote.c:184 +#: builtin/remote.c:185 msgid "specifying a master branch makes no sense with --mirror" msgstr "указание маÑтер ветки не имеет ÑмыÑла Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --mirror" -#: builtin/remote.c:186 +#: builtin/remote.c:187 msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "указание отÑлеживаемых веток имеет ÑмыÑл только при зеркальном извлечении" -#: builtin/remote.c:193 builtin/remote.c:635 +#: builtin/remote.c:194 builtin/remote.c:636 #, c-format msgid "remote %s already exists." msgstr "внешний репозиторий %s уже ÑущеÑтвует" -#: builtin/remote.c:197 builtin/remote.c:639 +#: builtin/remote.c:198 builtin/remote.c:640 #, c-format msgid "'%s' is not a valid remote name" msgstr "«%s» не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым именем внешнего репозиториÑ." -#: builtin/remote.c:237 +#: builtin/remote.c:238 #, c-format msgid "Could not setup master '%s'" msgstr "Ðе удалоÑÑŒ наÑтроить маÑтер ветку «%s»" -#: builtin/remote.c:343 +#: builtin/remote.c:344 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "Ðе удалоÑÑŒ извлечь карту Ð´Ð»Ñ Ñпецификатора ÑÑылки %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:443 builtin/remote.c:451 msgid "(matching)" msgstr "(ÑоответÑтвующаÑ)" -#: builtin/remote.c:454 +#: builtin/remote.c:455 msgid "(delete)" msgstr "(удаленнаÑ)" -#: builtin/remote.c:628 builtin/remote.c:764 builtin/remote.c:863 +#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864 #, c-format -msgid "No such remote: %s" -msgstr "Ðет такого внешнего репозиториÑ: %s" +msgid "No such remote: '%s'" +msgstr "" -#: builtin/remote.c:645 +#: builtin/remote.c:646 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "Ðе удалоÑÑŒ переименовать Ñекцию конфигурации Ñ Â«%s» на «%s»" -#: builtin/remote.c:665 +#: builtin/remote.c:666 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -13753,17 +16510,17 @@ msgid "" "\tPlease update the configuration manually if necessary." msgstr "Ðе обновлÑÑŽ неÑтандартную Ñпецификатор ÑÑылки Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ\n\t%s\n\tПожалуйÑта, еÑли требуетÑÑ, обновите конфигурацию вручную." -#: builtin/remote.c:701 +#: builtin/remote.c:702 #, c-format msgid "deleting '%s' failed" msgstr "не удалоÑÑŒ удалить «%s»" -#: builtin/remote.c:735 +#: builtin/remote.c:736 #, c-format msgid "creating '%s' failed" msgstr "не удалоÑÑŒ Ñоздать «%s»" -#: builtin/remote.c:801 +#: builtin/remote.c:802 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -13775,148 +16532,148 @@ msgstr[1] "Примечание: Ðекоторые ветки вне иерар msgstr[2] "Примечание: Ðекоторые ветки вне иерархии refs/remotes/ не будут удалены;\nчтобы удалить их, иÑпользуйте:" msgstr[3] "Примечание: Ðекоторые ветки вне иерархии refs/remotes/ не будут удалены;\nчтобы удалить их, иÑпользуйте:" -#: builtin/remote.c:815 +#: builtin/remote.c:816 #, c-format msgid "Could not remove config section '%s'" msgstr "Ðе удалоÑÑŒ удалить Ñекцию файла конфигурации «%s»" -#: builtin/remote.c:916 +#: builtin/remote.c:917 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " Ð½Ð¾Ð²Ð°Ñ (Ñледующее извлечение Ñохранит ее в remotes/%s)" -#: builtin/remote.c:919 +#: builtin/remote.c:920 msgid " tracked" msgstr " отÑлеживаетÑÑ" -#: builtin/remote.c:921 +#: builtin/remote.c:922 msgid " stale (use 'git remote prune' to remove)" msgstr " недейÑтвительна (иÑпользуйте «git remote prune», чтобы удалить)" -#: builtin/remote.c:923 +#: builtin/remote.c:924 msgid " ???" msgstr " ???" -#: builtin/remote.c:964 +#: builtin/remote.c:965 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "неправильный параметр конфигурации branch.%s.merge; невозможно перемеÑтить более чем над 1 веткой" -#: builtin/remote.c:973 +#: builtin/remote.c:974 #, c-format msgid "rebases interactively onto remote %s" msgstr "перемещаетÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾ над внешней веткой %s" -#: builtin/remote.c:975 +#: builtin/remote.c:976 #, c-format msgid "rebases interactively (with merges) onto remote %s" msgstr "" -#: builtin/remote.c:978 +#: builtin/remote.c:979 #, c-format msgid "rebases onto remote %s" msgstr "перемещаетÑÑ Ð½Ð°Ð´ внешней веткой %s" -#: builtin/remote.c:982 +#: builtin/remote.c:983 #, c-format msgid " merges with remote %s" msgstr " будет Ñлита Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ веткой %s" -#: builtin/remote.c:985 +#: builtin/remote.c:986 #, c-format msgid "merges with remote %s" msgstr "будет Ñлита Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ веткой %s" -#: builtin/remote.c:988 +#: builtin/remote.c:989 #, c-format msgid "%-*s and with remote %s\n" msgstr "%-*s и Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ веткой %s\n" -#: builtin/remote.c:1031 +#: builtin/remote.c:1032 msgid "create" msgstr "Ñоздана" -#: builtin/remote.c:1034 +#: builtin/remote.c:1035 msgid "delete" msgstr "удалена" -#: builtin/remote.c:1038 +#: builtin/remote.c:1039 msgid "up to date" msgstr "уже актуальна" -#: builtin/remote.c:1041 +#: builtin/remote.c:1042 msgid "fast-forwardable" msgstr "возможна перемотка вперед" -#: builtin/remote.c:1044 +#: builtin/remote.c:1045 msgid "local out of date" msgstr "Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° уÑтарела" -#: builtin/remote.c:1051 +#: builtin/remote.c:1052 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s будет принудительно отправлена в %-*s (%s)" -#: builtin/remote.c:1054 +#: builtin/remote.c:1055 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s будет отправлена в %-*s (%s)" -#: builtin/remote.c:1058 +#: builtin/remote.c:1059 #, c-format msgid " %-*s forces to %s" msgstr " %-*s будет принудительно отправлена в %s" -#: builtin/remote.c:1061 +#: builtin/remote.c:1062 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s будет отправлена в %s" -#: builtin/remote.c:1129 +#: builtin/remote.c:1130 msgid "do not query remotes" msgstr "не опрашивать внешние репозитории" -#: builtin/remote.c:1156 +#: builtin/remote.c:1157 #, c-format msgid "* remote %s" msgstr "* внешний репозиторий %s" -#: builtin/remote.c:1157 +#: builtin/remote.c:1158 #, c-format msgid " Fetch URL: %s" msgstr " URL Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ: %s" -#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313 +#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314 msgid "(no URL)" msgstr "(нет URL)" #. TRANSLATORS: the colon ':' should align #. with the one in " Fetch URL: %s" #. translation. -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1173 builtin/remote.c:1175 #, c-format msgid " Push URL: %s" msgstr " URL Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181 #, c-format msgid " HEAD branch: %s" msgstr " HEAD ветка: %s" -#: builtin/remote.c:1176 +#: builtin/remote.c:1177 msgid "(not queried)" msgstr "(не запрашивалÑÑ)" -#: builtin/remote.c:1178 +#: builtin/remote.c:1179 msgid "(unknown)" msgstr "(неизвеÑтно)" -#: builtin/remote.c:1182 +#: builtin/remote.c:1183 #, c-format msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " HEAD ветка (HEAD внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ñ‹Ð¹, может быть одним из):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1195 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" @@ -13925,11 +16682,11 @@ msgstr[1] " Внешние ветки:%s" msgstr[2] " Внешние ветки:%s" msgstr[3] " Внешние ветки:%s" -#: builtin/remote.c:1197 builtin/remote.c:1223 +#: builtin/remote.c:1198 builtin/remote.c:1224 msgid " (status not queried)" msgstr " (ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ðµ запрашивалÑÑ)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1207 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ‚ÐºÐ°, наÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Â«git pull»:" @@ -13937,11 +16694,11 @@ msgstr[1] " Локальные ветки, наÑтроенные Ð´Ð»Ñ Â«git msgstr[2] " Локальные ветки, наÑтроенные Ð´Ð»Ñ Â«git pull»:" msgstr[3] " Локальные ветки, наÑтроенные Ð´Ð»Ñ Â«git pull»:" -#: builtin/remote.c:1214 +#: builtin/remote.c:1215 msgid " Local refs will be mirrored by 'git push'" msgstr " Локальные ÑÑылки, зеркалируемые Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git push»" -#: builtin/remote.c:1220 +#: builtin/remote.c:1221 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" @@ -13950,231 +16707,263 @@ msgstr[1] " Локальные ÑÑылки, наÑтроенные Ð´Ð»Ñ Â«gi msgstr[2] " Локальные ÑÑылки, наÑтроенные Ð´Ð»Ñ Â«git push»%s:" msgstr[3] " Локальные ÑÑылки, наÑтроенные Ð´Ð»Ñ Â«git push»%s:" -#: builtin/remote.c:1241 +#: builtin/remote.c:1242 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "уÑтановить refs/remotes/<имÑ>/HEAD в завиÑимоÑти от внешнего репозиториÑ" -#: builtin/remote.c:1243 +#: builtin/remote.c:1244 msgid "delete refs/remotes/<name>/HEAD" msgstr "удалить refs/remotes/<имÑ>/HEAD" -#: builtin/remote.c:1258 +#: builtin/remote.c:1259 msgid "Cannot determine remote HEAD" msgstr "Ðе удалоÑÑŒ определить внешний HEAD" -#: builtin/remote.c:1260 +#: builtin/remote.c:1261 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "ÐеÑколько внешних HEAD веток. Укажите Ñвно одну из них:" -#: builtin/remote.c:1270 +#: builtin/remote.c:1271 #, c-format msgid "Could not delete %s" msgstr "Ðе удалоÑÑŒ удалить %s" -#: builtin/remote.c:1278 +#: builtin/remote.c:1279 #, c-format msgid "Not a valid ref: %s" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ ÑÑылка: %s" -#: builtin/remote.c:1280 +#: builtin/remote.c:1281 #, c-format msgid "Could not setup %s" msgstr "Ðе удалоÑÑŒ наÑтроить %s" -#: builtin/remote.c:1298 +#: builtin/remote.c:1299 #, c-format msgid " %s will become dangling!" msgstr " %s будет виÑÑщей веткой!" -#: builtin/remote.c:1299 +#: builtin/remote.c:1300 #, c-format msgid " %s has become dangling!" msgstr " %s Ñтала виÑÑщей веткой!" -#: builtin/remote.c:1309 +#: builtin/remote.c:1310 #, c-format msgid "Pruning %s" msgstr "ОчиÑтка %s" -#: builtin/remote.c:1310 +#: builtin/remote.c:1311 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1326 +#: builtin/remote.c:1327 #, c-format msgid " * [would prune] %s" msgstr " * [будет удалена] %s" -#: builtin/remote.c:1329 +#: builtin/remote.c:1330 #, c-format msgid " * [pruned] %s" msgstr " * [удалена] %s" -#: builtin/remote.c:1374 +#: builtin/remote.c:1375 msgid "prune remotes after fetching" msgstr "почиÑтить внешние репозитории поÑле извлечениÑ" -#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559 +#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560 #, c-format msgid "No such remote '%s'" msgstr "Ðет такого внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Â«%s»" -#: builtin/remote.c:1453 +#: builtin/remote.c:1454 msgid "add branch" msgstr "добавить ветку" -#: builtin/remote.c:1460 +#: builtin/remote.c:1461 msgid "no remote specified" msgstr "не указан внешний репозиторий" -#: builtin/remote.c:1477 +#: builtin/remote.c:1478 msgid "query push URLs rather than fetch URLs" msgstr "запроÑить URL отправки, вмеÑто URL извлечениÑ" -#: builtin/remote.c:1479 +#: builtin/remote.c:1480 msgid "return all URLs" msgstr "вернуть вÑе URL" -#: builtin/remote.c:1507 +#: builtin/remote.c:1508 #, c-format msgid "no URLs configured for remote '%s'" msgstr "URL не наÑтроены Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Â«%s»" -#: builtin/remote.c:1533 +#: builtin/remote.c:1534 msgid "manipulate push URLs" msgstr "управление URL отправки" -#: builtin/remote.c:1535 +#: builtin/remote.c:1536 msgid "add URL" msgstr "добавить URL" -#: builtin/remote.c:1537 +#: builtin/remote.c:1538 msgid "delete URLs" msgstr "удалить URL" -#: builtin/remote.c:1544 +#: builtin/remote.c:1545 msgid "--add --delete doesn't make sense" msgstr "--add Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ --delete" -#: builtin/remote.c:1583 +#: builtin/remote.c:1584 #, c-format msgid "Invalid old URL pattern: %s" msgstr "Ðеправильный шаблон Ñтарого URL: %s" -#: builtin/remote.c:1591 +#: builtin/remote.c:1592 #, c-format msgid "No such URL found: %s" msgstr "Ðе найдены ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ URL: %s" -#: builtin/remote.c:1593 +#: builtin/remote.c:1594 msgid "Will not delete all non-push URLs" msgstr "ÐÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ вÑе URL не-отправки" -#: builtin/remote.c:1609 +#: builtin/remote.c:1610 msgid "be verbose; must be placed before a subcommand" msgstr "быть многоÑловнее; должно ÑтоÑть перед подкомандой" -#: builtin/remote.c:1640 +#: builtin/remote.c:1641 #, c-format msgid "Unknown subcommand: %s" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð´ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: %s" -#: builtin/repack.c:20 +#: builtin/repack.c:22 msgid "git repack [<options>]" msgstr "git repack [<опции>]" -#: builtin/repack.c:25 +#: builtin/repack.c:27 msgid "" "Incremental repacks are incompatible with bitmap indexes. Use\n" "--no-write-bitmap-index or disable the pack.writebitmaps configuration." msgstr "Инкрементальные перепаковки не ÑовмеÑтимы Ñ Ð¸Ð½Ð´ÐµÐºÑами в битовых картах. ИÑпользуйте опцию --no-write-bitmap-index или отключите параметр конфигурации pack.writebitmaps." -#: builtin/repack.c:287 +#: builtin/repack.c:200 +msgid "could not start pack-objects to repack promisor objects" +msgstr "" + +#: builtin/repack.c:239 builtin/repack.c:414 +msgid "repack: Expecting full hex object ID lines only from pack-objects." +msgstr "" + +#: builtin/repack.c:256 +msgid "could not finish pack-objects to repack promisor objects" +msgstr "" + +#: builtin/repack.c:294 msgid "pack everything in a single pack" msgstr "упаковать вÑÑ‘ в один пакет" -#: builtin/repack.c:289 +#: builtin/repack.c:296 msgid "same as -a, and turn unreachable objects loose" msgstr "тоже, что и -a, но дополнительно отброÑить недоÑтижимые объекты" -#: builtin/repack.c:292 +#: builtin/repack.c:299 msgid "remove redundant packs, and run git-prune-packed" msgstr "удалите лишние пакеты и запуÑтите git-prune-packed" -#: builtin/repack.c:294 +#: builtin/repack.c:301 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "передать опцию --no-reuse-delta в git-pack-objects" -#: builtin/repack.c:296 +#: builtin/repack.c:303 msgid "pass --no-reuse-object to git-pack-objects" msgstr "передать опцию --no-reuse-object в git-pack-objects" -#: builtin/repack.c:298 +#: builtin/repack.c:305 msgid "do not run git-update-server-info" msgstr "не запуÑкать git-update-server-info" -#: builtin/repack.c:301 +#: builtin/repack.c:308 msgid "pass --local to git-pack-objects" msgstr "передать опцию --local в git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:310 msgid "write bitmap index" msgstr "запиÑÑŒ индекÑа в битовых картах" -#: builtin/repack.c:304 +#: builtin/repack.c:312 +msgid "pass --delta-islands to git-pack-objects" +msgstr "" + +#: builtin/repack.c:313 msgid "approxidate" msgstr "примернаÑ-дата" -#: builtin/repack.c:305 +#: builtin/repack.c:314 msgid "with -A, do not loosen objects older than this" msgstr "Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ -A, не отбраÑывать объекты Ñтарее, чем указано" -#: builtin/repack.c:307 +#: builtin/repack.c:316 msgid "with -a, repack unreachable objects" msgstr "Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -a, перепаковать недоÑтупные объекты" -#: builtin/repack.c:309 +#: builtin/repack.c:318 msgid "size of the window used for delta compression" msgstr "размер окна, иÑпользуемый Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ñ€ÐµÑÑии дельт" -#: builtin/repack.c:310 builtin/repack.c:316 +#: builtin/repack.c:319 builtin/repack.c:325 msgid "bytes" msgstr "количеÑтво-байт" -#: builtin/repack.c:311 +#: builtin/repack.c:320 msgid "same as the above, but limit memory size instead of entries count" msgstr "тоже, что и выше, но ограничить размер памÑти, а не количеÑтво запиÑей" -#: builtin/repack.c:313 +#: builtin/repack.c:322 msgid "limits the maximum delta depth" msgstr "ограничение на макÑимальную глубину дельт" -#: builtin/repack.c:315 +#: builtin/repack.c:324 msgid "limits the maximum number of threads" msgstr "ограничение на макÑимальное количеÑтво потоков" -#: builtin/repack.c:317 +#: builtin/repack.c:326 msgid "maximum size of each packfile" msgstr "макÑимальный размер каждого из файлов пакета" -#: builtin/repack.c:319 +#: builtin/repack.c:328 msgid "repack objects in packs marked with .keep" msgstr "переупаковать объекты в пакеты, помеченные файлом .keep" -#: builtin/repack.c:321 +#: builtin/repack.c:330 msgid "do not repack this pack" msgstr "" -#: builtin/repack.c:331 +#: builtin/repack.c:340 msgid "cannot delete packs in a precious-objects repo" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ñть пакеты в precious-objects репозитории" -#: builtin/repack.c:335 +#: builtin/repack.c:344 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable и -A Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/repack.c:510 builtin/worktree.c:139 +#: builtin/repack.c:423 +msgid "Nothing new to pack." +msgstr "" + +#: builtin/repack.c:484 +#, c-format +msgid "" +"WARNING: Some packs in use have been renamed by\n" +"WARNING: prefixing old- to their name, in order to\n" +"WARNING: replace them with the new version of the\n" +"WARNING: file. But the operation failed, and the\n" +"WARNING: attempt to rename them back to their\n" +"WARNING: original names also failed.\n" +"WARNING: Please rename them in %s manually:\n" +msgstr "" + +#: builtin/repack.c:532 #, c-format msgid "failed to remove '%s'" msgstr "Ñбой ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Â«%s»" @@ -14203,39 +16992,34 @@ msgstr "git replace -d <объект>…" msgid "git replace [--format=<format>] [-l [<pattern>]]" msgstr "git replace [--format=<формат>] [-l [<шаблон>]]" -#: builtin/replace.c:57 builtin/replace.c:203 builtin/replace.c:206 -#, c-format -msgid "failed to resolve '%s' as a valid ref" -msgstr "" - -#: builtin/replace.c:86 +#: builtin/replace.c:90 #, c-format msgid "" "invalid replace format '%s'\n" "valid formats are 'short', 'medium' and 'long'" msgstr "" -#: builtin/replace.c:121 +#: builtin/replace.c:125 #, c-format msgid "replace ref '%s' not found" msgstr "" -#: builtin/replace.c:137 +#: builtin/replace.c:141 #, c-format msgid "Deleted replace ref '%s'" msgstr "" -#: builtin/replace.c:149 +#: builtin/replace.c:153 #, c-format msgid "'%s' is not a valid ref name" msgstr "" -#: builtin/replace.c:154 +#: builtin/replace.c:158 #, c-format msgid "replace ref '%s' already exists" msgstr "" -#: builtin/replace.c:174 +#: builtin/replace.c:178 #, c-format msgid "" "Objects must be of the same type.\n" @@ -14243,178 +17027,183 @@ msgid "" "while '%s' points to a replacement object of type '%s'." msgstr "" -#: builtin/replace.c:225 +#: builtin/replace.c:229 #, c-format msgid "unable to open %s for writing" msgstr "" -#: builtin/replace.c:238 +#: builtin/replace.c:242 msgid "cat-file reported failure" msgstr "" -#: builtin/replace.c:254 +#: builtin/replace.c:258 #, c-format msgid "unable to open %s for reading" msgstr "" -#: builtin/replace.c:268 +#: builtin/replace.c:272 msgid "unable to spawn mktree" msgstr "" -#: builtin/replace.c:272 +#: builtin/replace.c:276 msgid "unable to read from mktree" msgstr "" -#: builtin/replace.c:281 +#: builtin/replace.c:285 msgid "mktree reported failure" msgstr "" -#: builtin/replace.c:285 +#: builtin/replace.c:289 msgid "mktree did not return an object name" msgstr "" -#: builtin/replace.c:294 +#: builtin/replace.c:298 #, c-format msgid "unable to fstat %s" msgstr "" -#: builtin/replace.c:299 +#: builtin/replace.c:303 msgid "unable to write object to database" msgstr "" -#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415 -#: builtin/replace.c:445 +#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422 +#: builtin/replace.c:452 #, c-format msgid "not a valid object name: '%s'" msgstr "" -#: builtin/replace.c:322 +#: builtin/replace.c:326 #, c-format msgid "unable to get object type for %s" msgstr "" -#: builtin/replace.c:338 +#: builtin/replace.c:342 msgid "editing object file failed" msgstr "" -#: builtin/replace.c:347 +#: builtin/replace.c:351 #, c-format msgid "new object is the same as the old one: '%s'" msgstr "" -#: builtin/replace.c:407 +#: builtin/replace.c:383 +#, c-format +msgid "could not parse %s as a commit" +msgstr "" + +#: builtin/replace.c:414 #, c-format msgid "bad mergetag in commit '%s'" msgstr "Ð¿Ð»Ð¾Ñ…Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° ÑлиÑÐ½Ð¸Ñ Ð² коммите «%s»" -#: builtin/replace.c:409 +#: builtin/replace.c:416 #, c-format msgid "malformed mergetag in commit '%s'" msgstr "Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° ÑлиÑÐ½Ð¸Ñ Ð² коммите «%s»" -#: builtin/replace.c:421 +#: builtin/replace.c:428 #, c-format msgid "" "original commit '%s' contains mergetag '%s' that is discarded; use --edit " "instead of --graft" msgstr "оригинальный коммит «%s» Ñодержит метку ÑлиÑÐ½Ð¸Ñ Â«%s», ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° отброшена; иÑпользуйте --edit вмеÑто --graft" -#: builtin/replace.c:460 +#: builtin/replace.c:467 #, c-format msgid "the original commit '%s' has a gpg signature" msgstr "" -#: builtin/replace.c:461 +#: builtin/replace.c:468 msgid "the signature will be removed in the replacement commit!" msgstr "подпиÑÑŒ будет удалена в замененном коммите!" -#: builtin/replace.c:471 +#: builtin/replace.c:478 #, c-format msgid "could not write replacement commit for: '%s'" msgstr "не удалоÑÑŒ запиÑать замену Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°: «%s»" -#: builtin/replace.c:479 +#: builtin/replace.c:486 #, c-format msgid "graft for '%s' unnecessary" msgstr "" -#: builtin/replace.c:482 +#: builtin/replace.c:490 #, c-format msgid "new commit is the same as the old one: '%s'" msgstr "" -#: builtin/replace.c:514 +#: builtin/replace.c:525 #, c-format msgid "" "could not convert the following graft(s):\n" "%s" msgstr "" -#: builtin/replace.c:535 +#: builtin/replace.c:546 msgid "list replace refs" msgstr "вывеÑти ÑпиÑок заменÑемых ÑÑылок" -#: builtin/replace.c:536 +#: builtin/replace.c:547 msgid "delete replace refs" msgstr "удаление заменÑемых ÑÑылок" -#: builtin/replace.c:537 +#: builtin/replace.c:548 msgid "edit existing object" msgstr "изменение ÑущеÑтвующего объекта" -#: builtin/replace.c:538 +#: builtin/replace.c:549 msgid "change a commit's parents" msgstr "изменение Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/replace.c:539 +#: builtin/replace.c:550 msgid "convert existing graft file" msgstr "" -#: builtin/replace.c:540 +#: builtin/replace.c:551 msgid "replace the ref if it exists" msgstr "замена ÑÑылки, еÑли она ÑущеÑтвует" -#: builtin/replace.c:542 +#: builtin/replace.c:553 msgid "do not pretty-print contents for --edit" msgstr "не делать Ñтруктурированный вывод Ñодержимого Ð´Ð»Ñ --edit" -#: builtin/replace.c:543 +#: builtin/replace.c:554 msgid "use this format" msgstr "иÑпользовать Ñтот формат" -#: builtin/replace.c:556 +#: builtin/replace.c:567 msgid "--format cannot be used when not listing" msgstr "" -#: builtin/replace.c:564 +#: builtin/replace.c:575 msgid "-f only makes sense when writing a replacement" msgstr "" -#: builtin/replace.c:568 +#: builtin/replace.c:579 msgid "--raw only makes sense with --edit" msgstr "" -#: builtin/replace.c:574 +#: builtin/replace.c:585 msgid "-d needs at least one argument" msgstr "" -#: builtin/replace.c:580 +#: builtin/replace.c:591 msgid "bad number of arguments" msgstr "" -#: builtin/replace.c:586 +#: builtin/replace.c:597 msgid "-e needs exactly one argument" msgstr "" -#: builtin/replace.c:592 +#: builtin/replace.c:603 msgid "-g needs at least one argument" msgstr "" -#: builtin/replace.c:598 +#: builtin/replace.c:609 msgid "--convert-graft-file takes no argument" msgstr "" -#: builtin/replace.c:604 +#: builtin/replace.c:615 msgid "only one pattern can be given with -l" msgstr "" @@ -14422,173 +17211,187 @@ msgstr "" msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]" msgstr "git rerere [clear | forget <путь>… | status | remaining | diff | gc]" -#: builtin/rerere.c:59 +#: builtin/rerere.c:60 msgid "register clean resolutions in index" msgstr "запиÑать чиÑтые Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² в индекÑ" -#: builtin/reset.c:29 +#: builtin/rerere.c:79 +msgid "'git rerere forget' without paths is deprecated" +msgstr "" + +#: builtin/rerere.c:113 +#, c-format +msgid "unable to generate diff for '%s'" +msgstr "" + +#: builtin/reset.c:32 msgid "" "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]" msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<коммит>]" -#: builtin/reset.c:30 +#: builtin/reset.c:33 msgid "git reset [-q] [<tree-ish>] [--] <paths>..." msgstr "git reset [-q] [<указатель-дерева>] [--] <пути>…" -#: builtin/reset.c:31 +#: builtin/reset.c:34 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]" msgstr "git reset --patch [<указатель-дерева>] [--] [<пути>…]" -#: builtin/reset.c:37 +#: builtin/reset.c:40 msgid "mixed" msgstr "Ñмешанный" -#: builtin/reset.c:37 +#: builtin/reset.c:40 msgid "soft" msgstr "мÑгкий" -#: builtin/reset.c:37 +#: builtin/reset.c:40 msgid "hard" msgstr "жеÑткий" -#: builtin/reset.c:37 +#: builtin/reset.c:40 msgid "merge" msgstr "ÑлиÑнием" -#: builtin/reset.c:37 +#: builtin/reset.c:40 msgid "keep" msgstr "оÑтавлением" -#: builtin/reset.c:78 +#: builtin/reset.c:81 msgid "You do not have a valid HEAD." msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ верного HEAD." -#: builtin/reset.c:80 +#: builtin/reset.c:83 msgid "Failed to find tree of HEAD." msgstr "Ðе удалоÑÑŒ найти дерево у HEAD." -#: builtin/reset.c:86 +#: builtin/reset.c:89 #, c-format msgid "Failed to find tree of %s." msgstr "Ðе удалоÑÑŒ найти дерево у %s." -#: builtin/reset.c:111 -#, c-format -msgid "HEAD is now at %s" -msgstr "HEAD ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð° %s" - -#: builtin/reset.c:189 +#: builtin/reset.c:193 #, c-format msgid "Cannot do a %s reset in the middle of a merge." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÑÐ±Ñ€Ð¾Ñ Ð² режиме «%s» во Ð²Ñ€ÐµÐ¼Ñ ÑлиÑниÑ." -#: builtin/reset.c:289 +#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589 +#: builtin/stash.c:613 msgid "be quiet, only report errors" msgstr "тихий режим, выводить только ошибки" -#: builtin/reset.c:291 +#: builtin/reset.c:295 msgid "reset HEAD and index" msgstr "ÑброÑить HEAD и индекÑ" -#: builtin/reset.c:292 +#: builtin/reset.c:296 msgid "reset only HEAD" msgstr "ÑброÑить только HEAD" -#: builtin/reset.c:294 builtin/reset.c:296 +#: builtin/reset.c:298 builtin/reset.c:300 msgid "reset HEAD, index and working tree" msgstr "ÑброÑить HEAD, Ð¸Ð½Ð´ÐµÐºÑ Ð¸ рабочий каталог" -#: builtin/reset.c:298 +#: builtin/reset.c:302 msgid "reset HEAD but keep local changes" msgstr "ÑброÑить HEAD, но оÑтавить локальные изменениÑ" -#: builtin/reset.c:304 +#: builtin/reset.c:308 msgid "record only the fact that removed paths will be added later" msgstr "запиÑать только факт того, что удаленные пути будут добавлены позже" -#: builtin/reset.c:321 +#: builtin/reset.c:326 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "Ðе удалоÑÑŒ раÑпознать «%s» как дейÑтвительную редакцию." -#: builtin/reset.c:329 +#: builtin/reset.c:334 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "Ðе удалоÑÑŒ раÑпознать «%s» как дейÑтвительное дерево." -#: builtin/reset.c:338 +#: builtin/reset.c:343 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ --{hard,mixed,soft}" -#: builtin/reset.c:347 +#: builtin/reset.c:353 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "иÑпользование опции --mixed Ñ Ð¿ÑƒÑ‚Ñми уÑтарело; иÑпользуйте «git reset -- <пути>» instead." -#: builtin/reset.c:349 +#: builtin/reset.c:355 #, c-format msgid "Cannot do %s reset with paths." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÑÐ±Ñ€Ð¾Ñ Ð² режиме «%s» вмеÑте Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ пути." -#: builtin/reset.c:359 +#: builtin/reset.c:370 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "ÑÐ±Ñ€Ð¾Ñ Â«%s» разрешен только Ñ Ð³Ð¾Ð»Ñ‹Ð¼ репозиторием" -#: builtin/reset.c:363 +#: builtin/reset.c:374 msgid "-N can only be used with --mixed" msgstr "-N можно иÑпользовать вмеÑте Ñ --mixed" -#: builtin/reset.c:380 +#: builtin/reset.c:395 msgid "Unstaged changes after reset:" msgstr "ÐепроиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле ÑброÑа:" -#: builtin/reset.c:386 +#: builtin/reset.c:398 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to enumerate unstaged changes after reset. You can\n" +"use '--quiet' to avoid this. Set the config setting reset.quiet to true\n" +"to make this the default.\n" +msgstr "" + +#: builtin/reset.c:408 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "Ðе удалоÑÑŒ ÑброÑить файл индекÑа на редакцию «%s»." -#: builtin/reset.c:390 +#: builtin/reset.c:412 msgid "Could not write new index file." msgstr "Ðе удалоÑÑŒ запиÑать новый файл индекÑа." -#: builtin/rev-list.c:399 +#: builtin/rev-list.c:405 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "" -#: builtin/rev-list.c:457 +#: builtin/rev-list.c:466 msgid "object filtering requires --objects" msgstr "Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° --objects" -#: builtin/rev-list.c:460 +#: builtin/rev-list.c:469 #, c-format msgid "invalid sparse value '%s'" msgstr "недопуÑтимое чаÑтичное значение «%s»" -#: builtin/rev-list.c:501 +#: builtin/rev-list.c:510 msgid "rev-list does not support display of notes" msgstr "rev-list не поддерживает отображение заметок" -#: builtin/rev-list.c:504 +#: builtin/rev-list.c:513 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать --use-bitmap-index одновременно Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸ÐµÐ¹ объектов" -#: builtin/rev-parse.c:406 +#: builtin/rev-parse.c:408 msgid "git rev-parse --parseopt [<options>] -- [<args>...]" msgstr "git rev-parse --parseopt [<опции>] -- [<аргументы>…]" -#: builtin/rev-parse.c:411 +#: builtin/rev-parse.c:413 msgid "keep the `--` passed as an arg" msgstr "передавать далее «--» как аргумент" -#: builtin/rev-parse.c:413 +#: builtin/rev-parse.c:415 msgid "stop parsing after the first non-option argument" msgstr "оÑтановить разбор поÑле первого аргумента не ÑвлÑющегоÑÑ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹" -#: builtin/rev-parse.c:416 +#: builtin/rev-parse.c:418 msgid "output in stuck long form" msgstr "выводить аргументы в длинном формате" -#: builtin/rev-parse.c:549 +#: builtin/rev-parse.c:551 msgid "" "git rev-parse --parseopt [<options>] -- [<args>...]\n" " or: git rev-parse --sq-quote [<arg>...]\n" @@ -14613,76 +17416,77 @@ msgstr "git cherry-pick [<опции>] <указатель-коммита>…" msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <подкоманда>" -#: builtin/revert.c:91 +#: builtin/revert.c:72 +#, c-format +msgid "option `%s' expects a number greater than zero" +msgstr "" + +#: builtin/revert.c:92 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s: %s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ %s" -#: builtin/revert.c:100 +#: builtin/revert.c:102 msgid "end revert or cherry-pick sequence" msgstr "конец поÑледовательноÑти ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ коммитов" -#: builtin/revert.c:101 +#: builtin/revert.c:103 msgid "resume revert or cherry-pick sequence" msgstr "продолжить поÑледовательноÑть ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ коммитов" -#: builtin/revert.c:102 +#: builtin/revert.c:104 msgid "cancel revert or cherry-pick sequence" msgstr "отмена поÑледовательноÑти ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ коммитов" -#: builtin/revert.c:103 +#: builtin/revert.c:106 msgid "don't automatically commit" msgstr "не коммитить автоматичеÑки" -#: builtin/revert.c:104 +#: builtin/revert.c:107 msgid "edit the commit message" msgstr "изменить Ñообщение коммита" -#: builtin/revert.c:107 +#: builtin/revert.c:110 msgid "parent-number" msgstr "номер-родителÑ" -#: builtin/revert.c:108 +#: builtin/revert.c:111 msgid "select mainline parent" msgstr "выбор оÑновного родителÑ" -#: builtin/revert.c:110 +#: builtin/revert.c:113 msgid "merge strategy" msgstr "ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑлиÑниÑ" -#: builtin/revert.c:111 -msgid "option" -msgstr "опциÑ" - -#: builtin/revert.c:112 +#: builtin/revert.c:115 msgid "option for merge strategy" msgstr "Ð¾Ð¿Ñ†Ð¸Ñ Ð´Ð»Ñ Ñтратегии ÑлиÑниÑ" -#: builtin/revert.c:121 +#: builtin/revert.c:124 msgid "append commit name" msgstr "добавить Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" -#: builtin/revert.c:123 +#: builtin/revert.c:126 msgid "preserve initially empty commits" msgstr "Ñохранить изначально пуÑтые коммиты" -#: builtin/revert.c:125 +#: builtin/revert.c:128 msgid "keep redundant, empty commits" msgstr "оÑтавить избыточные, пуÑтые коммиты" -#: builtin/revert.c:219 +#: builtin/revert.c:227 msgid "revert failed" msgstr "Ñбой Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ коммита" -#: builtin/revert.c:232 +#: builtin/revert.c:240 msgid "cherry-pick failed" msgstr "Ñбой при копировании коммита" -#: builtin/rm.c:18 +#: builtin/rm.c:19 msgid "git rm [<options>] [--] <file>..." msgstr "git rm [<опции>] [--] <файл>…" -#: builtin/rm.c:206 +#: builtin/rm.c:207 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -14694,13 +17498,13 @@ msgstr[1] "Ñледующие файлы Ñодержат проиндекÑир msgstr[2] "Ñледующие файлы Ñодержат проиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑÑ Ð¸ от файла, и от HEAD:" msgstr[3] "Ñледующие файлы Ñодержат проиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÑŽÑ‰Ð¸ÐµÑÑ Ð¸ от файла, и от HEAD:" -#: builtin/rm.c:211 +#: builtin/rm.c:212 msgid "" "\n" "(use -f to force removal)" msgstr "\n(иÑпользуйте опцию «-f» Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ удалениÑ)" -#: builtin/rm.c:215 +#: builtin/rm.c:216 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "Ñледующие файлы Ñодержат проиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² индекÑе:" @@ -14708,13 +17512,13 @@ msgstr[1] "Ñледующие файлы Ñодержат проиндекÑир msgstr[2] "Ñледующие файлы Ñодержат проиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² индекÑе:" msgstr[3] "Ñледующие файлы Ñодержат проиндекÑированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² индекÑе:" -#: builtin/rm.c:219 builtin/rm.c:228 +#: builtin/rm.c:220 builtin/rm.c:229 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" msgstr "\n(иÑпользуйте опцию «--cached» Ð´Ð»Ñ Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°, или «-f» Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ удалениÑ)" -#: builtin/rm.c:225 +#: builtin/rm.c:226 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "Ñледующие файлы Ñодержат локальные изменениÑ:" @@ -14722,45 +17526,40 @@ msgstr[1] "Ñледующие файлы Ñодержат локальные иРmsgstr[2] "Ñледующие файлы Ñодержат локальные изменениÑ:" msgstr[3] "Ñледующие файлы Ñодержат локальные изменениÑ:" -#: builtin/rm.c:241 +#: builtin/rm.c:242 msgid "do not list removed files" msgstr "не выводить ÑпиÑок удаленных файлов" -#: builtin/rm.c:242 +#: builtin/rm.c:243 msgid "only remove from the index" msgstr "удалить только из индекÑа" -#: builtin/rm.c:243 +#: builtin/rm.c:244 msgid "override the up-to-date check" msgstr "пропуÑтить проверку актуальноÑти" -#: builtin/rm.c:244 +#: builtin/rm.c:245 msgid "allow recursive removal" msgstr "разрешить рекурÑивное удаление" -#: builtin/rm.c:246 +#: builtin/rm.c:247 msgid "exit with a zero status even if nothing matched" msgstr "выход Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ кодом возврата, даже еÑли ничего не найдено" -#: builtin/rm.c:288 +#: builtin/rm.c:289 msgid "please stage your changes to .gitmodules or stash them to proceed" msgstr "" -#: builtin/rm.c:306 +#: builtin/rm.c:307 #, c-format msgid "not removing '%s' recursively without -r" msgstr "не удалÑÑŽ рекурÑивно «%s» без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ -r" -#: builtin/rm.c:345 +#: builtin/rm.c:346 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm: не удалоÑÑŒ удалить %s" -#: builtin/rm.c:368 -#, c-format -msgid "could not remove '%s'" -msgstr "не удалоÑÑŒ удалить «%s»" - #: builtin/send-pack.c:20 msgid "" "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> [<ref>...]\n" @@ -14783,18 +17582,6 @@ msgstr "прочитать ÑÑылки из Ñтандартного ввода msgid "print status from remote helper" msgstr "вывеÑти ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñ‚ Ñкрипта внешнего Ñервера" -#: builtin/serve.c:7 -msgid "git serve [<options>]" -msgstr "git serve [<опции>]" - -#: builtin/serve.c:17 builtin/upload-pack.c:23 -msgid "quit after a single request/response exchange" -msgstr "выход поÑле обмена одним запроÑом/ответом" - -#: builtin/serve.c:19 -msgid "exit immediately after advertising capabilities" -msgstr "" - #: builtin/shortlog.c:14 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]" msgstr "git shortlog [<опции>] [<диапазон-редакций>] [[--] <путь>…]" @@ -14827,7 +17614,7 @@ msgstr "<w>[,<i1>[,<i2>]]" msgid "Linewrap output" msgstr "ÐŸÐµÑ€ÐµÐ½Ð¾Ñ Ñтрок на выводе" -#: builtin/shortlog.c:299 +#: builtin/shortlog.c:301 msgid "too many arguments given outside repository" msgstr "" @@ -14857,85 +17644,85 @@ msgstr[3] "игнорирование %s; невозможно Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ msgid "no matching refs with %s" msgstr "нет Ñовпадающих запиÑей Ñ %s" -#: builtin/show-branch.c:645 +#: builtin/show-branch.c:646 msgid "show remote-tracking and local branches" msgstr "показать ÑпиÑок и отÑлеживаемых внешних и локальных веток" -#: builtin/show-branch.c:647 +#: builtin/show-branch.c:648 msgid "show remote-tracking branches" msgstr "показать ÑпиÑок отÑлеживаемых внешних веток" -#: builtin/show-branch.c:649 +#: builtin/show-branch.c:650 msgid "color '*!+-' corresponding to the branch" msgstr "окрашивать «*!+-» в ÑоответÑтвии Ñ Ð²ÐµÑ‚ÐºÐ¾Ð¹" -#: builtin/show-branch.c:651 +#: builtin/show-branch.c:652 msgid "show <n> more commits after the common ancestor" msgstr "показать <n> коммитов поÑле общего предка" -#: builtin/show-branch.c:653 +#: builtin/show-branch.c:654 msgid "synonym to more=-1" msgstr "Ñиноним Ð´Ð»Ñ more=-1" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:655 msgid "suppress naming strings" msgstr "не выводить именованные Ñтроки" -#: builtin/show-branch.c:656 +#: builtin/show-branch.c:657 msgid "include the current branch" msgstr "включить в вывод текущую ветку" -#: builtin/show-branch.c:658 +#: builtin/show-branch.c:659 msgid "name commits with their object names" msgstr "именовать коммиты их именами объектов" -#: builtin/show-branch.c:660 +#: builtin/show-branch.c:661 msgid "show possible merge bases" msgstr "вывеÑти возможные базы ÑлиÑниÑ" -#: builtin/show-branch.c:662 +#: builtin/show-branch.c:663 msgid "show refs unreachable from any other ref" msgstr "вывеÑти ÑÑылки, недоÑтупные из любых других ÑÑылок" -#: builtin/show-branch.c:664 +#: builtin/show-branch.c:665 msgid "show commits in topological order" msgstr "вывеÑти коммиты в топологичеÑком порÑдке" -#: builtin/show-branch.c:667 +#: builtin/show-branch.c:668 msgid "show only commits not on the first branch" msgstr "вывеÑти только коммиты, отÑутÑтвующие в первой ветке" -#: builtin/show-branch.c:669 +#: builtin/show-branch.c:670 msgid "show merges reachable from only one tip" msgstr "вывеÑти ÑлиÑниÑ, доÑтижимые только из одной из верхушек" -#: builtin/show-branch.c:671 +#: builtin/show-branch.c:672 msgid "topologically sort, maintaining date order where possible" msgstr "топологичеÑÐºÐ°Ñ Ñортировка, Ñ Ñохранением порÑдка дат, еÑли возможно" -#: builtin/show-branch.c:674 +#: builtin/show-branch.c:675 msgid "<n>[,<base>]" msgstr "<n>[,<база>]" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:676 msgid "show <n> most recent ref-log entries starting at base" msgstr "показать <n> поÑледних запиÑей в журнале ÑÑылок, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð±Ð°Ð·Ñ‹" -#: builtin/show-branch.c:711 +#: builtin/show-branch.c:712 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-" "base" msgstr "--reflog неÑовмеÑтимо Ñ --all, --remotes, --independent и --merge-base" -#: builtin/show-branch.c:735 +#: builtin/show-branch.c:736 msgid "no branches given, and HEAD is not valid" msgstr "не указаны ветки и HEAD не дейÑтвительный" -#: builtin/show-branch.c:738 +#: builtin/show-branch.c:739 msgid "--reflog option needs one branch name" msgstr "параметр --reflog требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ одной ветки" -#: builtin/show-branch.c:741 +#: builtin/show-branch.c:742 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." @@ -14944,12 +17731,12 @@ msgstr[1] "только %d запиÑи могут быть показаны оРmsgstr[2] "только %d запиÑей могут быть показаны одновременно." msgstr[3] "только %d запиÑи могут быть показаны одновременно." -#: builtin/show-branch.c:745 +#: builtin/show-branch.c:746 #, c-format msgid "no such ref %s" msgstr "нет такой ÑÑылки %s" -#: builtin/show-branch.c:829 +#: builtin/show-branch.c:832 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." @@ -14958,58 +17745,279 @@ msgstr[1] "невозможно обработать больше %d Ñ€ÐµÐ´Ð°ÐºÑ msgstr[2] "невозможно обработать больше %d редакций." msgstr[3] "невозможно обработать больше %d редакции." -#: builtin/show-branch.c:833 +#: builtin/show-branch.c:836 #, c-format msgid "'%s' is not a valid ref." msgstr "«%s» не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой ÑÑылкой на коммит." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:839 #, c-format msgid "cannot find commit %s (%s)" msgstr "не удалоÑÑŒ найти коммит %s (%s)" -#: builtin/show-ref.c:11 +#: builtin/show-ref.c:12 msgid "" "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | " "--hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]" msgstr "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<шаблон>…]" -#: builtin/show-ref.c:12 +#: builtin/show-ref.c:13 msgid "git show-ref --exclude-existing[=<pattern>]" msgstr "git show-ref --exclude-existing[=<шаблон>]" -#: builtin/show-ref.c:160 +#: builtin/show-ref.c:162 msgid "only show tags (can be combined with heads)" msgstr "вывеÑти только метки (можно иÑпользовать одновременно Ñ --heads)" -#: builtin/show-ref.c:161 +#: builtin/show-ref.c:163 msgid "only show heads (can be combined with tags)" msgstr "вывеÑти только головы (можно иÑпользовать одновременно Ñ --tags)" -#: builtin/show-ref.c:162 +#: builtin/show-ref.c:164 msgid "stricter reference checking, requires exact ref path" msgstr "более ÑÑ‚Ñ€Ð¾Ð³Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° ÑÑылок, требует точный путь ÑÑылки" -#: builtin/show-ref.c:165 builtin/show-ref.c:167 +#: builtin/show-ref.c:167 builtin/show-ref.c:169 msgid "show the HEAD reference, even if it would be filtered out" msgstr "вывеÑти ÑÑылку HEAD, даже еÑли она будет отфильтрована" -#: builtin/show-ref.c:169 +#: builtin/show-ref.c:171 msgid "dereference tags into object IDs" msgstr "разыменовать метки в идентификаторы объектов" -#: builtin/show-ref.c:171 +#: builtin/show-ref.c:173 msgid "only show SHA1 hash using <n> digits" -msgstr "иÑпользовать <n> цифр Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° SHA-1" +msgstr "иÑпользовать <n> Ñимволов Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° SHA-1 хеш-Ñуммы" -#: builtin/show-ref.c:175 +#: builtin/show-ref.c:177 msgid "do not print results to stdout (useful with --verify)" msgstr "не печатать результат на Ñтандартный вывод (полезно Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ «--verify»)" -#: builtin/show-ref.c:177 +#: builtin/show-ref.c:179 msgid "show refs from stdin that aren't in local repository" msgstr "вывеÑти ÑÑылки Ñо Ñтандартного ввода, которых нет в локальном репозитории" +#: builtin/stash.c:22 builtin/stash.c:37 +msgid "git stash list [<options>]" +msgstr "git stash list [<опции>]" + +#: builtin/stash.c:23 builtin/stash.c:42 +msgid "git stash show [<options>] [<stash>]" +msgstr "git stash show [<опциии>] [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:24 builtin/stash.c:47 +msgid "git stash drop [-q|--quiet] [<stash>]" +msgstr "git stash drop [-q|--quiet] [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:25 +msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]" +msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:26 builtin/stash.c:62 +msgid "git stash branch <branchname> [<stash>]" +msgstr "git stash branch <имÑ-ветки> [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:27 builtin/stash.c:67 +msgid "git stash clear" +msgstr "git stash clear" + +#: builtin/stash.c:28 builtin/stash.c:77 +msgid "" +"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n" +" [--] [<pathspec>...]]" +msgstr "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n [-u|--include-untracked] [-a|--all] [-m|--message <Ñообщение>]\n [--] [<Ñпецификатор-пути>…]]" + +#: builtin/stash.c:31 builtin/stash.c:84 +msgid "" +"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n" +" [-u|--include-untracked] [-a|--all] [<message>]" +msgstr "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n [-u|--include-untracked] [-a|--all] [<Ñообщение>]" + +#: builtin/stash.c:52 +msgid "git stash pop [--index] [-q|--quiet] [<stash>]" +msgstr "git stash pop [--index] [-q|--quiet] [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:57 +msgid "git stash apply [--index] [-q|--quiet] [<stash>]" +msgstr "git stash apply [--index] [-q|--quiet] [<ÑпрÑтанные-изменениÑ>]" + +#: builtin/stash.c:72 +msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>" +msgstr "git stash store [-m|--message <Ñообщение>] [-q|--quiet] <коммит>" + +#: builtin/stash.c:127 +#, c-format +msgid "'%s' is not a stash-like commit" +msgstr "«%s» не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð¼ Ñо ÑпрÑтанными изменениÑми" + +#: builtin/stash.c:147 +#, c-format +msgid "Too many revisions specified:%s" +msgstr "Передано Ñлишком много редакций:%s" + +#: builtin/stash.c:161 git-legacy-stash.sh:548 +msgid "No stash entries found." +msgstr "Ðе найдены ÑпрÑтанные изменениÑ." + +#: builtin/stash.c:175 +#, c-format +msgid "%s is not a valid reference" +msgstr "%s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой ÑÑылкой на коммит" + +#: builtin/stash.c:224 git-legacy-stash.sh:75 +msgid "git stash clear with parameters is unimplemented" +msgstr "git stash очиÑтка Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ не реализована" + +#: builtin/stash.c:403 +msgid "cannot apply a stash in the middle of a merge" +msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑпрÑтанные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑлиÑниÑ" + +#: builtin/stash.c:414 +#, c-format +msgid "could not generate diff %s^!." +msgstr "не удалоÑÑŒ Ñгенерировать ÑпиÑок изменений %s^!." + +#: builtin/stash.c:421 +msgid "conflicts in index.Try without --index." +msgstr "конфликты в индекÑе. Попробуйте без --index." + +#: builtin/stash.c:427 +msgid "could not save index tree" +msgstr "не удалоÑÑŒ Ñохранить дерево индекÑа" + +#: builtin/stash.c:434 +msgid "could not restore untracked files from stash" +msgstr "невозможно воÑÑтановить неотÑлеживаемые файлы из ÑпрÑтанных файлов" + +#: builtin/stash.c:448 +#, c-format +msgid "Merging %s with %s" +msgstr "СлиÑние %s и %s" + +#: builtin/stash.c:458 git-legacy-stash.sh:680 +msgid "Index was not unstashed." +msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ðµ был извлечён из ÑпрÑтанных изменений." + +#: builtin/stash.c:516 builtin/stash.c:615 +msgid "attempt to recreate the index" +msgstr "попытка переÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа" + +#: builtin/stash.c:549 +#, c-format +msgid "Dropped %s (%s)" +msgstr "Отброшено %s (%s)" + +#: builtin/stash.c:552 +#, c-format +msgid "%s: Could not drop stash entry" +msgstr "%s: Ðе удалоÑÑŒ отброÑить запиÑÑŒ из ÑпрÑтанных изменений" + +#: builtin/stash.c:577 +#, c-format +msgid "'%s' is not a stash reference" +msgstr "«%s» не ÑвлÑетÑÑ ÑÑылкой на ÑпрÑтанные изменениÑ" + +#: builtin/stash.c:627 git-legacy-stash.sh:694 +msgid "The stash entry is kept in case you need it again." +msgstr "СпрÑтанные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены, на Ñлучай еÑли они Ñнова вам понадобÑÑ‚ÑÑ." + +#: builtin/stash.c:650 git-legacy-stash.sh:712 +msgid "No branch name specified" +msgstr "Ðе указано Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸" + +#: builtin/stash.c:789 builtin/stash.c:826 +#, c-format +msgid "Cannot update %s with %s" +msgstr "Ðе удолоÑÑŒ обновить %s Ñ %s" + +#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +msgid "stash message" +msgstr "опиÑание ÑпрÑтанных изменений" + +#: builtin/stash.c:817 +msgid "\"git stash store\" requires one <commit> argument" +msgstr "«git stash store» требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ аргумента <коммит>" + +#: builtin/stash.c:1039 git-legacy-stash.sh:217 +msgid "No changes selected" +msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ выбраны" + +#: builtin/stash.c:1135 git-legacy-stash.sh:150 +msgid "You do not have the initial commit yet" +msgstr "У Ð²Ð°Ñ ÐµÑ‰Ðµ нет начального коммита" + +#: builtin/stash.c:1162 git-legacy-stash.sh:165 +msgid "Cannot save the current index state" +msgstr "Ðе удалоÑÑŒ Ñохранить текущее ÑоÑтоÑние индекÑа" + +#: builtin/stash.c:1171 git-legacy-stash.sh:180 +msgid "Cannot save the untracked files" +msgstr "Ðевозможно Ñохранить неотÑлеживаемые файлы" + +#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: git-legacy-stash.sh:213 +msgid "Cannot save the current worktree state" +msgstr "Ðе удалоÑÑŒ Ñохранить текущее ÑоÑтоÑние рабочего каталога" + +#: builtin/stash.c:1219 git-legacy-stash.sh:233 +msgid "Cannot record working tree state" +msgstr "Ðе удалоÑÑŒ запиÑать ÑоÑтоÑние рабочего каталога" + +#: builtin/stash.c:1268 git-legacy-stash.sh:337 +msgid "Can't use --patch and --include-untracked or --all at the same time" +msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать --patch и --include-untracked или --all одновременно" + +#: builtin/stash.c:1284 +msgid "Did you forget to 'git add'?" +msgstr "Возможно, вы забыли выполнить «git add»?" + +#: builtin/stash.c:1299 git-legacy-stash.sh:345 +msgid "No local changes to save" +msgstr "Ðет локальных изменений Ð´Ð»Ñ ÑохранениÑ" + +#: builtin/stash.c:1306 git-legacy-stash.sh:350 +msgid "Cannot initialize stash" +msgstr "Ðе удалоÑÑŒ инициализировать ÑпрÑтанные изменениÑ" + +#: builtin/stash.c:1321 git-legacy-stash.sh:354 +msgid "Cannot save the current status" +msgstr "Ðе удалоÑÑŒ Ñохранить текущий ÑтатуÑ" + +#: builtin/stash.c:1326 +#, c-format +msgid "Saved working directory and index state %s" +msgstr "Рабочий каталог и ÑоÑтоÑние индекÑа Ñохранены %s" + +#: builtin/stash.c:1430 git-legacy-stash.sh:384 +msgid "Cannot remove worktree changes" +msgstr "Ðе удалоÑÑŒ удалить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ каталога" + +#: builtin/stash.c:1465 builtin/stash.c:1501 +msgid "keep index" +msgstr "" + +#: builtin/stash.c:1467 builtin/stash.c:1503 +msgid "stash in patch mode" +msgstr "" + +#: builtin/stash.c:1468 builtin/stash.c:1504 +msgid "quiet mode" +msgstr "" + +#: builtin/stash.c:1470 builtin/stash.c:1506 +msgid "include untracked files in stash" +msgstr "" + +#: builtin/stash.c:1472 builtin/stash.c:1508 +msgid "include ignore files" +msgstr "" + +#: builtin/stash.c:1568 +#, c-format +msgid "could not exec %s" +msgstr "" + #: builtin/stripspace.c:18 msgid "git stripspace [-s | --strip-comments]" msgstr "git stripspace [-s | --strip-comments]" @@ -15018,366 +18026,401 @@ msgstr "git stripspace [-s | --strip-comments]" msgid "git stripspace [-c | --comment-lines]" msgstr "git stripspace [-c | --comment-lines]" -#: builtin/stripspace.c:36 +#: builtin/stripspace.c:37 msgid "skip and remove all lines starting with comment character" msgstr "пропуÑтить и удалить вÑе Ñтроки, начинающиеÑÑ Ñ Ñимвола комметариÑ" -#: builtin/stripspace.c:39 +#: builtin/stripspace.c:40 msgid "prepend comment character and space to each line" msgstr "добавить перед каждой Ñтрокой Ñимвол ÐºÐ¾Ð¼Ð¼ÐµÑ‚Ð°Ñ€Ð¸Ñ Ð¸ пробел" -#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1833 -#, c-format -msgid "No such ref: %s" -msgstr "Ðет такой ÑÑылки: %s" - -#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1842 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 #, c-format msgid "Expecting a full ref name, got %s" msgstr "ОжидалоÑÑŒ полное Ð¸Ð¼Ñ ÑÑылки, а получено %s" -#: builtin/submodule--helper.c:61 +#: builtin/submodule--helper.c:62 msgid "submodule--helper print-default-remote takes no arguments" msgstr "" -#: builtin/submodule--helper.c:99 +#: builtin/submodule--helper.c:100 #, c-format msgid "cannot strip one component off url '%s'" msgstr "не удалоÑÑŒ обрезать один компонент url «%s»" -#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1356 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 msgid "alternative anchor for relative paths" msgstr "альтернативный Ñимвол Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾Ñительных путей" -#: builtin/submodule--helper.c:412 +#: builtin/submodule--helper.c:413 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<путь>] [<путь>…]" -#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:606 -#: builtin/submodule--helper.c:629 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 +#: builtin/submodule--helper.c:650 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "URL Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «%s» не найден в .gitmodules" -#: builtin/submodule--helper.c:521 +#: builtin/submodule--helper.c:522 #, c-format msgid "Entering '%s'\n" msgstr "" -#: builtin/submodule--helper.c:524 +#: builtin/submodule--helper.c:525 #, c-format msgid "" "run_command returned non-zero status for %s\n" "." msgstr "" -#: builtin/submodule--helper.c:545 +#: builtin/submodule--helper.c:546 #, c-format msgid "" -"run_command returned non-zero status whilerecursing in the nested submodules of %s\n" +"run_command returned non-zero status while recursing in the nested submodules of %s\n" "." msgstr "" -#: builtin/submodule--helper.c:561 +#: builtin/submodule--helper.c:562 msgid "Suppress output of entering each submodule command" msgstr "" -#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1040 +#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 msgid "Recurse into nested submodules" msgstr "" -#: builtin/submodule--helper.c:568 -msgid "git submodule--helper foreach [--quiet] [--recursive] <command>" -msgstr "git submodule--helper foreach [--quiet] [--recursive] <команда>" +#: builtin/submodule--helper.c:569 +msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" +msgstr "" -#: builtin/submodule--helper.c:644 +#: builtin/submodule--helper.c:596 #, c-format msgid "" -"could not lookup configuration '%s'. Assuming this repository is its own " +"could not look up configuration '%s'. Assuming this repository is its own " "authoritative upstream." -msgstr "не удалоÑÑŒ запроÑить конфигурацию «%s». Предполагаю, что Ñтот репозиторий имеет Ñвой ÑобÑтвенный вышеÑтоÑщий репозиторий." +msgstr "" -#: builtin/submodule--helper.c:655 +#: builtin/submodule--helper.c:664 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Сбой региÑтрации адреÑа Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:659 +#: builtin/submodule--helper.c:668 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Подмодуль «%s» (%s) зарегиÑтрирован по пути «%s»\n" -#: builtin/submodule--helper.c:669 +#: builtin/submodule--helper.c:678 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "внимание: предполагаемый режим Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»\n" -#: builtin/submodule--helper.c:676 +#: builtin/submodule--helper.c:685 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "Сбой региÑтрации режима Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:698 +#: builtin/submodule--helper.c:707 msgid "Suppress output for initializing a submodule" msgstr "Ðе выводить информацию о инициализации подмодулÑ" -#: builtin/submodule--helper.c:703 -msgid "git submodule--helper init [<path>]" -msgstr "git submodule--helper init [<путь>]" +#: builtin/submodule--helper.c:712 +msgid "git submodule--helper init [<options>] [<path>]" +msgstr "" -#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:901 +#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "не найдено ÑоответÑтвие подмодулей в .gitmodules Ð´Ð»Ñ Ð¿ÑƒÑ‚Ð¸ «%s»" -#: builtin/submodule--helper.c:814 +#: builtin/submodule--helper.c:823 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "не удалоÑÑŒ найти HEAD ÑÑылку внутри Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:841 builtin/submodule--helper.c:1010 +#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "не удалоÑÑŒ перейти вглубь Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:865 builtin/submodule--helper.c:1176 +#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 msgid "Suppress submodule status output" msgstr "Ðе выводить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ" -#: builtin/submodule--helper.c:866 +#: builtin/submodule--helper.c:875 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" msgstr "ИÑпользовать коммит хранÑщийÑÑ Ð² индекÑе вмеÑто коммита хранÑщегоÑÑ Ð² HEAD подмодулÑ" -#: builtin/submodule--helper.c:867 +#: builtin/submodule--helper.c:876 msgid "recurse into nested submodules" msgstr "проходить вглубь вложенных подмодулей" -#: builtin/submodule--helper.c:872 +#: builtin/submodule--helper.c:881 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<путь>…]" -#: builtin/submodule--helper.c:896 +#: builtin/submodule--helper.c:905 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <путь>" -#: builtin/submodule--helper.c:960 +#: builtin/submodule--helper.c:969 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "" -#: builtin/submodule--helper.c:966 +#: builtin/submodule--helper.c:975 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "" -#: builtin/submodule--helper.c:980 +#: builtin/submodule--helper.c:989 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:991 +#: builtin/submodule--helper.c:1000 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "" -#: builtin/submodule--helper.c:1038 +#: builtin/submodule--helper.c:1047 msgid "Suppress output of synchronizing submodule url" msgstr "" -#: builtin/submodule--helper.c:1045 +#: builtin/submodule--helper.c:1054 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<путь>]" -#: builtin/submodule--helper.c:1099 +#: builtin/submodule--helper.c:1108 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " "really want to remove it including all of its history)" msgstr "" -#: builtin/submodule--helper.c:1111 +#: builtin/submodule--helper.c:1120 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " "them" msgstr "" -#: builtin/submodule--helper.c:1119 +#: builtin/submodule--helper.c:1128 #, c-format msgid "Cleared directory '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1121 +#: builtin/submodule--helper.c:1130 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1132 +#: builtin/submodule--helper.c:1141 #, c-format msgid "could not create empty submodule directory %s" msgstr "" -#: builtin/submodule--helper.c:1148 +#: builtin/submodule--helper.c:1157 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "" -#: builtin/submodule--helper.c:1177 +#: builtin/submodule--helper.c:1186 msgid "Remove submodule working trees even if they contain local changes" msgstr "" -#: builtin/submodule--helper.c:1178 +#: builtin/submodule--helper.c:1187 msgid "Unregister all submodules" msgstr "" -#: builtin/submodule--helper.c:1183 +#: builtin/submodule--helper.c:1192 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<путь>…]]" -#: builtin/submodule--helper.c:1197 +#: builtin/submodule--helper.c:1206 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "ИÑпользуйте «--all», еÑли вы дейÑтвительно хотите деинициализировать вÑе подмодули" -#: builtin/submodule--helper.c:1290 builtin/submodule--helper.c:1293 +#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "подмодулю «%s» не удалоÑÑŒ добавить альтернативу: %s" -#: builtin/submodule--helper.c:1329 +#: builtin/submodule--helper.c:1340 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "Значение «%s» Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° submodule.alternateErrorStrategy не рапознано" -#: builtin/submodule--helper.c:1336 +#: builtin/submodule--helper.c:1347 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Значение «%s» Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° submodule.alternateLocation не рапознано" -#: builtin/submodule--helper.c:1359 +#: builtin/submodule--helper.c:1370 msgid "where the new submodule will be cloned to" msgstr "куда должен быть Ñклонирован новый подмодуль" -#: builtin/submodule--helper.c:1362 +#: builtin/submodule--helper.c:1373 msgid "name of the new submodule" msgstr "Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ подмодулÑ" -#: builtin/submodule--helper.c:1365 +#: builtin/submodule--helper.c:1376 msgid "url where to clone the submodule from" msgstr "url откуда должен был Ñклонирован новый подмодуль" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1384 msgid "depth for shallow clones" msgstr "глубина Ð´Ð»Ñ Ñ‡Ð°Ñтичного клона" -#: builtin/submodule--helper.c:1376 builtin/submodule--helper.c:1751 +#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 msgid "force cloning progress" msgstr "принудительно выводить прогреÑÑ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ" -#: builtin/submodule--helper.c:1381 +#: builtin/submodule--helper.c:1392 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" msgstr "git submodule--helper clone [--prefix=<путь>] [--quiet] [--reference <репозиторий>] [--name <имÑ>] [--depth <глубина>] --url <url> --path <путь>" -#: builtin/submodule--helper.c:1412 +#: builtin/submodule--helper.c:1423 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "не удалоÑÑŒ клонировать «%s» в подмодуль по пути «%s»" -#: builtin/submodule--helper.c:1426 +#: builtin/submodule--helper.c:1437 #, c-format msgid "could not get submodule directory for '%s'" msgstr "не удалоÑÑŒ получить каталог Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:1492 +#: builtin/submodule--helper.c:1473 +#, c-format +msgid "Invalid update mode '%s' for submodule path '%s'" +msgstr "" + +#: builtin/submodule--helper.c:1477 +#, c-format +msgid "Invalid update mode '%s' configured for submodule path '%s'" +msgstr "" + +#: builtin/submodule--helper.c:1570 #, c-format msgid "Submodule path '%s' not initialized" msgstr "Подмодуль по пути «%s» не инициализирован" -#: builtin/submodule--helper.c:1496 +#: builtin/submodule--helper.c:1574 msgid "Maybe you want to use 'update --init'?" msgstr "Возможно, вы хотели иÑпользовать «update --init»?" -#: builtin/submodule--helper.c:1525 +#: builtin/submodule--helper.c:1604 #, c-format msgid "Skipping unmerged submodule %s" msgstr "ПропуÑк не Ñлитого Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ %s" -#: builtin/submodule--helper.c:1554 +#: builtin/submodule--helper.c:1633 #, c-format msgid "Skipping submodule '%s'" msgstr "ПропуÑк Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»" -#: builtin/submodule--helper.c:1689 +#: builtin/submodule--helper.c:1777 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Ðе удалоÑÑŒ клонировать «%s». Запланирована Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ°" -#: builtin/submodule--helper.c:1700 +#: builtin/submodule--helper.c:1788 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Ðе удалоÑÑŒ клонировать «%s» Ñо второй попытки, отмена" -#: builtin/submodule--helper.c:1730 builtin/submodule--helper.c:1953 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 msgid "path into the working tree" msgstr "путь в рабочем каталоге" -#: builtin/submodule--helper.c:1733 +#: builtin/submodule--helper.c:1853 msgid "path into the working tree, across nested submodule boundaries" msgstr "путь в рабочем каталоге, в пределах границ подмодулÑ" -#: builtin/submodule--helper.c:1737 +#: builtin/submodule--helper.c:1857 msgid "rebase, merge, checkout or none" msgstr "rebase, merge, checkout или none" -#: builtin/submodule--helper.c:1743 +#: builtin/submodule--helper.c:1863 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "Создать чаÑтичный клон, ограниченный указанным количеÑтвом редакций" -#: builtin/submodule--helper.c:1746 +#: builtin/submodule--helper.c:1866 msgid "parallel jobs" msgstr "параллельные задачи" -#: builtin/submodule--helper.c:1748 +#: builtin/submodule--helper.c:1868 msgid "whether the initial clone should follow the shallow recommendation" msgstr "должен ли изначальный процеÑÑ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñледовать рекомендации о чаÑтичноÑти" -#: builtin/submodule--helper.c:1749 +#: builtin/submodule--helper.c:1869 msgid "don't print cloning progress" msgstr "вы выводить прогреÑÑ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ" -#: builtin/submodule--helper.c:1756 +#: builtin/submodule--helper.c:1876 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<путь>] [<путь>…]" -#: builtin/submodule--helper.c:1769 +#: builtin/submodule--helper.c:1889 msgid "bad value for update parameter" msgstr "плохое значение Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° update" -#: builtin/submodule--helper.c:1837 +#: builtin/submodule--helper.c:1937 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " "the superproject is not on any branch" msgstr "Ветка Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ (%s) наÑтроена на наÑледование ветки из родительÑкого проекта, но он не находитÑÑ Ð½Ð¸ на одной ветке" -#: builtin/submodule--helper.c:1954 +#: builtin/submodule--helper.c:2060 +#, c-format +msgid "could not get a repository handle for submodule '%s'" +msgstr "" + +#: builtin/submodule--helper.c:2093 msgid "recurse into submodules" msgstr "рекурÑивно по подмодулÑм" -#: builtin/submodule--helper.c:1960 -msgid "git submodule--helper embed-git-dir [<path>...]" -msgstr "git submodule--helper embed-git-dir [<путь>…]" +#: builtin/submodule--helper.c:2099 +msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" +msgstr "git submodule--helper absorb-git-dirs [<опции>] [<путь>…]" + +#: builtin/submodule--helper.c:2156 +msgid "check if it is safe to write to the .gitmodules file" +msgstr "" + +#: builtin/submodule--helper.c:2159 +msgid "unset the config in the .gitmodules file" +msgstr "" + +#: builtin/submodule--helper.c:2164 +msgid "git submodule--helper config <name> [<value>]" +msgstr "git submodule--helper config <имÑ> [<значение>]" + +#: builtin/submodule--helper.c:2165 +msgid "git submodule--helper config --unset <name>" +msgstr "git submodule--helper config --unset <имÑ>" -#: builtin/submodule--helper.c:2071 +#: builtin/submodule--helper.c:2166 +msgid "git submodule--helper config --check-writeable" +msgstr "git submodule--helper config --check-writeable" + +#: builtin/submodule--helper.c:2185 git-submodule.sh:171 +#, sh-format +msgid "please make sure that the .gitmodules file is in the working tree" +msgstr "" + +#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s не поддерживает параметр --super-prefix" -#: builtin/submodule--helper.c:2077 +#: builtin/submodule--helper.c:2241 #, c-format msgid "'%s' is not a valid submodule--helper subcommand" msgstr "«%s» не ÑвлÑетÑÑ Ð¿Ð¾Ð´ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ submodule--helper" @@ -15412,35 +18455,35 @@ msgstr "причина обновлениÑ" #: builtin/tag.c:25 msgid "" -"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> " -"[<head>]" -msgstr "git tag [-a | -s | -u <идентификатор-ключа>] [-f] [-m <Ñообщение> | -F <файл>] <имÑ-метки> [<редакциÑ>]" +"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n" +"\t\t<tagname> [<head>]" +msgstr "git tag [-a | -s | -u <key-id>] [-f] [-m <Ñообщение> | -F <файл>]\n\t\t<имÑ-метка> [<редакциÑ>]" -#: builtin/tag.c:26 +#: builtin/tag.c:27 msgid "git tag -d <tagname>..." msgstr "git tag -d <имÑ-метки>…" -#: builtin/tag.c:27 +#: builtin/tag.c:28 msgid "" "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <object>]\n" "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]" msgstr "git tag -l [-n[<количеÑтво>]] [--contains <коммит>] [--no-contains <коммит>] [--points-at <объект>]\n\t\t[--format=<формат>] [--[no-]merged [<коммит>]] [<шаблон>…]" -#: builtin/tag.c:29 +#: builtin/tag.c:30 msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<формат>] <имÑ-метки>…" -#: builtin/tag.c:87 +#: builtin/tag.c:88 #, c-format msgid "tag '%s' not found." msgstr "метка «%s» не найдена." -#: builtin/tag.c:103 +#: builtin/tag.c:104 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Метка «%s» удалена (была %s)\n" -#: builtin/tag.c:133 +#: builtin/tag.c:134 #, c-format msgid "" "\n" @@ -15449,7 +18492,7 @@ msgid "" "Lines starting with '%c' will be ignored.\n" msgstr "\nВведите Ñообщение Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸:\n %s\nСтроки, начинающиеÑÑ Ñ Â«%c» будут проигнорированы.\n" -#: builtin/tag.c:137 +#: builtin/tag.c:138 #, c-format msgid "" "\n" @@ -15458,146 +18501,155 @@ msgid "" "Lines starting with '%c' will be kept; you may remove them yourself if you want to.\n" msgstr "\nВведите Ñообщение Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸:\n %s\nСтроки, начинающиеÑÑ Ñ Â«%c» будут оÑтавлены; вы можете удалить их вручную, еÑли хотите.\n" -#: builtin/tag.c:191 +#: builtin/tag.c:192 msgid "unable to sign the tag" msgstr "не удалоÑÑŒ подпиÑать метку" -#: builtin/tag.c:193 +#: builtin/tag.c:194 msgid "unable to write tag file" msgstr "не удалоÑÑŒ запиÑать файл метки" -#: builtin/tag.c:218 +#: builtin/tag.c:210 +#, c-format +msgid "" +"You have created a nested tag. The object referred to by your new tag is\n" +"already a tag. If you meant to tag the object that it points to, use:\n" +"\n" +"\tgit tag -f %s %s^{}" +msgstr "" + +#: builtin/tag.c:226 msgid "bad object type." msgstr "неправильный тип объекта" -#: builtin/tag.c:267 +#: builtin/tag.c:278 msgid "no tag message?" msgstr "нет опиÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸?" -#: builtin/tag.c:274 +#: builtin/tag.c:285 #, c-format msgid "The tag message has been left in %s\n" msgstr "Сообщение метки было оÑтавлено в %s\n" -#: builtin/tag.c:383 +#: builtin/tag.c:396 msgid "list tag names" msgstr "ÑпиÑок названий меток" -#: builtin/tag.c:385 +#: builtin/tag.c:398 msgid "print <n> lines of each tag message" msgstr "печатать <n> Ñтрок опиÑÐ°Ð½Ð¸Ñ Ð¾Ñ‚ каждой метки" -#: builtin/tag.c:387 +#: builtin/tag.c:400 msgid "delete tags" msgstr "удалить метки" -#: builtin/tag.c:388 +#: builtin/tag.c:401 msgid "verify tags" msgstr "проверить метки" -#: builtin/tag.c:390 +#: builtin/tag.c:403 msgid "Tag creation options" msgstr "ÐаÑтройки ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸" -#: builtin/tag.c:392 +#: builtin/tag.c:405 msgid "annotated tag, needs a message" msgstr "Ð´Ð»Ñ Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¹ метки нужно Ñообщение" -#: builtin/tag.c:394 +#: builtin/tag.c:407 msgid "tag message" msgstr "опиÑание метки" -#: builtin/tag.c:396 +#: builtin/tag.c:409 msgid "force edit of tag message" msgstr "" -#: builtin/tag.c:397 +#: builtin/tag.c:410 msgid "annotated and GPG-signed tag" msgstr "Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¸ подпиÑÐ°Ð½Ð½Ð°Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG метка" -#: builtin/tag.c:401 +#: builtin/tag.c:413 msgid "use another key to sign the tag" msgstr "иÑпользовать другой ключ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸" -#: builtin/tag.c:402 +#: builtin/tag.c:414 msgid "replace the tag if exists" msgstr "замена метки, еÑли она ÑущеÑтвует" -#: builtin/tag.c:403 builtin/update-ref.c:369 +#: builtin/tag.c:415 builtin/update-ref.c:369 msgid "create a reflog" msgstr "Ñоздать журнал ÑÑылок" -#: builtin/tag.c:405 +#: builtin/tag.c:417 msgid "Tag listing options" msgstr "ÐаÑтройки вывода ÑпиÑка меток" -#: builtin/tag.c:406 +#: builtin/tag.c:418 msgid "show tag list in columns" msgstr "показать ÑпиÑок меток по Ñтолбцам" -#: builtin/tag.c:407 builtin/tag.c:409 +#: builtin/tag.c:419 builtin/tag.c:421 msgid "print only tags that contain the commit" msgstr "вывод только меток, которые Ñодержат коммит" -#: builtin/tag.c:408 builtin/tag.c:410 +#: builtin/tag.c:420 builtin/tag.c:422 msgid "print only tags that don't contain the commit" msgstr "вывод только меток, которые не Ñодержат коммит" -#: builtin/tag.c:411 +#: builtin/tag.c:423 msgid "print only tags that are merged" msgstr "вывод только Ñлитых меток" -#: builtin/tag.c:412 +#: builtin/tag.c:424 msgid "print only tags that are not merged" msgstr "вывод только не Ñлитых меток" -#: builtin/tag.c:417 +#: builtin/tag.c:428 msgid "print only tags of the object" msgstr "вывод только меток, определенного объекта" -#: builtin/tag.c:461 +#: builtin/tag.c:472 msgid "--column and -n are incompatible" msgstr "--column и -n Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/tag.c:483 +#: builtin/tag.c:494 msgid "-n option is only allowed in list mode" msgstr "опцию -n можно иÑпользовать только в режиме ÑпиÑка" -#: builtin/tag.c:485 +#: builtin/tag.c:496 msgid "--contains option is only allowed in list mode" msgstr "опцию --contains можно иÑпользовать только в режиме ÑпиÑка" -#: builtin/tag.c:487 +#: builtin/tag.c:498 msgid "--no-contains option is only allowed in list mode" msgstr "опцию --no-contains можно иÑпользовать только в режиме ÑпиÑка" -#: builtin/tag.c:489 +#: builtin/tag.c:500 msgid "--points-at option is only allowed in list mode" msgstr "опцию --points-at можно иÑпользовать только в режиме ÑпиÑка" -#: builtin/tag.c:491 +#: builtin/tag.c:502 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "опции --merged и --no-merged можно иÑпользовать только в режиме ÑпиÑка" -#: builtin/tag.c:502 +#: builtin/tag.c:513 msgid "only one -F or -m option is allowed." msgstr "-F и -m Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно." -#: builtin/tag.c:521 +#: builtin/tag.c:532 msgid "too many params" msgstr "передано Ñлишком много параметров" -#: builtin/tag.c:527 +#: builtin/tag.c:538 #, c-format msgid "'%s' is not a valid tag name." msgstr "«%s» не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым именем метки." -#: builtin/tag.c:532 +#: builtin/tag.c:543 #, c-format msgid "tag '%s' already exists" msgstr "метка «%s» уже ÑущеÑтвует" -#: builtin/tag.c:563 +#: builtin/tag.c:574 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Метка «%s» обновлена (была %s)\n" @@ -15606,242 +18658,242 @@ msgstr "Метка «%s» обновлена (была %s)\n" msgid "Unpacking objects" msgstr "РаÑпаковка объектов" -#: builtin/update-index.c:82 +#: builtin/update-index.c:83 #, c-format msgid "failed to create directory %s" msgstr "не удалоÑÑŒ Ñоздать каталог %s" -#: builtin/update-index.c:98 +#: builtin/update-index.c:99 #, c-format msgid "failed to create file %s" msgstr "не удалоÑÑŒ Ñоздать файл %s" -#: builtin/update-index.c:106 +#: builtin/update-index.c:107 #, c-format msgid "failed to delete file %s" msgstr "не удалоÑÑŒ удалить файл %s" -#: builtin/update-index.c:113 builtin/update-index.c:219 +#: builtin/update-index.c:114 builtin/update-index.c:220 #, c-format msgid "failed to delete directory %s" msgstr "не удалоÑÑŒ удалить каталог %s" -#: builtin/update-index.c:138 +#: builtin/update-index.c:139 #, c-format msgid "Testing mtime in '%s' " msgstr "Проверка mtime в «%s» " -#: builtin/update-index.c:152 +#: builtin/update-index.c:153 msgid "directory stat info does not change after adding a new file" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога не изменÑетÑÑ Ð¿Ð¾Ñле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" -#: builtin/update-index.c:165 +#: builtin/update-index.c:166 msgid "directory stat info does not change after adding a new directory" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога не изменÑетÑÑ Ð¿Ð¾Ñле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ каталога" -#: builtin/update-index.c:178 +#: builtin/update-index.c:179 msgid "directory stat info changes after updating a file" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога изменÑетÑÑ Ð¿Ð¾Ñле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" -#: builtin/update-index.c:189 +#: builtin/update-index.c:190 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога изменÑетÑÑ Ð¿Ð¾Ñле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла внутри подкаталога" -#: builtin/update-index.c:200 +#: builtin/update-index.c:201 msgid "directory stat info does not change after deleting a file" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога не изменÑетÑÑ Ð¿Ð¾Ñле ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: builtin/update-index.c:213 +#: builtin/update-index.c:214 msgid "directory stat info does not change after deleting a directory" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑтатиÑтики каталога не изменÑетÑÑ Ð¿Ð¾Ñле ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°" -#: builtin/update-index.c:220 +#: builtin/update-index.c:221 msgid " OK" msgstr " OK" -#: builtin/update-index.c:588 +#: builtin/update-index.c:589 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<опции>] [--] [<файл>…]" -#: builtin/update-index.c:944 +#: builtin/update-index.c:971 msgid "continue refresh even when index needs update" msgstr "продолжить обновление, даже еÑли Ð¸Ð½Ð´ÐµÐºÑ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ обновлениÑ" -#: builtin/update-index.c:947 +#: builtin/update-index.c:974 msgid "refresh: ignore submodules" msgstr "обновление: игнорировать подмодули" -#: builtin/update-index.c:950 +#: builtin/update-index.c:977 msgid "do not ignore new files" msgstr "не игнорировать новые файлы" -#: builtin/update-index.c:952 +#: builtin/update-index.c:979 msgid "let files replace directories and vice-versa" msgstr "разрешить файлам заменÑть каталоги и наоборот" -#: builtin/update-index.c:954 +#: builtin/update-index.c:981 msgid "notice files missing from worktree" msgstr "замечать файлы отÑутÑтвующие в рабочем каталоге" -#: builtin/update-index.c:956 +#: builtin/update-index.c:983 msgid "refresh even if index contains unmerged entries" msgstr "обновить, даже еÑли в индекÑе имеютÑÑ Ð½Ðµ Ñлитые запиÑи" -#: builtin/update-index.c:959 +#: builtin/update-index.c:986 msgid "refresh stat information" msgstr "обновить информацию о ÑтатуÑе файлов" -#: builtin/update-index.c:963 +#: builtin/update-index.c:990 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "как --refresh, но игнорировать наÑтройку assume-unchanged" -#: builtin/update-index.c:967 +#: builtin/update-index.c:994 msgid "<mode>,<object>,<path>" msgstr "<режим доÑтупа>,<объект>,<путь>" -#: builtin/update-index.c:968 +#: builtin/update-index.c:995 msgid "add the specified entry to the index" msgstr "добавить указанную запиÑÑŒ в индекÑ" -#: builtin/update-index.c:977 +#: builtin/update-index.c:1005 msgid "mark files as \"not changing\"" msgstr "пометить файлы как «не измененные»" -#: builtin/update-index.c:980 +#: builtin/update-index.c:1008 msgid "clear assumed-unchanged bit" msgstr "убрать пометку assumed-unchanged" -#: builtin/update-index.c:983 +#: builtin/update-index.c:1011 msgid "mark files as \"index-only\"" msgstr "пометить файлы как «только в индекÑе»" -#: builtin/update-index.c:986 +#: builtin/update-index.c:1014 msgid "clear skip-worktree bit" msgstr "убрать пометку skip-worktree" -#: builtin/update-index.c:989 +#: builtin/update-index.c:1017 msgid "add to index only; do not add content to object database" msgstr "только добавить в индекÑ; не добавлÑть Ñодержимое в базу данных объектов" -#: builtin/update-index.c:991 +#: builtin/update-index.c:1019 msgid "remove named paths even if present in worktree" msgstr "удалить указанные пути, даже еÑли они ÑущеÑтвуют в рабочем каталоге" -#: builtin/update-index.c:993 +#: builtin/update-index.c:1021 msgid "with --stdin: input lines are terminated by null bytes" msgstr "Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --stdin: Ñтроки на вводе отделÑÑŽÑ‚ÑÑ ÐУЛЕВЫМ байтом" -#: builtin/update-index.c:995 +#: builtin/update-index.c:1023 msgid "read list of paths to be updated from standard input" msgstr "прочитать ÑпиÑок обновлÑемых путей из Ñтандартного ввода" -#: builtin/update-index.c:999 +#: builtin/update-index.c:1027 msgid "add entries from standard input to the index" msgstr "добавить запиÑи из Ñтандартного ввода в индекÑ" -#: builtin/update-index.c:1003 +#: builtin/update-index.c:1031 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "заново заполнить Ð¸Ð½Ð´ÐµÐºÑ #2 и #3 Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… путей" -#: builtin/update-index.c:1007 +#: builtin/update-index.c:1035 msgid "only update entries that differ from HEAD" msgstr "обновить только запиÑи, которые отличаютÑÑ Ð¾Ñ‚ HEAD" -#: builtin/update-index.c:1011 +#: builtin/update-index.c:1039 msgid "ignore files missing from worktree" msgstr "игнорировать файлы, отÑутÑтвующие в рабочем каталоге" -#: builtin/update-index.c:1014 +#: builtin/update-index.c:1042 msgid "report actions to standard output" msgstr "вывеÑти выполнÑемые дейÑÑ‚Ð²Ð¸Ñ Ð½Ð° Ñтандартный вывод" -#: builtin/update-index.c:1016 +#: builtin/update-index.c:1044 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ð¹ обработки) забыть Ñохраненные неразрешенные конфликты" -#: builtin/update-index.c:1020 +#: builtin/update-index.c:1048 msgid "write index in this format" msgstr "запиÑать Ð¸Ð½Ð´ÐµÐºÑ Ð² указанном формате" -#: builtin/update-index.c:1022 +#: builtin/update-index.c:1050 msgid "enable or disable split index" msgstr "разрешить или запретить раздельный индекÑ" -#: builtin/update-index.c:1024 +#: builtin/update-index.c:1052 msgid "enable/disable untracked cache" msgstr "включить/отключить кÑш неотÑлеживаемых файлов" -#: builtin/update-index.c:1026 +#: builtin/update-index.c:1054 msgid "test if the filesystem supports untracked cache" msgstr "проверить, что Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема поддерживает кÑш неотÑлеживаемых файлов" -#: builtin/update-index.c:1028 +#: builtin/update-index.c:1056 msgid "enable untracked cache without testing the filesystem" msgstr "включить кÑш неотÑлеживаемых файлов без проверки файловой ÑиÑтемы" -#: builtin/update-index.c:1030 +#: builtin/update-index.c:1058 msgid "write out the index even if is not flagged as changed" msgstr "запиÑать индекÑ, даже еÑли он не помечен как измененный" -#: builtin/update-index.c:1032 +#: builtin/update-index.c:1060 msgid "enable or disable file system monitor" msgstr "включить или выключить мониторинг файловой ÑиÑтемы" -#: builtin/update-index.c:1034 +#: builtin/update-index.c:1062 msgid "mark files as fsmonitor valid" msgstr "пометить файл как дейÑтвительный в мониторе файловой ÑиÑтемы" -#: builtin/update-index.c:1037 +#: builtin/update-index.c:1065 msgid "clear fsmonitor valid bit" msgstr "ÑнÑть пометку дейÑтвительноÑти мониторе файловой ÑиÑтемы" -#: builtin/update-index.c:1136 +#: builtin/update-index.c:1168 msgid "" "core.splitIndex is set to false; remove or change it, if you really want to " "enable split index" msgstr "параметр core.splitIndex уÑтановлен в false; удалите или измените его, еÑли вы дейÑтвительно хотите включить разделенный индекÑ" -#: builtin/update-index.c:1145 +#: builtin/update-index.c:1177 msgid "" "core.splitIndex is set to true; remove or change it, if you really want to " "disable split index" msgstr "параметр core.splitIndex уÑтановлен в true; удалите или измените его, еÑли вы дейÑтвительно хотите отключить разделенный индекÑ" -#: builtin/update-index.c:1156 +#: builtin/update-index.c:1188 msgid "" "core.untrackedCache is set to true; remove or change it, if you really want " "to disable the untracked cache" msgstr "параметр core.untrackedCache уÑтановлен true; удалите или измените его, еÑли вы дейÑтвительно хотите удалить кÑш неотÑлеживаемых файлов" -#: builtin/update-index.c:1160 +#: builtin/update-index.c:1192 msgid "Untracked cache disabled" msgstr "КÑш неотÑлеживаемых файлов отключен" -#: builtin/update-index.c:1168 +#: builtin/update-index.c:1200 msgid "" "core.untrackedCache is set to false; remove or change it, if you really want" " to enable the untracked cache" msgstr "параметр core.untrackedCache уÑтановлен false; удалите или измените его, еÑли вы дейÑтвительно хотите включить кÑш неотÑлеживаемых файлов" -#: builtin/update-index.c:1172 +#: builtin/update-index.c:1204 #, c-format msgid "Untracked cache enabled for '%s'" msgstr "КÑш неотÑлеживаемых файлов включен Ð´Ð»Ñ Â«%s»" -#: builtin/update-index.c:1180 +#: builtin/update-index.c:1212 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor" msgstr "параметр core.fsmonitor не уÑтановлен; уÑтановите его еÑли вы дейÑтвительно хотите включить мониторинг файловой ÑиÑтемы" -#: builtin/update-index.c:1184 +#: builtin/update-index.c:1216 msgid "fsmonitor enabled" msgstr "мониторинг файловой ÑиÑтемы включён" -#: builtin/update-index.c:1187 +#: builtin/update-index.c:1219 msgid "" "core.fsmonitor is set; remove it if you really want to disable fsmonitor" msgstr "параметр core.fsmonitor уÑтановлен; удалите его еÑли вы дейÑтвительно хотите выключить мониторинг файловой ÑиÑтемы" -#: builtin/update-index.c:1191 +#: builtin/update-index.c:1223 msgid "fsmonitor disabled" msgstr "мониторинг файловой ÑиÑтемы выключён" @@ -15885,6 +18937,10 @@ msgstr "обновить информацию о Ñерверах Ñ Ð½ÑƒÐ»Ñ" msgid "git upload-pack [<options>] <dir>" msgstr "git upload-pack [<опции>] <каталог>" +#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17 +msgid "quit after a single request/response exchange" +msgstr "выход поÑле обмена одним запроÑом/ответом" + #: builtin/upload-pack.c:25 msgid "exit immediately after initial ref advertisement" msgstr "выходить Ñразу поÑле начального объÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑпиÑка ÑÑылок" @@ -15929,262 +18985,293 @@ msgstr "git verify-tag [-v | --verbose] [--format=<формат>] <метка>†msgid "print tag contents" msgstr "вывеÑти Ñодержимое метки" -#: builtin/worktree.c:17 +#: builtin/worktree.c:18 msgid "git worktree add [<options>] <path> [<commit-ish>]" msgstr "git worktree add [<опции>] <путь> [<указатель-коммита>]" -#: builtin/worktree.c:18 +#: builtin/worktree.c:19 msgid "git worktree list [<options>]" msgstr "git worktree list [<опции>]" -#: builtin/worktree.c:19 +#: builtin/worktree.c:20 msgid "git worktree lock [<options>] <path>" msgstr "git worktree lock [<опции>] <путь>" -#: builtin/worktree.c:20 +#: builtin/worktree.c:21 msgid "git worktree move <worktree> <new-path>" msgstr "git worktree move <рабочий-каталог> <новый-путь>" -#: builtin/worktree.c:21 +#: builtin/worktree.c:22 msgid "git worktree prune [<options>]" msgstr "git worktree prune [<опции>]" -#: builtin/worktree.c:22 +#: builtin/worktree.c:23 msgid "git worktree remove [<options>] <worktree>" msgstr "git worktree remove [<опции>] <рабочий-каталог>" -#: builtin/worktree.c:23 +#: builtin/worktree.c:24 msgid "git worktree unlock <path>" msgstr "git worktree unlock <путь>" -#: builtin/worktree.c:58 +#: builtin/worktree.c:61 builtin/worktree.c:891 +#, c-format +msgid "failed to delete '%s'" +msgstr "не удалоÑÑŒ удалить «%s»" + +#: builtin/worktree.c:80 #, c-format msgid "Removing worktrees/%s: not a valid directory" msgstr "Удаление рабочих каталогов/%s: не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" -#: builtin/worktree.c:64 +#: builtin/worktree.c:86 #, c-format msgid "Removing worktrees/%s: gitdir file does not exist" msgstr "Удаление рабочих каталогов/%s: файл gitdir не ÑущеÑтвует" -#: builtin/worktree.c:69 builtin/worktree.c:78 +#: builtin/worktree.c:91 builtin/worktree.c:100 #, c-format msgid "Removing worktrees/%s: unable to read gitdir file (%s)" msgstr "Удаление рабочих каталогов/%s: не удалоÑÑŒ прочитать файл gitdir (%s)" -#: builtin/worktree.c:88 +#: builtin/worktree.c:110 #, c-format msgid "" "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read " "%<PRIuMAX>)" msgstr "Удаление рабочего каталога/%s: прочитано мало данных (ожидалоÑÑŒ %<PRIuMAX> байт, прочитано %<PRIuMAX>)" -#: builtin/worktree.c:96 +#: builtin/worktree.c:118 #, c-format msgid "Removing worktrees/%s: invalid gitdir file" msgstr "Удаление рабочих каталогов/%s: недейÑтвительный файл gitdir" -#: builtin/worktree.c:105 +#: builtin/worktree.c:127 #, c-format msgid "Removing worktrees/%s: gitdir file points to non-existent location" msgstr "Удаление рабочих каталогов/%s: gitdir указывает на неÑущеÑтвующее раÑположение" -#: builtin/worktree.c:152 +#: builtin/worktree.c:166 msgid "report pruned working trees" msgstr "вывеÑти ÑпиÑок удаленных рабочих каталогов" -#: builtin/worktree.c:154 +#: builtin/worktree.c:168 msgid "expire working trees older than <time>" msgstr "удалить рабочие каталоги Ñтарее чем <дата-окончаниÑ>" -#: builtin/worktree.c:229 +#: builtin/worktree.c:235 #, c-format msgid "'%s' already exists" msgstr "«%s» уже ÑущеÑтвует" -#: builtin/worktree.c:260 +#: builtin/worktree.c:252 +#, c-format +msgid "unable to re-add worktree '%s'" +msgstr "" + +#: builtin/worktree.c:257 +#, c-format +msgid "" +"'%s' is a missing but locked worktree;\n" +"use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear" +msgstr "" + +#: builtin/worktree.c:259 +#, c-format +msgid "" +"'%s' is a missing but already registered worktree;\n" +"use 'add -f' to override, or 'prune' or 'remove' to clear" +msgstr "" + +#: builtin/worktree.c:302 #, c-format msgid "could not create directory of '%s'" msgstr "не удалоÑÑŒ Ñоздать каталог «%s»" -#: builtin/worktree.c:373 builtin/worktree.c:379 +#: builtin/worktree.c:432 builtin/worktree.c:438 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "" -#: builtin/worktree.c:375 +#: builtin/worktree.c:434 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "" -#: builtin/worktree.c:384 +#: builtin/worktree.c:443 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "" -#: builtin/worktree.c:390 +#: builtin/worktree.c:449 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "" -#: builtin/worktree.c:431 +#: builtin/worktree.c:490 msgid "checkout <branch> even if already checked out in other worktree" msgstr "переключитьÑÑ Ð½Ð° <ветка> даже еÑли она уже активна в другом рабочеÑм каталоге" -#: builtin/worktree.c:434 +#: builtin/worktree.c:493 msgid "create a new branch" msgstr "Ñоздать новую ветку" -#: builtin/worktree.c:436 +#: builtin/worktree.c:495 msgid "create or reset a branch" msgstr "Ñоздать или перейти на ветку" -#: builtin/worktree.c:438 +#: builtin/worktree.c:497 msgid "populate the new working tree" msgstr "наполнить новый рабочий каталог" -#: builtin/worktree.c:439 +#: builtin/worktree.c:498 msgid "keep the new working tree locked" msgstr "держать рабочий каталог заблокированным" -#: builtin/worktree.c:441 +#: builtin/worktree.c:501 msgid "set up tracking mode (see git-branch(1))" msgstr "наÑтроить режим отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÑ‚ÐºÐ¸ (Ñмотрите git-branch(1))" -#: builtin/worktree.c:444 +#: builtin/worktree.c:504 msgid "try to match the new branch name with a remote-tracking branch" msgstr "пытатьÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ ÑоответÑтвие имени новой ветки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ внешней ветки" -#: builtin/worktree.c:452 +#: builtin/worktree.c:512 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B и --detach Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно" -#: builtin/worktree.c:511 +#: builtin/worktree.c:573 msgid "--[no-]track can only be used if a new branch is created" msgstr "--[no-]track можно иÑпользовать только когда вы Ñоздаёте новую ветку" -#: builtin/worktree.c:611 +#: builtin/worktree.c:673 msgid "reason for locking" msgstr "причина блокировки" -#: builtin/worktree.c:623 builtin/worktree.c:656 builtin/worktree.c:710 -#: builtin/worktree.c:850 +#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 +#: builtin/worktree.c:919 #, c-format msgid "'%s' is not a working tree" msgstr "«%s» не ÑвлÑетÑÑ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ð¼ каталогом" -#: builtin/worktree.c:625 builtin/worktree.c:658 +#: builtin/worktree.c:687 builtin/worktree.c:720 msgid "The main working tree cannot be locked or unlocked" msgstr "Главный рабочий каталог не может быть заблокирован или разблокирован" -#: builtin/worktree.c:630 +#: builtin/worktree.c:692 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "«%s» уже заблокирован, причина: %s" -#: builtin/worktree.c:632 +#: builtin/worktree.c:694 #, c-format msgid "'%s' is already locked" msgstr "«%s» уже заблокирован" -#: builtin/worktree.c:660 +#: builtin/worktree.c:722 #, c-format msgid "'%s' is not locked" msgstr "«%s» не заблокирован" -#: builtin/worktree.c:685 +#: builtin/worktree.c:763 msgid "working trees containing submodules cannot be moved or removed" msgstr "" -#: builtin/worktree.c:712 builtin/worktree.c:852 +#: builtin/worktree.c:771 +msgid "force move even if worktree is dirty or locked" +msgstr "" + +#: builtin/worktree.c:794 builtin/worktree.c:921 #, c-format msgid "'%s' is a main working tree" msgstr "" -#: builtin/worktree.c:717 +#: builtin/worktree.c:799 #, c-format msgid "could not figure out destination name from '%s'" msgstr "" -#: builtin/worktree.c:723 +#: builtin/worktree.c:805 #, c-format msgid "target '%s' already exists" msgstr "" -#: builtin/worktree.c:730 +#: builtin/worktree.c:813 #, c-format -msgid "cannot move a locked working tree, lock reason: %s" +msgid "" +"cannot move a locked working tree, lock reason: %s\n" +"use 'move -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:732 -msgid "cannot move a locked working tree" +#: builtin/worktree.c:815 +msgid "" +"cannot move a locked working tree;\n" +"use 'move -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:735 +#: builtin/worktree.c:818 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "" -#: builtin/worktree.c:740 +#: builtin/worktree.c:823 #, c-format msgid "failed to move '%s' to '%s'" msgstr "" -#: builtin/worktree.c:788 +#: builtin/worktree.c:871 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "" -#: builtin/worktree.c:792 +#: builtin/worktree.c:875 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "" -#: builtin/worktree.c:797 +#: builtin/worktree.c:880 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "" -#: builtin/worktree.c:808 builtin/worktree.c:822 -#, c-format -msgid "failed to delete '%s'" -msgstr "не удалоÑÑŒ удалить «%s»" - -#: builtin/worktree.c:834 -msgid "force removing even if the worktree is dirty" +#: builtin/worktree.c:903 +msgid "force removal even if worktree is dirty or locked" msgstr "" -#: builtin/worktree.c:856 +#: builtin/worktree.c:926 #, c-format -msgid "cannot remove a locked working tree, lock reason: %s" +msgid "" +"cannot remove a locked working tree, lock reason: %s\n" +"use 'remove -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:858 -msgid "cannot remove a locked working tree" +#: builtin/worktree.c:928 +msgid "" +"cannot remove a locked working tree;\n" +"use 'remove -f -f' to override or unlock first" msgstr "" -#: builtin/worktree.c:861 +#: builtin/worktree.c:931 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "" -#: builtin/write-tree.c:14 +#: builtin/write-tree.c:15 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]" msgstr "git write-tree [--missing-ok] [--prefix=<префикÑ>/]" -#: builtin/write-tree.c:27 +#: builtin/write-tree.c:28 msgid "<prefix>/" msgstr "<префикÑ>/" -#: builtin/write-tree.c:28 +#: builtin/write-tree.c:29 msgid "write tree object for a subdirectory <prefix>" msgstr "вывеÑти объект дерева Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ñ <префикÑ>" -#: builtin/write-tree.c:30 +#: builtin/write-tree.c:31 msgid "only useful for debugging" msgstr "иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при отладке" -#: credential-cache--daemon.c:222 +#: credential-cache--daemon.c:223 #, c-format msgid "" "The permissions on your socket directory are too loose; other\n" @@ -16193,10 +19280,27 @@ msgid "" "\tchmod 0700 %s" msgstr "Права доÑтупа к вашему каталогу Ñокетов Ñлишком Ñвободны; друге пользователи могуи читать ваши закÑшированные пароли доÑтупа. Обдумайте запуÑк команды:\n\n\tchmod 0700 %s" -#: credential-cache--daemon.c:271 +#: credential-cache--daemon.c:272 msgid "print debugging messages to stderr" msgstr "вывод отладочных Ñообщений на stderr" +#: t/helper/test-reach.c:152 +#, c-format +msgid "commit %s is not marked reachable" +msgstr "" + +#: t/helper/test-reach.c:162 +msgid "too many commits marked reachable" +msgstr "" + +#: t/helper/test-serve-v2.c:7 +msgid "test-tool serve-v2 [<options>]" +msgstr "" + +#: t/helper/test-serve-v2.c:19 +msgid "exit immediately after advertising capabilities" +msgstr "" + #: git.c:27 msgid "" "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n" @@ -16213,65 +19317,139 @@ msgid "" "to read about a specific subcommand or concept." msgstr "«git help -а» и «git help -g» выводит ÑпиÑок доÑтупных подкоманд и\nнекоторые руководÑтва по темам. ЗапуÑтите «git help <команда>» или\n«git help <термин>», чтобы прочеÑть о конкретных подкоманде или теме." -#: git.c:173 +#: git.c:185 #, c-format msgid "no directory given for --git-dir\n" msgstr "" -#: git.c:187 +#: git.c:199 #, c-format msgid "no namespace given for --namespace\n" msgstr "" -#: git.c:201 +#: git.c:213 #, c-format msgid "no directory given for --work-tree\n" msgstr "" -#: git.c:215 +#: git.c:227 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "" -#: git.c:237 +#: git.c:249 #, c-format msgid "-c expects a configuration string\n" msgstr "" -#: git.c:275 +#: git.c:287 #, c-format msgid "no directory given for -C\n" msgstr "" -#: git.c:300 +#: git.c:313 #, c-format msgid "unknown option: %s\n" msgstr "" -#: git.c:770 +#: git.c:359 +#, c-format +msgid "while expanding alias '%s': '%s'" +msgstr "" + +#: git.c:368 +#, c-format +msgid "" +"alias '%s' changes environment variables.\n" +"You can use '!git' in the alias to do this" +msgstr "" + +#: git.c:376 +#, c-format +msgid "empty alias for %s" +msgstr "" + +#: git.c:379 +#, c-format +msgid "recursive alias: %s" +msgstr "" + +#: git.c:459 +msgid "write failure on standard output" +msgstr "" + +#: git.c:461 +msgid "unknown write failure on standard output" +msgstr "" + +#: git.c:463 +msgid "close failed on standard output" +msgstr "" + +#: git.c:797 +#, c-format +msgid "alias loop detected: expansion of '%s' does not terminate:%s" +msgstr "" + +#: git.c:847 +#, c-format +msgid "cannot handle %s as a builtin" +msgstr "" + +#: git.c:860 +#, c-format +msgid "" +"usage: %s\n" +"\n" +msgstr "" + +#: git.c:880 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" -#: git.c:782 +#: git.c:892 #, c-format msgid "failed to run command '%s': %s\n" msgstr "" -#: http.c:348 +#: http.c:378 #, c-format msgid "negative value for http.postbuffer; defaulting to %d" msgstr "отрицательное значение http.postbuffer; иÑпользую Ñтандартное значение %d" -#: http.c:369 +#: http.c:399 msgid "Delegation control is not supported with cURL < 7.22.0" msgstr "Ð”ÐµÐ»ÐµÐ³Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ полномочий не поддерживаетÑÑ Ñ cURL < 7.22.0" -#: http.c:378 +#: http.c:408 msgid "Public key pinning not supported with cURL < 7.44.0" msgstr "Public key pinning не поддерживаетÑÑ Ñ cURL < 7.44.0" -#: http.c:1854 +#: http.c:876 +msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0" +msgstr "" + +#: http.c:949 +msgid "Protocol restrictions not supported with cURL < 7.19.4" +msgstr "" + +#: http.c:1085 +#, c-format +msgid "Unsupported SSL backend '%s'. Supported SSL backends:" +msgstr "" + +#: http.c:1092 +#, c-format +msgid "Could not set SSL backend to '%s': cURL was built without SSL backends" +msgstr "" + +#: http.c:1096 +#, c-format +msgid "Could not set SSL backend to '%s': already set" +msgstr "" + +#: http.c:1965 #, c-format msgid "" "unable to update url base from redirection:\n" @@ -16279,94 +19457,214 @@ msgid "" " redirect: %s" msgstr "не удалоÑÑŒ обновить базовый url из переадреÑации:\n запрошено: %s\n переадреÑовано: %s" -#: remote-curl.c:401 +#: remote-curl.c:157 +#, c-format +msgid "invalid quoting in push-option value: '%s'" +msgstr "" + +#: remote-curl.c:254 +#, c-format +msgid "%sinfo/refs not valid: is this a git repository?" +msgstr "" + +#: remote-curl.c:355 +msgid "invalid server response; expected service, got flush packet" +msgstr "" + +#: remote-curl.c:386 +#, c-format +msgid "invalid server response; got '%s'" +msgstr "" + +#: remote-curl.c:446 +#, c-format +msgid "repository '%s' not found" +msgstr "" + +#: remote-curl.c:450 +#, c-format +msgid "Authentication failed for '%s'" +msgstr "" + +#: remote-curl.c:454 +#, c-format +msgid "unable to access '%s': %s" +msgstr "«%s» недоÑтупно: %s" + +#: remote-curl.c:460 #, c-format msgid "redirecting to %s" msgstr "переадреÑÐ°Ñ†Ð¸Ñ Ð½Ð° %s" -#: list-objects-filter-options.h:59 +#: remote-curl.c:584 +msgid "shouldn't have EOF when not gentle on EOF" +msgstr "" + +#: remote-curl.c:664 +msgid "unable to rewind rpc post data - try increasing http.postBuffer" +msgstr "" + +#: remote-curl.c:724 +#, c-format +msgid "RPC failed; %s" +msgstr "" + +#: remote-curl.c:764 +msgid "cannot handle pushes this big" +msgstr "" + +#: remote-curl.c:879 +#, c-format +msgid "cannot deflate request; zlib deflate error %d" +msgstr "" + +#: remote-curl.c:883 +#, c-format +msgid "cannot deflate request; zlib end error %d" +msgstr "" + +#: remote-curl.c:1014 +msgid "dumb http transport does not support shallow capabilities" +msgstr "" + +#: remote-curl.c:1028 +msgid "fetch failed." +msgstr "" + +#: remote-curl.c:1076 +msgid "cannot fetch by sha1 over smart http" +msgstr "" + +#: remote-curl.c:1120 remote-curl.c:1126 +#, c-format +msgid "protocol error: expected sha/ref, got '%s'" +msgstr "" + +#: remote-curl.c:1138 remote-curl.c:1252 +#, c-format +msgid "http transport does not support %s" +msgstr "" + +#: remote-curl.c:1174 +msgid "git-http-push failed" +msgstr "" + +#: remote-curl.c:1360 +msgid "remote-curl: usage: git remote-curl <remote> [<url>]" +msgstr "" + +#: remote-curl.c:1392 +msgid "remote-curl: error reading command stream from git" +msgstr "" + +#: remote-curl.c:1399 +msgid "remote-curl: fetch attempted without a local repo" +msgstr "" + +#: remote-curl.c:1439 +#, c-format +msgid "remote-curl: unknown command '%s' from git" +msgstr "" + +#: list-objects-filter-options.h:61 msgid "args" msgstr "аргументы" -#: list-objects-filter-options.h:60 +#: list-objects-filter-options.h:62 msgid "object filtering" msgstr "Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð²" -#: parse-options.h:157 +#: parse-options.h:170 msgid "expiry-date" msgstr "дата-окончаниÑ" -#: parse-options.h:172 +#: parse-options.h:184 msgid "no-op (backward compatibility)" msgstr "ничего не делает (оÑтавлено Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ ÑовмеÑтимоÑти)" -#: parse-options.h:251 +#: parse-options.h:304 msgid "be more verbose" msgstr "быть многоÑловнее" -#: parse-options.h:253 +#: parse-options.h:306 msgid "be more quiet" msgstr "тихий режим" -#: parse-options.h:259 +#: parse-options.h:312 msgid "use <n> digits to display SHA-1s" msgstr "иÑпользовать <n> цифр Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° SHA-1" +#: parse-options.h:331 +msgid "how to strip spaces and #comments from message" +msgstr "как удалÑть пробелы и #комментарии из ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°" + +#: ref-filter.h:101 +msgid "key" +msgstr "ключ" + +#: ref-filter.h:101 +msgid "field name to sort on" +msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ, по которому выполнить Ñортировку" + +#: rerere.h:44 +msgid "update the index with reused conflict resolution if possible" +msgstr "обновить Ð¸Ð½Ð´ÐµÐºÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ переиÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð°, еÑли возможно" + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Добавление Ñодержимого файла в индекÑ" #: command-list.h:51 msgid "Apply a series of patches from a mailbox" -msgstr "Применить Ñерию патчей из почтового ÑообщениÑ" +msgstr "Применение Ñерии патчей из почтового ÑообщениÑ" #: command-list.h:52 msgid "Annotate file lines with commit information" -msgstr "Ðннотировать Ñтроки файла информацией о коммитах" +msgstr "Ðннотирование Ñтрок файла информацией о коммитах" #: command-list.h:53 msgid "Apply a patch to files and/or to the index" -msgstr "Применить патч к файлам и/или индекÑу" +msgstr "Применение патча к файлам и/или индекÑу" #: command-list.h:54 -msgid "Import an Arch repository into Git" -msgstr "Импортировать репозиторий Arch в Git" +msgid "Import a GNU Arch repository into Git" +msgstr "Импортирование GNU Arch Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² Git" #: command-list.h:55 msgid "Create an archive of files from a named tree" -msgstr "Сделать архив файлов из указанного дерева" +msgstr "Создание архива файлов из указанного дерева" #: command-list.h:56 msgid "Use binary search to find the commit that introduced a bug" -msgstr "Выполнить двоичный поиÑк изменениÑ, которое вноÑит ошибку" +msgstr "Выполнение двоичного поиÑка коммита, который вноÑит ошибку" #: command-list.h:57 msgid "Show what revision and author last modified each line of a file" -msgstr "" +msgstr "Показ редакции и автора поÑледнего изменившего каждую Ñтроку файла" #: command-list.h:58 msgid "List, create, or delete branches" -msgstr "Вывод ÑпиÑка веток, их Ñоздание или удаление" +msgstr "Вывод ÑпиÑка, Ñоздание или удаление веток" #: command-list.h:59 msgid "Move objects and refs by archive" -msgstr "" +msgstr "Перемещение объектов и ÑÑылок по архиву" #: command-list.h:60 msgid "Provide content or type and size information for repository objects" -msgstr "" +msgstr "Вывод Ñодержимого или типа и информации о размере Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² репозиториÑ" #: command-list.h:61 msgid "Display gitattributes information" -msgstr "" +msgstr "Вывод информации из gitattributes" #: command-list.h:62 msgid "Debug gitignore / exclude files" -msgstr "" +msgstr "Отладка файлов gitignore / exclude" #: command-list.h:63 msgid "Show canonical names and email addresses of contacts" -msgstr "" +msgstr "Вывод каноничных имён и адреÑов Ñлектронной почты контактов" #: command-list.h:64 msgid "Switch branches or restore working tree files" @@ -16374,27 +19672,27 @@ msgstr "Переключение веток или воÑÑтановление #: command-list.h:65 msgid "Copy files from the index to the working tree" -msgstr "" +msgstr "Копирование файлов из индекÑа в рабочий каталог" #: command-list.h:66 msgid "Ensures that a reference name is well formed" -msgstr "" +msgstr "УдоÑтоверитьÑÑ, что Ð¸Ð¼Ñ ÑÑылки правильно Ñформировано" #: command-list.h:67 msgid "Find commits yet to be applied to upstream" -msgstr "" +msgstr "ПоиÑк коммитов которые еще не применены вышеÑтоÑщим репозиторием" #: command-list.h:68 msgid "Apply the changes introduced by some existing commits" -msgstr "" +msgstr "Применение изменений, Ñделанных в каком-то ÑущеÑтвующем коммите" #: command-list.h:69 msgid "Graphical alternative to git-commit" -msgstr "" +msgstr "ГрафичеÑÐºÐ°Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð° Ð´Ð»Ñ git-commit" #: command-list.h:70 msgid "Remove untracked files from the working tree" -msgstr "" +msgstr "Удаление неотÑлеживаемых файлов из рабочего каталога" #: command-list.h:71 msgid "Clone a repository into a new directory" @@ -16402,59 +19700,59 @@ msgstr "Клонирование Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² новый катал #: command-list.h:72 msgid "Display data in columns" -msgstr "" +msgstr "Вывод данных по колонкам" #: command-list.h:73 msgid "Record changes to the repository" msgstr "ЗапиÑÑŒ изменений в репозиторий" #: command-list.h:74 -msgid "Write and verify Git commit graph files" -msgstr "" +msgid "Write and verify Git commit-graph files" +msgstr "ЗапиÑÑŒ и проверка commit-graph файлов Git" #: command-list.h:75 msgid "Create a new commit object" -msgstr "" +msgstr "Создание нового объекта коммита" #: command-list.h:76 msgid "Get and set repository or global options" -msgstr "" +msgstr "Получение и уÑтановка глобальных опций или опций репозиториÑ" #: command-list.h:77 msgid "Count unpacked number of objects and their disk consumption" -msgstr "" +msgstr "ПодÑчет количеÑтва неупакованных объектов и их Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñка" #: command-list.h:78 msgid "Retrieve and store user credentials" -msgstr "" +msgstr "Получение и Ñохранение учетных запиÑей пользователÑ" #: command-list.h:79 msgid "Helper to temporarily store passwords in memory" -msgstr "" +msgstr "Помощник Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹ в памÑти" #: command-list.h:80 msgid "Helper to store credentials on disk" -msgstr "" +msgstr "Помощник Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑƒÑ‡ÐµÑ‚Ð½Ñ‹Ñ… запиÑей на диÑке" #: command-list.h:81 msgid "Export a single commit to a CVS checkout" -msgstr "" +msgstr "ÐкÑпорт единÑтвенного коммита в виде рабочей копии CVS" #: command-list.h:82 msgid "Salvage your data out of another SCM people love to hate" -msgstr "" +msgstr "СпаÑение ваших данных из другой СКВ которую люди любÑÑ‚ ненавидеть" #: command-list.h:83 msgid "A CVS server emulator for Git" -msgstr "" +msgstr "ÐмулÑтор Ñервера CVS Ð´Ð»Ñ Git" #: command-list.h:84 msgid "A really simple server for Git repositories" -msgstr "" +msgstr "Очень проÑтой Ñервер Ð´Ð»Ñ Git репозиториев" #: command-list.h:85 msgid "Give an object a human readable name based on an available ref" -msgstr "" +msgstr "ПриÑвоение объекту удобочитаемое Ð¸Ð¼Ñ Ð½Ð° оÑнове доÑтупной ÑÑылки" #: command-list.h:86 msgid "Show changes between commits, commit and working tree, etc" @@ -16462,27 +19760,27 @@ msgstr "Вывод разницы между коммитами, коммитоР#: command-list.h:87 msgid "Compares files in the working tree and the index" -msgstr "" +msgstr "Сравнение Ñедержимого файлов в рабочем каталоге Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ в индекÑе" #: command-list.h:88 msgid "Compare a tree to the working tree or index" -msgstr "" +msgstr "Сравнение дерева файлов Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ð¼ каталогом или индекÑом" #: command-list.h:89 msgid "Compares the content and mode of blobs found via two tree objects" -msgstr "" +msgstr "Сравнение Ñодержимого и режима двоичных объектов, найденных по двум объектам дерева" #: command-list.h:90 msgid "Show changes using common diff tools" -msgstr "" +msgstr "Показ изменений Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ раÑпроÑтраненных утилит ÑравнениÑ" #: command-list.h:91 msgid "Git data exporter" -msgstr "" +msgstr "ÐкÑпорт данных Git" #: command-list.h:92 msgid "Backend for fast Git data importers" -msgstr "" +msgstr "Внутренний Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð±Ñ‹Ñтрого импорта данных Git" #: command-list.h:93 msgid "Download objects and refs from another repository" @@ -16490,35 +19788,35 @@ msgstr "Загрузка объектов и ÑÑылок из другого Ñ€ #: command-list.h:94 msgid "Receive missing objects from another repository" -msgstr "" +msgstr "Получение недоÑтающих объектов из другого репозиториÑ" #: command-list.h:95 msgid "Rewrite branches" -msgstr "" +msgstr "ПерезапиÑÑŒ веток" #: command-list.h:96 msgid "Produce a merge commit message" -msgstr "" +msgstr "Создание ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° Ð´Ð»Ñ ÑлиÑниÑ" #: command-list.h:97 msgid "Output information on each ref" -msgstr "" +msgstr "Вывод информации о каждой ÑÑылке" #: command-list.h:98 msgid "Prepare patches for e-mail submission" -msgstr "" +msgstr "Подготовка патчей Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ по Ñлектронной почте" #: command-list.h:99 msgid "Verifies the connectivity and validity of the objects in the database" -msgstr "" +msgstr "Проверка ÑвÑзноÑти и валидноÑти объектов в базе данных" #: command-list.h:100 msgid "Cleanup unnecessary files and optimize the local repository" -msgstr "" +msgstr "ОчиÑтка ненужных файлов и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ репозиториÑ" #: command-list.h:101 msgid "Extract commit ID from an archive created using git-archive" -msgstr "" +msgstr "Извлечение идентификатора коммита из архива, Ñозданного Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ git-archive" #: command-list.h:102 msgid "Print lines matching a pattern" @@ -16526,35 +19824,35 @@ msgstr "Вывод Ñтрок, ÑоответÑтвующих шаблону" #: command-list.h:103 msgid "A portable graphical interface to Git" -msgstr "" +msgstr "Портативный графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Git" #: command-list.h:104 msgid "Compute object ID and optionally creates a blob from a file" -msgstr "" +msgstr "ВычиÑление идентификатора объекта и возможное Ñоздание двоичного объекта из файла" #: command-list.h:105 msgid "Display help information about Git" -msgstr "" +msgstr "Отображение Ñправочной информации о Git" #: command-list.h:106 msgid "Server side implementation of Git over HTTP" -msgstr "" +msgstr "Ð¡ÐµÑ€Ð²ÐµÑ€Ð½Ð°Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° Git над HTTP" #: command-list.h:107 msgid "Download from a remote Git repository via HTTP" -msgstr "" +msgstr "Загрузка из внешнего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Git Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HTTP" #: command-list.h:108 msgid "Push objects over HTTP/DAV to another repository" -msgstr "" +msgstr "Отправка объектов в другой репозиторий Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HTTP/DAV" #: command-list.h:109 msgid "Send a collection of patches from stdin to an IMAP folder" -msgstr "" +msgstr "Отправка коллекции патчей из Ñтандартного ввода в папку IMAP" #: command-list.h:110 msgid "Build pack index file for an existing packed archive" -msgstr "" +msgstr "ПоÑтроение файла индекÑа Ð´Ð»Ñ ÑущеÑтвующего упакованного архива" #: command-list.h:111 msgid "Create an empty Git repository or reinitialize an existing one" @@ -16562,15 +19860,15 @@ msgstr "Создание пуÑтого Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Git или пер #: command-list.h:112 msgid "Instantly browse your working repository in gitweb" -msgstr "" +msgstr "Мгновенный проÑмотр вашего рабочего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² gitweb" #: command-list.h:113 -msgid "add or parse structured information in commit messages" -msgstr "" +msgid "Add or parse structured information in commit messages" +msgstr "Добавление или разбор Ñтруктурированной информации в ÑообщениÑÑ… коммита" #: command-list.h:114 msgid "The Git repository browser" -msgstr "" +msgstr "Браузер Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Git" #: command-list.h:115 msgid "Show commit logs" @@ -16578,23 +19876,23 @@ msgstr "Вывод иÑтории коммитов" #: command-list.h:116 msgid "Show information about files in the index and the working tree" -msgstr "" +msgstr "Вывод информации о файлах в индекÑе и в рабочем каталоге" #: command-list.h:117 msgid "List references in a remote repository" -msgstr "" +msgstr "Вывод ÑпиÑка ÑÑылок во внешнем репозитории" #: command-list.h:118 msgid "List the contents of a tree object" -msgstr "" +msgstr "Вывод Ñодержимого объекта дерева" #: command-list.h:119 msgid "Extracts patch and authorship from a single e-mail message" -msgstr "" +msgstr "Извлекает патч и авторÑтво из одного ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñлектронной почты" #: command-list.h:120 msgid "Simple UNIX mbox splitter program" -msgstr "" +msgstr "ПроÑÑ‚Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° UNIX Ð´Ð»Ñ Ñ€Ð°Ð·Ð±Ð¾Ñ€Ð° файла mbox" #: command-list.h:121 msgid "Join two or more development histories together" @@ -16602,352 +19900,352 @@ msgstr "Объединение одной или неÑкольких иÑтор #: command-list.h:122 msgid "Find as good common ancestors as possible for a merge" -msgstr "" +msgstr "ПоиÑк подходÑщих общих предков Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ð³Ð¾ ÑлиÑниÑ" #: command-list.h:123 msgid "Run a three-way file merge" -msgstr "" +msgstr "ЗапуÑк трёхходового ÑлиÑÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²" #: command-list.h:124 msgid "Run a merge for files needing merging" -msgstr "" +msgstr "ЗапуÑк ÑлиÑÐ½Ð¸Ñ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², которые требуют ÑлиÑниÑ" #: command-list.h:125 msgid "The standard helper program to use with git-merge-index" -msgstr "" +msgstr "Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°-помощник Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑовмеÑтно Ñ git-merge-index" #: command-list.h:126 msgid "Run merge conflict resolution tools to resolve merge conflicts" -msgstr "" +msgstr "ЗапуÑк инÑтрументов Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² ÑлиÑниÑ" #: command-list.h:127 msgid "Show three-way merge without touching index" -msgstr "" +msgstr "Вывод трёхходового ÑлиÑние без Ð·Ð°Ñ‚Ñ€Ð°Ð³Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа" #: command-list.h:128 -msgid "Creates a tag object" -msgstr "" +msgid "Write and verify multi-pack-indexes" +msgstr "ЗапиÑÑŒ и проверка файлов multi-pack-index" #: command-list.h:129 -msgid "Build a tree-object from ls-tree formatted text" -msgstr "" +msgid "Creates a tag object" +msgstr "Создание объектов меток" #: command-list.h:130 +msgid "Build a tree-object from ls-tree formatted text" +msgstr "ПоÑтроение объекта дерева из текÑта формата ls-tree" + +#: command-list.h:131 msgid "Move or rename a file, a directory, or a symlink" msgstr "Перемещение или переименование файла, каталога или Ñимвольной ÑÑылки" -#: command-list.h:131 +#: command-list.h:132 msgid "Find symbolic names for given revs" -msgstr "" +msgstr "ПоиÑк Ñимвольных имён Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… редакций" -#: command-list.h:132 +#: command-list.h:133 msgid "Add or inspect object notes" -msgstr "" +msgstr "Добавление или проÑмотр заметок объекта" -#: command-list.h:133 +#: command-list.h:134 msgid "Import from and submit to Perforce repositories" -msgstr "" +msgstr "Импорт и отправка в репозитории Perforce" -#: command-list.h:134 +#: command-list.h:135 msgid "Create a packed archive of objects" -msgstr "" +msgstr "Создание упакованного архива объектов" -#: command-list.h:135 +#: command-list.h:136 msgid "Find redundant pack files" -msgstr "" +msgstr "ПоиÑк избыточных файлов пакетов" -#: command-list.h:136 +#: command-list.h:137 msgid "Pack heads and tags for efficient repository access" -msgstr "" +msgstr "Упаковка указателей на ветки и меток Ð´Ð»Ñ Ñффективного доÑтупа к репозиторию" -#: command-list.h:137 +#: command-list.h:138 msgid "Routines to help parsing remote repository access parameters" -msgstr "" +msgstr "Подпрограммы Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ разбора параметров доÑтупа внешнего репозиториÑ" -#: command-list.h:138 +#: command-list.h:139 msgid "Compute unique ID for a patch" -msgstr "" +msgstr "ВычиÑление уникального идентификатора Ð´Ð»Ñ Ð¿Ð°Ñ‚Ñ‡Ð°" -#: command-list.h:139 +#: command-list.h:140 msgid "Prune all unreachable objects from the object database" -msgstr "" +msgstr "ОчиÑтка вÑех недоÑтижимых объектов из базы данных объектов" -#: command-list.h:140 +#: command-list.h:141 msgid "Remove extra objects that are already in pack files" -msgstr "" +msgstr "Удаление дополнительных объектов, которые уже ÑодержатÑÑ Ð² файлах пакетов" -#: command-list.h:141 +#: command-list.h:142 msgid "Fetch from and integrate with another repository or a local branch" msgstr "Извлечение изменений и объединение Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ репозиторием или локальной веткой" -#: command-list.h:142 +#: command-list.h:143 msgid "Update remote refs along with associated objects" msgstr "Обновление внешних ÑÑылок и ÑвÑзанных объектов" -#: command-list.h:143 +#: command-list.h:144 msgid "Applies a quilt patchset onto the current branch" -msgstr "" +msgstr "Применение упорÑдоченного ÑпиÑка патчей над текущей веткой" -#: command-list.h:144 +#: command-list.h:145 msgid "Compare two commit ranges (e.g. two versions of a branch)" -msgstr "" +msgstr "Сравнение двух диапазонов коммитов (например двух верÑий ветки)" -#: command-list.h:145 +#: command-list.h:146 msgid "Reads tree information into the index" -msgstr "" +msgstr "Чтение информации о дереве в индекÑ" -#: command-list.h:146 +#: command-list.h:147 msgid "Reapply commits on top of another base tip" -msgstr "Повторно применить коммиты над верхушкой другой ветки" +msgstr "Повторное применение коммитов над верхушкой другой ветки" -#: command-list.h:147 +#: command-list.h:148 msgid "Receive what is pushed into the repository" -msgstr "" +msgstr "Получение того, что было отправлено в репозиторий" -#: command-list.h:148 +#: command-list.h:149 msgid "Manage reflog information" -msgstr "" +msgstr "Управление информацией журнала ÑÑылок" -#: command-list.h:149 +#: command-list.h:150 msgid "Manage set of tracked repositories" -msgstr "" +msgstr "Управление набором отÑлеживаемых репозиториев" -#: command-list.h:150 +#: command-list.h:151 msgid "Pack unpacked objects in a repository" -msgstr "" +msgstr "Упаковка неупакованных объектов в репозитории" -#: command-list.h:151 +#: command-list.h:152 msgid "Create, list, delete refs to replace objects" -msgstr "" +msgstr "Создание, вывод ÑпиÑка, удаление ÑÑылок Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹ объектов" -#: command-list.h:152 +#: command-list.h:153 msgid "Generates a summary of pending changes" -msgstr "" +msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñводки предÑтоÑщих изменений" -#: command-list.h:153 +#: command-list.h:154 msgid "Reuse recorded resolution of conflicted merges" -msgstr "" +msgstr "Повторное иÑпользование запиÑанных разрешений конфликтов при ÑлиÑниÑÑ…" -#: command-list.h:154 +#: command-list.h:155 msgid "Reset current HEAD to the specified state" msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ ÑоÑтоÑÐ½Ð¸Ñ HEAD на указанное ÑоÑтоÑние" -#: command-list.h:155 +#: command-list.h:156 msgid "Revert some existing commits" -msgstr "" +msgstr "Обращение изменений ÑущеÑтвующих коммитов" -#: command-list.h:156 +#: command-list.h:157 msgid "Lists commit objects in reverse chronological order" -msgstr "" +msgstr "Вывод ÑпиÑка объектов коммита в обратном хронологичеÑком порÑдке" -#: command-list.h:157 +#: command-list.h:158 msgid "Pick out and massage parameters" -msgstr "" +msgstr "Разбор и обработка параметров" -#: command-list.h:158 +#: command-list.h:159 msgid "Remove files from the working tree and from the index" msgstr "Удаление файлов из рабочего каталога и индекÑа" -#: command-list.h:159 +#: command-list.h:160 msgid "Send a collection of patches as emails" -msgstr "" +msgstr "Отправка коллекции патчей на Ñлектронную почту" -#: command-list.h:160 +#: command-list.h:161 msgid "Push objects over Git protocol to another repository" -msgstr "" +msgstr "Отправка объектов в другой репозиторий Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ протокола Git" -#: command-list.h:161 +#: command-list.h:162 msgid "Restricted login shell for Git-only SSH access" -msgstr "" +msgstr "ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° входа в ÑиÑтему Ð´Ð»Ñ Ð´Ð¾Ñтупа Git через SSH" -#: command-list.h:162 +#: command-list.h:163 msgid "Summarize 'git log' output" -msgstr "" +msgstr "Обобщение вывода «git log»" -#: command-list.h:163 +#: command-list.h:164 msgid "Show various types of objects" msgstr "Вывод различных типов объектов" -#: command-list.h:164 +#: command-list.h:165 msgid "Show branches and their commits" -msgstr "" +msgstr "Вывод веток и их коммитов" -#: command-list.h:165 +#: command-list.h:166 msgid "Show packed archive index" -msgstr "" +msgstr "Вывод индекÑа упакованного архива" -#: command-list.h:166 +#: command-list.h:167 msgid "List references in a local repository" -msgstr "" +msgstr "Вывод ÑÑылок в локальном репозитории" -#: command-list.h:167 +#: command-list.h:168 msgid "Git's i18n setup code for shell scripts" -msgstr "" +msgstr "Код наÑтройки интернационализации Ð´Ð»Ñ Ñценариев оболочки Git" -#: command-list.h:168 +#: command-list.h:169 msgid "Common Git shell script setup code" -msgstr "" +msgstr "Общий код наÑтройки Ð´Ð»Ñ Ñценариев оболочки Git" -#: command-list.h:169 +#: command-list.h:170 msgid "Stash the changes in a dirty working directory away" -msgstr "" +msgstr "СпрÑтать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² изменённом рабочем каталоге" -#: command-list.h:170 +#: command-list.h:171 msgid "Add file contents to the staging area" -msgstr "" +msgstr "Добавление Ñодержимого файлов в индекÑ" -#: command-list.h:171 +#: command-list.h:172 msgid "Show the working tree status" msgstr "Вывод ÑоÑтоÑÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ каталога" -#: command-list.h:172 +#: command-list.h:173 msgid "Remove unnecessary whitespace" -msgstr "" +msgstr "Удаление ненужных пробелов" -#: command-list.h:173 +#: command-list.h:174 msgid "Initialize, update or inspect submodules" -msgstr "" +msgstr "ИнициализациÑ, обновление или проÑмотр подмодулей" -#: command-list.h:174 +#: command-list.h:175 msgid "Bidirectional operation between a Subversion repository and Git" -msgstr "" +msgstr "ДвухÑторонние операции между репозиториÑми Subversion и Git" -#: command-list.h:175 +#: command-list.h:176 msgid "Read, modify and delete symbolic refs" -msgstr "" +msgstr "Чтение, изменение и удаление ÑимволичеÑких ÑÑылок" -#: command-list.h:176 +#: command-list.h:177 msgid "Create, list, delete or verify a tag object signed with GPG" -msgstr "Создание метки, вывод ÑпиÑка, удаление или проверка метки, подпиÑанной Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" +msgstr "Создание, вывод ÑпиÑка, удаление или проверка метки, подпиÑанной Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GPG" -#: command-list.h:177 +#: command-list.h:178 msgid "Creates a temporary file with a blob's contents" -msgstr "" +msgstr "Создание временного файла Ñ Ñодержимым двоичного объекта" -#: command-list.h:178 +#: command-list.h:179 msgid "Unpack objects from a packed archive" -msgstr "" +msgstr "РаÑпаковка объектов из упакованного архива" -#: command-list.h:179 +#: command-list.h:180 msgid "Register file contents in the working tree to the index" -msgstr "" +msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñодержимого файла из рабочего каталога в индекÑ" -#: command-list.h:180 +#: command-list.h:181 msgid "Update the object name stored in a ref safely" -msgstr "" +msgstr "БезопаÑное обновление имени объекта хранÑщегоÑÑ Ð² ÑÑылке" -#: command-list.h:181 +#: command-list.h:182 msgid "Update auxiliary info file to help dumb servers" -msgstr "" +msgstr "Обновление файла Ñо вÑпомогательной информацией Ð´Ð»Ñ Ð³Ð»ÑƒÐ¿Ñ‹Ñ… Ñерверов" -#: command-list.h:182 +#: command-list.h:183 msgid "Send archive back to git-archive" -msgstr "" +msgstr "Отправка архива обратно в git-archive" -#: command-list.h:183 +#: command-list.h:184 msgid "Send objects packed back to git-fetch-pack" -msgstr "" +msgstr "Отправка упакованных объектов обратно в git-fetch-pack" -#: command-list.h:184 +#: command-list.h:185 msgid "Show a Git logical variable" -msgstr "" +msgstr "Вывод логичеÑкой переменной Git" -#: command-list.h:185 +#: command-list.h:186 msgid "Check the GPG signature of commits" -msgstr "" +msgstr "Проверка подпиÑи GPG коммитов" -#: command-list.h:186 +#: command-list.h:187 msgid "Validate packed Git archive files" -msgstr "" +msgstr "Проверка файлов упакованных архивов Git" -#: command-list.h:187 +#: command-list.h:188 msgid "Check the GPG signature of tags" -msgstr "" +msgstr "Проверка подпиÑи GPG меток" -#: command-list.h:188 +#: command-list.h:189 msgid "Git web interface (web frontend to Git repositories)" -msgstr "" +msgstr "Веб Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Git (веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Git репозиториев)" -#: command-list.h:189 +#: command-list.h:190 msgid "Show logs with difference each commit introduces" -msgstr "" +msgstr "Вывод журнала Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñми, которые вводил каждый из коммитов" -#: command-list.h:190 +#: command-list.h:191 msgid "Manage multiple working trees" -msgstr "" +msgstr "Управление неÑколькими рабочими каталогами" -#: command-list.h:191 +#: command-list.h:192 msgid "Create a tree object from the current index" -msgstr "" +msgstr "Создание объекта дерева из текущего индекÑа" -#: command-list.h:192 +#: command-list.h:193 msgid "Defining attributes per path" msgstr "Определение атрибутов Ð´Ð»Ñ Ð¿ÑƒÑ‚ÐµÐ¹ файлов или каталогов" -#: command-list.h:193 +#: command-list.h:194 msgid "Git command-line interface and conventions" -msgstr "" +msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки Git и ÑоглашениÑ" -#: command-list.h:194 +#: command-list.h:195 msgid "A Git core tutorial for developers" -msgstr "" +msgstr "Учебник по Ñдру Git Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²" -#: command-list.h:195 +#: command-list.h:196 msgid "Git for CVS users" -msgstr "" +msgstr "Git Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ CVS" -#: command-list.h:196 +#: command-list.h:197 msgid "Tweaking diff output" -msgstr "" +msgstr "ПодÑтройка вывода ÑпиÑка изменений" -#: command-list.h:197 +#: command-list.h:198 msgid "A useful minimum set of commands for Everyday Git" -msgstr "" +msgstr "Полезный минимум команд Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð´Ð½ÐµÐ²Ð½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Git" -#: command-list.h:198 +#: command-list.h:199 msgid "A Git Glossary" -msgstr "" +msgstr "ГлоÑÑарий Git" -#: command-list.h:199 +#: command-list.h:200 msgid "Hooks used by Git" -msgstr "" +msgstr "Перехватчики иÑпользуемые Git" -#: command-list.h:200 +#: command-list.h:201 msgid "Specifies intentionally untracked files to ignore" msgstr "Указание Ñпециально игнорируемых файлов" -#: command-list.h:201 +#: command-list.h:202 msgid "Defining submodule properties" msgstr "Определение ÑвойÑтв подмодулей" -#: command-list.h:202 +#: command-list.h:203 msgid "Git namespaces" -msgstr "" +msgstr "ПроÑтранÑтва имён Git" -#: command-list.h:203 +#: command-list.h:204 msgid "Git Repository Layout" -msgstr "" +msgstr "Содержимое Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Git" -#: command-list.h:204 +#: command-list.h:205 msgid "Specifying revisions and ranges for Git" msgstr "Указание редакций и диапазонов Ð´Ð»Ñ Git" -#: command-list.h:205 +#: command-list.h:206 msgid "A tutorial introduction to Git: part two" -msgstr "" +msgstr "Обучающее введение в Git: чаÑть втораÑ" -#: command-list.h:206 +#: command-list.h:207 msgid "A tutorial introduction to Git" -msgstr "" +msgstr "Обучающее введение в Git" -#: command-list.h:207 +#: command-list.h:208 msgid "An overview of recommended workflows with Git" msgstr "Обзор рекомендуемых поÑледовательноÑтей выполнÑемых дейÑтвий Ñ Git" -#: rerere.h:40 -msgid "update the index with reused conflict resolution if possible" -msgstr "обновить Ð¸Ð½Ð´ÐµÐºÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ переиÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð°, еÑли возможно" - #: git-bisect.sh:54 msgid "You need to start by \"git bisect start\"" msgstr "Вам нужно начать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git bisect start»" @@ -16959,161 +20257,73 @@ msgstr "Вам нужно начать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git bisect start»" msgid "Do you want me to do it for you [Y/n]? " msgstr "Ð’Ñ‹ уверены, что хотите, чтобы Ñ Ñделал Ñто [Y - да/n - нет]? " -#: git-bisect.sh:121 -#, sh-format -msgid "unrecognised option: '$arg'" -msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ: «$arg»" - -#: git-bisect.sh:125 -#, sh-format -msgid "'$arg' does not appear to be a valid revision" -msgstr "«$arg» не похоже на дейÑтвительную редакцию" - -#: git-bisect.sh:154 -msgid "Bad HEAD - I need a HEAD" -msgstr "Плохой указатель HEAD — Ðеобходим указатель HEAD" - -#: git-bisect.sh:167 -#, sh-format -msgid "" -"Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'." -msgstr "Сбой перехода на «$start_head». Попробуйте выполнить «git bisect reset <ÑущеÑтвующаÑ-ветка>»." - -#: git-bisect.sh:177 -msgid "won't bisect on cg-seek'ed tree" -msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ двоичный поиÑк на дереве поÑле cg-seek" - -#: git-bisect.sh:181 -msgid "Bad HEAD - strange symbolic ref" -msgstr "Плохой указатель HEAD — ÑÑ‚Ñ€Ð°Ð½Ð½Ð°Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка" - -#: git-bisect.sh:233 -#, sh-format -msgid "Bad bisect_write argument: $state" -msgstr "Плохой аргумент bisect_write: $state" - -#: git-bisect.sh:246 +#: git-bisect.sh:101 #, sh-format msgid "Bad rev input: $arg" msgstr "Плохой ввод номера редакции: $arg" -#: git-bisect.sh:265 +#: git-bisect.sh:121 #, sh-format msgid "Bad rev input: $bisected_head" msgstr "Плохой ввод номера редакции: $bisected_head" -#: git-bisect.sh:274 +#: git-bisect.sh:130 #, sh-format msgid "Bad rev input: $rev" msgstr "Плохой ввод номера редакции: $rev" -#: git-bisect.sh:283 +#: git-bisect.sh:139 #, sh-format msgid "'git bisect $TERM_BAD' can take only one argument." msgstr "«git bisect $TERM_BAD» может принимать только один аргумент." -#: git-bisect.sh:306 -#, sh-format -msgid "Warning: bisecting only with a $TERM_BAD commit." -msgstr "Предупреждение: попытка двоичного поиÑка Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ только $TERM_BAD коммита." - -#. TRANSLATORS: Make sure to include [Y] and [n] in your -#. translation. The program will only accept English input -#. at this point. -#: git-bisect.sh:312 -msgid "Are you sure [Y/n]? " -msgstr "Ð’Ñ‹ уверены [Y - да/n - нет]? " - -#: git-bisect.sh:324 -#, sh-format -msgid "" -"You need to give me at least one $bad_syn and one $good_syn revision.\n" -"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)" -msgstr "Вам нужно передать мне как минимум одну $bad_syn и одну $good_syn редакцию.\n(Ð”Ð»Ñ Ñтого вы можете иÑпользовать команды «git bisect $bad_syn» и «git bisect $good_syn».)" - -#: git-bisect.sh:327 -#, sh-format -msgid "" -"You need to start by \"git bisect start\".\n" -"You then need to give me at least one $good_syn and one $bad_syn revision.\n" -"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)" -msgstr "Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° нужно запуÑтить «git bisect start».\nПоÑле Ñтого, вам нужно передать мне как минимум одну $good_syn и одну $bad_syn редакцию.\n(Ð”Ð»Ñ Ñтого вы можете иÑпользовать команды «git bisect $good_syn» и «git bisect $good_syn».)" - -#: git-bisect.sh:398 git-bisect.sh:512 -msgid "We are not bisecting." -msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ в процеÑÑе бинарного поиÑка." - -#: git-bisect.sh:405 -#, sh-format -msgid "'$invalid' is not a valid commit" -msgstr "«$invalid» не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным коммитом" - -#: git-bisect.sh:414 -#, sh-format -msgid "" -"Could not check out original HEAD '$branch'.\n" -"Try 'git bisect reset <commit>'." -msgstr "Ðе удалоÑÑŒ перейти на оригинальную ветку HEAD «$branch».\nПопробуйте запуÑтить «git bisect reset <коммит>»." - -#: git-bisect.sh:422 +#: git-bisect.sh:209 msgid "No logfile given" msgstr "Ðе передан файл журнала" -#: git-bisect.sh:423 +#: git-bisect.sh:210 #, sh-format msgid "cannot read $file for replaying" msgstr "не удалоÑÑŒ прочитать $file Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð° изменений" -#: git-bisect.sh:444 +#: git-bisect.sh:232 msgid "?? what are you talking about?" msgstr "?? вы о чем?" -#: git-bisect.sh:453 +#: git-bisect.sh:241 msgid "bisect run failed: no command provided." msgstr "Ñбой при выполнении двоичного поиÑка: не передана команда." -#: git-bisect.sh:458 +#: git-bisect.sh:246 #, sh-format msgid "running $command" msgstr "запуÑкаю $command" -#: git-bisect.sh:465 +#: git-bisect.sh:253 #, sh-format msgid "" "bisect run failed:\n" "exit code $res from '$command' is < 0 or >= 128" msgstr "не удалоÑÑŒ выполнить двоичный поиÑк:\nкод Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ $res от «$command» оказалÑÑ < 0 или >= 128" -#: git-bisect.sh:491 +#: git-bisect.sh:279 msgid "bisect run cannot continue any more" msgstr "bisect run больше не может продолжать" -#: git-bisect.sh:497 +#: git-bisect.sh:285 #, sh-format msgid "" "bisect run failed:\n" "'bisect_state $state' exited with error code $res" msgstr "не удалоÑÑŒ выполнить двоичный поиÑк:\n«bisect_state $state» завершилÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ ошибки $res" -#: git-bisect.sh:504 +#: git-bisect.sh:292 msgid "bisect run success" msgstr "bisect run выполнен уÑпешно" -#: git-bisect.sh:533 -#, sh-format -msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect." -msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: вы ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÐµÑÑŒ на $TERM_BAD/$TERM_GOOD двоичном поиÑке." - -#: git-bisect.sh:567 -msgid "no terms defined" -msgstr "Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ заданы" - -#: git-bisect.sh:584 -#, sh-format -msgid "" -"invalid argument $arg for 'git bisect terms'.\n" -"Supported options are: --term-good|--term-old and --term-bad|--term-new." -msgstr "недопуÑтимый аргумент $arg Ð´Ð»Ñ Â«git bisect terms».\nПоддерживаемые параметры: --term-good|--term-old и --term-bad|--term-new." +#: git-bisect.sh:300 +msgid "We are not bisecting." +msgstr "Ð’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ в процеÑÑе бинарного поиÑка." #: git-merge-octopus.sh:46 msgid "" @@ -17153,321 +20363,113 @@ msgstr "Попытка проÑтого ÑлиÑÐ½Ð¸Ñ Ñ $pretty_name" msgid "Simple merge did not work, trying automatic merge." msgstr "ПроÑтое ÑлиÑние не удалоÑÑŒ, попытка автоматичеÑкого ÑлиÑниÑ." -#: git-rebase.sh:61 -msgid "" -"Resolve all conflicts manually, mark them as resolved with\n" -"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" -"You can instead skip this commit: run \"git rebase --skip\".\n" -"To abort and get back to the state before \"git rebase\", run \"git rebase --abort\"." -msgstr "Разрешите вÑе конфликты вручную, пометьте их разрешёнными Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «git add/rm <конфликтующие-файлы>», а затем запуÑтите «git rebase --continue».\nЕÑли вы хотите пропуÑтить Ñтот коммит, то запуÑтите «git rebase --skip».\nЧтобы вернутьÑÑ Ð½Ð° ÑоÑтоÑние до «git rebase», запуÑтите «git rebase --abort»." - -#: git-rebase.sh:173 git-rebase.sh:454 -#, sh-format -msgid "Could not move back to $head_name" -msgstr "Ðе удалоÑÑŒ перейти назад на $head_name" - -#: git-rebase.sh:184 -msgid "Applied autostash." -msgstr "Применены автоматичеÑки ÑпрÑтанные изменениÑ." - -#: git-rebase.sh:187 -#, sh-format -msgid "Cannot store $stash_sha1" -msgstr "Ðе удалоÑÑŒ Ñохранить $stash_sha1" - -#: git-rebase.sh:236 -msgid "The pre-rebase hook refused to rebase." -msgstr "Перехватчик pre-rebase отказал в перемещении." - -#: git-rebase.sh:241 -msgid "It looks like 'git am' is in progress. Cannot rebase." -msgstr "Похоже, что выполнÑетÑÑ Â«git am». Ðевозможно выполнить перемещение." - -#: git-rebase.sh:415 -msgid "No rebase in progress?" -msgstr "Ðет Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² процеÑÑе?" - -#: git-rebase.sh:426 -msgid "The --edit-todo action can only be used during interactive rebase." -msgstr "ДейÑтвие --edit-todo может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при интерактивном перемещении." - -#: git-rebase.sh:433 -msgid "Cannot read HEAD" -msgstr "Ðе удалоÑÑŒ прочитать HEAD" - -#: git-rebase.sh:436 -msgid "" -"You must edit all merge conflicts and then\n" -"mark them as resolved using git add" -msgstr "Ð’Ñ‹ должны отредактировать вÑе\nконфликты ÑлиÑниÑ, а потом пометить\nих как разрешенные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ git add" - -#: git-rebase.sh:480 -#, sh-format -msgid "" -"It seems that there is already a $state_dir_base directory, and\n" -"I wonder if you are in the middle of another rebase. If that is the\n" -"case, please try\n" -"\t$cmd_live_rebase\n" -"If that is not the case, please\n" -"\t$cmd_clear_stale_rebase\n" -"and run me again. I am stopping in case you still have something\n" -"valuable there." -msgstr "Похоже, каталог $state_dir_base уже ÑущеÑтвует и Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÑŽ, что вы в процеÑÑе другого перемещениÑ. ЕÑли Ñто так, попробуйте\n\t$cmd_live_rebase\nЕÑли нет\n\t$cmd_clear_stale_rebase\nи запуÑтите Ð¼ÐµÐ½Ñ Ñнова. Я оÑтанавливаюÑÑŒ, чтобы вы не потерÑли что-то важное." - -#: git-rebase.sh:545 -msgid "error: cannot combine '--signoff' with '--preserve-merges'" -msgstr "" - -#: git-rebase.sh:556 -msgid "error: cannot combine '--preserve_merges' with '--rebase-merges'" -msgstr "" - -#: git-rebase.sh:562 -msgid "error: cannot combine '--rebase_merges' with '--strategy-option'" -msgstr "" - -#: git-rebase.sh:564 -msgid "error: cannot combine '--rebase_merges' with '--strategy'" -msgstr "" - -#: git-rebase.sh:590 -#, sh-format -msgid "invalid upstream '$upstream_name'" -msgstr "недейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð²Ñ‹ÑˆÐµÑтоÑÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° «$upstream_name»" - -#: git-rebase.sh:614 -#, sh-format -msgid "$onto_name: there are more than one merge bases" -msgstr "$onto_name: имеетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµ одной базы ÑлиÑниÑ" - -#: git-rebase.sh:617 git-rebase.sh:621 -#, sh-format -msgid "$onto_name: there is no merge base" -msgstr "$onto_name: нет базы ÑлиÑниÑ" - -#: git-rebase.sh:626 -#, sh-format -msgid "Does not point to a valid commit: $onto_name" -msgstr "Ðе указывает на дейÑтвительный коммит: $onto_name" - -#: git-rebase.sh:652 -#, sh-format -msgid "fatal: no such branch/commit '$branch_name'" -msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: нет такой ветки/коммита «$branch_name»" - -#: git-rebase.sh:685 -msgid "Cannot autostash" -msgstr "Ðе удалоÑÑŒ автоматичеÑки ÑпрÑтать изменениÑ" - -#: git-rebase.sh:690 -#, sh-format -msgid "Created autostash: $stash_abbrev" -msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки ÑпрÑтаны: $stash_abbrev" - -#: git-rebase.sh:694 -msgid "Please commit or stash them." -msgstr "Сделайте коммит или ÑпрÑчьте их." - -#: git-rebase.sh:717 -#, sh-format -msgid "HEAD is up to date." -msgstr "HEAD уже в актуальном ÑоÑтоÑнии." - -#: git-rebase.sh:719 -#, sh-format -msgid "Current branch $branch_name is up to date." -msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° $branch_name уже в актуальном ÑоÑтоÑнии." - -#: git-rebase.sh:727 -#, sh-format -msgid "HEAD is up to date, rebase forced." -msgstr "HEAD уже в актуальном ÑоÑтоÑнии, принудительное перемещение." - -#: git-rebase.sh:729 -#, sh-format -msgid "Current branch $branch_name is up to date, rebase forced." -msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ‚ÐºÐ° $branch_name уже в актуальном ÑоÑтоÑнии, принудительное перемещение." - -#: git-rebase.sh:741 -#, sh-format -msgid "Changes from $mb to $onto:" -msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ $mb до $onto:" - -#: git-rebase.sh:750 -msgid "First, rewinding head to replay your work on top of it..." -msgstr "Сначала перематываем указатель текущего коммита, чтобы применить ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ… него…" - -#: git-rebase.sh:760 -#, sh-format -msgid "Fast-forwarded $branch_name to $onto_name." -msgstr "Перемотана вперед $branch_name до $onto_name." - -#: git-stash.sh:61 -msgid "git stash clear with parameters is unimplemented" -msgstr "git stash очиÑтка Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ не реализована" - -#: git-stash.sh:108 -msgid "You do not have the initial commit yet" -msgstr "У Ð²Ð°Ñ ÐµÑ‰Ðµ нет начального коммита" - -#: git-stash.sh:123 -msgid "Cannot save the current index state" -msgstr "Ðе удалоÑÑŒ Ñохранить текущее ÑоÑтоÑние индекÑа" - -#: git-stash.sh:138 -msgid "Cannot save the untracked files" -msgstr "Ðевозможно Ñохранить неотÑлеживаемые файлы" - -#: git-stash.sh:158 git-stash.sh:171 -msgid "Cannot save the current worktree state" -msgstr "Ðе удалоÑÑŒ Ñохранить текущее ÑоÑтоÑние рабочего каталога" - -#: git-stash.sh:175 -msgid "No changes selected" -msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ выбраны" - -#: git-stash.sh:178 +#: git-legacy-stash.sh:220 msgid "Cannot remove temporary index (can't happen)" msgstr "Ðе удалоÑÑŒ удалить временный Ð¸Ð½Ð´ÐµÐºÑ (не должно ÑлучатьÑÑ)" -#: git-stash.sh:191 -msgid "Cannot record working tree state" -msgstr "Ðе удалоÑÑŒ запиÑать ÑоÑтоÑние рабочего каталога" - -#: git-stash.sh:229 +#: git-legacy-stash.sh:271 #, sh-format msgid "Cannot update $ref_stash with $w_commit" msgstr "Ðе удалоÑÑŒ обновить $ref_stash Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ $w_commit" -#: git-stash.sh:281 +#: git-legacy-stash.sh:323 #, sh-format msgid "error: unknown option for 'stash push': $option" msgstr "ошибка: неизвеÑтный параметр Ð´Ð»Ñ Â«stash push»: $option" -#: git-stash.sh:295 -msgid "Can't use --patch and --include-untracked or --all at the same time" -msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать --patch и --include-untracked или --all одновременно" - -#: git-stash.sh:303 -msgid "No local changes to save" -msgstr "Ðет локальных изменений Ð´Ð»Ñ ÑохранениÑ" - -#: git-stash.sh:308 -msgid "Cannot initialize stash" -msgstr "Ðе удалоÑÑŒ инициализировать ÑпрÑтанные изменениÑ" - -#: git-stash.sh:312 -msgid "Cannot save the current status" -msgstr "Ðе удалоÑÑŒ Ñохранить текущий ÑтатуÑ" - -#: git-stash.sh:313 +#: git-legacy-stash.sh:355 #, sh-format msgid "Saved working directory and index state $stash_msg" msgstr "Рабочий каталог и ÑоÑтоÑние индекÑа Ñохранены $stash_msg" -#: git-stash.sh:342 -msgid "Cannot remove worktree changes" -msgstr "Ðе удалоÑÑŒ удалить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ каталога" - -#: git-stash.sh:490 +#: git-legacy-stash.sh:535 #, sh-format msgid "unknown option: $opt" msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ: $opt" -#: git-stash.sh:503 -msgid "No stash entries found." -msgstr "Ðе найдены ÑпрÑтанные изменениÑ." - -#: git-stash.sh:510 +#: git-legacy-stash.sh:555 #, sh-format msgid "Too many revisions specified: $REV" msgstr "Передано Ñлишком много редакций: $REV" -#: git-stash.sh:525 +#: git-legacy-stash.sh:570 #, sh-format msgid "$reference is not a valid reference" msgstr "$reference не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительной ÑÑылкой" -#: git-stash.sh:553 +#: git-legacy-stash.sh:598 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "«$args» не похоже на коммит Ñо ÑпрÑтанными изменениÑми" -#: git-stash.sh:564 +#: git-legacy-stash.sh:609 #, sh-format msgid "'$args' is not a stash reference" msgstr "«$args» не ÑвлÑетÑÑ ÑÑылкой на ÑпрÑтанные изменениÑ" -#: git-stash.sh:572 +#: git-legacy-stash.sh:617 msgid "unable to refresh index" msgstr "не удалоÑÑŒ обновить индекÑ" -#: git-stash.sh:576 +#: git-legacy-stash.sh:621 msgid "Cannot apply a stash in the middle of a merge" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑпрÑтанные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑлиÑниÑ" -#: git-stash.sh:584 +#: git-legacy-stash.sh:629 msgid "Conflicts in index. Try without --index." msgstr "Конфликты в индекÑе. Попробуйте без --index." -#: git-stash.sh:586 +#: git-legacy-stash.sh:631 msgid "Could not save index tree" msgstr "Ðе удалоÑÑŒ Ñохранить дерево индекÑа" -#: git-stash.sh:595 +#: git-legacy-stash.sh:640 msgid "Could not restore untracked files from stash entry" msgstr "Ðевозможно воÑÑтановить неотÑлеживаемые файлы из ÑпрÑтанных изменений" -#: git-stash.sh:620 +#: git-legacy-stash.sh:665 msgid "Cannot unstage modified files" msgstr "Ðевозможно убрать из индекÑа измененные файлы" -#: git-stash.sh:635 -msgid "Index was not unstashed." -msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ðµ был извлечён из ÑпрÑтанных изменений." - -#: git-stash.sh:649 -msgid "The stash entry is kept in case you need it again." -msgstr "СпрÑтанные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены, на Ñлучай еÑли они Ñнова вам понадобÑÑ‚ÑÑ." - -#: git-stash.sh:658 +#: git-legacy-stash.sh:703 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "Отброшено ${REV} ($s)" -#: git-stash.sh:659 +#: git-legacy-stash.sh:704 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: Ðе удалоÑÑŒ отброÑить запиÑÑŒ из ÑпрÑтанных изменений" -#: git-stash.sh:667 -msgid "No branch name specified" -msgstr "Ðе указано Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸" - -#: git-stash.sh:746 +#: git-legacy-stash.sh:791 msgid "(To restore them type \"git stash apply\")" msgstr "(Чтобы воÑÑтановить их, наберите «git stash apply»)" -#: git-submodule.sh:188 +#: git-submodule.sh:200 msgid "Relative path can only be used from the toplevel of the working tree" msgstr "ОтноÑительный путь можно иÑпользовать только находÑÑÑŒ на вершине рабочего каталога" -#: git-submodule.sh:198 +#: git-submodule.sh:210 #, sh-format msgid "repo URL: '$repo' must be absolute or begin with ./|../" msgstr "URL репозиториÑ: «$repo» должен быть абÑолютным или начинатьÑÑ Ñ ./|../" -#: git-submodule.sh:217 +#: git-submodule.sh:229 #, sh-format msgid "'$sm_path' already exists in the index" msgstr "«$sm_path» уже ÑодержитÑÑ Ð² индекÑе" -#: git-submodule.sh:220 +#: git-submodule.sh:232 #, sh-format msgid "'$sm_path' already exists in the index and is not a submodule" msgstr "«$sm_path» уже ÑодержитÑÑ Ð² индекÑе и не ÑвлÑетÑÑ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼" -#: git-submodule.sh:226 +#: git-submodule.sh:239 +#, sh-format +msgid "'$sm_path' does not have a commit checked out" +msgstr "" + +#: git-submodule.sh:245 #, sh-format msgid "" "The following path is ignored by one of your .gitignore files:\n" @@ -17475,22 +20477,22 @@ msgid "" "Use -f if you really want to add it." msgstr "Следующие пути игнорируютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из ваших файлов .gitignore:\n$sm_path\nИÑпользуйте опцию -f, еÑли вы дейÑтвительно хотите его добавить." -#: git-submodule.sh:249 +#: git-submodule.sh:268 #, sh-format msgid "Adding existing repo at '$sm_path' to the index" msgstr "ДобавлÑÑŽ ÑущеÑтвующий репозиторий из «$sm_path» в индекÑ" -#: git-submodule.sh:251 +#: git-submodule.sh:270 #, sh-format msgid "'$sm_path' already exists and is not a valid git repo" msgstr "«$sm_path» уже ÑущеÑтвует и не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным репозиторием git" -#: git-submodule.sh:259 +#: git-submodule.sh:278 #, sh-format msgid "A git directory for '$sm_name' is found locally with remote(s):" msgstr "Каталог git Ð´Ð»Ñ Â«$sm_name» найден локально на внешних репозиториÑÑ…:" -#: git-submodule.sh:261 +#: git-submodule.sh:280 #, sh-format msgid "" "If you want to reuse this local git directory instead of cloning again from\n" @@ -17499,120 +20501,122 @@ msgid "" "or you are unsure what this means choose another name with the '--name' option." msgstr "ЕÑли вы хотите повторно иÑпользовать локальный каталог git вмеÑто повторного ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·\n $realrepo\nто иÑпользуйте параметр «--force». ЕÑли же локальный каталог git не ÑвлÑетÑÑ Ð½ÑƒÐ¶Ð½Ñ‹Ð¼ репозиторием или еÑли вы не уверены, что Ñто значит, то укажите другое Ð¸Ð¼Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра «--name»." -#: git-submodule.sh:267 +#: git-submodule.sh:286 #, sh-format msgid "Reactivating local git directory for submodule '$sm_name'." msgstr "ВоÑÑтановление локального каталога git Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«$sm_name»." -#: git-submodule.sh:279 +#: git-submodule.sh:298 #, sh-format msgid "Unable to checkout submodule '$sm_path'" msgstr "Ðе удалоÑÑŒ переключитьÑÑ Ð½Ð° ÑоÑтоÑние у Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«$sm_path»" -#: git-submodule.sh:284 +#: git-submodule.sh:303 #, sh-format msgid "Failed to add submodule '$sm_path'" msgstr "Сбой Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«$sm_path»" -#: git-submodule.sh:293 +#: git-submodule.sh:312 #, sh-format msgid "Failed to register submodule '$sm_path'" msgstr "Ðе удалоÑÑŒ зарегиÑтрировать подмодуль «$sm_path»" -#: git-submodule.sh:565 +#: git-submodule.sh:573 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "Ðе удалоÑÑŒ найти текущую редакцию Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:575 +#: git-submodule.sh:583 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "Ðе удалоÑÑŒ выполнить извлечение Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$sm_path»" -#: git-submodule.sh:580 +#: git-submodule.sh:588 #, sh-format msgid "" "Unable to find current ${remote_name}/${branch} revision in submodule path " "'$sm_path'" msgstr "Ðе удалоÑÑŒ найти текущую редакцию ${remote_name}/${branch} Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$sm_path»" -#: git-submodule.sh:603 +#: git-submodule.sh:606 #, sh-format -msgid "Unable to fetch in submodule path '$displaypath'" -msgstr "Ðе удалоÑÑŒ выполнить извлечение Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" +msgid "" +"Unable to fetch in submodule path '$displaypath'; trying to directly fetch " +"$sha1:" +msgstr "" -#: git-submodule.sh:609 +#: git-submodule.sh:612 #, sh-format msgid "" "Fetched in submodule path '$displaypath', but it did not contain $sha1. " "Direct fetching of that commit failed." msgstr "Получен по пути Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«$displaypath», но не Ñодержит $sha1. Сбой при прÑмом получении коммита." -#: git-submodule.sh:616 +#: git-submodule.sh:619 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "Ðе удалоÑÑŒ переключитьÑÑ Ð½Ð° ÑоÑтоÑние «$sha1» Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:617 +#: git-submodule.sh:620 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "Подмодуль по пути «$displaypath»: забрано ÑоÑтоÑние «$sha1»" -#: git-submodule.sh:621 +#: git-submodule.sh:624 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "Ðе удалоÑÑŒ перемеÑтить «$sha1» Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:622 +#: git-submodule.sh:625 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "Подмодуль по пути «$displaypath»: перемещен над «$sha1»" -#: git-submodule.sh:627 +#: git-submodule.sh:630 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "Ðе удалоÑÑŒ выполнить ÑлиÑние Ñ Â«$sha1» Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:628 +#: git-submodule.sh:631 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "Подмодуль по пути «$displaypath»: Ñлито Ñ Â«$sha1»" -#: git-submodule.sh:633 +#: git-submodule.sh:636 #, sh-format msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'" msgstr "Сбой Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«$command $sha1» Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:634 +#: git-submodule.sh:637 #, sh-format msgid "Submodule path '$displaypath': '$command $sha1'" msgstr "Подмодуль по пути «$displaypath»: «$command $sha1»" -#: git-submodule.sh:665 +#: git-submodule.sh:668 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "Ðе удалоÑÑŒ выполнить рекурÑивно Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾ пути «$displaypath»" -#: git-submodule.sh:761 +#: git-submodule.sh:830 msgid "The --cached option cannot be used with the --files option" msgstr "Опцию --cached Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать одновременно Ñ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ --files" -#: git-submodule.sh:813 +#: git-submodule.sh:882 #, sh-format msgid "unexpected mode $mod_dst" msgstr "неизвеÑтный режим $mod_dst" -#: git-submodule.sh:833 +#: git-submodule.sh:902 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Предупреждение: $display_name не Ñодержит коммит $sha1_src" -#: git-submodule.sh:836 +#: git-submodule.sh:905 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Предупреждение: $display_name не Ñодержит коммит $sha1_dst" -#: git-submodule.sh:839 +#: git-submodule.sh:908 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " Предупреждение: $display_name не Ñодержит коммиты $sha1_src и $sha1_dst" @@ -17622,100 +20626,6 @@ msgstr " Предупреждение: $display_name не Ñодержит ко msgid "See git-${cmd}(1) for details." msgstr "Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации, Ñмотрите git-${cmd}(1)." -#: git-rebase--interactive.sh:43 -msgid "" -"\n" -"Commands:\n" -"p, pick <commit> = use commit\n" -"r, reword <commit> = use commit, but edit the commit message\n" -"e, edit <commit> = use commit, but stop for amending\n" -"s, squash <commit> = use commit, but meld into previous commit\n" -"f, fixup <commit> = like \"squash\", but discard this commit's log message\n" -"x, exec <command> = run command (the rest of the line) using shell\n" -"d, drop <commit> = remove commit\n" -"l, label <label> = label current HEAD with a name\n" -"t, reset <label> = reset HEAD to a label\n" -"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n" -". create a merge commit using the original merge commit's\n" -". message (or the oneline, if no original merge commit was\n" -". specified). Use -c <commit> to reword the commit message.\n" -"\n" -"These lines can be re-ordered; they are executed from top to bottom.\n" -msgstr "" - -#: git-rebase--interactive.sh:64 git-rebase--preserve-merges.sh:173 -msgid "" -"\n" -"Do not remove any line. Use 'drop' explicitly to remove a commit.\n" -msgstr "\nÐе удалÑйте Ñтроки. ИÑпользуйте «drop», чтобы Ñвно удалить коммит.\n" - -#: git-rebase--interactive.sh:68 git-rebase--preserve-merges.sh:177 -msgid "" -"\n" -"If you remove a line here THAT COMMIT WILL BE LOST.\n" -msgstr "\nЕÑли вы удалите Ñтроку здеÑÑŒ, то УКÐЗÐÐÐЫЙ КОММИТ БУДЕТ УТЕРЯÐ.\n" - -#: git-rebase--interactive.sh:108 git-rebase--preserve-merges.sh:724 -msgid "could not detach HEAD" -msgstr "не удалоÑÑŒ отделить HEAD" - -#: git-rebase--interactive.sh:147 git-rebase--preserve-merges.sh:816 -msgid "" -"\n" -"You are editing the todo file of an ongoing interactive rebase.\n" -"To continue rebase after editing, run:\n" -" git rebase --continue\n" -"\n" -msgstr "\nÐ’Ñ‹ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚Ðµ файл Ñо ÑпиÑком дел Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ перемещениÑ.\nÐ”Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ, поÑле Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° запуÑтите:\n git rebase --continue\n\n" - -#: git-rebase--interactive.sh:155 git-rebase--interactive.sh:241 -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 -msgid "Could not execute editor" -msgstr "Ðе удалоÑÑŒ запуÑтить редактор" - -#: git-rebase--interactive.sh:176 git-rebase--preserve-merges.sh:845 -#, sh-format -msgid "Could not checkout $switch_to" -msgstr "Ðе удалоÑÑŒ перейти на верÑию $switch_to" - -#: git-rebase--interactive.sh:183 git-rebase--preserve-merges.sh:852 -msgid "No HEAD?" -msgstr "Ðет ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ HEAD?" - -#: git-rebase--interactive.sh:184 git-rebase--preserve-merges.sh:853 -#, sh-format -msgid "Could not create temporary $state_dir" -msgstr "Ðе удалоÑÑŒ Ñоздать временный каталог $state_dir" - -#: git-rebase--interactive.sh:187 git-rebase--preserve-merges.sh:856 -msgid "Could not mark as interactive" -msgstr "Ðе удалоÑÑŒ пометить как интерактивный" - -#: git-rebase--interactive.sh:219 git-rebase--preserve-merges.sh:888 -#, sh-format -msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" -msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" -msgstr[0] "Перемещение $shortrevisions над $shortonto ($todocount команда)" -msgstr[1] "Перемещение $shortrevisions над $shortonto ($todocount команды)" -msgstr[2] "Перемещение $shortrevisions над $shortonto ($todocount команд)" -msgstr[3] "Перемещение $shortrevisions над $shortonto ($todocount команд)" - -#: git-rebase--interactive.sh:224 -msgid "" -"\n" -"\tHowever, if you remove everything, the rebase will be aborted.\n" -"\n" -"\t" -msgstr "" - -#: git-rebase--interactive.sh:231 git-rebase--preserve-merges.sh:900 -msgid "Note that empty commits are commented out" -msgstr "Заметьте, что пуÑтые коммиты закомментированны" - -#: git-rebase--interactive.sh:280 -msgid "Could not generate todo list" -msgstr "Ðе удалоÑÑŒ Ñгенерировать ÑпиÑок дел" - #: git-rebase--preserve-merges.sh:136 #, sh-format msgid "Rebasing ($new_count/$total)" @@ -17740,7 +20650,7 @@ msgid "" ". specified). Use -c <commit> to reword the commit message.\n" "\n" "These lines can be re-ordered; they are executed from top to bottom.\n" -msgstr "" +msgstr "\nКоманды:\np, pick <коммит> = иÑпользовать коммит\nr, reword <коммит> = иÑпользовать коммит, но изменить Ñообщение коммита\ne, edit <коммит> = иÑпользовать коммит, но оÑтановитьÑÑ Ð´Ð»Ñ Ð¸ÑправлениÑ\ns, squash <коммит> = иÑпользовать коммит, но объединить Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ коммитом\nf, fixup <коммит> = как «squash», но пропуÑтить Ñообщение коммита\nx, exec <команда> = выполнить команду (оÑтаток Ñтроки) Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ командной оболочки\nd, drop <коммит> = удалить коммит\nl, label <метка> = дать Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¼Ñƒ HEAD\nt, reset <метка> = ÑброÑить HEAD к указанной метке\nm, merge [-C <коммит> | -c <коммит>] <метка> [# <Ñтрока>]\n. Ñоздать ÑлиÑние иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñообщение коммита оригинального\n. ÑлиÑÐ½Ð¸Ñ (или иÑпользовать указанную Ñтроку, еÑли оригинальное\n. ÑлиÑние не указано). ИÑпользуйте -c <коммит> чтобы изменить\n. Ñообщение коммита.\n\nÐти Ñтроки можно перемещать; они будут выполнены Ñверху вниз.\n" #: git-rebase--preserve-merges.sh:215 #, sh-format @@ -17839,7 +20749,7 @@ msgid "" "This is most likely due to an empty commit message, or the pre-commit hook\n" "failed. If the pre-commit hook failed, you may need to resolve the issue before\n" "you are able to reword the commit." -msgstr "Ðе удолоÑÑŒ иÑправить коммит поÑле уÑпешного перехода на $sha1… $rest\nÐто произошло, Ñкорее вÑего, из-за пуÑтого ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° или из-за перехватчика перед коммитом. ЕÑли же Ñто произошло из-за перехватчика перед коммитом, то вам нужно решить Ñ Ð½Ð¸Ð¼ проблему и повторить попытку Ñнова." +msgstr "Ðе удалоÑÑŒ иÑправить коммит поÑле уÑпешного перехода на $sha1… $rest\nÐто произошло, Ñкорее вÑего, из-за пуÑтого ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð° или из-за перехватчика перед коммитом. ЕÑли же Ñто произошло из-за перехватчика перед коммитом, то вам нужно решить Ñ Ð½Ð¸Ð¼ проблему и повторить попытку Ñнова." #: git-rebase--preserve-merges.sh:571 #, sh-format @@ -17933,12 +20843,36 @@ msgstr "У Ð²Ð°Ñ Ð¸Ð¼ÐµÑŽÑ‚ÑÑ Ð½ÐµÐ·Ð°ÐºÐ¾Ð¼Ð¼Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ðµ изменени msgid "Could not commit staged changes." msgstr "Ðе удалоÑÑŒ закоммитить проиндекÑированные изменениÑ." -#: git-rebase--preserve-merges.sh:893 -msgid "" -"\n" -"However, if you remove everything, the rebase will be aborted.\n" -"\n" -msgstr "\nÐо еÑли вы удалите вÑе, то процеÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ будет прерван.\n\n" +#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +msgid "Could not execute editor" +msgstr "Ðе удалоÑÑŒ запуÑтить редактор" + +#: git-rebase--preserve-merges.sh:845 +#, sh-format +msgid "Could not checkout $switch_to" +msgstr "Ðе удалоÑÑŒ перейти на верÑию $switch_to" + +#: git-rebase--preserve-merges.sh:852 +msgid "No HEAD?" +msgstr "Ðет ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ HEAD?" + +#: git-rebase--preserve-merges.sh:853 +#, sh-format +msgid "Could not create temporary $state_dir" +msgstr "Ðе удалоÑÑŒ Ñоздать временный каталог $state_dir" + +#: git-rebase--preserve-merges.sh:856 +msgid "Could not mark as interactive" +msgstr "Ðе удалоÑÑŒ пометить как интерактивный" + +#: git-rebase--preserve-merges.sh:888 +#, sh-format +msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" +msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" +msgstr[0] "Перемещение $shortrevisions над $shortonto ($todocount команда)" +msgstr[1] "Перемещение $shortrevisions над $shortonto ($todocount команды)" +msgstr[2] "Перемещение $shortrevisions над $shortonto ($todocount команд)" +msgstr[3] "Перемещение $shortrevisions над $shortonto ($todocount команд)" #: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 msgid "Could not init rewritten commits" @@ -17949,55 +20883,55 @@ msgstr "Ðе удалоÑÑŒ инициализировать перезапиÑÐ msgid "usage: $dashless $USAGE" msgstr "иÑпользование: $dashless $USAGE" -#: git-sh-setup.sh:190 +#: git-sh-setup.sh:191 #, sh-format msgid "Cannot chdir to $cdup, the toplevel of the working tree" msgstr "Ðе удалоÑÑŒ выполнить chdir в $cdup, вершину рабочего каталога" -#: git-sh-setup.sh:199 git-sh-setup.sh:206 +#: git-sh-setup.sh:200 git-sh-setup.sh:207 #, sh-format msgid "fatal: $program_name cannot be used without a working tree." msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: $program_name Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать не Ð¸Ð¼ÐµÑ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ каталога." -#: git-sh-setup.sh:220 +#: git-sh-setup.sh:221 msgid "Cannot rebase: You have unstaged changes." msgstr "Ðе удалоÑÑŒ выполнить перемещение коммитов: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: git-sh-setup.sh:223 +#: git-sh-setup.sh:224 msgid "Cannot rewrite branches: You have unstaged changes." msgstr "Ðе удалоÑÑŒ выполнить перезапиÑÑŒ веток: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: git-sh-setup.sh:226 +#: git-sh-setup.sh:227 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "Ðе удалоÑÑŒ получить Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: git-sh-setup.sh:229 +#: git-sh-setup.sh:230 #, sh-format msgid "Cannot $action: You have unstaged changes." msgstr "Ðе удалоÑÑŒ выполнить $action: У Ð²Ð°Ñ ÐµÑть непроиндекÑированные изменениÑ." -#: git-sh-setup.sh:242 +#: git-sh-setup.sh:243 msgid "Cannot rebase: Your index contains uncommitted changes." msgstr "Ðе удалоÑÑŒ выполнить перемещение коммитов: Ð’ вашем индекÑе еÑть незакоммиченные изменениÑ." -#: git-sh-setup.sh:245 +#: git-sh-setup.sh:246 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "Ðе удалоÑÑŒ получить Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼: Ð’ вашем индекÑе еÑть незакоммиченные изменениÑ." -#: git-sh-setup.sh:248 +#: git-sh-setup.sh:249 #, sh-format msgid "Cannot $action: Your index contains uncommitted changes." msgstr "Ðе удалоÑÑŒ выполнить $action: Ð’ вашем индекÑе еÑть незакоммиченные изменениÑ." -#: git-sh-setup.sh:252 +#: git-sh-setup.sh:253 msgid "Additionally, your index contains uncommitted changes." msgstr "К тому же, в вашем индекÑе еÑть незакоммиченные изменениÑ." -#: git-sh-setup.sh:372 +#: git-sh-setup.sh:373 msgid "You need to run this command from the toplevel of the working tree." msgstr "Вам нужно запуÑкать Ñту команду находÑÑÑŒ на вершине рабочего каталога." -#: git-sh-setup.sh:377 +#: git-sh-setup.sh:378 msgid "Unable to determine absolute path of git directory" msgstr "Ðе удалоÑÑŒ определить абÑолютный путь к каталогу git" @@ -18449,7 +21383,7 @@ msgid "" "patch - pick hunks and update selectively\n" "diff - view diff between HEAD and index\n" "add untracked - add contents of untracked files to the staged set of changes\n" -msgstr "status - показать пути Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñми\nupdate - добавить ÑоÑтоÑние рабочего каталога индекÑ\nrevert - вернуть проиндекÑированный набор изменений к HEAD верÑии\npatch - выбрать и выборочно обновить блоки\ndiff - проÑмотреть Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ HEAD и индекÑом\nadd untracked - добавить Ñодержимое неотÑлеживаемых файлов в индекÑ\n" +msgstr "status - показать пути Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñми\nupdate - добавить ÑоÑтоÑние рабочего каталога индекÑ\nrevert - вернуть проиндекÑированный набор изменений к HEAD верÑии\npatch - выбрать и выборочно обновить блоки\ndiff - проÑмотреть Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ HEAD и индекÑом\nadd untracked - добавить Ñодержимое неотÑлеживаемых файлов в индекÑ\n" #: git-add--interactive.perl:1742 git-add--interactive.perl:1747 #: git-add--interactive.perl:1750 git-add--interactive.perl:1757 @@ -18467,73 +21401,73 @@ msgstr "неизвеÑтный режим Ð´Ð»Ñ --patch: %s" msgid "invalid argument %s, expecting --" msgstr "недопуÑтимый аргумент %s, ожидаетÑÑ --" -#: git-send-email.perl:130 +#: git-send-email.perl:138 msgid "local zone differs from GMT by a non-minute interval\n" msgstr "локальный чаÑовой поÑÑ Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚ÑÑ Ð¾Ñ‚ GMT на не минутный интервал\n" -#: git-send-email.perl:137 git-send-email.perl:143 +#: git-send-email.perl:145 git-send-email.perl:151 msgid "local time offset greater than or equal to 24 hours\n" msgstr "локальный Ñдвиг времени больше или равен 24 чаÑа\n" -#: git-send-email.perl:211 git-send-email.perl:217 +#: git-send-email.perl:219 git-send-email.perl:225 msgid "the editor exited uncleanly, aborting everything" msgstr "редактор был завершен Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, отменÑÑŽ вÑÑ‘" -#: git-send-email.perl:294 +#: git-send-email.perl:302 #, perl-format msgid "'%s' contains an intermediate version of the email you were composing.\n" msgstr "«%s» Ñодержит промежуточную верÑию пиÑьма, которое вы готовите.\n" -#: git-send-email.perl:299 +#: git-send-email.perl:307 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "«%s.final» Ñодержит подготовленное пиÑьмо.\n" -#: git-send-email.perl:317 +#: git-send-email.perl:326 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases не ÑовмеÑтимо Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ опциÑми\n" -#: git-send-email.perl:383 git-send-email.perl:638 +#: git-send-email.perl:395 git-send-email.perl:656 msgid "Cannot run git format-patch from outside a repository\n" msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð¿ÑƒÑкать git format-patch вне репозиториÑ\n" -#: git-send-email.perl:386 +#: git-send-email.perl:398 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" msgstr "" -#: git-send-email.perl:456 +#: git-send-email.perl:470 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "ÐеизвеÑтное поле --suppress-cc: «%s»\n" -#: git-send-email.perl:485 +#: git-send-email.perl:501 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "ÐеизвеÑтный параметр --confirm: «%s»\n" -#: git-send-email.perl:513 +#: git-send-email.perl:529 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "предупреждение: Ñокращение Ð´Ð»Ñ sendmail Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ°Ð¼Ð¸ не поддерживаетÑÑ: %s\n" -#: git-send-email.perl:515 +#: git-send-email.perl:531 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "предупреждение: «:include:» не поддерживаетÑÑ: %s\n" -#: git-send-email.perl:517 +#: git-send-email.perl:533 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "предупреждение: перенаправление «/file» или «|pipe» не поддерживаетÑÑ: %s\n" -#: git-send-email.perl:522 +#: git-send-email.perl:538 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "предупреждение: Ñтрока sendmail не раÑпознана: %s\n" -#: git-send-email.perl:604 +#: git-send-email.perl:622 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -18543,75 +21477,75 @@ msgid "" " * Giving --format-patch option if you mean a range.\n" msgstr "Файл «%s» ÑущеÑтвует, но Ñто также может быть и\nдиапазоном коммитов Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… нужно Ñделать патчи. \nУÑтраните неоднозначноÑть…\n\n * Указав \"./%s\" еÑли вы имеете в виду Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°; или\n * Передав опцию --format-patch еÑли вы имеете в виду диапазон коммитов.\n" -#: git-send-email.perl:625 +#: git-send-email.perl:643 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Ðе удалоÑÑŒ выполнить opendir %s: %s" -#: git-send-email.perl:649 +#: git-send-email.perl:667 #, perl-format msgid "" "fatal: %s: %s\n" "warning: no patches were sent\n" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s: %s\nпредупреждение: патчи не были отправлены\n" -#: git-send-email.perl:660 +#: git-send-email.perl:678 msgid "" "\n" "No patch files specified!\n" "\n" msgstr "\nФайл Ñ Ð¿Ð°Ñ‚Ñ‡ÐµÐ¼ не указан!\n\n" -#: git-send-email.perl:673 +#: git-send-email.perl:691 #, perl-format msgid "No subject line in %s?" msgstr "Ðет Ñтроки Ñ Ñ‚ÐµÐ¼Ð¾Ð¹ в %s?" -#: git-send-email.perl:683 +#: git-send-email.perl:701 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Ðе удалоÑÑŒ открыть Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи %s: %s" -#: git-send-email.perl:694 +#: git-send-email.perl:712 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" "for the patch you are writing.\n" "\n" "Clear the body content if you don't wish to send a summary.\n" -msgstr "Строки, начинающиеÑÑ Ñ Â«GIT:» будут удалены.\nВозможно будет полезно включить ÑтатиÑтику добавлений\nи удалений или таблицу Ñодержимого в патч, который вы пишете.\n\nОчиÑтите Ñодержимое, еÑли вы не хотите отправлÑть пиÑьмо Ñ ÐºÑ€Ð°Ñ‚ÐºÐ¾Ð¹ информацией.\n" +msgstr "Строки, начинающиеÑÑ Ñ Â«GIT:» будут удалены.\nВозможно будет полезно включить ÑтатиÑтику добавлений\nи удалений или таблицу Ñодержимого к Ñоздаваемому патчу.\n\nОчиÑтите Ñодержимое, еÑли вы не хотите отправлÑть пиÑьмо Ñо Ñводкой изменений.\n" -#: git-send-email.perl:718 +#: git-send-email.perl:736 #, perl-format msgid "Failed to open %s: %s" msgstr "Ðе удалоÑÑŒ открыть %s: %s" -#: git-send-email.perl:735 +#: git-send-email.perl:753 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Ðе удалоÑÑŒ открыть %s.final: %s" -#: git-send-email.perl:778 +#: git-send-email.perl:796 msgid "Summary email is empty, skipping it\n" -msgstr "ПиÑьмо Ñ ÐºÑ€Ð°Ñ‚ÐºÐ¾Ð¹ информацией пуÑтое, попуÑкаю его\n" +msgstr "ПиÑьмо Ñо Ñводкой изменений пуÑтое, попуÑкаю его\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:813 +#: git-send-email.perl:831 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Ð’Ñ‹ уверены, что хотите иÑпользовать <%s> [y/N]? " -#: git-send-email.perl:868 +#: git-send-email.perl:886 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" msgstr "Следующие файлы 8 битные, но не Ñодержат Content-Transfer-Encoding.\n" -#: git-send-email.perl:873 +#: git-send-email.perl:891 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Какую 8 битную кодировку нужно указать [UTF-8]? " -#: git-send-email.perl:881 +#: git-send-email.perl:899 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -18619,20 +21553,20 @@ msgid "" "has the template subject '*** SUBJECT HERE ***'. Pass --force if you really want to send.\n" msgstr "ОтказываюÑÑŒ отправить, Ñ‚.к. патч\n\t%s\nÑодержит шаблонный заголовок «*** SUBJECT HERE ***». Укажите параметр --force, еÑли вы дейÑтвительно хотите отправить его.\n" -#: git-send-email.perl:900 +#: git-send-email.perl:918 msgid "To whom should the emails be sent (if anyone)?" msgstr "Кому должны быть отправлены пиÑьма (еÑли нужно)?" -#: git-send-email.perl:918 +#: git-send-email.perl:936 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ñокращение «%s» раÑкрываетÑÑ Ñамо в ÑебÑ\n" -#: git-send-email.perl:930 +#: git-send-email.perl:948 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "Message-ID который нужно иÑпользовать в поле In-Reply-To Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ пиÑьма (еÑли нужно)? " -#: git-send-email.perl:988 git-send-email.perl:996 +#: git-send-email.perl:1006 git-send-email.perl:1014 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "ошибка: не удалоÑÑŒ выделить дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ð¸Ð·: %s\n" @@ -18640,16 +21574,16 @@ msgstr "ошибка: не удалоÑÑŒ выделить дейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»Ñ #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1000 +#: git-send-email.perl:1018 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Что нужно Ñделать Ñ Ñтим адреÑом? ([q] - выход|[d] - отброÑить|[e] - редактировать): " -#: git-send-email.perl:1317 +#: git-send-email.perl:1335 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "путь CA «%s» не ÑущеÑтвует" -#: git-send-email.perl:1400 +#: git-send-email.perl:1418 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -18666,128 +21600,128 @@ msgstr " СпиÑок Cc (получателей копии пиÑьма) Ð±Ñ #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1415 +#: git-send-email.perl:1433 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "Отправить Ñто пиÑьмо? ([y] - да|[n] - нет|[e] - изменить|[q] - выход|[a] - вÑе): " -#: git-send-email.perl:1418 +#: git-send-email.perl:1436 msgid "Send this email reply required" msgstr "Отправка Ñтого ответа на пиÑьмо обÑзательна" -#: git-send-email.perl:1446 +#: git-send-email.perl:1464 msgid "The required SMTP server is not properly defined." msgstr "Требуемый SMTP Ñервер не был правильно объÑвлен." -#: git-send-email.perl:1493 +#: git-send-email.perl:1511 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Сервер не поддерживает STARTTLS! %s" -#: git-send-email.perl:1498 git-send-email.perl:1502 +#: git-send-email.perl:1516 git-send-email.perl:1520 #, perl-format msgid "STARTTLS failed! %s" msgstr "Ошибка STARTTLS! %s" -#: git-send-email.perl:1511 +#: git-send-email.perl:1529 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "Ðе удалоÑÑŒ инициализировать SMTP. Проверьте ваши наÑтройки и попробуйте запуÑтить в параметром --smtp-debug." -#: git-send-email.perl:1529 +#: git-send-email.perl:1547 #, perl-format msgid "Failed to send %s\n" msgstr "Ðе удалоÑÑŒ отправить %s\n" -#: git-send-email.perl:1532 +#: git-send-email.perl:1550 #, perl-format msgid "Dry-Sent %s\n" msgstr "Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ %s\n" -#: git-send-email.perl:1532 +#: git-send-email.perl:1550 #, perl-format msgid "Sent %s\n" msgstr "Отправлено %s\n" -#: git-send-email.perl:1534 +#: git-send-email.perl:1552 msgid "Dry-OK. Log says:\n" msgstr "Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ OK. Журнал Ñодержит:\n" -#: git-send-email.perl:1534 +#: git-send-email.perl:1552 msgid "OK. Log says:\n" msgstr "OK. Журнал Ñодержит:\n" -#: git-send-email.perl:1546 +#: git-send-email.perl:1564 msgid "Result: " msgstr "Результат: " -#: git-send-email.perl:1549 +#: git-send-email.perl:1567 msgid "Result: OK\n" msgstr "Результат: OK\n" -#: git-send-email.perl:1567 +#: git-send-email.perl:1585 #, perl-format msgid "can't open file %s" msgstr "не удалоÑÑŒ открыть файл %s" -#: git-send-email.perl:1614 git-send-email.perl:1634 +#: git-send-email.perl:1632 git-send-email.perl:1652 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Добавление cc: %s Ñо Ñтроки «%s»\n" -#: git-send-email.perl:1620 +#: git-send-email.perl:1638 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Добавление to: %s Ñо Ñтроки «%s»\n" -#: git-send-email.perl:1673 +#: git-send-email.perl:1691 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) Добавление cc: %s Ñо Ñтроки «%s»\n" -#: git-send-email.perl:1698 +#: git-send-email.perl:1726 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(body) Добавление cc: %s Ñо Ñтроки «%s»\n" -#: git-send-email.perl:1809 +#: git-send-email.perl:1837 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Ðе удалоÑÑŒ выполнить «%s»" -#: git-send-email.perl:1816 +#: git-send-email.perl:1844 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Добавление %s: %s из: «%s»\n" -#: git-send-email.perl:1820 +#: git-send-email.perl:1848 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) не удалоÑÑŒ закрыть поток к «%s»" -#: git-send-email.perl:1850 +#: git-send-email.perl:1878 msgid "cannot send message as 7bit" msgstr "не удалоÑÑŒ отправить Ñообщение в 7 битной кодировке" -#: git-send-email.perl:1858 +#: git-send-email.perl:1886 msgid "invalid transfer encoding" msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° передачи" -#: git-send-email.perl:1899 git-send-email.perl:1951 git-send-email.perl:1961 +#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 #, perl-format msgid "unable to open %s: %s\n" msgstr "не удалоÑÑŒ открыть %s: %s\n" -#: git-send-email.perl:1902 +#: git-send-email.perl:1930 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s: патч Ñодержит Ñтроку длиннее чем 998 Ñимволов" -#: git-send-email.perl:1919 +#: git-send-email.perl:1947 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "ПропуÑкаю %s Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸ÐµÐ¼ резервной копии «%s».\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1923 +#: git-send-email.perl:1951 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Ð’Ñ‹ дейÑтвительно хотите отправить %s? [y - да|N - нет]: " @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: git 2.22.0\n" +"Project-Id-Version: git 2.23.0\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-05-14 17:09+0800\n" -"PO-Revision-Date: 2019-05-14 15:44+0100\n" +"POT-Creation-Date: 2019-07-30 09:59+0800\n" +"PO-Revision-Date: 2019-07-31 12:40+0200\n" "Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -16,49 +16,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 2.91.7\n" +"X-Generator: Poedit 2.0.2\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%stips: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" "Du kan inte utföra en cherry-pick eftersom du har filer som inte slagits " "samman." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "" "Du kan inte utföra en incheckning eftersom du har filer som inte slagits " "samman." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "" "Du kan inte utföra en sammanslagning eftersom du har filer som inte slagits " "samman." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "" "Du kan inte utföra en \"pull\" eftersom du har filer som inte slagits samman." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "" "Du kan inte utföra en \"revert\" eftersom du har filer som inte slagits " "samman." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "" "Du kan inte utföra en \"%s\" eftersom du har filer som inte slagits samman." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -66,49 +66,63 @@ msgstr "" "Rätta dem i din arbetskatalog och använd sedan \"git add/rm <fil>\"\n" "som lämpligt för att ange lösning och checka in." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Avslutar pÃ¥ grund av olöst konflikgt." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Du har inte avslutat sammanslagningen (MERGE_HEAD finns)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Checka in dina ändringar innan du utför sammanslagningen." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Avslutar pÃ¥ grund av ofullbordad sammanslagning." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" "\n" -" git checkout -b <new-branch-name>\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" "Observera: checkar ut \"%s\".\n" "\n" "Du har nu ett \"frÃ¥nkopplat HEAD\". Du kan se dig omkring, experimentera\n" "med ändringar och checka in dem, och du kan kasta incheckningar du gör\n" -"i det här läget utan att det pÃ¥verkar grenar genom att checka ut pÃ¥\n" -"nytt.\n" +"i det här läget utan att det pÃ¥verkar grenar genom att växla tillbaka\n" +"till en gren.\n" "\n" "Om du vill skapa en ny gren för att behÃ¥lla ändringarna du skapar, kan\n" -"du göra det (nu eller senare) genom att använda checkout-kommandot igen\n" -"med -b. Till exempel:\n" +"du göra det (nu eller senare) genom att använda switch-kommandot med -c.\n" +"Exempel:\n" +"\n" +" git switch -c <namn-pÃ¥-ny-gren>\n" +"\n" +"Eller gör den här ändringen ogjord med:\n" "\n" -" git checkout -b <namn-pÃ¥-ny-gren>\n" +" git switch -\n" +"\n" +"Stäng av den här hjälptexten genom att sätta konfigurationsvariabeln\n" +"advice.detachedHead till false\n" "\n" #: alias.c:50 @@ -119,92 +133,92 @@ msgstr "kommandorad avslutas med \\" msgid "unclosed quote" msgstr "citat ej stängt" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "okänt alternativ för whitespace: \"%s\"" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "okänt alternativ för ignore-whitespace: \"%s\"" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject och --3way kan inte användas samtidigt." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached och --3way kan inte användas samtidigt." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way utanför arkiv" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index utanför arkiv" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached utanför arkiv" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Kan inte förbereda reguljärt uttryck för tidsstämpeln %s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec returnerade %d för indata: %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "kan inte hitta filnamn i patchen pÃ¥ rad %d" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "git apply: dÃ¥lig git-diff - förväntade /dev/null, fick %s pÃ¥ rad %d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "git apply: dÃ¥lig git-diff - motsägande nytt filnamn pÃ¥ rad %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "git apply: dÃ¥lig git-diff - motsägande gammalt filnamn pÃ¥ rad %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: dÃ¥lig git-diff - förväntade /dev/null pÃ¥ rad %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "ogiltigt läge pÃ¥ rad %d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "huvudet är inkonsekvent mellan rad %d och %d" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount: förväntade rad: %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "patch-fragment utan huvud pÃ¥ rad %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -220,82 +234,82 @@ msgstr[1] "" "sökvägskomponenter\n" "tas bort (rad %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "git-diff-huvudet saknar filnamnsinformation (rad %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "ny fil beror pÃ¥ gammalt innehÃ¥ll" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "borttagen fil har fortfarande innehÃ¥ll" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "trasig patch pÃ¥ rad %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "nya filen %s beror pÃ¥ gammalt innehÃ¥ll" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "borttagna filen %s har fortfarande innehÃ¥ll" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** varning: filen %s blir tom men har inte tagits bort" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "trasig binärpatch pÃ¥ rad %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "binärpatchen pÃ¥ rad %d känns inte igen" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "patch med bara skräp pÃ¥ rad %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "kunde inte läsa symboliska länken %s" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "kunde inte öppna eller läsa %s" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "felaktig inledning pÃ¥ rad: \"%c\"" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "Stycke %d lyckades pÃ¥ %d (offset %d rad)." msgstr[1] "Stycke %d lyckades pÃ¥ %d (offset %d rader)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Sammanhang reducerat till (%ld/%ld) för att tillämpa fragment vid %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -304,25 +318,25 @@ msgstr "" "vid sökning efter:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "saknar binära patchdata för \"%s\"" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" "kan inte applicera en binärpatch baklänges utan den omvända patchen för \"%s" "\"" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" "kan inte applicera binärpatch pÃ¥ \"%s\" utan den fullständiga indexraden" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." @@ -330,426 +344,426 @@ msgstr "" "patchen appliceras pÃ¥ \"%s\" (%s), som inte motsvarar det nuvarande " "innehÃ¥llet." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "patchen appliceras pÃ¥ en tom \"%s\", men den är inte tom" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "nödvändig efterbild %s för \"%s\" kan inte läsas" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "binärpatchen kan inte tillämpas pÃ¥ \"%s\"" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "binärpatchen pÃ¥ \"%s\" ger felaktigt resultat (förväntade %s, fick %s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "patch misslyckades: %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "kan inte checka ut %s" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "misslyckades läsa %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "läser frÃ¥n \"%s\" som är pÃ¥ andra sidan av en symbolisk länk" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "sökvägen %s har ändrat namn/tagits bort" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s: finns inte i indexet" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s: motsvarar inte indexet" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "" "arkivet saknar objekt som behövs för att falla tillbaka pÃ¥ 3-" "vägssammanslagning." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Faller tillbaka pÃ¥ trevägssammanslagning...\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "kunde inte läsa aktuellt innehÃ¥ll i \"%s\"" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Misslyckades falla tillbaka pÃ¥ trevägssammanslagning...\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Applicerade patchen pÃ¥ \"%s\" med konflikter.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Tillämpade patchen pÃ¥ \"%s\" rent.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "patch för borttagning lämnar kvar filinnehÃ¥ll" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: fel typ" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s har typen %o, förväntade %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" -msgstr "ogiltig sökväg â€%sâ€" +msgstr "ogiltig sökväg \"%s\"" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s: finns redan i indexet" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s: finns redan i arbetskatalogen" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "nytt läge (%o) för %s motsvarar inte gammalt läge (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "nytt läge (%o) för %s motsvarar inte gammalt läge (%o) för %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "den berörda filen \"%s\" är pÃ¥ andra sidan av en symbolisk länk" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: patchen kan inte tillämpas" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Kontrollerar patchen %s..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "sha1-informationen saknas eller är oanvändbar för undermodulen %s" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "nytt läge för %s, som inte finns i nuvarande HEAD" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "sha1-informationen saknas eller är oanvändbar (%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry misslyckades för sökvägen \"%s\"" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "kunde inte lägga till %s till temporärt index" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "kunde inte skriva temporärt index till %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "kan inte ta bort %s frÃ¥n indexet" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "trasig patch för undermodulen %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "kan inte ta status pÃ¥ nyligen skapade filen \"%s\"" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "kan inte skapa säkerhetsminne för nyligen skapade filen %s" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "kan inte lägga till cachepost för %s" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "misslyckades skriva till \"%s\"" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "stänger filen \"%s\"" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "kan inte skriva filen \"%s\" läge %o" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Tillämpade patchen %s rent." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "internt fel" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Tillämpade patchen %%s med %d refuserad..." msgstr[1] "Tillämpade patchen %%s med %d refuserade..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "trunkerar .rej-filnamnet till %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:869 builtin/fetch.c:1161 #, c-format msgid "cannot open %s" msgstr "kan inte öppna %s" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Stycke %d tillämpades rent." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Refuserar stycke %d." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Ignorerar patch \"%s\"." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "indata känns inte igen" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "kan inte läsa indexfilen" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "kan inte öppna patchen \"%s\": %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "undertryckte %d fel i blanksteg" msgstr[1] "undertryckte %d fel i blanksteg" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d rad lägger till fel i blanksteg." msgstr[1] "%d rader lägger till fel i blanksteg." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "%d rad applicerade efter att ha rättat fel i blanksteg." msgstr[1] "%d rader applicerade efter att ha rättat fel i blanksteg." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Kunde inte skriva ny indexfil" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:123 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "sökväg" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "tillämpa inte ändringar som motsvarar given sökväg" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "tillämpa ändringar som motsvarar given sökväg" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "antal" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "ta bort <antal> inledande snedstreck frÃ¥n traditionella diff-sökvägar" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "ignorera tillägg gjorda av patchen" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "istället för att tillämpa patchen, skriv ut diffstat för indata" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "visa antal tillagda och borttagna rader decimalt" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "istället för att tillämpa patchen, skriv ut en summering av indata" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "istället för att tillämpa patchen, se om patchen kan tillämpas" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "se till att patchen kan tillämpas pÃ¥ aktuellt index" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "markera nya filer med \"git add --intent-to-add\"" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "tillämpa en patch utan att röra arbetskatalogen" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "godta en patch som rör filer utanför arbetskatalogen" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "tillämpa ocksÃ¥ patchen (använd med --stat/--summary/--check)" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "försök en trevägssammanslagning om patchen inte kan tillämpas" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "bygg ett temporärt index baserat pÃ¥ inbyggd indexinformation" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "sökvägar avdelas med NUL-tecken" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "se till att Ã¥tminstone <n> rader sammanhang är lika" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3319 builtin/rebase.c:1421 msgid "action" msgstr "Ã¥tgärd" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "detektera nya eller ändrade rader som har fel i blanktecken" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "ignorera ändringar i blanktecken för sammanhang" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "tillämpa patchen baklänges" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "förvänta inte minst en rad sammanhang" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "lämna refuserade stycken i motsvarande *.rej-filer" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "tillÃ¥t överlappande stycken" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2085 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "var pratsam" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "tolerera felaktigt detekterade saknade nyradstecken vid filslut" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "lite inte pÃ¥ antalet linjer i styckehuvuden" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "rot" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "lägg till <rot> i alla filnamn" @@ -792,98 +806,98 @@ msgstr "objektnamnet är inte giltigt: %s" msgid "not a tree object: %s" msgstr "inte ett trädobjekt: %s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "aktuell arbetskatalog är inte spÃ¥rad" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "fmt" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "arkivformat" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1597 msgid "prefix" msgstr "prefix" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "lägg till prefix till varje sökväg i arkivet" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 -#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:176 +#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "fil" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "skriv arkivet till filen" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "läs .gitattributes i arbetskatalogen" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "rapportera arkiverade filer pÃ¥ standard fel" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "endast spara" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "komprimera snabbare" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "komprimera bättre" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "visa understödda arkivformat" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "arkiv" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "hämta arkivet frÃ¥n fjärrarkivet <arkiv>" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:713 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "kommando" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "sökväg till kommandot git-upload-archive pÃ¥ fjärren" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "Oväntad flagga --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "Flaggan --exec kan endast användas tillsammans med --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Oväntad flagga --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Okänt arkivformat \"%s\"" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Argumentet stöd inte för formatet \"%s\": -%d" @@ -1030,12 +1044,12 @@ msgstr "Bisect: en sammanslagningsbas mÃ¥ste testas\n" msgid "a %s revision is needed" msgstr "en %s-revision behövs" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "kunde inte skapa filen \"%s\"" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "kunde inte läsa filen \"%s\"" @@ -1075,41 +1089,41 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "Bisect: %d revision kvar att testa efter denna %s\n" msgstr[1] "Bisect: %d revisioner kvar att testa efter denna %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents och --reverse fungerar inte sÃ¥ bra tillsammans." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "kan inte använda --contents med namn pÃ¥ slutgiltigt incheckningsobjekt" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" "--reverse och --first-parent tillsammans kräver att du anger senaste " "incheckningen" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:404 builtin/log.c:980 +#: builtin/log.c:1468 builtin/log.c:1844 builtin/log.c:2134 builtin/merge.c:411 +#: builtin/pack-objects.c:3142 builtin/pack-objects.c:3157 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "misslyckades skapa revisionstraversering" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" "--reverse --first-parent tillsammans kräver ett intervall pÃ¥ första-förälder-" "kedjan" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "sökvägen %s i %s finns inte" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "kan inte läsa objektet %s för sökvägen %s" @@ -1196,7 +1210,7 @@ msgstr "\"%s\" är inte ett giltigt grennamn." #: branch.c:208 #, c-format msgid "A branch named '%s' already exists." -msgstr "Det finns redan en gren som heter â€%sâ€." +msgstr "Det finns redan en gren som heter \"%s\"." #: branch.c:213 msgid "Cannot force update the current branch." @@ -1245,14 +1259,14 @@ msgstr "Objektnamnet är tvetydigt: \"%s\"." #: branch.c:306 #, c-format msgid "Not a valid branch point: '%s'." -msgstr "Avgreningspunkten är inte giltig: â€%sâ€." +msgstr "Avgreningspunkten är inte giltig: \"%s\"." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "\"%s\" är redan utcheckad pÃ¥ \"%s\"" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD i arbetskatalogen %s har inte uppdaterats" @@ -1267,8 +1281,8 @@ msgstr "'%s' ser inte ut som en v2-bundle-fil" msgid "unrecognized header: %s%s (%d)" msgstr "okänt huvud: %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "kunde inte öppna \"%s\"" @@ -1277,60 +1291,64 @@ msgstr "kunde inte öppna \"%s\"" msgid "Repository lacks these prerequisite commits:" msgstr "Arkivet saknar dessa nödvändiga incheckningar:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "behöver ett arkiv för att verifiera ett paket (bundle)." + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "Paketet (bundlen) innehÃ¥ller denna referens:" msgstr[1] "Paketet (bundlen) innehÃ¥ller dessa %d referenser:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "Paketet (bundlen) beskriver en komplett historik." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "Paketet (bundlen) kräver denna referens:" msgstr[1] "Paketet (bundlen) kräver dessa %d referenser:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "kan inte duplicera pakethandtag" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Kunde inte starta pack-objects" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "pack-objects misslyckades" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "rev-list dog" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "referensen \"%s\" exkluderas av argumenten till rev-list" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:212 builtin/log.c:1749 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "okänt argument: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Vägrar skapa ett tomt paket (bundle)." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "kan inte skapa \"%s\"" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "index-pack dog" @@ -1339,8 +1357,8 @@ msgstr "index-pack dog" msgid "invalid color value: %.*s" msgstr "felaktigt färgvärde: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "kunde inte tolka %s" @@ -1350,7 +1368,7 @@ msgstr "kunde inte tolka %s" msgid "%s %s is not a commit!" msgstr "%s %s är inte en incheckning!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1370,29 +1388,29 @@ msgstr "" "SlÃ¥ av detta meddelande genom att skriva\n" "\"git config advice.graftFileDeprecated false\"" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Incheckningen %s har en obetrodd GPG-signatur som pÃ¥stÃ¥s vara gjord av %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" "Incheckningen %s har en felaktig GPG-signatur som pÃ¥stÃ¥s vara gjord av %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Incheckning %s har inte nÃ¥gon GPG-signatur." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Incheckningen %s har en korrekt GPG-signatur av %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1402,177 +1420,232 @@ msgstr "" "Uppdatera det efter att ha rättat meddelandet, eller ändra variabeln\n" "i18n.commitencoding till den teckenkodning som används i ditt projekt.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "incheckningsgraffilen %s är för liten" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "incheckningsgrafens signatur %X stämmer inte med signaturen %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "incheckningsgrafens version %X stämmer inte med versionen %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "incheckningsgrafens hashversion %X stämmer inte med versionen %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" "incheckningsgrafen saknar post i styckeuppslagningstabell; filen kan vara " "ofullständig" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "felaktigt offset för stycke %08x%08x i incheckningsgraffilen" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "incheckningsgrafens stycke-id %08x förekommer flera gÃ¥nger" -#: commit-graph.c:388 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "incheckningsgrafen har inga bas-graf-stycken" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "incheckningsgrafens kedja stämmer inte" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "ogiltig incheckingsgrafkedja: rad \"%s\" är inte ett hash-värde" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "kan inte hitta alla incheckingsgraffiler" + +#: commit-graph.c:553 commit-graph.c:613 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "ogiltig incheckningsposition. incheckningsgrafen är troligtvis trasig" + +#: commit-graph.c:574 #, c-format msgid "could not find commit %s" msgstr "kunde inte hitta incheckningen %s" -#: commit-graph.c:730 builtin/pack-objects.c:2649 +#: commit-graph.c:1001 builtin/pack-objects.c:2651 #, c-format msgid "unable to get type of object %s" msgstr "kunde inte hämta typ för objektet %s" -#: commit-graph.c:763 +#: commit-graph.c:1033 msgid "Loading known commits in commit graph" msgstr "Läser in kända incheckningar i incheckningsgraf" -#: commit-graph.c:779 +#: commit-graph.c:1050 msgid "Expanding reachable commits in commit graph" msgstr "Expanderar nÃ¥bara incheckningar i incheckningsgraf" -#: commit-graph.c:791 +#: commit-graph.c:1069 msgid "Clearing commit marks in commit graph" msgstr "Rensar incheckningsmärken i incheckningsgraf" -#: commit-graph.c:811 +#: commit-graph.c:1088 msgid "Computing commit graph generation numbers" msgstr "Beräknar generationsvärden för incheckningsgraf" -#: commit-graph.c:928 +#: commit-graph.c:1162 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "Söker incheckningar för incheckingsgraf i %d paket" msgstr[1] "Söker incheckningar för incheckingsgraf i %d paket" -#: commit-graph.c:941 +#: commit-graph.c:1175 #, c-format msgid "error adding pack %s" msgstr "fel vid tillägg av paketet %s" -#: commit-graph.c:943 +#: commit-graph.c:1179 #, c-format msgid "error opening index for %s" msgstr "fel vid öppning av indexet för %s" -#: commit-graph.c:957 +#: commit-graph.c:1203 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "Söker incheckningar för incheckingsgraf frÃ¥n %d referens" msgstr[1] "Söker incheckningar för incheckingsgraf frÃ¥n %d referenser" -#: commit-graph.c:989 +#: commit-graph.c:1237 msgid "Finding commits for commit graph among packed objects" msgstr "Söker incheckningar för incheckingsgraf i packade objekt" -#: commit-graph.c:1002 +#: commit-graph.c:1252 msgid "Counting distinct commits in commit graph" msgstr "Räknar olika incheckningar i incheckningsgraf" -#: commit-graph.c:1015 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "formatet pÃ¥ incheckningsgrafen kan inte visa %d incheckningar" - -#: commit-graph.c:1024 +#: commit-graph.c:1283 msgid "Finding extra edges in commit graph" msgstr "Söker ytterligare kanter i incheckingsgraf" -#: commit-graph.c:1048 -msgid "too many commits to write graph" -msgstr "för mÃ¥nga incheckningar för att skriva graf" +#: commit-graph.c:1331 +msgid "failed to write correct number of base graph ids" +msgstr "kunde inte skriva korrekt antal bas-graf-id:n" -#: commit-graph.c:1055 midx.c:805 +#: commit-graph.c:1364 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "kunde inte skapa inledande kataloger för %s" -#: commit-graph.c:1095 +#: commit-graph.c:1376 builtin/index-pack.c:306 builtin/repack.c:251 +#, c-format +msgid "unable to create '%s'" +msgstr "kunde inte skapa \"%s\"" + +#: commit-graph.c:1436 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Skriver ut incheckningsgraf i %d pass" msgstr[1] "Skriver ut incheckningsgraf i %d pass" -#: commit-graph.c:1160 +#: commit-graph.c:1477 +msgid "unable to open commit-graph chain file" +msgstr "Kunde inte öppna incheckningsgrafkedjefilen" + +#: commit-graph.c:1489 +msgid "failed to rename base commit-graph file" +msgstr "kunde inte byta namn pÃ¥ bas-incheckingsgraffilen" + +#: commit-graph.c:1509 +msgid "failed to rename temporary commit-graph file" +msgstr "kunde inte byta namn pÃ¥ temporär incheckningsgraffil" + +#: commit-graph.c:1620 +msgid "Scanning merged commits" +msgstr "Söker sammanslagna incheckningar" + +#: commit-graph.c:1631 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "oväntat duplicerat inchecknings-id %s" + +#: commit-graph.c:1656 +msgid "Merging commit-graph" +msgstr "SlÃ¥r ihop incheckningsgraf" + +#: commit-graph.c:1842 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "formatet pÃ¥ incheckningsgrafen kan inte visa %d incheckningar" + +#: commit-graph.c:1853 +msgid "too many commits to write graph" +msgstr "för mÃ¥nga incheckningar för att skriva graf" + +#: commit-graph.c:1943 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" "filen med incheckningsgraf har felaktig checksumma och är troligtvis trasig" -#: commit-graph.c:1170 +#: commit-graph.c:1953 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "incheckningsgrafen har felaktig OID-ordning: %s sÃ¥ %s" -#: commit-graph.c:1180 commit-graph.c:1195 +#: commit-graph.c:1963 commit-graph.c:1978 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" "incheckningsgrafen har felaktig utbredningsvärde: fanout[%d] = %u != %u" -#: commit-graph.c:1187 +#: commit-graph.c:1970 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "kunde inte tolka incheckning %s frÃ¥n incheckningsgraf" -#: commit-graph.c:1204 +#: commit-graph.c:1987 msgid "Verifying commits in commit graph" msgstr "Bekräftar incheckningar i incheckningsgrafen" -#: commit-graph.c:1217 +#: commit-graph.c:2000 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "misslyckades tolka incheckning %s frÃ¥n objektdatabasen för incheckningsgraf" -#: commit-graph.c:1224 +#: commit-graph.c:2007 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "rot-trädets OID för incheckningen %s i incheckningsgrafen är %s != %s" -#: commit-graph.c:1234 +#: commit-graph.c:2017 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "incheckningsgrafens föräldralista för incheckningen %s är för lÃ¥ng" -#: commit-graph.c:1240 +#: commit-graph.c:2026 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "incheckningsgrafens förälder för %s är %s != %s" -#: commit-graph.c:1253 +#: commit-graph.c:2039 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "" "incheckningsgrafens föräldralista för incheckningen %s avslutas för tidigt" -#: commit-graph.c:1258 +#: commit-graph.c:2044 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" @@ -1580,7 +1653,7 @@ msgstr "" "incheckningsgrafen har generationsnummer noll för incheckningen %s, men icke-" "noll pÃ¥ annan plats" -#: commit-graph.c:1262 +#: commit-graph.c:2048 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" @@ -1588,12 +1661,12 @@ msgstr "" "incheckningsgrafen har generationsnummer skilt frÃ¥n noll för incheckningen " "%s, men noll pÃ¥ annan plats" -#: commit-graph.c:1277 +#: commit-graph.c:2063 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "incheckningsgrafens generation för incheckningen %s är %u != %u" -#: commit-graph.c:1283 +#: commit-graph.c:2069 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" @@ -1604,7 +1677,7 @@ msgstr "" msgid "memory exhausted" msgstr "minnet slut" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1619,302 +1692,302 @@ msgstr "" "\t%s\n" "Det kan bero pÃ¥ cirkulära inkluderingar." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "kunde inte expandera inkluderingssökväg \"%s\"" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "relativa konfigureringsinkluderingar mÃ¥ste komma frÃ¥n filer" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "relativa konfigureringsinkluderingsvillkor mÃ¥ste komma frÃ¥n filer" -#: config.c:348 +#: config.c:375 #, c-format msgid "key does not contain a section: %s" msgstr "nyckeln innehÃ¥ller inte ett stycke: %s" -#: config.c:354 +#: config.c:381 #, c-format msgid "key does not contain variable name: %s" msgstr "nyckeln innehÃ¥ller inte variabelnamn: %s" -#: config.c:378 sequencer.c:2459 +#: config.c:405 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "felaktig nyckel: %s" -#: config.c:384 +#: config.c:411 #, c-format msgid "invalid key (newline): %s" msgstr "ogiltig nyckel (nyradstecken): %s" -#: config.c:420 config.c:432 +#: config.c:447 config.c:459 #, c-format msgid "bogus config parameter: %s" msgstr "falsk konfigureringsparameter: %s" -#: config.c:467 +#: config.c:494 #, c-format msgid "bogus format in %s" msgstr "felaktigt format i %s" -#: config.c:793 +#: config.c:820 #, c-format msgid "bad config line %d in blob %s" msgstr "felaktig konfigurationsfil rad %d i blob:en %s" -#: config.c:797 +#: config.c:824 #, c-format msgid "bad config line %d in file %s" msgstr "felaktig konfigurationsfil rad %d i filen %s" -#: config.c:801 +#: config.c:828 #, c-format msgid "bad config line %d in standard input" msgstr "felaktig konfigurationsfil rad %d i standard in" -#: config.c:805 +#: config.c:832 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "felaktig konfigurationsfil rad %d i undermoduls-blob:en %s" -#: config.c:809 +#: config.c:836 #, c-format msgid "bad config line %d in command line %s" msgstr "felaktig konfigurationsfil rad %d i kommandoraden %s" -#: config.c:813 +#: config.c:840 #, c-format msgid "bad config line %d in %s" msgstr "felaktig konfigurationsfil rad %d i %s" -#: config.c:952 +#: config.c:977 msgid "out of range" msgstr "utanför intervallet" -#: config.c:952 +#: config.c:977 msgid "invalid unit" msgstr "ogiltig enhet" -#: config.c:958 +#: config.c:978 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\": %s" -#: config.c:963 +#: config.c:997 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "" "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i blob:en %s: %s" -#: config.c:966 +#: config.c:1000 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "" "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i filen %s: %s" -#: config.c:969 +#: config.c:1003 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i standard in: %s" -#: config.c:972 +#: config.c:1006 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i undermodul-blob:" "en %s: %s" -#: config.c:975 +#: config.c:1009 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "" "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i kommandoraden " "%s: %s" -#: config.c:978 +#: config.c:1012 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "felaktigt numeriskt konfigurationsvärde \"%s\" för \"%s\" i %s: %s" -#: config.c:1073 +#: config.c:1107 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "misslyckades expandera användarkatalog i: \"%s\"" -#: config.c:1082 +#: config.c:1116 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "\"%s\" för \"%s\" är inte en giltig tidsstämpel" -#: config.c:1173 +#: config.c:1207 #, c-format msgid "abbrev length out of range: %d" msgstr "förkortningslängd utanför intervallet: %d" -#: config.c:1187 config.c:1198 +#: config.c:1221 config.c:1232 #, c-format msgid "bad zlib compression level %d" msgstr "felaktigt zlib-komprimeringsgrad %d" -#: config.c:1290 +#: config.c:1324 msgid "core.commentChar should only be one character" msgstr "core.commentChar kan bara vara ett tecken" -#: config.c:1323 +#: config.c:1357 #, c-format msgid "invalid mode for object creation: %s" msgstr "felaktigt läge för skapande av objekt: %s" -#: config.c:1395 +#: config.c:1429 #, c-format msgid "malformed value for %s" msgstr "felformat värde för %s" -#: config.c:1421 +#: config.c:1455 #, c-format msgid "malformed value for %s: %s" msgstr "felformat värde för %s: %s" -#: config.c:1422 +#: config.c:1456 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "mÃ¥ste vara en av nothing, matching, simple, upstream eller current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1517 builtin/pack-objects.c:3399 #, c-format msgid "bad pack compression level %d" msgstr "felaktig paketkomprimeringsgrad %d" -#: config.c:1604 +#: config.c:1638 #, c-format msgid "unable to load config blob object '%s'" msgstr "kunde inte läsa konfigurerings-blobobjektet \"%s\"" -#: config.c:1607 +#: config.c:1641 #, c-format msgid "reference '%s' does not point to a blob" msgstr "referensen \"%s\" pekar inte pÃ¥ en blob" -#: config.c:1624 +#: config.c:1658 #, c-format msgid "unable to resolve config blob '%s'" msgstr "kan inte slÃ¥ upp konfigurerings-bloben \"%s\"" -#: config.c:1654 +#: config.c:1688 #, c-format msgid "failed to parse %s" msgstr "kunde inte tolka %s" -#: config.c:1710 +#: config.c:1744 msgid "unable to parse command-line config" msgstr "kan inte tolka kommandoradskonfiguration" -#: config.c:2059 +#: config.c:2093 msgid "unknown error occurred while reading the configuration files" msgstr "okänt fel uppstod vid läsning av konfigurationsfilerna" -#: config.c:2229 +#: config.c:2263 #, c-format msgid "Invalid %s: '%s'" msgstr "Felaktigt %s: \"%s\"" -#: config.c:2272 +#: config.c:2306 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "okänt värde \"%s\" för core.untrackedCache; använder standardvärdet \"keep\"" -#: config.c:2298 +#: config.c:2332 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "värdet \"%d\" för splitIndex.maxPercentage borde vara mellan 0 och 100" -#: config.c:2344 +#: config.c:2378 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "kunde inte tolka värdet \"%s\" frÃ¥n kommandoradskonfiguration" -#: config.c:2346 +#: config.c:2380 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "felaktig konfigurationsvariabel \"%s\" i filen \"%s\" pÃ¥ rad %d" -#: config.c:2427 +#: config.c:2461 #, c-format msgid "invalid section name '%s'" msgstr "felaktigt sektionsnamn \"%s\"" -#: config.c:2459 +#: config.c:2493 #, c-format msgid "%s has multiple values" msgstr "%s har flera värden" -#: config.c:2488 +#: config.c:2522 #, c-format msgid "failed to write new configuration file %s" msgstr "kan inte skriva nya konfigurationsfilen \"%s\"" -#: config.c:2740 config.c:3064 +#: config.c:2774 config.c:3098 #, c-format msgid "could not lock config file %s" msgstr "kunde inte lÃ¥sa konfigurationsfilen %s" -#: config.c:2751 +#: config.c:2785 #, c-format msgid "opening %s" msgstr "öppnar %s" -#: config.c:2786 builtin/config.c:328 +#: config.c:2820 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "ogiltigt mönster: %s" -#: config.c:2811 +#: config.c:2845 #, c-format msgid "invalid config file %s" msgstr "ogiltig konfigurationsfil: \"%s\"" -#: config.c:2824 config.c:3077 +#: config.c:2858 config.c:3111 #, c-format msgid "fstat on %s failed" msgstr "fstat misslyckades pÃ¥ %s" -#: config.c:2835 +#: config.c:2869 #, c-format msgid "unable to mmap '%s'" msgstr "kunde inte utföra mmap pÃ¥ \"%s\"" -#: config.c:2844 config.c:3082 +#: config.c:2878 config.c:3116 #, c-format msgid "chmod on %s failed" msgstr "chmod misslyckades pÃ¥ %s" -#: config.c:2929 config.c:3179 +#: config.c:2963 config.c:3213 #, c-format msgid "could not write config file %s" msgstr "kunde inte skriva konfigurationsfilen %s" -#: config.c:2963 +#: config.c:2997 #, c-format msgid "could not set '%s' to '%s'" msgstr "kunde inte ställa in \"%s\" till \"%s\"" -#: config.c:2965 builtin/remote.c:782 +#: config.c:2999 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "kunde inte ta bort inställning för \"%s\"" -#: config.c:3055 +#: config.c:3089 #, c-format msgid "invalid section name: %s" msgstr "felaktigt namn pÃ¥ stycke: %s" -#: config.c:3222 +#: config.c:3256 #, c-format msgid "missing value for '%s'" msgstr "värde saknas för \"%s\"" @@ -2080,19 +2153,19 @@ msgstr "kunde inte grena (fork)" # Vague original, not networking-related, but rather related to the actual # objects in the database. -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Kontrollerar konnektivitet" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "Kunde inte köra \"git rev-list\"" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "kunde inte skriva till rev-list" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "kunde inte stänga rev-list:s standard in" @@ -2311,7 +2384,7 @@ msgstr "kunde inte hämta ö-regex för \"%s\": %s" msgid "island regex from config has too many capture groups (max=%d)" msgstr "ö-regex frÃ¥n konfiguration har för mÃ¥nga fÃ¥ngstgrupper (max=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "Markerade %d öar, klar.\n" @@ -2387,35 +2460,35 @@ msgstr "" "Hittade fel i konfigurationsvariabeln \"diff.dirstat\":\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "extern diff dog, stannar vid %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, -check och -s är ömsesidigt uteslutande" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G, -S och --find-object är ömsesidigt uteslutande" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow kräver exakt en sökvägsangivelse" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "ogiltigt värde för --stat: %s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5216 -#: parse-options.c:200 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 +#: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s förväntar ett numeriskt värde" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2424,42 +2497,42 @@ msgstr "" "Misslyckades tolka argument till flaggan --dirstat/-X;\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "okänd ändringsklass \"%c\" i --diff-filter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "okänt värde efter ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "kunde inte slÃ¥ upp \"%s\"" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s förväntar formen <n>/<m>" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s förväntar ett tecken, fick \"%s\"" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "felaktigt argument till --color-moved: %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "ogiltigt läge %s\" i --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2467,149 +2540,149 @@ msgstr "" "flaggan diff-algorithm godtar\"myers\", \"minimal\", \"patience\" och " "\"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "ogiltigt argument för %s" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "misslyckades tolka argument till flaggan --submodule: \"%s\"" -#: diff.c:5240 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "felaktigt argument --word-diff: %s" -#: diff.c:5263 +#: diff.c:5270 msgid "Diff output format options" msgstr "Formatflaggor för diff-utdata" -#: diff.c:5265 diff.c:5271 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "skapar patch" -#: diff.c:5268 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:182 msgid "suppress diff output" msgstr "undertryck diff-utdata" -#: diff.c:5273 diff.c:5387 diff.c:5394 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5274 diff.c:5277 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "skapa diffar med <n> rader sammanhang" -#: diff.c:5279 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "generera diff i rÃ¥format" -#: diff.c:5282 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "synonym till \"-p --raw\"" -#: diff.c:5286 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "synonym till \"-p --stat\"" -#: diff.c:5290 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "maskinläsbar --stat" -#: diff.c:5293 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "skriv bara ut den sista raden för --stat" -#: diff.c:5295 diff.c:5303 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<param1,param2>..." -#: diff.c:5296 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "" "skriv ut distributionen av relativa mängder ändringar för varje underkatalog" -#: diff.c:5300 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "synonym för --dirstat=cumulative" -#: diff.c:5304 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "synonym för --dirstat=filer,param1,param2..." -#: diff.c:5308 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "varna om ändringar introducerar konfliktmarkörer eller blankstegsfel" -#: diff.c:5311 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "kortfattad summering sÃ¥som skapade, namnbyten och ändrade lägen" -#: diff.c:5314 +#: diff.c:5321 msgid "show only names of changed files" msgstr "visa endast namnen pÃ¥ ändrade filer" -#: diff.c:5317 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "visa endast namn och status för ändrade filer" -#: diff.c:5319 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<bredd>[,<namn-bredd>[,<antal>]]" -#: diff.c:5320 +#: diff.c:5327 msgid "generate diffstat" msgstr "skapa diffstat" -#: diff.c:5322 diff.c:5325 diff.c:5328 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<bredd>" -#: diff.c:5323 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "generera en diffstat med given bredd" -#: diff.c:5326 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "generera en diffstat med given namnbredd" -#: diff.c:5329 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "generera en diffstat med given grafbredd" -#: diff.c:5331 +#: diff.c:5338 msgid "<count>" msgstr "<antal>" -#: diff.c:5332 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "generera diffstat med begränsade rader" -#: diff.c:5335 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "skapa kompakt översikt i diffstat" -#: diff.c:5338 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "skapa en binärdiff som kan appliceras" -#: diff.c:5341 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" "visa fullständiga objektnamn i \"index\"-rader för läget bÃ¥de före och efter" -#: diff.c:5343 +#: diff.c:5350 msgid "show colored diff" msgstr "visa färgad diff" -#: diff.c:5344 +#: diff.c:5351 msgid "<kind>" msgstr "<typ>" -#: diff.c:5345 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2617,7 +2690,7 @@ msgstr "" "ljusmarkera blankstegsfel i \"context\" (sammanhang), \"old\" (gamla) eller " "\"new\" (nya) rader i diffen" -#: diff.c:5348 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2625,87 +2698,87 @@ msgstr "" "skriv inte om sökvägsnamn och använd NUL-tecken som fältseparerare i --raw " "eller --numstat" -#: diff.c:5351 diff.c:5354 diff.c:5357 diff.c:5463 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<prefix>" -#: diff.c:5352 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "visa givet källprefix istället för \"a/\"" -#: diff.c:5355 -msgid "show the given source prefix instead of \"b/\"" -msgstr "visa givet källprefix istället för \"b/\"" +#: diff.c:5362 +msgid "show the given destination prefix instead of \"b/\"" +msgstr "visa givet mÃ¥lprefix istället för \"b/\"" -#: diff.c:5358 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "lägg till ytterligare prefix pÃ¥ alla rader i utdata" -#: diff.c:5361 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "visa inte käll- eller mÃ¥lprefix" -#: diff.c:5364 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "visa sammnhang mellan diff-stycken upp till angivet antal rader" -#: diff.c:5368 diff.c:5373 diff.c:5378 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<tecken>" -#: diff.c:5369 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "ange tecken för att ange ny rad istället för \"+\"" -#: diff.c:5374 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "ange tecken för att ange gammal rad istället för \"-\"" -#: diff.c:5379 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "ange tecken för att ange sammanhang istället för \" \"" -#: diff.c:5382 +#: diff.c:5389 msgid "Diff rename options" msgstr "Diff-namnbytesflaggor" -#: diff.c:5383 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5384 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "dela upp kompletta omskrivningar till ta bort och skapa-par" -#: diff.c:5388 +#: diff.c:5395 msgid "detect renames" msgstr "detektera namnändringar" -#: diff.c:5392 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "ta bort för-version för borttagningar" -#: diff.c:5395 +#: diff.c:5402 msgid "detect copies" msgstr "detektera kopior" -#: diff.c:5399 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "använd oförändrade som källa för att hitta kopior" -#: diff.c:5401 +#: diff.c:5408 msgid "disable rename detection" msgstr "inaktivera detektering av namnbyten" -#: diff.c:5404 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "använd tomma blob:ar som namnändringskälla" -#: diff.c:5406 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "fortsätt lista historiken för en fil bortom namnändringar" -#: diff.c:5409 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2713,159 +2786,159 @@ msgstr "" "förhindra namnbyte/kopie-detektering om antalet namnbyten/kopior överskriver " "given gräns" -#: diff.c:5411 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Alternativ för diff-algoritm" -#: diff.c:5413 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "skapa minsta möjliga diff" -#: diff.c:5416 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "ignorera blanktecken vid radjämförelse" -#: diff.c:5419 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "ignorera ändringar i antal blanktecken vid radjämförelse" -#: diff.c:5422 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "ignorera blanktecken vid radslut" -#: diff.c:5425 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "ignorera CR-tecken vid radslut" -#: diff.c:5428 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "ignorera ändringar i rader som är helt blanka" -#: diff.c:5431 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "heuristik för att flytta diff-gränser för lättare läsning" -#: diff.c:5434 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "skapa diffar med algoritmen \"patience diff\"" -#: diff.c:5438 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "skapa diffar med algoritmen \"histogram diff\"" -#: diff.c:5440 +#: diff.c:5447 msgid "<algorithm>" msgstr "<algoritm>" -#: diff.c:5441 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "välj en diff-algoritm" -#: diff.c:5443 +#: diff.c:5450 msgid "<text>" msgstr "<text>" -#: diff.c:5444 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "skapa diffar med algoritmen \"anchored diff\"" -#: diff.c:5446 diff.c:5455 diff.c:5458 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<läge>" -#: diff.c:5447 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "visa orddiff, där <läge> avgränsar ändrade ord" -#: diff.c:5449 diff.c:5452 diff.c:5497 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<reguttr>" -#: diff.c:5450 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "använd <reguttr> för att bestämma vad som är ett ord" -#: diff.c:5453 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "motsvarar --word-diff=color --word-diff-regex=<reguttr>" -#: diff.c:5456 -msgid "move lines of code are colored differently" +#: diff.c:5463 +msgid "moved lines of code are colored differently" msgstr "flyttade kodrader färgas pÃ¥ annat sätt" -#: diff.c:5459 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "hur blanktecken ignoreras i --color-moved" -#: diff.c:5462 -msgid "Diff other options" +#: diff.c:5469 +msgid "Other diff options" msgstr "Andra diff-flaggor" -#: diff.c:5464 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "vid start frÃ¥n underkatalog, uteslut ändringar utanför och visa relativa " "sökvägar" -#: diff.c:5468 +#: diff.c:5475 msgid "treat all files as text" msgstr "hantera alla filer som text" -#: diff.c:5470 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "växla tvÃ¥ indatafiler, vänd diffen" -#: diff.c:5472 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "avsluta med 1 vid ändringar, annars 0" -#: diff.c:5474 +#: diff.c:5481 msgid "disable all output of the program" msgstr "slÃ¥ av alla utdata frÃ¥n programmet" -#: diff.c:5476 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "tillÃ¥t köra en extern diff-hjälpare" -#: diff.c:5478 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "kör externt textkonverteringsfiler när binärfiler jämförs" -#: diff.c:5480 +#: diff.c:5487 msgid "<when>" msgstr "<när>" -#: diff.c:5481 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "ignorera ändringar i undermoduler när diffen skapas" -#: diff.c:5484 +#: diff.c:5491 msgid "<format>" msgstr "<format>" -#: diff.c:5485 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "ange hur ändringar i undermoduler visas" -#: diff.c:5489 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "dölj \"git add -N\"-poster frÃ¥n indexet" -#: diff.c:5492 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "tolka \"git add -N\"-poster som äkta i indexet" -#: diff.c:5494 +#: diff.c:5501 msgid "<string>" msgstr "<sträng>" -#: diff.c:5495 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" msgstr "se efter ändringar som ändrar antalet förekomster av angiven sträng" -#: diff.c:5498 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -2873,54 +2946,54 @@ msgstr "" "se efter ändringar som ändrar antalet förekomster av angivet reguljärt " "uttryck" -#: diff.c:5501 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "visa alla ändringar i ändringsuppsättningen med -S eller -G" -#: diff.c:5504 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "tolka <sträng> i -S som utökade POSIX-reguljära uttryck" -#: diff.c:5507 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "styr ordningen i vilken filer visas i utdata" -#: diff.c:5508 +#: diff.c:5515 msgid "<object-id>" msgstr "<objekt-id>" -#: diff.c:5509 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" msgstr "se efter ändringar som ändrar antalet förekomster av angivet objekt" -#: diff.c:5511 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5512 +#: diff.c:5519 msgid "select files by diff type" msgstr "välj filter efter diff-typ" -#: diff.c:5514 +#: diff.c:5521 msgid "<file>" msgstr "<fil>" -#: diff.c:5515 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Skriv utdata till en specifik fil" -#: diff.c:6148 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "onöjaktig namnbytesdetektering utfördes inte pÃ¥ grund av för mÃ¥nga filer." -#: diff.c:6151 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "hittade bara kopior frÃ¥n ändrade sökvägar pÃ¥ grund av för mÃ¥nga filer." -#: diff.c:6154 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3021,34 +3094,34 @@ msgstr "kunde inte skriva till fjärren" #: fetch-pack.c:258 msgid "--stateless-rpc requires multi_ack_detailed" -msgstr "--stateless-rpc kräver â€multi_ack_detailedâ€" +msgstr "--stateless-rpc kräver \"multi_ack_detailed\"" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "ogiltig \"shallow\"-rad: %s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "ogiltig \"unshallow\"-rad: %s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "objektet hittades inte: %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "fel i objekt: %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "ingen \"shallow\" hittades: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "förväntade shallow/unshallow, fick %s" @@ -3067,7 +3140,7 @@ msgstr "ogiltig incheckning %s" msgid "giving up" msgstr "ger upp" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "klart" @@ -3108,155 +3181,131 @@ msgstr "%s misslyckades" msgid "error in sideband demultiplexer" msgstr "fel i sidbands-avmultiplexare" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Servern stöder inte klienter med grunda arkiv" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Servern stöder \"multi_ack_detailed\"" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Servern stöder \"no-done\"" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Servern stöder \"multi_ack\"" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Servern stöder \"side-band-64k\"" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Servern stöder \"side-band\"" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Servern stöder \"allow-tip-sha1-in-want\"" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Servern stöder \"allow-reachable-sha1-in-want\"" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Servern stöder \"ofs-delta\"" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Servern stöder filter" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "Serverversionen är %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Servern stöder %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Servern stöder inte klienter med grunda arkiv" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Servern stöder inte --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Servern stöder inte --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Servern stöder inte --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "inga gemensamma incheckningar" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-patch: hämtning misslyckades." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Servern stöder inte grunda förfrÃ¥gningar" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Servern stöder filter" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "kunde inte skriva anrop till fjärren" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "fel vid läsning av styckehuvudet \"%s\"" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "förväntade \"%s\", tog emot \"%s\"" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "förväntade bekräftelserad: \"%s\"" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "fel vid hantering av bekräftelser: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "väntade att paketfil skulle sändas efter \"ready\"" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "" "väntade inte att nÃ¥gra ytterligare sektioner skulle sändas efter \"ready\"" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "fel vid hantering av grund (\"shallow\") info: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "förväntade wanted-ref, fick %s" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "oväntad wanted-ref: \"%s\"" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "fel vid hantering av önskade referenser: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "inget motsvarande fjärrhuvud" -#: fetch-pack.c:1699 builtin/clone.c:676 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "fjärren sände inte alla nödvändiga objekt" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "ingen sÃ¥dan fjärreferens: %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "Servern tillÃ¥ter inte förfrÃ¥gan om ej tillkännagivet objekt %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg misslyckades signera data" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "kunde inte skapa temporära fil" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "misslyckades skriva fristÃ¥ende signatur till \"%s\"" @@ -3266,18 +3315,18 @@ msgstr "misslyckades skriva fristÃ¥ende signatur till \"%s\"" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "ignorera felaktig färg \"%.*s\" i log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "\"%s\" kunde inte läsa %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:414 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "misslyckades ta status pÃ¥ \"%s\"" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "\"%s\": kort läsning" @@ -3347,7 +3396,7 @@ msgstr "git-kommandon frÃ¥n andra platser i din $PATH" msgid "These are common Git commands used in various situations:" msgstr "Dessa vanliga Git-kommandon används i olika situationer:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "okänd kommandolisttyp \"%s\"" @@ -3389,13 +3438,13 @@ msgstr "VARNING: Du anropade ett Git-kommando vid namn \"%s\", som inte finns." #: help.c:682 #, c-format msgid "Continuing under the assumption that you meant '%s'." -msgstr "Fortsätter under förutsättningen att du menade â€%sâ€." +msgstr "Fortsätter under förutsättningen att du menade \"%s\"." #: help.c:687 #, c-format msgid "Continuing in %0.1f seconds, assuming that you meant '%s'." msgstr "" -"Fortsätter om %0.1f sekunder, under förutsättningen att du menade â€%sâ€." +"Fortsätter om %0.1f sekunder, under förutsättningen att du menade \"%s\"." #: help.c:695 #, c-format @@ -3493,7 +3542,7 @@ msgstr "tomt ident-namn (för <%s>) ej tillÃ¥tet" msgid "name consists only of disallowed characters: %s" msgstr "namnet bestÃ¥r enbart av ej tillÃ¥tna tecken: %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "felaktigt datumformat: %s" @@ -3521,7 +3570,16 @@ msgstr "flera filterspecifikationer kan inte kombineras" msgid "expected 'tree:<depth>'" msgstr "förväntade \"tree:<djup>\"" -#: list-objects-filter-options.c:156 +#: list-objects-filter-options.c:84 +msgid "sparse:path filters support has been dropped" +msgstr "sparse:sökväg-filter stöds inte längre" + +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "felaktig filterspecifikation: \"%s\"" + +#: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "kan inte ändra kontraktsfjärr för delvis kloning" @@ -3554,8 +3612,8 @@ msgstr "Kunde inte skapa \"%s.lock\": %s" msgid "failed to read the cache" msgstr "misslyckades läsa cachen" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:776 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "kunde inte skriva ny indexfil" @@ -3581,94 +3639,94 @@ msgstr "" msgid "error building trees" msgstr "fel vid byggande av träd" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "misslyckades skapa sökvägen \"%s\"%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Tar bort %s för att göra plats för underkatalog\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": kanske en K/F-konflikt?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "vägrar förlora ospÃ¥rad fil vid \"%s\"" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "kan inte läsa objektet %s: \"%s\"" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "blob förväntades för %s \"%s\"" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "misslyckades öppna \"%s\": %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "misslyckades skapa symboliska länken \"%s\": %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "vet inte hur %06o %s \"%s\" skall hanteras" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Misslyckades slÃ¥ ihop undermodulen %s (ej utcheckad)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Misslyckades slÃ¥ ihop undermodulen %s (incheckningar saknas)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" "Misslyckades slÃ¥ ihop undermodulen %s (incheckningar följer inte " "sammanslagningsbasen)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Snabbspolar undermodulen %s till följande incheckning:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Snabbspolar undermodulen %s" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Misslyckades slÃ¥ ihop undermodulen %s (sammanslagning efter incheckningar " "hittades inte)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Misslyckades slÃ¥ ihop undermodulen %s (ej snabbspolning)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Hittade en möjlig lösning av sammanslagning för undermodulen:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3685,32 +3743,32 @@ msgstr "" "\n" "vilket godtar lösningen.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "" "Misslyckades slÃ¥ ihop undermodulen %s (flera sammanslagningar hittades)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Misslyckades exekvera intern sammanslagning" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "Kunde inte lägga till %s till databasen" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "SlÃ¥r ihop %s automatiskt" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "Fel: Vägrar förlora ospÃ¥rad fil vid %s; skriver till %s istället." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3719,7 +3777,7 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lämnad " "i trädet." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3728,7 +3786,7 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s till %s i %s. Versionen %s av " "%s lämnad i trädet." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3737,7 +3795,7 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lämnad " "i trädet vid %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3746,40 +3804,40 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s till %s i %s. Versionen %s av " "%s lämnad i trädet vid %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "namnbyte" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "namnbytt" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3093 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Vägrar förlora lortig fil vid \"%s\"" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "Vägrar förlora ospÃ¥rad fil vid %s, trots att den är i vägen." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "KONFLIKT (namnbyte/tillägg): Namnbyte %s->%s i %s. Lade till %s i %s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s är en katalog i %s lägger till som %s istället" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "Vägrar förlora ospÃ¥rad fil vid %s; lägger till som %s istället" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3788,17 +3846,17 @@ msgstr "" "KONFLIKT (namnbyte/namnbyte): Namnbyte \"%s\"->\"%s\" pÃ¥ grenen \"%s\" " "namnbyte \"%s\"->\"%s\" i \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (lämnad olöst)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "KONFLIKT (namnbyte/namnbyte): Namnbyte %s->%s i %s. Namnbyte %s->%s i %s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3809,7 +3867,7 @@ msgstr "" "katalogen %s bytte namn till flera andra kataloger, utan att nÃ¥gon " "destination fick en majoritet av filerna." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3818,7 +3876,7 @@ msgstr "" "KONFLIKT (implicit nämnändrad kat): Befintlig fil/kat vid %s är i vägen för " "implicit namnändrad(e) katalog(er) som lägger dit följande sökväg(ar): %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3827,7 +3885,7 @@ msgstr "" "KONFLIKT (implicit namnändrad kat): Kan inte koppla mer än en sökväg till " "%s; implicita katalognamnändringar försökte lägga följande sökvägar där: %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3836,7 +3894,7 @@ msgstr "" "KONFLIKT (namnbyte/namnbyte): Namnbytt katalog %s->%s i %s. Namnbytt katalog " "%s->%s i %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3845,52 +3903,52 @@ msgstr "" "VARNING: Undviker att applicera namnändring %s -> %s pÃ¥ %s, dÃ¥ %s själv har " "bytt namn." -#: merge-recursive.c:2929 +#: merge-recursive.c:2937 #, c-format msgid "cannot read object %s" msgstr "kan inte läsa objektet %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2940 #, c-format msgid "object %s is not a blob" msgstr "objektet %s är inte en blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3004 msgid "modify" msgstr "ändra" -#: merge-recursive.c:2996 +#: merge-recursive.c:3004 msgid "modified" msgstr "ändrad" -#: merge-recursive.c:3008 +#: merge-recursive.c:3016 msgid "content" msgstr "innehÃ¥ll" -#: merge-recursive.c:3012 +#: merge-recursive.c:3020 msgid "add/add" msgstr "tillägg/tillägg" -#: merge-recursive.c:3035 +#: merge-recursive.c:3043 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Hoppade över %s (sammanslagen samma som befintlig)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3065 git-submodule.sh:937 msgid "submodule" msgstr "undermodul" -#: merge-recursive.c:3058 +#: merge-recursive.c:3066 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "KONFLIKT (%s): Sammanslagningskonflikt i %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3096 #, c-format msgid "Adding as %s instead" msgstr "Lägger till som %s istället" -#: merge-recursive.c:3170 +#: merge-recursive.c:3178 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3899,7 +3957,7 @@ msgstr "" "Uppdaterad sökväg: %s lade till %s inuti en katalog som bytte namn i %s; " "flyttar den till %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3181 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3908,7 +3966,7 @@ msgstr "" "KONFLIKT (filplacering): %s lade till %s inuti en katalog som bytte namn i " "%s, föreslÃ¥r att den bör flyttas till%s." -#: merge-recursive.c:3177 +#: merge-recursive.c:3185 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -3917,7 +3975,7 @@ msgstr "" "Uppdaterad sökväg: %s bytte namn till %s i %s, inuti en katalog som bytte " "namn i %s; flyttar den till %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3188 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -3926,36 +3984,36 @@ msgstr "" "KONFLIKT (filplacering): %s bytte namn till %s i %s, inuti en katalog som " "bytte namn i %s; flyttar den till %s." -#: merge-recursive.c:3294 +#: merge-recursive.c:3302 #, c-format msgid "Removing %s" msgstr "Tar bort %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3325 msgid "file/directory" msgstr "fil/katalog" -#: merge-recursive.c:3322 +#: merge-recursive.c:3330 msgid "directory/file" msgstr "katalog/fil" -#: merge-recursive.c:3329 +#: merge-recursive.c:3337 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "KONFLIKT (%s): Det finns en katalog med namnet %s i %s. Lägger till %s som %s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3346 #, c-format msgid "Adding %s" msgstr "Lägger till %s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3355 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "KONFLIKT (tillägg/tillägg): Sammanslagningskonflikt i %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3393 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -3965,175 +4023,188 @@ msgstr "" "sammanslagning:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3404 msgid "Already up to date!" msgstr "Redan à jour!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3413 #, c-format msgid "merging of trees %s and %s failed" msgstr "sammanslagning av träden %s och %s misslyckades" -#: merge-recursive.c:3504 +#: merge-recursive.c:3512 msgid "Merging:" msgstr "SlÃ¥r ihop:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3525 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "hittade %u gemensam förfader:" msgstr[1] "hittade %u gemensamma förfäder:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3564 msgid "merge returned no commit" msgstr "sammanslagningen returnerade ingen incheckning" -#: merge-recursive.c:3622 +#: merge-recursive.c:3630 #, c-format msgid "Could not parse object '%s'" msgstr "Kunde inte tolka objektet \"%s\"" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3646 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Kunde inte skriva indexet." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "multi-pack-indexfilen %s är för liten" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "multi-pack-indexsignaturen 0x%08x stämmer inte med signaturen 0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "multi-pack-indexversionen %d stöds inte" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "hash-versionen %u stämmer inte" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "felaktigt offset för stycke (för stort)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "avslutande multi-pack-index-stycke-ID förekommer tidigare än förväntat" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "multi-pack-index saknar krävd paketnamn-stycke" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "multi-pack-index saknar krävt OID-utbredningsstycke" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "multi-pack-index saknar krävt OID-uppslagnignsstycke" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "multi-pack-index saknar krävt objekt-offsetstycke" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "multi-pack-index-paketnamn i fel ordning: \"%s\" före \"%s\"" -#: midx.c:209 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "bad pack-int-id: %u (%u paket totalt)" -#: midx.c:250 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "multi-pack-index skriver 64-bitars offset, men off_t är för liten" -#: midx.c:275 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "fel när paketfiler frÃ¥n multi-pack-index skulle förberedas" -#: midx.c:443 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "misslyckades läsa paketfilen \"%s\"" -#: midx.c:449 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "misslyckades öppna paketindexet \"%s\"" -#: midx.c:543 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "misslyckades hitta objekt %d i paketfilen" -#: midx.c:979 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "sÃ¥g inte paketfilen %s som skulle kastas" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "misslyckades städa multi-pack-index pÃ¥ %s" -#: midx.c:1034 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Ser efter refererade packfiler" -#: midx.c:1049 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "" "oid-utbredning i fel ordning: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" -#: midx.c:1053 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Bekräftar OID-ordning i MIDX" -#: midx.c:1062 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "oid-uppslagning i fel ordning: oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1081 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Sorterar objekt efter packfil" -#: midx.c:1087 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Bekräftar offset för objekt" -#: midx.c:1103 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "misslyckades läsa paketpost för oid[%d] = %s" -#: midx.c:1109 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "misslyckades läsa paketindex för paketfil %s" -#: midx.c:1118 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "felaktigt objekt-offset för oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "kunde inte starta pack-objects" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "kunde inte avsluta pack-objects" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "misslyckades skapa lazy_dir-trÃ¥d: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "misslyckades skapa lazy_name-trÃ¥d: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "misslyckades utföra join pÃ¥ lazy_name-trÃ¥d: %s" @@ -4203,16 +4274,16 @@ msgstr "kunde inte tolka objektet: %s" msgid "hash mismatch %s" msgstr "hashvärde stämmer inte överens %s" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "offset före slutet av packfilen (trasig .idx?)" -#: packfile.c:1880 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "offset före slutet av packindex för %s (trasigt index?)" -#: packfile.c:1884 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "offset borton slutet av packindex för %s (trunkerat index?)" @@ -4232,7 +4303,7 @@ msgstr "%s är inkompatibel med %s" msgid "%s : incompatible with something else" msgstr "%s: inkompatibelt med nÃ¥got annat" -#: parse-options.c:92 parse-options.c:96 parse-options.c:287 +#: parse-options.c:92 parse-options.c:96 parse-options.c:319 #, c-format msgid "%s takes no value" msgstr "%s tar inget värde" @@ -4242,41 +4313,41 @@ msgstr "%s tar inget värde" msgid "%s isn't available" msgstr "%s är inte tillgängligt" -#: parse-options.c:216 +#: parse-options.c:219 #, c-format msgid "%s expects a non-negative integer value with an optional k/m/g suffix" msgstr "%s förväntar ett icke-negativt heltalsvärde, med valfritt k/m/g-suffix" -#: parse-options.c:356 +#: parse-options.c:389 #, c-format msgid "ambiguous option: %s (could be --%s%s or --%s%s)" msgstr "tvetydig flagga: %s (kan vara --%s%s eller --%s%s)" -#: parse-options.c:390 parse-options.c:398 +#: parse-options.c:423 parse-options.c:431 #, c-format msgid "did you mean `--%s` (with two dashes ?)" msgstr "menade du \"--%s\" (med tvÃ¥ bindestreck?)" -#: parse-options.c:733 +#: parse-options.c:859 #, c-format msgid "unknown option `%s'" msgstr "okänd flagga \"%s\"" -#: parse-options.c:735 +#: parse-options.c:861 #, c-format msgid "unknown switch `%c'" msgstr "okänd flagga \"%c\"" -#: parse-options.c:737 +#: parse-options.c:863 #, c-format msgid "unknown non-ascii option in string: `%s'" msgstr "okänd icke-ascii-flagga i strängen: \"%s\"" -#: parse-options.c:759 +#: parse-options.c:887 msgid "..." msgstr "..." -#: parse-options.c:778 +#: parse-options.c:906 #, c-format msgid "usage: %s" msgstr "användning: %s" @@ -4284,37 +4355,42 @@ msgstr "användning: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation. #. -#: parse-options.c:784 +#: parse-options.c:912 #, c-format msgid " or: %s" msgstr " eller: %s" -#: parse-options.c:787 +#: parse-options.c:915 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:826 +#: parse-options.c:954 msgid "-NUM" msgstr "-TAL" -#: parse-options-cb.c:21 +#: parse-options.c:968 +#, c-format +msgid "alias of --%s" +msgstr "alias för --%s" + +#: parse-options-cb.c:20 parse-options-cb.c:24 #, c-format msgid "option `%s' expects a numerical value" msgstr "flaggan \"%s\" antar ett numeriskt värde" -#: parse-options-cb.c:38 +#: parse-options-cb.c:41 #, c-format msgid "malformed expiration date '%s'" -msgstr "trasigt utlöpsdatum: â€%sâ€" +msgstr "trasigt utlöpsdatum: \"%s\"" -#: parse-options-cb.c:51 +#: parse-options-cb.c:54 #, c-format msgid "option `%s' expects \"always\", \"auto\", or \"never\"" msgstr "" "flaggan \"%s\" antar \"always\" (alltid), \"auto\" eller \"never\" (aldrig)" -#: parse-options-cb.c:127 parse-options-cb.c:144 +#: parse-options-cb.c:130 parse-options-cb.c:147 #, c-format msgid "malformed object name '%s'" msgstr "felformat objektnamn \"%s\"" @@ -4371,7 +4447,7 @@ msgstr "\")\" saknas i slutet av sökvägsuttrycket för \"%s\"" #: pathspec.c:368 #, c-format msgid "Unimplemented pathspec magic '%c' in '%s'" -msgstr "Ej implementerat sökvägsuttryckmagi â€%c†i â€%sâ€" +msgstr "Ej implementerat sökvägsuttryckmagi \"%c\" i \"%s\"" #: pathspec.c:427 #, c-format @@ -4462,24 +4538,29 @@ msgstr "kunde inte skapa trÃ¥dad lstat: %s" msgid "unable to parse --pretty format" msgstr "kunde inte tolka format för --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "kunde inte starta \"log\"" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "kunde inte läsa utdata frÃ¥n \"log\"" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "kunde inte tolka incheckningen \"%s\"" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "kunde inte tolka git-huvudet \"%.*s\"" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "misslyckades skapa diff" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "kunde inte tolka loggen för \"%s\"" @@ -4595,11 +4676,10 @@ msgid "unordered stage entries for '%s'" msgstr "osorterade köposter för \"%s\"" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "indexfilen trasig" @@ -4653,32 +4733,32 @@ msgstr "kunde inte uppdatera delat index \"%s\"" msgid "broken index, expect %s in %s, got %s" msgstr "trasigt index, förväntade %s i %s, fick %s" -#: read-cache.c:2988 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "kunde inte stänga \"%s\"" -#: read-cache.c:3091 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "kunde inte ta status pÃ¥ \"%s\"" -#: read-cache.c:3104 +#: read-cache.c:3105 #, c-format msgid "unable to open git dir: %s" msgstr "kunde inte öppna git-katalog: %s" -#: read-cache.c:3116 +#: read-cache.c:3117 #, c-format msgid "unable to unlink: %s" msgstr "misslyckades ta bort länken: %s" -#: read-cache.c:3141 +#: read-cache.c:3142 #, c-format msgid "cannot fix permission bits on '%s'" msgstr "kan inte rätta behörighetsbitar pÃ¥ \"%s\"" -#: read-cache.c:3290 +#: read-cache.c:3291 #, c-format msgid "%s: cannot drop to stage #0" msgstr "%s: kan inte Ã¥tergÃ¥ till kö 0" @@ -4741,7 +4821,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Ombasera %s pÃ¥ %s (%d kommando)" msgstr[1] "Ombasera %s pÃ¥ %s (%d kommandon)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4750,7 +4830,7 @@ msgstr "" "Ta inte bort rader. Använd \"drop\" för att specifikt förkasta en " "incheckning.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4758,7 +4838,7 @@ msgstr "" "\n" "Om du tar bort en rad KOMMER DEN INCHECKNINGEN ATT FÖRLORAS.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4772,7 +4852,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4782,12 +4862,12 @@ msgstr "" "Ombaseringen kommer dock att avbrytas om du tar bort allting.\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Observera att tomma incheckningar är utkommenterade" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "kunde inte skriva \"%s\"" @@ -4826,97 +4906,98 @@ msgstr "" "\" (fel).\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "\"%s\" pekar inte pÃ¥ ett giltigt objekt!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "ignorerar dinglande symbolisk referens %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "ignorerar trasig referens %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "kunde inte öppna \"%s\" för skrivning: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "Kunde inte läsa referensen \"%s\"" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "referensen \"%s\" finns redan" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "oväntat objekt-id vid skrivning \"%s\"" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "kunde inte skriva till \"%s\"" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "kunde inte öppna \"%s\" för skrivning" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "oväntat objekt-id vid borttagning \"%s\"" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "loggen för referensen %s har lucka efter %s" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "loggen för referensen %s slutade oväntat pÃ¥ %s" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "loggen för %s är tom" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "vägrar uppdatera referens med trasigt namn \"%s\"" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "update_ref misslyckades för referensen \"%s\": %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "flera uppdateringar för referensen \"%s\" tillÃ¥ts inte" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "referensuppdateringar förbjudna i karantänmiljö" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "\"%s\" finns; kan inte skapa \"%s\"" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "kan inte hantera \"%s\" och \"%s\" samtidigt" @@ -4942,268 +5023,252 @@ msgstr "kunde inte ta bort referenser: %s" msgid "invalid refspec '%s'" msgstr "felaktig referensspecifikation: \"%s\"" -#: ref-filter.c:39 wt-status.c:1907 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "försvunnen" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "före %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "bakom %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "före %d, bakom %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "förväntat format: %%(color:<color>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "okänd färg: %%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Heltalsvärde förväntades refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Heltalsvärde förväntades refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "okänt %%(%s)-argument: %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) tar inte argument" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "okänt %%(objectsize)-argument: %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) tar inte argument" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) tar inte argument" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) tar inte argument" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "okänt %%(trailers)-argument: %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "positivt värde förväntat contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "okänt %%(contents)-argument: %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "positivt värde förväntat objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "okänt %%(objectname)-argument: %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "förväntat format: %%(align:<bredd>,<position>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "okänd position:%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "okänd bredd:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "okänt %%(align)-argument: %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "positiv bredd förväntad med atomen %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "okänt %%(if)-argument: %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "felformat fältnamn: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "okänt fältnamn: %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "" "inte ett git-arkiv, men fältet \"%.*s\" kräver tillgÃ¥ng till objektdata" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "format: atomen %%(if) använd utan en %%(then)-atom" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "format: atomen %%(then) använd utan en %%(if)-atom" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "format: atomen %%(then) använd mer än en gÃ¥ng" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "format: atomen %%(then) använd efter %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "format: atomen %%(else) använd utan en %%(if)-atom" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "format: atomen %%(else) använd utan en %%(then)-atom" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "format: atomen %%(else) använd mer än en gÃ¥ng" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "format: atomen %%(end) använd utan motsvarande atom" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "felformad formatsträng %s" -#: ref-filter.c:1453 -#, c-format -msgid "(no branch, rebasing %s)" -msgstr "(ingen gren, ombaserar %s)" - -#: ref-filter.c:1456 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(ingen gren, ombaserar frÃ¥nkopplat HEAD %s)" +msgid "no branch, rebasing %s" +msgstr "ingen gren, ombaserar %s" -#: ref-filter.c:1459 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(ingen gren, \"bisect\" startad pÃ¥ %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "ingen gren, ombaserar frÃ¥nkopplat HEAD %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD frÃ¥nkopplat vid %s)" - -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 +#: ref-filter.c:1491 #, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD frÃ¥nkopplat frÃ¥n %s)" +msgid "no branch, bisect started on %s" +msgstr "ingen gren, \"bisect\" startad pÃ¥ %s" -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(ingen gren)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "ingen gren" -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "objektet %s saknas för %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer misslyckades pÃ¥ %s för %s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "felformat objekt vid \"%s\"" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "ignorerar referens med trasigt namn %s" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "format: atomen %%(end) saknas" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "flaggan \"%s\" är inkompatibel med --merged" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "flaggan \"%s\" är inkompatibel med --no-merged" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "felformat objektnamn %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "flaggan \"%s\" mÃ¥ste peka pÃ¥ en incheckning" @@ -5545,8 +5610,8 @@ msgstr "kan inte ta bort lös länk \"%s\"" msgid "Recorded preimage for '%s'" msgstr "Sparade förhandsbild för \"%s\"" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1790 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "kunde inte skapa katalogen \"%s\"" @@ -5580,20 +5645,20 @@ msgstr "Glömde lösning för \"%s\"\n" msgid "unable to open rr-cache directory" msgstr "kan inte uppdatera katalogen rr-cache" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "din nuvarande gren verkar vara trasig" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "din nuvarande gren \"%s\" innehÃ¥ller ännu inte nÃ¥gra incheckningar" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent är inkompatibelt med --bisect" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L stöder ännu inte andra diff-format än -p och -s" @@ -5663,24 +5728,29 @@ msgstr "felaktigt incheckningsmeddelandestädningsläge \"%s\"" msgid "could not delete '%s'" msgstr "kunde inte ta bort \"%s\"" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "kunde inte ta bort \"%s\"" + +#: sequencer.c:321 msgid "revert" msgstr "revert" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "okänd funktion: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5688,7 +5758,7 @@ msgstr "" "efter att ha löst konflikterna, markera de rättade sökvägarna\n" "med \"git add <sökvägar>\" eller \"git rm <sökvägar>\"" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5698,44 +5768,44 @@ msgstr "" "med \"git add <sökvägar>\" eller \"git rm <sökvägar>\"\n" "och checka in resultatet med \"git commit\"" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "kunde inte lÃ¥sa \"%s\"" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "kunde inte skriva radslut till \"%s\"" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "misslyckades färdigställa \"%s\"" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "kunde inte läsa \"%s\"" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "dina lokala ändringar skulle skrivas över av %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "checka in dina ändringar eller använd \"stash\" för att fortsätta." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: snabbspola" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Felaktigt städningsläge %s" @@ -5743,70 +5813,70 @@ msgstr "Felaktigt städningsläge %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Kunde inte skriva ny indexfil" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "kan inte uppdatera cacheträd" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "kunde inte bestämma HEAD:s incheckning" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "ingen nyckel i \"%.*s\"" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "kan inte ta bort citering av värdet \"%s\"" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "kunde inte öppna \"%s\" för läsning" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "\"GIT_AUTHOR_NAME\" har redan angivits" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "\"GIT_AUTHOR_EMAIL\" har redan angivits" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "\"GIT_AUTHOR_DATE\" har redan angivits" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "okänd variabel \"%s\"" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "\"GIT_AUTHOR_NAME\" saknas" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "\"GIT_AUTHOR_EMAIL\" saknas" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "\"GIT_AUTHOR_DATE\" saknas" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "ogiltigt datumformat \"%s\" i \"%s\"" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5835,15 +5905,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "skriver rotincheckning" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "kroken \"prepare-commit-msg\" misslyckades" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5870,7 +5940,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5895,307 +5965,350 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "kunde inte slÃ¥ upp en precis skapad incheckning" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "kunde inte tolka en precis skapad incheckning" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "kunde inte bestämma HEAD efter att ha skapat incheckning" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "frÃ¥nkopplad HEAD" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (rotincheckning)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "kunde inte tolka HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s är inte en incheckning!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "kunde inte tolka HEAD:s incheckning" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "kunde inte tolka incheckningens författare" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree misslyckades skriva ett träd" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "kunde inte läsa incheckningsmeddelande frÃ¥n \"%s\"" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "kunde inte skriva incheckningsobjekt" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "kunde inte tolka incheckningen %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "kunde inte tolka föräldraincheckningen %s" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "okänt kommando: %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Det här är en kombination av %d incheckningar." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "behöver en HEAD-incheckning att rätta" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "kunde inte läsa HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "kunde inte läsa HEAD:s incheckningsmeddelande" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "kan inte skriva \"%s\"" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Det här är 1:a incheckningsmeddelandet:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "kunde inte läsa incheckningsmeddelande för %s" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Det här är incheckningsmeddelande %d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Incheckningsmeddelande %d kommer hoppas över:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "din indexfil har inte slagits ihop." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "kan inte göra \"fixup\" pÃ¥ rotincheckning" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "incheckning %s är en sammanslagning, men flaggan -m angavs inte." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "incheckning %s har inte förälder %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "kan inte hämta incheckningsmeddelande för %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kan inte tolka föräldraincheckningen %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "kunde inte byta namn pÃ¥ \"%s\" till \"%s\"" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "kunde inte Ã¥ngra %s... %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "kunde inte tillämpa %s... %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: misslyckades läsa indexet" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: misslyckades uppdatera indexet" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s tar inte argument: \"%s\"" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "argument saknas för %s" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "kunde inte tolka \"%.*s\"" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "ogiltig rad %d: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "kan inte utföra \"%s\" utan en föregÃ¥ende incheckning" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "kunde inte läsa \"%s\"." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "avbryter pÃ¥gÃ¥ende \"cherry-pick\"" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "avbryter pÃ¥gÃ¥ende \"revert\"" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "rätta det med \"git rebase --edit-todo\"." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" -msgstr "oanvändbart manus: â€%sâ€" +msgstr "oanvändbart manus: \"%s\"" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "inga incheckningar lästes." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "kan inte utföra \"cherry-pick\" under en \"revert\"." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "kan inte utföra \"revert\" under en \"cherry-pick\"." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "felaktigt värde för %s: %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "oanvändbar squash-onto" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" -msgstr "trasigt manus: â€%sâ€" +msgstr "trasigt manus: \"%s\"" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "den angivna uppsättningen incheckningar är tom" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "en \"cherry-pick\" eller \"revert\" pÃ¥gÃ¥r redan" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "en \"revert\" pÃ¥gÃ¥r redan" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "testa \"git revert (--continue | %s--abort | --quit)\"" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "testa \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "en \"cherry-pick\" pÃ¥gÃ¥r redan" -#: sequencer.c:2660 +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "testa \"git cherry-pick (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "kunde inte skapa \"sequencer\"-katalogen \"%s\"" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "kunde inte lÃ¥sa HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "ingen \"cherry-pick\" eller \"revert\" pÃ¥gÃ¥r" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "kan inte bestämma HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "kan inte avbryta frÃ¥n en gren som ännu inte är född" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "kan inte öppna \"%s\"" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "kan inte läsa \"%s\": %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "oväntat filslut" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "sparad HEAD-fil frÃ¥n före \"cherry-pick\", \"%s\", är trasig" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Du verkar ha flyttat HEAD.\n" "Spolar inte tillbaka, kontrollera HEAD!" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "ingen \"revers\" pÃ¥gÃ¥r" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "ingen \"cherry-pick\" pÃ¥gÃ¥r" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "kunde inte hoppa över incheckningen" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "ingenting att hoppa över" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"har du redan checkat in?\n" +"testa \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "kunde inte uppdatera %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "kan inte läsa HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "kan inte kopiera in \"%s\" till \"%s\"" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6214,27 +6327,27 @@ msgstr "" "\n" "\tgit rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "Kunde inte tillämpa %s... %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Kunde inte slÃ¥ ihop %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:639 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "kunde inte kopiera in \"%s\" till \"%s\"" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "kunde inte läsa indexet" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6249,11 +6362,11 @@ msgstr "" "\tgit rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "och gjorde ändringar till indexet och/eller arbetskatalogen\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6270,76 +6383,76 @@ msgstr "" "\tgit rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "ogiltigt etikettnamn: \"%.*s\"" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "skriver fejkad rotincheckning" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "skriver squash-onto" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "kunde inte hitta trädet för %s." -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "kunde inte skriva indexet" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "kunde inte upplösa \"%s\"" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "kan inte slÃ¥ ihop utan en aktuell incheckning" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "kan inte tolka \"%.*s\"" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "inget att slÃ¥ samman: \"%.*s\"" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "\"octopus\"-sammanslagning kan inte köras ovanpÃ¥ en [ny rot]" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "kunde inte läsa incheckningsmeddelande för \"%s\"" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "kunde inte ens försöka slÃ¥ ihop \"%.*s\"" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "sammanslagning: Kunde inte skriva ny indexfil" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Tillämpade autostash.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "kan inte spara %s" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6350,31 +6463,31 @@ msgstr "" "Dina ändringar är säkra i stashen.\n" "Du kan när som helst använda \"git stash pop\" eller \"git stash drop\".\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "kunde inte checka ut %s" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s: inte ett giltigt OID" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "kunde inte koppla frÃ¥n HEAD" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Stoppade pÃ¥ HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Stoppade pÃ¥ %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6395,48 +6508,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Stoppade pÃ¥ %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "okänt kommando %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "kunde inte läsa orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "kunde inte läsa \"onto\"" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "kunde inte uppdatera HEAD till %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "kan inte ombasera: Du har oköade ändringar." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "kan inte lägga till incheckning som inte finns" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "ogiltig fil: \"%s\"" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "ogiltigt innehÃ¥ll: \"%s\"" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6446,42 +6559,42 @@ msgstr "" "Du har ändringar i arbetskatalogen som inte checkats in. Checka in dem\n" "först och kör sedan \"git rebase --continue\" igen." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "kunde inte skriva fil: \"%s\"" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "kunde inte ta bort CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "kunde inte checka in köade ändringar." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" -msgstr "%s: kan inte göra \"cherry-pick\" pÃ¥ typen â€%sâ€" +msgstr "%s: kan inte göra \"cherry-pick\" pÃ¥ typen \"%s\"" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: felaktig revision" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "kan inte Ã¥ngra som första incheckning" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: flaggor som inte stöds" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: fel när revisioner skulle förberedas" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6491,15 +6604,15 @@ msgstr "" "continue\".\n" "Avbryt ombaseringen med \"git rebase --abort\".\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "inget att göra" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "kunde inte hoppa över onödiga \"pick\"-kommandon" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "skriptet har redan omordnats." @@ -6719,215 +6832,220 @@ msgstr "referensarkivet \"%s\" är grunt" msgid "reference repository '%s' is grafted" msgstr "referensarkivet \"%s\" är ympat" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "felaktig rad vid tolkning av alternativa referenser: %s" + +#: sha1-file.c:943 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "försök att utföra \"mmap\" pÃ¥ %<PRIuMAX> över gränsen %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:968 msgid "mmap failed" msgstr "mmap misslyckades" -#: sha1-file.c:1035 +#: sha1-file.c:1132 #, c-format msgid "object file %s is empty" msgstr "objektfilen %s är tom" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1256 sha1-file.c:2395 #, c-format msgid "corrupt loose object '%s'" msgstr "trasigt löst objekt \"%s\"" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1258 sha1-file.c:2399 #, c-format msgid "garbage at end of loose object '%s'" msgstr "skräp i slutet av löst objekt \"%s\"" -#: sha1-file.c:1203 +#: sha1-file.c:1300 msgid "invalid object type" msgstr "felaktig objekttyp" -#: sha1-file.c:1287 +#: sha1-file.c:1384 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "kan inte packa upp %s-huvud med --allow-unknown-type" -#: sha1-file.c:1290 +#: sha1-file.c:1387 #, c-format msgid "unable to unpack %s header" msgstr "kan inte packa upp %s-huvudet" -#: sha1-file.c:1296 +#: sha1-file.c:1393 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "kan inte tolka %s-huvud med --allow-unknown-type" -#: sha1-file.c:1299 +#: sha1-file.c:1396 #, c-format msgid "unable to parse %s header" msgstr "kan inte tolka %s-huvud" -#: sha1-file.c:1490 +#: sha1-file.c:1587 #, c-format msgid "failed to read object %s" msgstr "misslyckades läsa objektet %s" -#: sha1-file.c:1494 +#: sha1-file.c:1591 #, c-format msgid "replacement %s not found for %s" msgstr "ersättningen %s hittades inte för %s" -#: sha1-file.c:1498 +#: sha1-file.c:1595 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "löst objekt %s (lagrat i %s) är trasigt" -#: sha1-file.c:1502 +#: sha1-file.c:1599 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "packat objekt %s (lagrat i %s) är trasigt" -#: sha1-file.c:1604 +#: sha1-file.c:1702 #, c-format msgid "unable to write file %s" msgstr "kunde inte skriva filen %s" -#: sha1-file.c:1611 +#: sha1-file.c:1709 #, c-format msgid "unable to set permission to '%s'" msgstr "kan inte sätta behörigheten till \"%s\"" -#: sha1-file.c:1618 +#: sha1-file.c:1716 msgid "file write error" msgstr "fel vid skrivning av fil" -#: sha1-file.c:1637 +#: sha1-file.c:1735 msgid "error when closing loose object file" msgstr "fel vid stängning av fil för löst objekt" -#: sha1-file.c:1702 +#: sha1-file.c:1800 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "otillräcklig behörighet för att lägga till objekt till arkivdatabasen %s" -#: sha1-file.c:1704 +#: sha1-file.c:1802 msgid "unable to create temporary file" msgstr "kan inte skapa temporär fil" -#: sha1-file.c:1728 +#: sha1-file.c:1826 msgid "unable to write loose object file" msgstr "kunde inte skriva fil för löst objekt" -#: sha1-file.c:1734 +#: sha1-file.c:1832 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "kan inte utföra \"deflate\" pÃ¥ nytt objekt %s (%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1836 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "\"deflateend\" pÃ¥ objektet %s misslyckades (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1840 #, c-format msgid "confused by unstable object source data for %s" msgstr "förvirrad av instabil objektkälldata för %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1850 builtin/pack-objects.c:920 #, c-format msgid "failed utime() on %s" msgstr "\"utime()\" misslyckades pÃ¥ %s" -#: sha1-file.c:1827 +#: sha1-file.c:1925 #, c-format msgid "cannot read object for %s" msgstr "kan inte läsa objekt för %s" -#: sha1-file.c:1867 +#: sha1-file.c:1965 msgid "corrupt commit" msgstr "trasik incheckning" -#: sha1-file.c:1875 +#: sha1-file.c:1973 msgid "corrupt tag" msgstr "trasig tagg" -#: sha1-file.c:1974 +#: sha1-file.c:2072 #, c-format msgid "read error while indexing %s" msgstr "läsfel vid indexering av %s" -#: sha1-file.c:1977 +#: sha1-file.c:2075 #, c-format msgid "short read while indexing %s" msgstr "för lite lästes vid indexering av %s" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2148 sha1-file.c:2157 #, c-format msgid "%s: failed to insert into database" msgstr "%s: misslyckades lägga in i databasen" -#: sha1-file.c:2065 +#: sha1-file.c:2163 #, c-format msgid "%s: unsupported file type" msgstr "%s: filtypen stöds ej" -#: sha1-file.c:2089 +#: sha1-file.c:2187 #, c-format msgid "%s is not a valid object" msgstr "%s är inte ett giltigt objekt" -#: sha1-file.c:2091 +#: sha1-file.c:2189 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s är inte ett giltigt \"%s\"-objekt" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2216 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "kan inte öppna %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2406 sha1-file.c:2458 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "hash stämmer inte för %s (förväntade %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2430 #, c-format msgid "unable to mmap %s" msgstr "kan inte utföra \"mmap\" för %s" -#: sha1-file.c:2337 +#: sha1-file.c:2435 #, c-format msgid "unable to unpack header of %s" msgstr "kan inte packa upp huvud för %s" -#: sha1-file.c:2343 +#: sha1-file.c:2441 #, c-format msgid "unable to parse header of %s" msgstr "kan inte tolka huvud för %s" -#: sha1-file.c:2354 +#: sha1-file.c:2452 #, c-format msgid "unable to unpack contents of %s" msgstr "kan inte tolka innehÃ¥ll i %s" -#: sha1-name.c:487 +#: sha1-name.c:490 #, c-format msgid "short SHA1 %s is ambiguous" msgstr "kort SHA1 %s är tvetydig" -#: sha1-name.c:498 +#: sha1-name.c:501 msgid "The candidates are:" msgstr "Kandidaterna är:" -#: sha1-name.c:794 +#: sha1-name.c:800 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -6937,12 +7055,64 @@ msgstr "" "tecken, dÃ¥ detta ignoreras när du anger 40-hex enbart. Dessa\n" "referenser kan skapas av misstag. Till exempel, för\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "där \"$br\" pÃ¥ nÃ¥got sätt blivit tomt och en 40-hex-referens skapats.\n" "Undersök referenserna och ta kanske bort dem. Stäng av meddelandet\n" "genom att köra \"git config advice.objectNameWarning false\"" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u,%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u,%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u,%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u,%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u,%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u,%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u byte" +msgstr[1] "%u bytes" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u byte/s" +msgstr[1] "%u bytes/s" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -6978,7 +7148,7 @@ msgstr "Sökvägsangivelsen \"%s\" är i undermodulen \"%.*s\"" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "undermodulposten \"%s\" (%s) är en %s, inte en incheckning" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Misslyckades slÃ¥ upp HEAD som giltig referens." @@ -7017,7 +7187,7 @@ msgstr "undermodulen \"%s\" har ett smutsigt index" msgid "Submodule '%s' could not be updated." msgstr "Undermoduler \"%s\" kunde inte uppdateras." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7025,12 +7195,12 @@ msgstr "" "relocate_gitdir för undermodulen \"%s\", som har mer än en arbetskatalog, " "stöds ej" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "kunde inte slÃ¥ upp namnet för undermodulen \"%s\"" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7041,16 +7211,16 @@ msgstr "" "\"%s\" till\n" "\"%s\"\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "kunde inte rekursera in i undermodulen \"%s\"" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "kunde inte starta ls-files i .." -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree returnerade en oväntad returkod %d" @@ -7146,7 +7316,7 @@ msgstr "kunde inte läsa paketet (bundlen) \"%s\"" #: transport.c:208 #, c-format msgid "transport: invalid depth option '%s'" -msgstr "transport: ogiltig flagga för depth: â€%sâ€" +msgstr "transport: ogiltig flagga för depth: \"%s\"" #: transport.c:259 msgid "see protocol.version in 'git help config' for more details" @@ -7222,15 +7392,10 @@ msgstr "Avbryter." msgid "failed to push all needed submodules" msgstr "kunde inte sända alla nödvändiga undermoduler" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "funktionen stöds inte av protokollet" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "felaktig rad vid tolkning av alternativa referenser: %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "komplett skrivning till fjärrhjälpare misslyckades" @@ -7277,7 +7442,7 @@ msgstr "kunde inte köra fast-import" msgid "error while running fast-import" msgstr "fel när fast-import kördes" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "kunde inte läsa referensen %s" @@ -7330,24 +7495,24 @@ msgstr "hjälparen %s stöder inte --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "hjälparen %s stöder inte \"push-option\"" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "fjärrhjälparen stöder inte push; referensspecifikation krävs" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "hjälparen %s stöder inte \"force\"" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "kunde inte köra fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "fel vid körning av fast-export" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7356,47 +7521,47 @@ msgstr "" "Inga gemensamma referenser och inga angavs; gör inget.\n" "Du kanske borde ange en gren sÃ¥som \"master\".\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "felformat svar i referenslistan: %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "läs(%s) misslyckades" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "skriv(%s) misslyckades" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "%s-trÃ¥den misslyckades" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "%s-trÃ¥den misslyckades ansluta: %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "kan inte starta trÃ¥d för kopiering av data: %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "processen %s misslyckades vänta" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "processen %s misslyckades" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "kan inte skapa trÃ¥d för kopiering av data" @@ -7412,7 +7577,7 @@ msgstr "felformat läge i trädpost" msgid "empty filename in tree entry" msgstr "tomt filnamn i trädpost" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "trädfil för kort" @@ -7649,8 +7814,8 @@ msgid "Aborting\n" msgstr "Avbryter\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Checkar ut filer" +msgid "Updating files" +msgstr "Uppdaterar filer" #: unpack-trees.c:350 msgid "" @@ -7691,32 +7856,32 @@ msgstr "felaktigt portnummer" msgid "invalid '..' path segment" msgstr "felaktigt \"..\"-sökvägssegment" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "misslyckades läsa \"%s\"" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "\"%s\" i huvudarbetskatalogen är inte arkivkatalogen" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "filen \"%s\" innehÃ¥ller inte absolut sökväg till arbetskatalogen" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "\"%s\" finns inte" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "\"%s\" är inte en .git-fil, felkod %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "\"%s\" pekar inte tillbaka till \"%s\"" @@ -7735,155 +7900,161 @@ msgstr "kan inte komma Ã¥t \"%s\"" msgid "unable to get current working directory" msgstr "kan inte hämta aktuell arbetskatalog" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Ej sammanslagna sökvägar:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr " (använd \"git restore --staged <fil>...\" för att ta bort frÃ¥n kö)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (använd \"git reset %s <fil>...\" för att ta bort frÃ¥n kö)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr "" +" (använd \"git restore --source=%s --staged <fil>...\" för att ta bort frÃ¥n " +"kö)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (använd \"git rm --cached <fil>...\" för att ta bort frÃ¥n kö)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (använd \"git add <fil>...\" för att ange lösning)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr " (använd \"git add/rm <fil>...\" som lämpligt för att ange lösning)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (använd \"git rm <fil>...\" för att ange lösning)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Ändringar att checka in:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Ändringar ej i incheckningskön:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (använd \"git add <fil>...\" för att uppdatera vad som skall checkas in)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (använd \"git add/rm <fil>...\" för att uppdatera vad som skall checkas in)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (använd \"git checkout -- <fil>...\" för att förkasta ändringar i " +" (använd \"git restore <fil>...\" för att förkasta ändringar i " "arbetskatalogen)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (checka in eller förkasta ospÃ¥rat eller ändrat innehÃ¥ll i undermoduler)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (använd \"git %s <fil>...\" för att ta med i det som skall checkas in)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "borttaget av bägge:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "tillagt av oss:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "borttaget av dem:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "tillagt av dem:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "borttaget av oss:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "tillagt av bägge:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "ändrat av bägge:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "ny fil:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "kopierad:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "borttagen:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "ändrad:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "namnbytt:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "typbyte:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "okänd:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "osammanslagen:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "nya incheckningar, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "ändrat innehÃ¥ll, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "ospÃ¥rat innehÃ¥ll, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Stashen innehÃ¥ller just nu %d post" msgstr[1] "Stashen innehÃ¥ller just nu %d poster" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Undermoduler ändrade men inte uppdaterade:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Undermodulers ändringar att checka in:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -7891,107 +8062,118 @@ msgstr "" "Raden ovan fÃ¥r inte ändras eller tas bort.\n" "Allt under den kommer tas bort." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"Det tog %.2f sekunder att räkna före/bakom-värden.\n" +"Du kan använda \"--no-ahead-behind\" för undvika detta.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Du har ej sammanslagna sökvägar." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (rätta konflikter och kör \"git commit\")" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (använd \"git merge --abort\" för att avbryta sammanslagningen)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Alla konflikter har rättats men du är fortfarande i en sammanslagning." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (använd \"git commit\" för att slutföra sammanslagningen)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Du är i mitten av en körning av \"git am\"." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "Aktuell patch är tom." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (rätta konflikter och kör sedan \"git am --continue\")" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (använd \"git am --skip\" för att hoppa över patchen)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (använd \"git am --abort\" för att Ã¥terställa ursprungsgrenen)" -#: wt-status.c:1282 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo saknas." -#: wt-status.c:1284 +#: wt-status.c:1311 msgid "No commands done." msgstr "Inga kommandon utförda." -#: wt-status.c:1287 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Sista kommandot utfört (%d kommando utfört):" msgstr[1] "Sista kommandot utfört (%d kommandon utfört):" -#: wt-status.c:1298 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (se fler i filen %s)" -#: wt-status.c:1303 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Inga kommandon Ã¥terstÃ¥r." -#: wt-status.c:1306 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Nästa kommando att utföra (%d kommando Ã¥terstÃ¥r):" msgstr[1] "Följande kommandon att utföra (%d kommandon Ã¥terstÃ¥r):" -#: wt-status.c:1314 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (använd \"git rebase --edit-todo\" för att visa och redigera)" -#: wt-status.c:1326 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Du hÃ¥ller pÃ¥ att ombasera grenen \"%s\" ovanpÃ¥ \"%s\"." -#: wt-status.c:1331 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Du hÃ¥ller pÃ¥ med en ombasering." -#: wt-status.c:1344 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (rätta konflikter och kör sedan \"git rebase --continue\")" -#: wt-status.c:1346 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (använd \"git rebase --skip\" för att hoppa över patchen)" -#: wt-status.c:1348 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (använd \"git rebase --abort\" för att checka ut ursprungsgrenen)" -#: wt-status.c:1355 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (alla konflikter rättade: kör \"git rebase --continue\")" -#: wt-status.c:1359 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -7999,142 +8181,134 @@ msgstr "" "Du hÃ¥ller pÃ¥ att dela upp en incheckning medan du ombaserar grenen \"%s\" " "ovanpÃ¥ \"%s\"." -#: wt-status.c:1364 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "Du hÃ¥ller pÃ¥ att dela upp en incheckning i en ombasering." -#: wt-status.c:1367 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr " (SÃ¥ fort din arbetskatalog är ren, kör \"git rebase --continue\")" -#: wt-status.c:1371 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Du hÃ¥ller pÃ¥ att redigera en incheckning medan du ombaserar grenen \"%s\" " "ovanpÃ¥ \"%s\"." -#: wt-status.c:1376 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Du hÃ¥ller pÃ¥ att redigera en incheckning under en ombasering." -#: wt-status.c:1379 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (använd \"git commit --amend\" för att lägga till pÃ¥ aktuell incheckning)" -#: wt-status.c:1381 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr " (använd \"git rebase --continue\" när du är nöjd med dina ändringar)" -#: wt-status.c:1392 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Cherry-pick pÃ¥gÃ¥r." -#: wt-status.c:1395 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Du hÃ¥ller pÃ¥ med en \"cherry-pick\" av incheckningen %s." -#: wt-status.c:1402 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (rätta konflikter och kör sedan \"git cherry-pick --continue\")" -#: wt-status.c:1405 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (kör \"git cherry-pick --continue\" för att fortsätta)" -#: wt-status.c:1408 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr " (alla konflikter rättade: kör \"git cherry-pick --continue\")" -#: wt-status.c:1410 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (använd \"git cherry-pick --abort\" för att avbryta \"cherry-pick\"-" "operationen)" -#: wt-status.c:1420 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Ã…ngring pÃ¥gÃ¥r." -#: wt-status.c:1423 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Du hÃ¥ller pÃ¥ med att Ã¥ngra incheckningen %s." -#: wt-status.c:1429 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (rätta konflikter och kör sedan \"git revert --continue\")" -#: wt-status.c:1432 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (kör \"git revert --continue\" för att fortsätta)" -#: wt-status.c:1435 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (alla konflikter rättade: kör \"git revert --continue\")" -#: wt-status.c:1437 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (använd \"git revert --abort\" för att avbryta Ã¥ngrandet)" -#: wt-status.c:1447 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Du hÃ¥ller pÃ¥ med en \"bisect\", startad frÃ¥n grenen \"%s\"." -#: wt-status.c:1451 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Du hÃ¥ller pÃ¥ med en \"bisect\"." -#: wt-status.c:1454 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (använd \"git bisect reset\" för att komma tillbaka till ursprungsgrenen)" -#: wt-status.c:1663 +#: wt-status.c:1690 msgid "On branch " msgstr "PÃ¥ grenen " -#: wt-status.c:1670 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "interaktiv ombasering pÃ¥gÃ¥r; ovanpÃ¥ " -#: wt-status.c:1672 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "ombasering pÃ¥gÃ¥r; ovanpÃ¥ " -#: wt-status.c:1677 -msgid "HEAD detached at " -msgstr "HEAD frÃ¥nkopplad vid " - -#: wt-status.c:1679 -msgid "HEAD detached from " -msgstr "HEAD frÃ¥nkopplad frÃ¥n " - -#: wt-status.c:1682 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Inte pÃ¥ nÃ¥gon gren för närvarande." -#: wt-status.c:1699 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Första incheckning" -#: wt-status.c:1700 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Inga incheckningar ännu" -#: wt-status.c:1714 +#: wt-status.c:1741 msgid "Untracked files" msgstr "OspÃ¥rade filer" -#: wt-status.c:1716 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Ignorerade filer" -#: wt-status.c:1720 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8146,32 +8320,32 @@ msgstr "" "lägga till nya filer själv (se \"git help status\")." # %s är nästa sträng eller tom. -#: wt-status.c:1726 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "OspÃ¥rade filer visas ej%s" -#: wt-status.c:1728 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (använd flaggan -u för att visa ospÃ¥rade filer)" -#: wt-status.c:1734 +#: wt-status.c:1761 msgid "No changes" msgstr "Inga ändringar" -#: wt-status.c:1739 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "inga ändringar att checka in (använd \"git add\" och/eller \"git commit -a" "\")\n" -#: wt-status.c:1742 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "inga ändringar att checka in\n" -#: wt-status.c:1745 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8180,62 +8354,62 @@ msgstr "" "inget köat för incheckning, men ospÃ¥rade filer finns (spÃ¥ra med \"git add" "\")\n" -#: wt-status.c:1748 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "inget köat för incheckning, men ospÃ¥rade filer finns\n" -#: wt-status.c:1751 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "inget att checka in (skapa/kopiera filer och spÃ¥ra med \"git add\")\n" -#: wt-status.c:1754 wt-status.c:1759 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "inget att checka in\n" -#: wt-status.c:1757 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "inget att checka in (använd -u för att visa ospÃ¥rade filer)\n" -#: wt-status.c:1761 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "inget att checka in, arbetskatalogen ren\n" -#: wt-status.c:1874 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Inga incheckningar ännu pÃ¥ " -#: wt-status.c:1878 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (ingen gren)" -#: wt-status.c:1909 +#: wt-status.c:1936 msgid "different" msgstr "olika" -#: wt-status.c:1911 wt-status.c:1919 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "efter " -#: wt-status.c:1914 wt-status.c:1917 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "före " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2441 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "kan inte %s: Du har oköade ändringar." -#: wt-status.c:2447 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "dessutom innehÃ¥ller dit index ändringar som inte har checkats in." -#: wt-status.c:2449 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "kan inte %s: Ditt index innehÃ¥ller ändringar som inte checkats in." @@ -8249,7 +8423,7 @@ msgstr "git add [<flaggor>] [--] <sökväg>..." msgid "unexpected diff status %c" msgstr "diff-status %c förväntades inte" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "misslyckades uppdatera filer" @@ -8297,8 +8471,8 @@ msgstr "Kunde inte tillämpa \"%s\"" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "Följande sökvägar ignoreras av en av dina .gitignore-filer:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "testkörning" @@ -8307,7 +8481,7 @@ msgstr "testkörning" msgid "interactive picking" msgstr "plocka interaktivt" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "välj stycken interaktivt" @@ -8388,7 +8562,7 @@ msgstr "" "\n" "\tgit rm --cached %s\n" "\n" -"Se â€git help submodule†för ytterligare information." +"Se \"git help submodule\" för ytterligare information." #: builtin/add.c:354 #, c-format @@ -8475,7 +8649,7 @@ msgstr "ogiltig tidszons-offset" msgid "Patch format detection failed." msgstr "Misslyckades detektera patchformat." -#: builtin/am.c:949 builtin/clone.c:412 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "misslyckades skapa katalogen \"%s\"" @@ -8484,7 +8658,7 @@ msgstr "misslyckades skapa katalogen \"%s\"" msgid "Failed to split patches." msgstr "Misslyckades dela patchar." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "kan inte skriva indexfil" @@ -8523,17 +8697,17 @@ msgstr "ogiltig ident-rad: %.*s" msgid "unable to parse commit %s" msgstr "kunde inte tolka incheckningen %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Arkivet saknar objekt som behövs för att falla tillbaka pÃ¥ 3-" "vägssammanslagning." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "Använder indexinfo för att Ã¥terskapa ett basträd..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8541,30 +8715,25 @@ msgstr "" "Har du handredigerat din patch?\n" "Den kan inte tillämpas pÃ¥ blobbar som antecknats i dess index." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "" "Faller tillbaka pÃ¥ att patcha grundversionen och trevägssammanslagning..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Misslyckades slÃ¥ ihop ändringarna." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "tillämpar pÃ¥ en tom historik" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "kan inte Ã¥teruppta: %s finns inte." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"kan inte vara interaktiv om standard in inte är ansluten till en terminal." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Incheckningskroppen är:" @@ -8572,35 +8741,36 @@ msgstr "Incheckningskroppen är:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Tillämpa? Y=ja/N=nej/E=redigera/V=visa patch/A=godta alla: " -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Smutsigt index: kan inte tillämpa patchar (smutsiga: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Tillämpar: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Inga ändringar -- Patchen har redan tillämpats." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "Patch misslyckades pÃ¥ %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "" "Använd \"git am --show-current-patch\" för att se patchen som misslyckades" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8610,7 +8780,7 @@ msgstr "" "Om det inte är nÃ¥got kvar att köa kan det hända att nÃ¥got annat redan\n" "introducerat samma ändringar; kanske du bör hoppa över patchen." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8618,21 +8788,21 @@ msgid "" "You might run `git rm` on a file to accept \"deleted by them\" for it." msgstr "" "Du har fortfarande ej sammanslagna sökvägar i indexet.\n" -"Du bör köra â€git add†pÃ¥ filer med lösta konflikter för att ange dem som " +"Du bör köra \"git add\" pÃ¥ filer med lösta konflikter för att ange dem som " "lösta.\n" -"Du kan köra â€git rm†för att godta â€borttagen av dem†för den." +"Du kan köra \"git rm\" för att godta \"borttagen av dem\" för den." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." -msgstr "Kan inte tolka objektet â€%sâ€." +msgstr "Kan inte tolka objektet \"%s\"." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "misslyckades städa upp indexet" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8640,143 +8810,143 @@ msgstr "" "Du verkar ha flyttat HEAD sedan \"am\" sist misslyckades.\n" "Ã…terställer inte till ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Felaktigt värde för --patch-format: %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<flaggor>] [(<mbox> | <Maildir>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<flaggor>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "kör interaktivt" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "historisk flagga -- no-op" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "tillÃ¥t falla tillbaka pÃ¥ trevägssammanslagning om nödvändigt" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:307 builtin/stash.c:806 msgid "be quiet" msgstr "var tyst" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "lägg till \"Signed-off-by\"-rad i incheckningsmeddelandet" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "koda om till utf8 (standard)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "sänd flaggan -k till git-mailinfo" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "sänd flaggan -b till git-mailinfo" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "sänd flaggan -m till git-mailinfo" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "sänd flaggan --keep-cr till git-mailsplit för mbox-formatet" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "sänd inte flaggan --keep-cr till git-mailsplit oberoende av am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "ta bort allting före en saxlinje" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "sänd det genom git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:397 -#: parse-options.h:140 parse-options.h:161 parse-options.h:303 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:318 builtin/repack.c:322 builtin/repack.c:324 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:39 msgid "format" msgstr "format" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "format för patch(ar)" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "överstyr felmeddelanden när patchfel uppstÃ¥r" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "fortsätt applicera patchar efter att ha löst en konflikt" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "synonymer till --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "hoppa över den aktuella grenen" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "Ã¥terställ originalgrenen och avbryt patchningen." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "avbryt patchningen men behÃ¥ll HEAD där det är." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "visa patchen som tillämpas." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "ljug om incheckningsdatum" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "använd nuvarande tidsstämpel för författardatum" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "nyckel-id" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "GPG-signera incheckningar" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(används internt av git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -8784,16 +8954,16 @@ msgstr "" "Flaggan -b/--binary har varit utan funktion länge, och\n" "kommer tas bort. Vi ber dig att inte använda den längre." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "misslyckades läsa indexet" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "tidigare rebase-katalog %s finns fortfarande, men mbox angavs." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -8802,10 +8972,14 @@ msgstr "" "Kvarbliven katalog %s hittades.\n" "Använd \"git am --abort\" för att ta bort den." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Lösningsoperation pÃ¥gÃ¥r inte, vi Ã¥terupptar inte." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "interaktivt läge kräver patchar pÃ¥ kommandoraden" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<flaggor>] [<patch>...]" @@ -9026,7 +9200,7 @@ msgstr "felaktigt HEAD - Jag behöver ett HEAD" #: builtin/bisect--helper.c:526 #, c-format msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'." -msgstr "misslyckades checka ut â€%sâ€. Försök â€git bisect reset <giltig_gren>â€." +msgstr "misslyckades checka ut \"%s\". Försök \"git bisect reset <giltig_gren>\"." # cogito-relaterat #: builtin/bisect--helper.c:547 @@ -9037,79 +9211,84 @@ msgstr "kör inte \"bisect\" pÃ¥ träd där \"cg-seek\" använts" msgid "bad HEAD - strange symbolic ref" msgstr "felaktigt HEAD - konstig symbolisk referens" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "ogiltig referens: \"%s\"" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "utför 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "skriv termerna i .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "städar upp bisect-tillstÃ¥nd" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "kontrollera för förväntade versioner" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "Ã¥terställ bisect-tillstÃ¥nd" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "skriver bisect-tillstÃ¥ndet i BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "visa och ange termer för bisect-tillstÃ¥nd" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "se efter om termer för rätt och fel finns" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "skriv ut termer för bisect" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "pÃ¥börja bisect-körningen" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "uppdatera BISECT_HEAD istället för att checka ut aktuell incheckning" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "ingen logg för BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms kräver tvÃ¥ argument" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state tar inga argument" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset kräver antingen inget argument eller en incheckning" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write kräver antingen 4 eller 5 argument" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms kräver tre argument" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check kräver 2 eller 3 argument" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms kräver noll eller ett argument" @@ -9121,133 +9300,150 @@ msgstr "git blame [<flaggor>] [<rev-flaggor>] [<rev>] [--] <fil>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-flaggor> dokumenteras i git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "förväntade en färg: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "mÃ¥ste sluta med en färg" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "felaktig färg \"%s\" i color.blame.repeatedLines" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "ogiltigt värde för blame.coloring" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "kan inte hitta revision %s att ignorera" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "Visa klandringsposter när vi hittar dem, interaktivt" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Visa blank SHA-1 för gränsincheckningar (Standard: av)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Behandla inte rotincheckningar som gränser (Standard: av)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Visa statistik över arbetskostnad" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Tvinga förloppsrapportering" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Visa utdatapoäng för klandringsposter" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "Visa originalfilnamn (Standard: auto)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "Visa ursprungligt radnummer (Standard: av)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Visa i ett format avsett för maskinkonsumtion" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "Visa porslinsformat med per-rad-incheckningsinformation" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Använd samma utdataläge som git-annotate (Standard: av)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Visa rÃ¥ tidsstämpel (Standard: av)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Visa lÃ¥ng inchecknings-SHA1 (Standard: av)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Undertryck författarnamn och tidsstämpel (Standard: av)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "Visa författarens e-post istället för namn (Standard: av)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Ignorera ändringar i blanksteg" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1646 +msgid "rev" +msgstr "rev" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "ignorera <rev> vid klandren" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "ignorera revisioner frÃ¥n <fil>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "färglägg redundant metadata frÃ¥n tidigare rader annorlunda" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "färglägg rader efter Ã¥lder" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Använd en experimentell algoritm för att förbättra diffar" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Slösa extra cykler med att hitta bättre träff" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Använd revisioner frÃ¥n <fil> istället för att anropa git-rev-list" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Använd <fil>s innehÃ¥ll som slutgiltig bild" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "poäng" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "Hitta kopierade rader inuti och mellan filer" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Hitta flyttade rader inuti och mellan filer" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "Behandla endast radintervallet n,m, med början pÃ¥ 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "--progress kan inte användas med --incremental eller porslinsformat" @@ -9259,18 +9455,18 @@ msgstr "--progress kan inte användas med --incremental eller porslinsformat" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "4 Ã¥r, 11 mÃ¥nader sedan" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "filen %s har bara %lu rad" msgstr[1] "filen %s har bara %lu rader" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Klandra rader" @@ -9302,7 +9498,7 @@ msgstr "git branch [<flaggor>] [-r | -a] [--points-at]" msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<flaggor>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9311,7 +9507,7 @@ msgstr "" "tar bort grenen \"%s\" som har slagits ihop med\n" " \"%s\", men ännu inte slagits ihop med HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9320,12 +9516,12 @@ msgstr "" "tar inte bort grenen \"%s\" som inte har slagits ihop med\n" " \"%s\", trots att den har slagits ihop med HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Kunde inte slÃ¥ upp incheckningsobjekt för \"%s\"" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9334,122 +9530,122 @@ msgstr "" "Grenen \"%s\" har inte slagits samman i sin helhet.\n" "Om du är säker pÃ¥ att du vill ta bort den, kör \"git branch -D %s\"." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Misslyckades uppdatera konfigurationsfil" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "kan inte ange -a med -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Kunde inte slÃ¥ upp incheckningsobjekt för HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "Kan inte ta bort grenen \"%s\" som är utcheckad pÃ¥ \"%s\"" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "fjärrspÃ¥rande grenen \"%s\" hittades inte." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "grenen \"%s\" hittades inte." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Fel vid borttagning av fjärrspÃ¥rande grenen \"%s\"" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Fel vid borttagning av grenen \"%s\"" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Tog bort fjärrspÃ¥rande grenen %s (var %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Tog bort grenen %s (var %s).\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "kan inte tolka formatsträng" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "kunde inte slÃ¥ upp HEAD" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) pekar utenför refs/heads/" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Grenen %s ombaseras pÃ¥ %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "Grenen %s är i en \"bisect\" pÃ¥ %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "kunde inte kopiera aktuell gren när du inte befinner dig pÃ¥ nÃ¥gon." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "" "kunde inte byta namn pÃ¥ aktuell gren när du inte befinner dig pÃ¥ nÃ¥gon." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Felaktigt namn pÃ¥ gren: \"%s\"" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Misslyckades byta namn pÃ¥ gren" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Misslyckades kopiera gren" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Skapade kopia av felaktigt namngiven gren \"%s\"" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Bytte bort namn pÃ¥ en felaktigt namngiven gren \"%s\"" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Grenen namnbytt till %s, men HEAD har inte uppdaterats!" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "Grenen namnbytt, men misslyckades uppdatera konfigurationsfilen" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "Grenen kopierades, men misslyckades uppdatera konfigurationsfilen" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9460,217 +9656,219 @@ msgstr "" " %s\n" "Rader som inleds med \"%c\" ignoreras.\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Allmänna flaggor" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "visa hash och ärenderad, ange tvÃ¥ gÃ¥nger för uppströmsgren" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "undertryck informationsmeddelanden" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "ställ in spÃ¥rningsläge (se git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "använd ej" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "uppströms" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "ändra uppströmsinformationen" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "Ta bort uppströmsinformationen" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "använd färgad utdata" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "arbeta pÃ¥ fjärrspÃ¥rande grenar" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "visa endast grenar som innehÃ¥ller incheckningen" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "visa endast grenar som inte innehÃ¥ller incheckningen" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Specifika git-branch-Ã¥tgärder:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "visa bÃ¥de fjärrspÃ¥rande och lokala grenar" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "ta bort helt sammanslagen gren" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "ta bort gren (även om inte helt sammanslagen)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "flytta/ta bort en gren och dess reflogg" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "flytta/ta bort en gren, även om mÃ¥let finns" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "kopiera en gren och dess reflogg" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "kopiera en gren, även om mÃ¥let finns" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "lista namn pÃ¥ grenar" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "visa namn pÃ¥ aktuell gren" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "skapa grenens reflogg" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "redigera beskrivning för grenen" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "tvinga skapande, flytt/namnändring, borttagande" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "visa endast sammanslagna grenar" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "visa endast ej sammanslagna grenar" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "visa grenar i spalter" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "objekt" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "visa endast grenar för objektet" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "sortering och filtrering skiljer gemener och VERSALER" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 #: builtin/verify-tag.c:39 msgid "format to use for the output" msgstr "format att använda för utdata" -#: builtin/branch.c:676 builtin/clone.c:751 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD hittades inte under refs/heads!" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column och --verbose är inkompatibla" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "grennamn krävs" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "Kan inte beskriva frÃ¥nkopplad HEAD" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "kan inte redigera beskrivning för mer än en gren" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Inga incheckningar pÃ¥ grenen \"%s\" ännu." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "Ingen gren vid namnet \"%s\"." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "för mÃ¥nga grenar för kopiering" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "för mÃ¥nga flaggor för namnbyte" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "för mÃ¥nga flaggor för att byta uppström" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" "kunde inte sätta uppström för HEAD till %s när det inte pekar mot nÃ¥gon gren." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "okänd gren \"%s\"" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "grenen \"%s\" finns inte" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "för mÃ¥nga flaggor för att ta bort uppström" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "kunde inte ta bort uppström för HEAD när det inte pekar mot nÃ¥gon gren." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Grenen \"%s\" har ingen uppströmsinformation" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"flaggorna -a och -r pÃ¥ \"git branch\" kan inte anges tillsammans med ett " -"grennamn" +"Flaggorna -a och -r pÃ¥ \"git branch\" tar inte ett namn pÃ¥ gren.\n" +"Menade du att använda: -a|-r --list <mönster>?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9691,7 +9889,7 @@ msgstr "Behöver ett arkiv för att skapa ett paket (bundle)." msgid "Need a repository to unbundle." msgstr "Behöver ett arkiv för att packa upp ett paket (bundle)." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9699,7 +9897,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <typ> | --textconv | --filters) [--path=<sökväg>] <objekt>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9707,72 +9905,72 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "endast en buntflagga kan anges" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<typ> kan vara en av: blob, tree, commit, tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "visa objekttyp" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "visa objektstorlek" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "avsluta med noll när det inte uppstÃ¥tt nÃ¥got fel" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "visa objektets innehÃ¥ll snyggt" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "för blob-objekt, kör filter pÃ¥ objektets innehÃ¥ll" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "för blob-objekt, kör filger pÃ¥ objektets innehÃ¥ll" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "använd specifik sökväg för --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "lÃ¥ter -s och -t att fungera med trasiga/sönderskrivna objekt" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "buffra utdata frÃ¥n --batch" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "visa information och innehÃ¥ll för objekt som listas pÃ¥ standard in" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "visa information för objekt som listas pÃ¥ standard in" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "följ symboliska länkar i trädet (använd med --batch eller --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "visa alla objekt med --batch eller --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "ordna inte --batch-all-objects output" @@ -9800,8 +9998,8 @@ msgstr "läs filnamn frÃ¥n standard in" msgid "terminate input and output records by a NUL character" msgstr "avsluta in- och utdataposter med NUL-tecken" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "undertryck förloppsrapportering" @@ -9891,9 +10089,9 @@ msgid "write the content to temporary files" msgstr "skriv innehÃ¥ll till temporära filer" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "sträng" @@ -9905,91 +10103,114 @@ msgstr "när filer skapas, lägg till <sträng> först" msgid "copy out the files from named stage" msgstr "kopiera ut filer frÃ¥n namngiven etapp" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<flaggor>] <gren>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<flaggor>] [<gren>] -- <fil>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<flaggor>] [<gren>]" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<flaggor>] [--source=<gren>] <fil>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "sökvägen \"%s\" har inte vÃ¥r version" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "sökvägen \"%s\" har inte deras version" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "sökvägen \"%s\" innehÃ¥ller inte alla nödvändiga versioner" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "sökvägen \"%s\" innehÃ¥ller inte nödvändiga versioner" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "sökväg \"%s\": kan inte slÃ¥ ihop" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Kunde inte lägga till sammanslagningsresultat för \"%s\"" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "Ã…terskapade %d sammanslagningskonflikt" +msgstr[1] "Ã…terskapade %d sammanslagningskonflikter" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "Uppdaterade %d sökväg frÃ¥n %s" +msgstr[1] "Uppdaterade %d sökvägar frÃ¥n %s" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "Uppdaterade %d sökväg frÃ¥n indexet" +msgstr[1] "Uppdaterade %d sökvägar frÃ¥n indexet" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "\"%s\" kan inte användas vid uppdatering av sökvägar" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "\"%s\" kan inte användas med %s" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "Kan inte uppdatera sökvägar och växla till grenen \"%s\" samtidigt." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "sökvägen \"%s\" har inte slagits ihop" +msgid "neither '%s' or '%s' is specified" +msgstr "varken \"%s\" eller \"%s\" har angivits" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "Ã…terskapade %d sammanslagningskonflikt" -msgstr[1] "Ã…terskapade %d sammanslagningskonflikter" +msgid "'%s' must be used when '%s' is not specified" +msgstr "\"%s\" mÃ¥ste användas när \"%s\" inte anges" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "Uppdaterade %d sökväg frÃ¥n %s" -msgstr[1] "Uppdaterade %d sökvägar frÃ¥n %s" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "\"%s\" eller \"%s\" kan inte användas med %s" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "Uppdaterade %d sökväg frÃ¥n indexet" -msgstr[1] "Uppdaterade %d sökvägar frÃ¥n indexet" +msgid "path '%s' is unmerged" +msgstr "sökvägen \"%s\" har inte slagits ihop" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "du mÃ¥ste lösa ditt befintliga index först" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -9998,55 +10219,55 @@ msgstr "" "kan inte fortsätta med köade ändringar i följande filer:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "köade ändringar i följande filer kan gÃ¥ förlorade: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Kan inte skapa referenslogg för \"%s\": %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD är nu pÃ¥" -#: builtin/checkout.c:894 builtin/clone.c:704 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "kan inte uppdatera HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Ã…terställ gren \"%s\"\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Redan pÃ¥ \"%s\"\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Växlade till och nollställde grenen \"%s\"\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Växlade till en ny gren \"%s\"\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Växlade till grenen \"%s\"\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... och %d till.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10069,7 +10290,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10096,24 +10317,28 @@ msgstr[1] "" " git branch <nytt_grennamn> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "internt fel vid genomgÃ¥ng av revisioner (revision walk)" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "Tidigare position för HEAD var" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Du är pÃ¥ en gren som ännu inte är född" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "endast en referens förväntades" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "endast en referens förväntades, %d gavs." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10122,152 +10347,208 @@ msgstr "" "\"%s\" kan vara bÃ¥de en lokal fil och en spÃ¥rande gren.\n" "Använd -- (och möjligen --no-guess) för att göra otvetydig" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "felaktig referens: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "referensen är inte ett träd: %s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "förväntade gren, fick taggen \"%s\"" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "förväntade gren, fick fjärrgrenen \"%s\"" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "förväntade gren, fick \"%s\"" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "förväntade gren, fick incheckningen \"%s\"" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"kan inte växla gren vid sammanslagning\n" +"Överväg \"git merge --quit\" eller \"git worktree add\"." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"kan inte växla gren mitt i en \"am\"-körning\n" +"Överväg \"git am --quit\" eller \"git worktree add\"." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"kan inte växla gren vid ombasering\n" +"Överväg \"git rebase --quit\" eller \"git worktree add\"." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"kan inte växla gren i en \"cherry-pick\"\n" +"Överväg \"git cherry-pick --quit\" eller \"git worktree add\"." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"kan inte växla gren i en \"revert\"\n" +"Överväg \"git revert --quit\" eller \"git worktree add\"." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "dÃ¥ växlar grenar medan du gör en \"bisect\"" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "sökvägar kan inte användas vid byte av gren" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "\"%s\" kan inte användas vid byte av gren" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "\"%s\" kan inte användas med \"%s\"" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "\"%s\" kan inte ta <startpunkt>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kan inte växla gren till icke-incheckningen \"%s\"" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:121 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "gren" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "saknar gren- eller incheckingsargument" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "skapa och checka ut en ny gren" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "tvinga förloppsrapportering" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "skapa/nollställ och checka ut en gren" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "utför en 3-vägssammanslagning för den nya grenen" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "skapa reflogg för ny gren" +#: builtin/checkout.c:1439 builtin/log.c:1634 parse-options.h:318 +msgid "style" +msgstr "stil" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "konfliktstil (merge eller diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "koppla frÃ¥n HEAD vid namngiven incheckning" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "sätt uppströmsinformation för ny gren" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "tvinga utcheckning (kasta bort lokala ändringar)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "ny-gren" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "ny gren utan förälder" -#: builtin/checkout.c:1366 -msgid "checkout our version for unmerged files" -msgstr "checka ut vÃ¥r version för ej sammanslagna filer" - -#: builtin/checkout.c:1369 -msgid "checkout their version for unmerged files" -msgstr "checka ut deras version för ej sammanslagna filer" - -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "tvinga utcheckning (kasta bort lokala ändringar)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "utför en 3-vägssammanslagning för den nya grenen" - -#: builtin/checkout.c:1375 builtin/merge.c:284 +#: builtin/checkout.c:1459 builtin/merge.c:288 msgid "update ignored files (default)" msgstr "uppdatera ignorerade filer (standard)" -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:309 -msgid "style" -msgstr "stil" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "konfliktstil (merge eller diff3)" - -#: builtin/checkout.c:1381 -msgid "do not limit pathspecs to sparse entries only" -msgstr "begränsa inte sökvägar till endast glesa poster" - -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "försök inte vara förutspÃ¥ \"git checkout <gren-saknas>\"" - -#: builtin/checkout.c:1385 +#: builtin/checkout.c:1462 msgid "do not check if another worktree is holding the given ref" msgstr "" "kontrollera inte om en annan arbetskatalog hÃ¥ller den angivna referensen" -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "tvinga förloppsrapportering" +#: builtin/checkout.c:1475 +msgid "checkout our version for unmerged files" +msgstr "checka ut vÃ¥r version för ej sammanslagna filer" -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "använd överläggsläge (standard)" +#: builtin/checkout.c:1478 +msgid "checkout their version for unmerged files" +msgstr "checka ut deras version för ej sammanslagna filer" + +#: builtin/checkout.c:1482 +msgid "do not limit pathspecs to sparse entries only" +msgstr "begränsa inte sökvägar till endast glesa poster" -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B och --orphan är ömsesidigt uteslutande" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p och --overlay är ömsesidigt uteslutande" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track behöver ett namn pÃ¥ en gren" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "grennamn saknas; försök med -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "kunde inte upplösa %s" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "du mÃ¥ste ange katalog(er) att Ã¥terställa" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "felaktig sökvägsangivelse" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" -msgstr "â€%s†är inte en incheckning och grenen â€%s†kan inte skapas frÃ¥n den" +msgstr "\"%s\" är inte en incheckning och grenen \"%s\" kan inte skapas frÃ¥n den" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach tar inte en sökväg som argument \"%s\"" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10275,7 +10556,7 @@ msgstr "" "git checkout: --ours/--theirs, --force och --merge är inkompatibla när\n" "du checkar ut frÃ¥n indexet." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10304,6 +10585,68 @@ msgstr "" "föredra en fjärr, t.ex fjärren \"origin\" kan du ställa in\n" "checkout.defaultRemote=origin i din konfiguration." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "gren" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "skapa och checka ut en ny gren" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "skapa/nollställ och checka ut en gren" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "skapa reflogg för ny gren" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "förutspÃ¥ \"git checkout <gren-saknas>\" (förval)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "använd överläggsläge (standard)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "skapa och växla till en ny gren" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "skapa/nollställ och växla till en gren" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "förutspÃ¥ \"git checkout <gren-saknas>\"" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "kasta bort lokala ändringar" + +#: builtin/checkout.c:1772 +msgid "where the checkout from" +msgstr "källa till utcheckning" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "Ã¥terställ indexet" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "Ã¥terställ arbetskatalogen (förval)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "ignorera ej sammanslagna poster" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "använd överläggsläge" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10336,7 +10679,12 @@ msgstr "Skulle hoppa över arkivet %s\n" msgid "failed to remove %s" msgstr "misslyckades ta bort %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "kunde inte ta status (\"lstat\") pÃ¥ %s\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10349,7 +10697,7 @@ msgstr "" "foo - markera post baserad pÃ¥ unikt prefix\n" " - (tomt) markera ingenting\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10370,38 +10718,38 @@ msgstr "" "* - välj alla poster\n" " - (tomt) avsluta markering\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "VadÃ¥ (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Ange ignoreringsmönster>>" -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "VARNING: Hittar inte poster som motsvarar: %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Välj poster att ta bort" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Ta bort %s [Y=ja / N=nej]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Hej dÃ¥.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10419,64 +10767,64 @@ msgstr "" "help - denna skärm\n" "? - hjälp för kommandoval" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Kommandon ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Vad nu" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Skulle ta bort följande post:" msgstr[1] "Skulle ta bort följande poster:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Inga fler filer att städa, avslutar." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "skriv inte ut namn pÃ¥ borttagna filer" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "tvinga" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "städa interaktivt" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "ta bort hela kataloger" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 -#: builtin/show-ref.c:178 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:186 builtin/log.c:188 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 +#: builtin/show-ref.c:179 msgid "pattern" msgstr "mönster" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "lägg till <mönster> till ignoreringsregler" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "ta även bort ignorerade filer" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "ta endast bort ignorerade filer" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x och -X kan inte användas samtidigt" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10484,7 +10832,7 @@ msgstr "" "clean.requireForce satt till true, men varken -i, -n eller -f angavs; vägrar " "städa" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10492,39 +10840,39 @@ msgstr "" "clean.requireForce har standardvärdet true och varken -i, -n eller -f " "angavs; vägrar städa" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<flaggor>] [--] <arkiv> [<kat>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "skapa inte nÃ¥gon utcheckning" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "skapa ett naket (\"bare\") arkiv" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "skapa ett spegelarkiv (implicerar \"bare\")" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "för att klona frÃ¥n ett lokalt arkiv" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "skapa inte lokala hÃ¥rda länkar, kopiera alltid" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "skapa som ett delat arkiv" -#: builtin/clone.c:103 builtin/clone.c:107 +#: builtin/clone.c:107 msgid "pathspec" msgstr "sökvägsangivelse" -#: builtin/clone.c:103 builtin/clone.c:107 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "initiera undermoduler i klonen" @@ -10540,18 +10888,18 @@ msgstr "mallkatalog" msgid "directory from which templates will be used" msgstr "katalog att använda mallar frÃ¥n" -#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "referensarkiv" -#: builtin/clone.c:118 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "använd --reference endast under kloningen" #: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/pack-objects.c:3308 builtin/repack.c:330 msgid "name" msgstr "namn" @@ -10567,8 +10915,8 @@ msgstr "checka ut <gren> istället för fjärrens HEAD" msgid "path to git-upload-pack on the remote" msgstr "sökväg till git-upload-pack pÃ¥ fjärren" -#: builtin/clone.c:125 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "djup" @@ -10576,7 +10924,7 @@ msgstr "djup" msgid "create a shallow clone of that depth" msgstr "skapa en grund klon pÃ¥ detta djup" -#: builtin/clone.c:127 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3297 msgid "time" msgstr "tid" @@ -10584,12 +10932,12 @@ msgstr "tid" msgid "create a shallow clone since a specific time" msgstr "skapa en grund klon frÃ¥n en angiven tidpunkt" -#: builtin/clone.c:129 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "revision" -#: builtin/clone.c:130 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "fördjupa historik för grund klon, exkludera revisionen" @@ -10621,29 +10969,33 @@ msgstr "nyckel=värde" msgid "set config inside the new repository" msgstr "ställ in konfiguration i det nya arkivet" -#: builtin/clone.c:142 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "serverspecifik" -#: builtin/clone.c:142 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "" "inget att checka in\n" "flagga att sända" -#: builtin/clone.c:143 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "använd endast IPv4-adresser" -#: builtin/clone.c:145 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "använd endast IPv6-adresser" -#: builtin/clone.c:283 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "klonade undermoduler kommer använda sin fjärrspÃ¥rningsgren" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10651,183 +11003,183 @@ msgstr "" "Kunde inte gissa katalognamn.\n" "Ange en katalog pÃ¥ kommandoraden" -#: builtin/clone.c:336 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: Kan inte skapa alternativ för \"%s\": %s\n" -#: builtin/clone.c:408 -#, c-format -msgid "failed to open '%s'" -msgstr "misslyckades öppna \"%s\"" - -#: builtin/clone.c:416 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s finns och är ingen katalog" -#: builtin/clone.c:430 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "misslyckades ta status pÃ¥ %s\n" +msgid "failed to start iterator over '%s'" +msgstr "misslyckades starta iterator över \"%s\"" -#: builtin/clone.c:447 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "misslyckades ta bort länken \"%s\"" -#: builtin/clone.c:452 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "misslyckades skapa länken \"%s\"" -#: builtin/clone.c:456 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "misslyckades kopiera filen till \"%s\"" -#: builtin/clone.c:482 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "misslyckades iterera över \"%s\"" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "klart.\n" -#: builtin/clone.c:496 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Klonen lyckades, men utcheckningen misslyckades.\n" "Du kan inspektera det som checkades ut med \"git status\"\n" -"och försöka checka ut igen med \"git checkout -f HEAD\"\n" +"och försöka med \"git restore -source=HEAD :/\"\n" -#: builtin/clone.c:573 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Kunde inte hitta fjärrgrenen %s för att klona." -#: builtin/clone.c:692 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "kan inte uppdatera %s" -#: builtin/clone.c:742 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "HEAD hos fjärren pekar pÃ¥ en obefintlig referens, kan inte checka ut.\n" -#: builtin/clone.c:773 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "kunde inte checka ut arbetskatalogen" -#: builtin/clone.c:818 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "kunde inte skriva parametrar till konfigurationsfilen" -#: builtin/clone.c:881 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "kan inte packa om för att städa upp" -#: builtin/clone.c:883 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "kunde inte ta bort temporär \"alternates\"-fil" -#: builtin/clone.c:923 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "För mÃ¥nga argument." -#: builtin/clone.c:927 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Du mÃ¥ste ange ett arkiv att klona." -#: builtin/clone.c:940 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "flaggorna --bare och --origin %s är inkompatibla." -#: builtin/clone.c:943 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "flaggorna --bare och --separate-git-dir är inkompatibla." -#: builtin/clone.c:956 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "arkivet \"%s\" finns inte" -#: builtin/clone.c:962 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1653 #, c-format msgid "depth %s is not a positive number" msgstr "djupet %s är inte ett positivt tal" -#: builtin/clone.c:972 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "destinationssökvägen \"%s\" finns redan och är inte en tom katalog." -#: builtin/clone.c:982 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "arbetsträdet \"%s\" finns redan." -#: builtin/clone.c:997 builtin/clone.c:1018 builtin/difftool.c:270 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "kunde inte skapa inledande kataloger för \"%s\"" -#: builtin/clone.c:1002 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "kunde inte skapa arbetskatalogen \"%s\"" -#: builtin/clone.c:1022 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klonar till ett naket arkiv \"%s\"...\n" -#: builtin/clone.c:1024 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klonar till \"%s\"...\n" -#: builtin/clone.c:1048 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" msgstr "" "clone --recursive är inte kompatibel med --reference och --reference-if-able" -#: builtin/clone.c:1109 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth ignoreras i lokala kloningar; använd file:// istället." -#: builtin/clone.c:1111 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "--shallow-since ignoreras i lokala kloningar; använd file:// istället." -#: builtin/clone.c:1113 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" "--shallow-exclude ignoreras i lokala kloningar; använd file:// istället." -#: builtin/clone.c:1115 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter ignoreras i lokala kloningar; använd file:// istället." -#: builtin/clone.c:1118 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "källarkivet är grunt, ignorerar --local" -#: builtin/clone.c:1123 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local ignoreras" -#: builtin/clone.c:1200 builtin/clone.c:1208 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Fjärrgrenen %s hittades inte i uppströmsarkivet %s" -#: builtin/clone.c:1211 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Du verkar ha klonat ett tomt arkiv." @@ -10876,7 +11228,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "duplicerad förälder %s ignorerades" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:542 #, c-format msgid "not a valid object name %s" msgstr "objektnamnet är inte giltigt: %s" @@ -10904,13 +11256,13 @@ msgstr "förälder" msgid "id of a parent commit object" msgstr "id pÃ¥ ett förälderincheckningsobjekt" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "meddelande" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "incheckningsmeddelande" @@ -10918,8 +11270,8 @@ msgstr "incheckningsmeddelande" msgid "read commit log message from file" msgstr "läs incheckningsloggmeddelande frÃ¥n fil" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "GPG-signera incheckning" @@ -10964,80 +11316,86 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Använd annars \"git reset\"\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Använd annars \"git cherry-pick --skip\"\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"Om du vill hoppa över incheckningen, använd:\n" +"och sedan:\n" +"\n" +" git cherry-pick --continue\n" "\n" -" git reset\n" +"för att fortsätta \"cherry-pick\" med resterande incheckningar.\n" +"Om du vill hoppa över den här incheckningen, använd:\n" +"\n" +" git cherry-pick --skip\n" "\n" -"\"git cherry-pick --continue\" kommer därefter att Ã¥teruppta\n" -"cherry-pick för Ã¥terstÃ¥ende incheckningar.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "misslyckades packa upp HEAD:s trädobjekt" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "kunde inte skapa temporär indexfil" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "interaktiv tilläggning misslyckades" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "kan inte uppdatera temporärt index" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Misslyckades uppdatera huvud-cacheträdet" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "kunde inte skriva filen new_index" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "kan inte utföra en delvis incheckning under en sammanslagning." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "kan inte utföra en delvis incheckning under en cherry-pick." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "kan inte läsa indexet" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "kunde inte skriva temporär indexfil" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "incheckningen \"%s\" saknar författarhuvud" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "incheckningen \"%s\" har felformaterat författarhuvud" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "felformad \"--author\"-flagga" -#: 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" @@ -11045,38 +11403,38 @@ msgstr "" "kunde inte välja ett kommentarstecken som inte använts\n" "i det befintliga incheckningsmeddelandet" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "kunde inte slÃ¥ upp incheckningen %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(läser loggmeddelande frÃ¥n standard in)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "kunde inte läsa logg frÃ¥n standard in" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "kunde inte läsa loggfilen \"%s\"" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "kunde inte läsa SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "kunde inte läsa MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "kunde inte skriva incheckningsmall" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11091,7 +11449,7 @@ msgstr "" "\t%s\n" "och försöker igen.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11106,7 +11464,7 @@ msgstr "" "\t%s\n" "och försöker igen.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11116,7 +11474,7 @@ msgstr "" "med \"%c\" kommer ignoreras, och ett tomt meddelande avbryter " "incheckningen.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11127,144 +11485,144 @@ msgstr "" "med \"%c\" kommer behÃ¥llas; du kan själv ta bort dem om du vill.\n" "Ett tomt meddelande avbryter incheckningen.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sFörfattare: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sDatum: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sIncheckare: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "Kan inte läsa indexet" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Fel vid byggande av träd" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Ange meddelandet en av flaggorna -m eller -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author '%s' är inte 'Namn <epost>' och matchar ingen befintlig författare" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Ogiltigt ignorerat läge \"%s\"" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ogiltigt läge för ospÃ¥rade filer: \"%s\"" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long och -z är inkompatibla" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "Kan inte använda bÃ¥de --reset-author och --author" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "Du har inget att utöka." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "Du är i mitten av en sammanslagning -- kan inte utöka." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Du är i mitten av en cherry-pick -- kan inte utöka." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Flaggorna --squash och --fixup kan inte användas samtidigt" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Endast en av -c/-C/-F/--fixup kan användas." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "Flaggan -m kan inte kombineras med -c/-C/-F." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author kan endast användas med -C, -c eller --amend." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Endast en av --include/--only/--all/--interactive/--patch kan användas." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "Du mÃ¥ste ange sökvägar tillsammans med --include/--only." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "sökvägarna \"%s ...\" med -a ger ingen mening" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "visa koncis status" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "visa information om gren" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "visa information om stash" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "beräkna fullständiga före-/efter-värden" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "version" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "maskinläsbar utdata" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "visa status i lÃ¥ngt format (standard)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "terminera poster med NUL" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:323 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "läge" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "visa ospÃ¥rade filer, valfria lägen: all, normal, no. (Standard: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11272,11 +11630,11 @@ msgstr "" "visa ignorerade filer, valfria lägen: traditional, matching, no (Standard: " "traditional)" -#: builtin/commit.c:1342 parse-options.h:178 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "när" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11284,235 +11642,252 @@ msgstr "" "ignorera ändringar i undermoduler, valfritt när: all, dirty, untracked. " "(Default: all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "visa ospÃ¥rade filer i spalter" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "detektera inte namnändringar" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "detektera namnändringar, möjligen sätt likhetsindex" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "Kombinationen av argument för ignorerade och ospÃ¥rade filer stöds ej" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "undertryck sammanfattning efter framgÃ¥ngsrik incheckning" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "visa diff i mallen för incheckningsmeddelandet" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Alternativ för incheckningsmeddelande" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "läs meddelande frÃ¥n fil" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "författare" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "överstyr författare för incheckningen" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "datum" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "överstyr datum för incheckningen" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:315 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "incheckning" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "Ã¥teranvänd och redigera meddelande frÃ¥n angiven incheckning" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "Ã¥teranvänd meddelande frÃ¥n angiven incheckning" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "använd autosquash-formaterat meddelande för att fixa angiven incheckning" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "använd autosquash-formaterat meddelande för att slÃ¥ ihop med angiven " "incheckning" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "jag är nu författare av incheckningen (används med -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1581 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "lägg till Signed-off-by:" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "använd angiven mallfil" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "tvinga redigering av incheckning" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "inkludera status i mallen för incheckningsmeddelandet" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Alternativ för incheckningens innehÃ¥ll" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "checka in alla ändrade filer" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "lägg till angivna filer till indexet för incheckning" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "lägg till filer interaktivt" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "lägg till ändringar interaktivt" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "checka endast in angivna filer" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "förbigÃ¥ pre-commit- och commit-msg-krokar" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "visa vad som skulle checkas in" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "lägg till föregÃ¥ende incheckning" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "förbigÃ¥ post-rewrite-krok" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "ok att registrera en tom ändring" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "ok att registrera en ändring med tomt meddelande" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Trasig MERGE_HEAD-fil (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "kunde inte läsa MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "kunde inte läsa incheckningsmeddelande: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Avbryter pÃ¥ grund av tomt incheckningsmeddelande.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Avbryter incheckning; meddelandet inte redigerat.\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "arkivet har uppdaterats, men kunde inte skriva filen\n" "new_index. Kontrollera att disken inte är full och\n" "att kvoten inte har överskridits, och kör sedan\n" -"\"git reset HEAD\" för att Ã¥terställa." +"\"git restore --staged :/\" för att Ã¥terställa." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <objkat>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <objkat>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <objkat>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <objkat>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <objkat>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objkat>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <delnings-flaggor>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1601 msgid "dir" msgstr "kat" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "Objektkatalogen där grafen skall lagras" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "om inchecknignsgrafen är delad, kontrollera bara spetsfilen" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "Kunde inte öppna incheckningsgrafen \"%s\"" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "starta traversering vid alla referenser" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "sök paketindex listade pÃ¥ standard in efter incheckningar" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "börja gÃ¥ genom incheckningar listade pÃ¥ standard in" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "ta med alla incheckningar redan i filen commit-graph" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "tillÃ¥t skriva en inkrementell incheckningsgraffil" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" +"maximalt antal incheckningar i en delad incheckingsgraf som inte är bad" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "maximalt förhÃ¥llande mellan tvÃ¥ nivÃ¥er av en delad incheckningsgraf" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "använd som mest en av --reachable, --stdin-commit och --stdin-packs" @@ -11520,7 +11895,7 @@ msgstr "använd som mest en av --reachable, --stdin-commit och --stdin-packs" msgid "git config [<options>]" msgstr "git config [<flaggor>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "okänt argument för --type, %s" @@ -11625,7 +12000,7 @@ msgstr "hitta färginställningen: slot [stdout-is-tty]" msgid "Type" msgstr "Typ" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "värdet har givits denna typ" @@ -11669,7 +12044,7 @@ msgstr "respektera inkluderingsdirektiv vid uppslag" msgid "show origin of config (file, standard input, blob, command line)" msgstr "visa konfigurationskälla (fil, standard in, blob, kommandorad)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "värde" @@ -11964,7 +12339,7 @@ msgstr "överväg endast taggar som motsvarar <mönster>" msgid "do not consider tags matching <pattern>" msgstr "överväg inte taggar som motsvarar <mönster>" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "visa förkortade incheckningsobjekt som standard" @@ -12025,32 +12400,32 @@ msgstr "mer än tvÃ¥ blobbar angavs: \"%s\"" msgid "unhandled object '%s' given." msgstr "ej hanterat objekt \"%s\" angavs." -#: builtin/difftool.c:31 +#: builtin/difftool.c:30 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]" msgstr "" "git difftool [<flaggor>] [<incheckning> [<incheckning>]] [--] [<sökväg>...]" -#: builtin/difftool.c:259 +#: builtin/difftool.c:253 #, c-format msgid "failed: %d" msgstr "misslyckades: %d" -#: builtin/difftool.c:301 +#: builtin/difftool.c:295 #, c-format msgid "could not read symlink %s" msgstr "kunde inte läsa symboliska länken %s" -#: builtin/difftool.c:303 +#: builtin/difftool.c:297 #, c-format msgid "could not read symlink file %s" msgstr "kunde inte läsa symbolisk länk-fil %s" -#: builtin/difftool.c:311 +#: builtin/difftool.c:305 #, c-format msgid "could not read object %s for symlink %s" msgstr "kunde inte läsa objektet %s för symboliska länken %s" -#: builtin/difftool.c:412 +#: builtin/difftool.c:406 msgid "" "combined diff formats('-c' and '--cc') are not supported in\n" "directory diff mode('-d' and '--dir-diff')." @@ -12058,53 +12433,53 @@ msgstr "" "kombinerade diff-format (\"-c\" och \"--cc\") stöds inte i\n" "katalogdiffläge (\"-d\" och \"--dir-diff\")." -#: builtin/difftool.c:632 +#: builtin/difftool.c:626 #, c-format msgid "both files modified: '%s' and '%s'." msgstr "bägge filerna ändrade: \"%s\" och \"%s\"." -#: builtin/difftool.c:634 +#: builtin/difftool.c:628 msgid "working tree file has been left." msgstr "filen i arbetskatalogen lämnades kvar." -#: builtin/difftool.c:645 +#: builtin/difftool.c:639 #, c-format msgid "temporary files exist in '%s'." msgstr "temporära filer finns i \"%s\"." -#: builtin/difftool.c:646 +#: builtin/difftool.c:640 msgid "you may want to cleanup or recover these." msgstr "du kanske vill städa eller rädda dem." -#: builtin/difftool.c:695 +#: builtin/difftool.c:689 msgid "use `diff.guitool` instead of `diff.tool`" msgstr "använd \"diff.guitool\" istället för \"diff.tool\"" -#: builtin/difftool.c:697 +#: builtin/difftool.c:691 msgid "perform a full-directory diff" msgstr "utför diff för hela katalogen" -#: builtin/difftool.c:699 +#: builtin/difftool.c:693 msgid "do not prompt before launching a diff tool" msgstr "frÃ¥ga inte vid start av diff-verktyg" -#: builtin/difftool.c:704 +#: builtin/difftool.c:698 msgid "use symlinks in dir-diff mode" msgstr "använd symboliska länkar i katalogdiffläge" -#: builtin/difftool.c:705 +#: builtin/difftool.c:699 msgid "tool" msgstr "verktyg" -#: builtin/difftool.c:706 +#: builtin/difftool.c:700 msgid "use the specified diff tool" msgstr "använd angivet diff-verktyg" -#: builtin/difftool.c:708 +#: builtin/difftool.c:702 msgid "print a list of diff tools that may be used with `--tool`" -msgstr "visa en lista över diff-verktyg som kan användas med â€--toolâ€" +msgstr "visa en lista över diff-verktyg som kan användas med \"--tool\"" -#: builtin/difftool.c:711 +#: builtin/difftool.c:705 msgid "" "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit " "code" @@ -12112,176 +12487,220 @@ msgstr "" "lÃ¥t \"git-difftool\" avbryta när ett anropat diff-verktyg ger returvärde " "skilt frÃ¥n noll" -#: builtin/difftool.c:714 +#: builtin/difftool.c:708 msgid "specify a custom command for viewing diffs" msgstr "ange eget kommando för att visa diffar" -#: builtin/difftool.c:715 +#: builtin/difftool.c:709 msgid "passed to `diff`" msgstr "sändes till \"diff\"" -#: builtin/difftool.c:730 +#: builtin/difftool.c:724 msgid "difftool requires worktree or --no-index" msgstr "difftool kräver en arbetskatalog eller --no-index" -#: builtin/difftool.c:744 +#: builtin/difftool.c:731 +msgid "--dir-diff is incompatible with --no-index" +msgstr "--dir-diff är inkompatibelt med --no-index" + +#: builtin/difftool.c:734 +msgid "--gui, --tool and --extcmd are mutually exclusive" +msgstr "--gui, --tool och --extcmd är ömsesidigt uteslutande" + +#: builtin/difftool.c:742 msgid "no <tool> given for --tool=<tool>" msgstr "inget <verktyg> angavs för --tool=<verktyg>" -#: builtin/difftool.c:751 +#: builtin/difftool.c:749 msgid "no <cmd> given for --extcmd=<cmd>" msgstr "inget <kommando> angavs för --extcmd=<kommando>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <flaggor> <miljövariabel>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "typ" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "standard för git_env_*(...) att falla tillbaka pÃ¥" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "var tyst, använd bara git_env_*() som resultatvärde" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"flaggan \"--default\" förväntar ett sanningsvärde med \"--type=bool\", inte " +"\"%s\"" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"flaggan \"--default\" förväntar ett teckenlöst lÃ¥ngt värde med \"--type=ulong" +"\", inte \"%s\"" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-flaggor]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "visa förlopp efter <n> objekt" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "välj hantering av signerade taggar" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "välj hantering av taggar som har taggfiltrerade objekt" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "välj hantering av incheckningsmeddelanden i alternativ teckenkodning" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" -msgstr "Dump märken till filen" +msgstr "Dumpa märken till filen" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Importera märken frÃ¥n filen" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Fejka taggare när taggen saknar en" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Skriv ut hela trädet för varje incheckning" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Använd done-funktionen för att avsluta strömmen" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Hoppa över skrivning av blob-data" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1649 msgid "refspec" msgstr "referensspecifikation" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Applicera referensspecifikation pÃ¥ exporterade referenser" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "anonymisera utdata" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "Referera föräldrar som inte finns i fast-export-ström med objekt-id" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Visa ursprungliga objekt-ID för blobbar/incheckningar" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<flaggor>] [<arkiv> [<refspec>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<flaggor>] <grupp>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<flaggor>] [(<arkiv> | <grupp>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<flaggor>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "hämta frÃ¥n alla fjärrar" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "lägg till i .git/FETCH_HEAD istället för att skriva över" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "sökväg till upload pack pÃ¥ fjärren" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "tvinga överskrivning av lokal referens" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "hämta frÃ¥n flera fjärrar" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "hämta alla taggar och associerade objekt" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "hämta inte alla taggar (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "antal undermoduler som hämtas parallellt" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "rensa fjärrspÃ¥rande grenar ej längre pÃ¥ fjärren" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "" "rensa lokala taggar inte längre pÃ¥ fjärren och skriv över ändrade taggar" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "styr rekursiv hämtning av undermoduler" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "behÃ¥ll hämtade paket" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "tillÃ¥t uppdatering av HEAD-referens" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "fördjupa historik för grund klon" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "fördjupa historik för grund klon baserad pÃ¥ tid" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "konvertera till komplett arkiv" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "lägg till i början av undermodulens sökvägsutdata" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12289,97 +12708,105 @@ msgstr "" "standard för rekursiv hämtning av undermoduler (lägre prioritet än " "konfigurationsfiler)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "tar emot referenser som uppdaterar .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "referenskarta" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "ange referenskarta för \"fetch\"" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "rapportera att vi bara har objekt nÃ¥bara frÃ¥n detta objektet" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "kör \"gc --auto\" efter hämtning" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "se efter tvingade uppdateringar i alla uppdaterade grenar" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "Kunde inte hitta fjärr-referensen HEAD" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "konfigurationen för fetch.output innehÃ¥ller ogiltigt värde %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "objektet %s hittades inte" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[à jour]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[refuserad]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "kan inte hämta i aktuell gren" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[uppdaterad tagg]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "kunde inte uppdatera lokal ref" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "skulle skriva över befintlig tagg" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[ny tagg]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[ny gren]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[ny ref]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "tvingad uppdatering" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "ej snabbspolad" -#: builtin/fetch.c:847 +#: builtin/fetch.c:879 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s sände inte alla nödvändiga objekt\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:900 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "avvisa %s dÃ¥ grunda rötter inte kan uppdateras" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:991 builtin/fetch.c:1124 #, c-format msgid "From %.*s\n" msgstr "FrÃ¥n %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1002 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12388,50 +12815,81 @@ msgstr "" "vissa lokala referenser kunde inte uppdateras; testa att köra\n" " \"git remote prune %s\" för att ta bort gamla grenar som stÃ¥r i konflikt" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1008 +msgid "" +"Fetch normally indicates which branches had a forced update, but that check " +"has been disabled." +msgstr "" +"Hämtning visar vanligtvis vilka grenar som har en tvingad uppdatering, men " +"det testet har slagits av." + +#: builtin/fetch.c:1009 +msgid "" +"To re-enable, use '--show-forced-updates' flag or run 'git config fetch." +"showForcedUpdates true'." +msgstr "" +"För att slÃ¥ pÃ¥ igen, använd flaggan \"--show-forced-updates\" eller kör " +"\"git config fetch.showForcedUpdates true\"." + +#: builtin/fetch.c:1011 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use '--no-show-forced-" +"updates'\n" +msgstr "" +"Det tog %.2f sekunder att se efter tvingade uppdateringar. Du kan använda " +"\"--no-show-forced-updates\"\n" + +#: builtin/fetch.c:1013 +msgid "" +"or run 'git config fetch.showForcedUpdates false' to avoid this check.\n" +msgstr "" +"eller kör \"git config fetch.showForcedUpdates false\" för undvika testet.\n" + +#: builtin/fetch.c:1094 #, c-format msgid " (%s will become dangling)" msgstr " (%s kommer bli dinglande)" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1095 #, c-format msgid " (%s has become dangling)" msgstr " (%s har blivit dinglande)" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1127 msgid "[deleted]" msgstr "[borttagen]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1128 builtin/remote.c:1036 msgid "(none)" msgstr "(ingen)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1151 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Vägrar hämta till aktuell gren %s i ett icke-naket arkiv" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1170 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Flaggan \"%s\" och värdet \"%s\" är inte giltigt för %s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1173 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Flaggan \"%s\" ignoreras för %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1477 #, c-format msgid "Fetching %s\n" msgstr "Hämtar %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1479 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Kunde inte hämta %s" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1525 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12439,7 +12897,7 @@ msgstr "" "--filter kan endast användas med fjärren konfigurerad i extensions." "partialClone" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1549 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12447,44 +12905,44 @@ msgstr "" "Inget fjärrarkiv angavs. Ange antingen en URL eller namnet pÃ¥ ett\n" "fjärrarkiv som nya incheckningar skall hämtas frÃ¥n." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1586 msgid "You need to specify a tag name." msgstr "Du mÃ¥ste ange namnet pÃ¥ en tagg." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1637 msgid "Negative depth in --deepen is not supported" msgstr "Negativa djup stöds inte i --deepen" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1639 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen och --depth är ömsesidigt uteslutande" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1644 msgid "--depth and --unshallow cannot be used together" msgstr "--depth och --unshallow kan inte användas samtidigt" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1646 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow kan inte användas pÃ¥ ett komplett arkiv" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1662 msgid "fetch --all does not take a repository argument" msgstr "fetch --all tar inte namnet pÃ¥ ett arkiv som argument" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1664 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kan inte anges med referensspecifikationer" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1673 #, c-format msgid "No such remote or remote group: %s" msgstr "Fjärren eller fjärrgruppen finns inte: %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1680 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Kan inte hämta frÃ¥n grupp och ange referensspecifikationer" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1696 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12555,7 +13013,7 @@ msgstr "citera platshÃ¥llare passande för Tcl" msgid "show only <n> matched refs" msgstr "visa endast <n> träffade refs" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "använd formatfärger" @@ -12725,7 +13183,7 @@ msgstr "Kontrollerar objektkataloger" msgid "Checking %s link" msgstr "Kontrollerar %s-länk" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "ogiltigt %s" @@ -12812,7 +13270,7 @@ msgstr "visa förlopp" msgid "show verbose names for reachable objects" msgstr "visa ordrika namn för nÃ¥bara objekt" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Kontrollerar objekt" @@ -12845,7 +13303,7 @@ msgstr "misslyckades tolka \"%s\" värde \"%s\"" msgid "cannot stat '%s'" msgstr "kan inte ta status pÃ¥ \"%s\"" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "kunde inte läsa \"%s\"" @@ -12918,7 +13376,7 @@ msgstr "" "gc körs redan pÃ¥ maskinen \"%s\" pid %<PRIuMAX> (använd --force om sÃ¥ inte " "är fallet)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -12943,258 +13401,258 @@ msgstr "felaktigt antal trÃ¥dar angivet (%d) för %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2722 #, c-format msgid "no threads support, ignoring %s" msgstr "trÃ¥dstöd saknas, ignorerar %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "kunde inte läsa träd (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "kunde inte \"grep\" frÃ¥n objekt av typen %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "flaggan \"%c\" antar ett numeriskt värde" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "sök i indexet istället för i arbetskatalogen" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "sök i innehÃ¥ll som inte hanteras av git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "sök i bÃ¥de spÃ¥rade och ospÃ¥rade filer" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "ignorera filer angivna i \".gitignore\"" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "sök varje undermodul rekursivt" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "visa rader som inte träffas" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "skiftlägesokänslig sökning" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "matcha endast mönster vid ordgränser" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "hantera binärfiler som text" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "träffa inte mönster i binärfiler" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "hantera binärfiler med textconv-filter" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "sök i underkataloger (standard)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "gÃ¥ som mest ned <djup> nivÃ¥er" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "använd utökade POSIX-reguljära uttryck" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "använd grundläggande POSIX-reguljära uttryck (standard)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "tolka mönster som fixerade strängar" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "använd Perlkompatibla reguljära uttryck" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "visa radnummer" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "visa kolumnnummer för första träff" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "visa inte filnamn" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "visa filnamn" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "visa filnamn relativa till toppkatalogen" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "visa endast filnamn istället för träffade rader" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "synonym för --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "visa endast namn pÃ¥ filer utan träffar" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "skriv NUL efter filnamn" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "visa endast träffade delar av rader" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "visa antal träffar istället för träffade rader" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "ljusmarkera träffar" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "skriv tomma rader mellan träffar frÃ¥n olika filer" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "visa filnamn endast en gÃ¥ng ovanför träffar frÃ¥n samma fil" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "visa <n> rader sammanhang före och efter träffar" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "visa <n> rader sammanhang före träffar" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "visa <n> rader sammanhang efter träffar" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "använd <n> jobbtrÃ¥dar" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "genväg för -C NUM" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "visa en rad med funktionsnamnet före träffen" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "visa den omkringliggande funktionen" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "läs mönster frÃ¥n fil" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "träffa <mönster>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "kombinera mönster som anges med -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "ange träff med slutstatuskod utan utdata" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "visa endast träffar frÃ¥n filer som träffar alla mönster" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "visa analysträd för grep-uttryck" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "bläddrare" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "visa träffade filer i filbläddraren" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "tillÃ¥t anropa grep(1) (ignoreras av detta bygge)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "inget mönster angavs" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index och --untracked kan inte användas med revisioner" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "kan inte slÃ¥ upp revision: %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "ogiltig kombination av flaggor, ignorerar --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3405 msgid "no threads support, ignoring --threads" msgstr "trÃ¥dstöd saknas, ignorerar --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2719 #, c-format msgid "invalid number of threads specified (%d)" msgstr "felaktigt antal trÃ¥dar angivet (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager fungerar endast i arbetskatalogen" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "flaggan stöds inte med --recurse-submodules" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached och --untracked kan inte användas med --no-index" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard kan inte användas för spÃ¥rat innehÃ¥ll" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "bÃ¥de --cached och träd angavs" @@ -13211,10 +13669,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "typ" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "objekttyp" @@ -13279,7 +13733,7 @@ msgstr "git help [--all] [--guides] [--man | --web | --info] [<kommando>]" #: builtin/help.c:77 #, c-format msgid "unrecognized help format '%s'" -msgstr "okänt hjälpformat: â€%sâ€" +msgstr "okänt hjälpformat: \"%s\"" #: builtin/help.c:104 msgid "Failed to start emacsclient." @@ -13330,12 +13784,12 @@ msgstr "ingen man-visare hanterade förfrÃ¥gan" msgid "no info viewer handled the request" msgstr "ingen info-visare hanterade förfrÃ¥gan" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "\"%s\" är ett alias för \"%s\"" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "felaktig alias.%s-sträng: %s" @@ -13349,290 +13803,285 @@ msgstr "användning: %s%s" msgid "'git help config' for more information" msgstr "\"git help config\" för mer information" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "objekttyp stämmer inte överens vid %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "emottog inte det förväntade objektet %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "objektet %s: förväntad typ %s, sÃ¥g %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "kan inte fylla %d byte" msgstr[1] "kan inte fylla %d byte" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "tidigt filslut" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "indataläsfel" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "använde fler byte än tillgängligt" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:600 msgid "pack too large for current definition of off_t" msgstr "paket för stort för nuvarande definition av off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "paket är större än tillÃ¥ten maximal storlek" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "kunde inte skapa \"%s\"" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "kan inte öppna paketfilen \"%s\"" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "paketsignatur stämmer inte överens" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "paketversion %<PRIu32> stöds ej" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "paketet har felaktigt objekt vid index %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "inflate returnerade %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "indexvärdespill för deltabasobjekt" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "deltabasindex utanför gränsen" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "okänd objekttyp %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "kan inte utföra \"pread\" pÃ¥ paketfil" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "för tidigt slut pÃ¥ paketfilen, %<PRIuMAX> byte saknas" msgstr[1] "för tidigt slut pÃ¥ paketfilen, %<PRIuMAX> byte saknas" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "allvarlig inflate-inkonsekvens" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "SHA1-KOLLISION UPPTÄCKT VID %s !" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 +#: builtin/index-pack.c:738 builtin/pack-objects.c:153 #: builtin/pack-objects.c:213 builtin/pack-objects.c:307 #, c-format msgid "unable to read %s" msgstr "kunde inte läsa %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "kan inte läsa information om befintligt objekt %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "kan inte läsa befintligt objekt %s" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "ogiltigt blob-objekt %s" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "fsck-fel i packat objekt" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Inte alla barnobjekt för %s kan nÃ¥s" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "misslyckades tillämpa delta" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Tar emot objekt" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Skapar index för objekt" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "paketet är trasigt (SHA1 stämmer inte)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "kan inte utföra \"fstat\" pÃ¥ paketfil" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "paket har skräp i slutet" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "förvirrad bortom vanvett i parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Analyserar delta" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2491 #, c-format msgid "unable to create thread: %s" msgstr "kunde inte skapa trÃ¥d: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "förvirrad bortom vanvett" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "slutfördes med %d lokalt objekt" msgstr[1] "slutfördes med %d lokala objekt" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Oväntad svanschecksumma för %s (trasig disk?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "paketet har %d oanalyserat delta" msgstr[1] "paketet har %d oanalyserade delta" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "kunde inte utföra \"deflate\" pÃ¥ tillagt objekt (%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "lokalt objekt %s är trasigt" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "paketfilnamnet \"%s\" slutar inte med \".pack\"" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "kan inte ta skriva %s-fil \"%s\"" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "kan inte stänga skriven %s-fil \"%s\"" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "fel vid stängning av paketfil" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "kan inte spara paketfil" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "kan inte spara indexfil" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2730 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "felaktig pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kan inte öppna befintlig paketfil \"%s\"" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kan inte öppna befintlig paket-idx-fil för \"%s\"" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "icke-delta: %d objekt" msgstr[1] "icke-delta: %d objekt" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "kedjelängd = %d: %lu objekt" msgstr[1] "kedjelängd = %d: %lu objekt" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "Kan inte gÃ¥ tillbaka till arbetskatalogen (cwd)" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "felaktig %s" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin kan inte användas med --stdin" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin kräver ett git-arkiv" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "--verify angavs utan paketfilnamn" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "fsck-fel i packat objekt" @@ -13727,17 +14176,17 @@ msgstr "behörigheter" msgid "specify that the git repository is to be shared amongst several users" msgstr "ange att git-arkivet skall delas bland flera användare" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "kan inte skapa katalogen (mkdir) %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "kan inte byta katalog (chdir) till %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -13746,12 +14195,12 @@ msgstr "" "%s (eller --work-tree=<katalog>) inte tillÃ¥tet utan att ange %s (eller --git-" "dir=<katalog>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Kan inte komma Ã¥t arbetskatalogen \"%s\"" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -13759,59 +14208,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<symbol>[(=|:)<värde>])...] [<fil>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "redigera filer pÃ¥ plats" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "ta bort tomma släprader" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "var nya släprader skall placeras" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "att göra om släprader redan finns" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "att göra om släprader saknas" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "visa endast släprader" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "använd inte regler frÃ¥n konfigurationen" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "slÃ¥ ihop värden avdelade med blanksteg" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "välj tolkningsalternativ" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "tolka inte --- speciellt" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "släprad" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "släprad(er) att lägga till" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer med --only-input ger ingen mening" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "ingen indatafil angiven för redigering pÃ¥ plats" @@ -13823,113 +14272,133 @@ msgstr "git log [<flaggor>] [<versionsintervall>] [[--] <sökväg>...]" msgid "git show [<options>] <object>..." msgstr "git show [<flaggor>] <objekt>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "ogiltig flagga för --decorate: %s" -#: builtin/log.c:168 +#: builtin/log.c:160 +msgid "" +"log.mailmap is not set; its implicit value will change in an\n" +"upcoming release. To squelch this message and preserve current\n" +"behaviour, set the log.mailmap configuration value to false.\n" +"\n" +"To squelch this message and adopt the new behaviour now, set the\n" +"log.mailmap configuration value to true.\n" +"\n" +"See 'git help config' and search for 'log.mailmap' for further information." +msgstr "" +"log.mailmap har inte satts: förvalet kommer ändras i en kommande\n" +"version. För att dölja det här meddelandet och behÃ¥lla nuvarande\n" +"beteende, sätt konfigurationsvariabeln log.mailmap till false.\n" +"\n" +"För att dölja det här meddelandet och använda det nya beteendet,\n" +"sätt konfigurationsvariabeln log.mailmap till true.\n" +"\n" +"Se \"git help config\" och sök efter \"log.mailmap\" för mer information." + +#: builtin/log.c:183 msgid "show source" msgstr "visa källkod" -#: builtin/log.c:169 +#: builtin/log.c:184 msgid "Use mail map file" msgstr "Använd e-postmappningsfil" -#: builtin/log.c:171 +#: builtin/log.c:186 msgid "only decorate refs that match <pattern>" msgstr "dekorera endast referenser som motsvarar <mönster>" -#: builtin/log.c:173 +#: builtin/log.c:188 msgid "do not decorate refs that match <pattern>" msgstr "dekorera inte referenser som motsvarar <mönster>" -#: builtin/log.c:174 +#: builtin/log.c:189 msgid "decorate options" msgstr "dekoreringsflaggor" -#: builtin/log.c:177 +#: builtin/log.c:192 msgid "Process line range n,m in file, counting from 1" msgstr "Behandla radintervallet n,m i filen, med början pÃ¥ 1" -#: builtin/log.c:275 +#: builtin/log.c:297 #, c-format msgid "Final output: %d %s\n" msgstr "Slututdata: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:551 #, c-format msgid "git show %s: bad file" msgstr "git show %s: felaktig fil" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:566 builtin/log.c:660 #, c-format msgid "could not read object %s" msgstr "kunde inte läsa objektet %s" -#: builtin/log.c:663 +#: builtin/log.c:685 #, c-format msgid "unknown type: %d" msgstr "okänd typ: %d" -#: builtin/log.c:784 +#: builtin/log.c:808 msgid "format.headers without value" msgstr "format.headers utan värde" -#: builtin/log.c:885 +#: builtin/log.c:925 msgid "name of output directory is too long" msgstr "namnet pÃ¥ utdatakatalogen är för lÃ¥ngt" -#: builtin/log.c:901 +#: builtin/log.c:941 #, c-format msgid "cannot open patch file %s" msgstr "kan inte öppna patchfilen %s" -#: builtin/log.c:918 +#: builtin/log.c:958 msgid "need exactly one range" msgstr "behöver precis ett intervall" -#: builtin/log.c:928 +#: builtin/log.c:968 msgid "not a range" msgstr "inte ett intervall" -#: builtin/log.c:1051 +#: builtin/log.c:1091 msgid "cover letter needs email format" msgstr "omslagsbrevet behöver e-postformat" -#: builtin/log.c:1057 +#: builtin/log.c:1097 msgid "failed to create cover-letter file" msgstr "misslyckades skapa fil för omslagsbrev" -#: builtin/log.c:1136 +#: builtin/log.c:1176 #, c-format msgid "insane in-reply-to: %s" msgstr "tokigt in-reply-to: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1203 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<flaggor>] [<sedan> | <revisionsintervall>]" -#: builtin/log.c:1221 +#: builtin/log.c:1261 msgid "two output directories?" msgstr "tvÃ¥ utdatakataloger?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1372 builtin/log.c:2116 builtin/log.c:2118 builtin/log.c:2130 #, c-format msgid "unknown commit %s" msgstr "okänd incheckning %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1382 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "misslyckades slÃ¥ upp \"%s\" som en giltig referens" -#: builtin/log.c:1347 +#: builtin/log.c:1387 msgid "could not find exact merge base" msgstr "kunde inte hitta exakt sammanslagningsbas" -#: builtin/log.c:1351 +#: builtin/log.c:1391 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" @@ -13939,271 +14408,267 @@ msgstr "" "använd git branch --set-upstream-to för att spÃ¥ra en fjärrgren.\n" "Eller sÃ¥ kan du ange basincheckning med --base=<bas-inchecknings-id> manuellt" -#: builtin/log.c:1371 +#: builtin/log.c:1411 msgid "failed to find exact merge base" msgstr "kunde inte hitta exakt sammanslagningsbas" -#: builtin/log.c:1382 +#: builtin/log.c:1422 msgid "base commit should be the ancestor of revision list" msgstr "basincheckningen bör vara förfader till revisionslistan" -#: builtin/log.c:1386 +#: builtin/log.c:1426 msgid "base commit shouldn't be in revision list" msgstr "basincheckningen bör inte vara i revisionslistan" -#: builtin/log.c:1439 +#: builtin/log.c:1479 msgid "cannot get patch id" msgstr "kan inte hämta patch-id" -#: builtin/log.c:1491 +#: builtin/log.c:1531 msgid "failed to infer range-diff ranges" msgstr "misslyckades räkna ut intervall range-diff" -#: builtin/log.c:1536 +#: builtin/log.c:1576 msgid "use [PATCH n/m] even with a single patch" msgstr "använd [PATCH n/m] även för en ensam patch" -#: builtin/log.c:1539 +#: builtin/log.c:1579 msgid "use [PATCH] even with multiple patches" msgstr "använd [PATCH] även för flera patchar" -#: builtin/log.c:1543 +#: builtin/log.c:1583 msgid "print patches to standard out" msgstr "skriv patcharna pÃ¥ standard ut" -#: builtin/log.c:1545 +#: builtin/log.c:1585 msgid "generate a cover letter" msgstr "generera ett följebrev" -#: builtin/log.c:1547 +#: builtin/log.c:1587 msgid "use simple number sequence for output file names" msgstr "använd enkel nummersekvens för utdatafilnamn" -#: builtin/log.c:1548 +#: builtin/log.c:1588 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1549 +#: builtin/log.c:1589 msgid "use <sfx> instead of '.patch'" msgstr "använd <sfx> istället för \".patch\"" -#: builtin/log.c:1551 +#: builtin/log.c:1591 msgid "start numbering patches at <n> instead of 1" msgstr "börja numrera patchar pÃ¥ <n> istället för 1" -#: builtin/log.c:1553 +#: builtin/log.c:1593 msgid "mark the series as Nth re-roll" msgstr "markera serien som N:te försök" -#: builtin/log.c:1555 +#: builtin/log.c:1595 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Använd [RFC PATCH] istället för [PATCH]" -#: builtin/log.c:1558 +#: builtin/log.c:1598 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Använd [<prefix>] istället för [PATCH]" -#: builtin/log.c:1561 +#: builtin/log.c:1601 msgid "store resulting files in <dir>" msgstr "spara filerna i <katalog>" -#: builtin/log.c:1564 +#: builtin/log.c:1604 msgid "don't strip/add [PATCH]" msgstr "ta inte bort eller lägg till [PATCH]" -#: builtin/log.c:1567 +#: builtin/log.c:1607 msgid "don't output binary diffs" msgstr "skriv inte binära diffar" -#: builtin/log.c:1569 +#: builtin/log.c:1609 msgid "output all-zero hash in From header" msgstr "använd hashvärde med nollor i From-huvud" -#: builtin/log.c:1571 +#: builtin/log.c:1611 msgid "don't include a patch matching a commit upstream" msgstr "ta inte med patchar som motsvarar en uppströmsincheckning" -#: builtin/log.c:1573 +#: builtin/log.c:1613 msgid "show patch format instead of default (patch + stat)" msgstr "visa patchformat istället för standard (patch + stat)" -#: builtin/log.c:1575 +#: builtin/log.c:1615 msgid "Messaging" msgstr "E-post" -#: builtin/log.c:1576 +#: builtin/log.c:1616 msgid "header" msgstr "huvud" -#: builtin/log.c:1577 +#: builtin/log.c:1617 msgid "add email header" msgstr "lägg till e-posthuvud" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1618 builtin/log.c:1620 msgid "email" msgstr "epost" -#: builtin/log.c:1578 +#: builtin/log.c:1618 msgid "add To: header" msgstr "lägg till mottagarhuvud (\"To:\")" -#: builtin/log.c:1580 +#: builtin/log.c:1620 msgid "add Cc: header" msgstr "lägg till kopiehuvud (\"Cc:\")" -#: builtin/log.c:1582 +#: builtin/log.c:1622 msgid "ident" msgstr "ident" -#: builtin/log.c:1583 +#: builtin/log.c:1623 msgid "set From address to <ident> (or committer ident if absent)" msgstr "sätt FrÃ¥n-adress till <ident> (eller incheckare om ident saknas)" -#: builtin/log.c:1585 +#: builtin/log.c:1625 msgid "message-id" msgstr "meddelande-id" -#: builtin/log.c:1586 +#: builtin/log.c:1626 msgid "make first mail a reply to <message-id>" msgstr "gör det första brevet ett svar till <meddelande-id>" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1627 builtin/log.c:1630 msgid "boundary" msgstr "gräns" -#: builtin/log.c:1588 +#: builtin/log.c:1628 msgid "attach the patch" msgstr "bifoga patchen" -#: builtin/log.c:1591 +#: builtin/log.c:1631 msgid "inline the patch" msgstr "gör patchen ett inline-objekt" -#: builtin/log.c:1595 +#: builtin/log.c:1635 msgid "enable message threading, styles: shallow, deep" msgstr "aktivera brevtrÃ¥dning, typer: shallow, deep" -#: builtin/log.c:1597 +#: builtin/log.c:1637 msgid "signature" msgstr "signatur" -#: builtin/log.c:1598 +#: builtin/log.c:1638 msgid "add a signature" msgstr "lägg till signatur" -#: builtin/log.c:1599 +#: builtin/log.c:1639 msgid "base-commit" msgstr "basincheckning" -#: builtin/log.c:1600 +#: builtin/log.c:1640 msgid "add prerequisite tree info to the patch series" msgstr "lägg till förhandskrävd trädinfo i patchserien" -#: builtin/log.c:1602 +#: builtin/log.c:1642 msgid "add a signature from a file" msgstr "lägg till signatur frÃ¥n fil" -#: builtin/log.c:1603 +#: builtin/log.c:1643 msgid "don't print the patch filenames" msgstr "visa inte filnamn för patchar" -#: builtin/log.c:1605 +#: builtin/log.c:1645 msgid "show progress while generating patches" msgstr "visa förloppsindikator medan patchar skapas" -#: builtin/log.c:1606 -msgid "rev" -msgstr "rev" - -#: builtin/log.c:1607 +#: builtin/log.c:1647 msgid "show changes against <rev> in cover letter or single patch" msgstr "visa ändringar mot <rev> i omslagsbrev eller ensam patch" -#: builtin/log.c:1610 +#: builtin/log.c:1650 msgid "show changes against <refspec> in cover letter or single patch" msgstr "visa ändringar mot <refspec> i omslagsbrev eller ensam patch" -#: builtin/log.c:1612 +#: builtin/log.c:1652 msgid "percentage by which creation is weighted" msgstr "procent som skapelse vägs med" -#: builtin/log.c:1687 +#: builtin/log.c:1727 #, c-format msgid "invalid ident line: %s" msgstr "ogiltig ident-rad: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1742 msgid "-n and -k are mutually exclusive" msgstr "-n och -k kan inte användas samtidigt" -#: builtin/log.c:1704 +#: builtin/log.c:1744 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc och -k kan inte användas samtidigt" -#: builtin/log.c:1712 +#: builtin/log.c:1752 msgid "--name-only does not make sense" msgstr "kan inte använda --name-only" -#: builtin/log.c:1714 +#: builtin/log.c:1754 msgid "--name-status does not make sense" msgstr "kan inte använda --name-status" -#: builtin/log.c:1716 +#: builtin/log.c:1756 msgid "--check does not make sense" msgstr "kan inte använda --check" -#: builtin/log.c:1748 +#: builtin/log.c:1788 msgid "standard output, or directory, which one?" msgstr "standard ut, eller katalog, vilken skall det vara?" -#: builtin/log.c:1837 +#: builtin/log.c:1877 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff kräver --cover-letter eller ensam patch" -#: builtin/log.c:1841 +#: builtin/log.c:1881 msgid "Interdiff:" msgstr "Interdiff:" -#: builtin/log.c:1842 +#: builtin/log.c:1882 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff mot v%d:" -#: builtin/log.c:1848 +#: builtin/log.c:1888 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor kräver --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1892 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff kräver --cover-letter eller ensam patch" -#: builtin/log.c:1860 +#: builtin/log.c:1900 msgid "Range-diff:" msgstr "Intervall-diff:" -#: builtin/log.c:1861 +#: builtin/log.c:1901 #, c-format msgid "Range-diff against v%d:" msgstr "Intervall-diff mot v%d:" -#: builtin/log.c:1872 +#: builtin/log.c:1912 #, c-format msgid "unable to read signature file '%s'" msgstr "kunde inte läsa signaturfil \"%s\"" -#: builtin/log.c:1908 +#: builtin/log.c:1948 msgid "Generating patches" msgstr "Skapar patchar" -#: builtin/log.c:1952 +#: builtin/log.c:1992 msgid "failed to create output files" msgstr "misslyckades skapa utdatafiler" -#: builtin/log.c:2011 +#: builtin/log.c:2051 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<uppström> [<huvud> [<gräns>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2105 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14327,7 +14792,7 @@ msgstr "" msgid "do not print remote URL" msgstr "visa inte fjärr-URL" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "exec" @@ -14398,190 +14863,194 @@ msgstr "visa hela trädet; inte bara aktuell katalog (implicerar --full-name)" #: builtin/mailsplit.c:241 #, c-format msgid "empty mbox: '%s'" -msgstr "tom mbox: â€%sâ€" +msgstr "tom mbox: \"%s\"" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<flaggor>] [<incheckning>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "flaggan \"m\" behöver ett värde" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "flaggan \"%s\" behöver ett värde" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Kunde inte hitta sammanslagningsstrategin \"%s\".\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Tillgängliga strategier är:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Tillgängliga skräddarsydda strategier är:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "visa inte en diffstat när sammanslagningen är färdig" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "visa en diffstat när sammanslagningen är färdig" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(synonym till --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "lägg till (som mest <n>) poster frÃ¥n shortlog till incheckningsmeddelandet" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "skapa en ensam incheckning istället för en sammanslagning" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "utför en incheckning om sammanslagningen lyckades (standard)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "redigera meddelande innan incheckning" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "tillÃ¥t snabbspolning (standard)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "avbryt om snabbspolning inte är möjlig" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "bekräfta att den namngivna incheckningen har en giltig GPG-signatur" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "strategi" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "sammanslagningsstrategi att använda" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "alternativ=värde" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "alternativ för vald sammanslagningsstrategi" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "incheckningsmeddelande för (icke snabbspolande) sammanslagning" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "avbryt den pÃ¥gÃ¥ende sammanslagningen" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort men lämna index och arbetskatalog ensamma" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "fortsätt den pÃ¥gÃ¥ende sammanslagningen" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "tillÃ¥t sammanslagning av orelaterade historier" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "bekräfta commit-msg-krok" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "kunde köra stash." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "stash misslyckades" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "inte ett giltigt objekt: %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree misslyckades" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (inget att platta till)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Tillplattningsincheckning -- uppdaterar inte HEAD\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Inget sammanslagningsmeddelande -- uppdaterar inte HEAD\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "\"%s\" verkar inte peka pÃ¥ en incheckning" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Felaktig branch.%s.mergeoptions-sträng: %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Hanterar inte nÃ¥got annat än en sammanslagning av tvÃ¥ huvuden." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Felaktig flagga för merge-recursive: -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "kunde inte skriva %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "Kunde inte läsa frÃ¥n \"%s\"" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Checkar inte in sammanslagningen; använd \"git commit\" för att slutföra " "den.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14592,11 +15061,11 @@ msgstr "" "temagren.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Ett tomt meddelande avbryter incheckningen.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14605,69 +15074,73 @@ msgstr "" "Rader som inleds med \"%c\" kommer ignoreras, och ett tomt meddelande\n" "avbryter incheckningen.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Tomt incheckningsmeddelande." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Underbart.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Kunde inte slÃ¥ ihop automatiskt; fixa konflikter och checka in resultatet.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "Inte pÃ¥ nÃ¥gon gren." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "Ingen fjärr för aktuell gren." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "Ingen standarduppström angiven för aktuell gren." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Ingen fjärrspÃ¥rande gren för %s frÃ¥n %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Felaktigt värde \"%s\" i miljövariabeln \"%s\"" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "inte nÃ¥got vi kan slÃ¥ ihop med %s: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "inte nÃ¥got vi kan slÃ¥ ihop" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort tar inga argument" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Ingen sammanslagning att avbryta (MERGE_HEAD saknas)." -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit tar inga argument" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue tar inga argument" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Ingen sammanslagning pÃ¥gÃ¥r (MERGE_HEAD saknas)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14675,7 +15148,7 @@ msgstr "" "Du har inte avslutat sammanslagningen (MERGE_HEAD finns).\n" "Checka in dina ändringar innan du slÃ¥r ihop." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14683,92 +15156,96 @@ msgstr "" "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns).\n" "Checka in dina ändringar innan du slÃ¥r ihop." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "Du kan inte kombinera --squash med --no-ff." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "Du kan inte kombinera --squash med --commit." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Ingen incheckning angiven och merge.defaultToUpstream är ej satt." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Stöder inte en tillplattningsincheckning pÃ¥ ett tomt huvud ännu" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Icke-snabbspolad incheckning kan inte användas med ett tomt huvud" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - inte nÃ¥got vi kan slÃ¥ ihop" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "Kan endast slÃ¥ ihop en enda incheckning i ett tomt huvud" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "vägrar slÃ¥ samman orelaterad historik" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Redan à jour." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Uppdaterar %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Försöker riktigt enkel sammanslagning i indexet...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "Nej.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Redan à jour. Toppen!" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "Kan inte snabbspola, avbryter." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Ã…terspolar trädet till orört...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Försöker sammanslagningsstrategin %s...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Ingen sammanslagningsstrategi hanterade sammanslagningen.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Sammanslagning med strategin %s misslyckades.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Använder %s för att förbereda lösning för hand.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -14878,7 +15355,7 @@ msgstr "hanterar inte nÃ¥got annat än en sammanslagning av tvÃ¥ huvuden." #: builtin/merge-recursive.c:70 builtin/merge-recursive.c:72 #, c-format msgid "could not resolve ref '%s'" -msgstr "kunde inte bestämma referensen â€%sâ€" +msgstr "kunde inte bestämma referensen \"%s\"" #: builtin/merge-recursive.c:78 #, c-format @@ -14902,21 +15379,37 @@ msgid "allow creation of more than one tree" msgstr "tillÃ¥t skapa mer än ett träd" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<kat>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<kat>] (write|verify|expire|repack --" +"batch-size=<storlek>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "objektkatalog med uppsättning av par med paketfiler och pack-index" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"vid ompackning, samla mindre paketfiler i en bunt som är större än denna " +"storlekt" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "för mÃ¥nga argument" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "flaggan --batch-size används bara i underkommandot \"repack\"" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "okänt verb: %s" +msgid "unrecognized subcommand: %s" +msgstr "okänt underkommando: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -15006,52 +15499,52 @@ msgstr "%s, källa=%s, mÃ¥l=%s" msgid "Renaming %s to %s\n" msgstr "Byter namn pÃ¥ %s till %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:520 #, c-format msgid "renaming '%s' failed" msgstr "misslyckades byta namn pÃ¥ \"%s\"" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<flaggor>] <incheckning>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<flaggor>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<flaggor>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "skriv endast namn (ingen SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "använd endast taggar för att namnge incheckningar" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "använd endast referenser som motsvarar <mönster>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "ignorera referenser som motsvarar <mönster>" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "lista alla incheckningar som kan nÃ¥s alla referenser" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "läs frÃ¥n standard in" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "tillÃ¥t att skriva \"odefinierade\" namn (standard)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "avreferera taggar i indata (används internt)" @@ -15198,7 +15691,7 @@ msgstr "kunde inte skriva anteckningsobjekt" msgid "the note contents have been left in %s" msgstr "anteckningens innehÃ¥ll har lämnats kvar i %s" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "kunde inte öppna eller läsa \"%s\"" @@ -15432,7 +15925,7 @@ msgstr "" "%s och checka in resultatet med \"git notes merge --commit\", eller avbryt " "sammanslagningen med \"git notes merge --abort\".\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Kunde inte slÃ¥ upp \"%s\" som en giltig referens." @@ -15466,7 +15959,7 @@ msgstr "anteckningar-ref" msgid "use notes from <notes-ref>" msgstr "använd anteckningar frÃ¥n <anteckningsref>" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "okänt underkommando: %s" @@ -15544,64 +16037,64 @@ msgstr "skrev %<PRIu32> objekt medan %<PRIu32> förväntades" msgid "disabling bitmap writing, as some objects are not being packed" msgstr "inaktiverar skrivning av bitkarta dÃ¥ nÃ¥gra objekt inte packas" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1591 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "deltabasoffset utanför gränsen i pack för %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1600 #, c-format msgid "delta base offset out of bound for %s" msgstr "deltabasoffset utanför gränsvärden för %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1869 msgid "Counting objects" msgstr "Räknar objekt" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:1999 #, c-format msgid "unable to get size of %s" msgstr "kan inte hämta storlek pÃ¥ %s" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2014 #, c-format msgid "unable to parse object header of %s" msgstr "kunde inte tolka objekthuvud för %s" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2084 builtin/pack-objects.c:2100 +#: builtin/pack-objects.c:2110 #, c-format msgid "object %s cannot be read" msgstr "objektet %s kunde inte läsas" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2087 builtin/pack-objects.c:2114 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "objektet %s har inkonsistent objektlängd (%<PRIuMAX> mot %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2124 msgid "suboptimal pack - out of memory" msgstr "icke-optimalt pack - minnet slut" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2450 #, c-format msgid "Delta compression using up to %d threads" msgstr "Deltakomprimering använder upp till %d trÃ¥dar" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2582 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "kan inte packa objekt nÃ¥bara frÃ¥n taggen %s" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2669 msgid "Compressing objects" msgstr "Komprimerar objekt" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2675 msgid "inconsistency with delta count" msgstr "deltaräknaren är inkonsekvent" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2756 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15610,7 +16103,7 @@ msgstr "" "förväntade kant-objekt-id, fick skräp:\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15619,253 +16112,253 @@ msgstr "" "förväntade objekt-id, fick skräp:\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2860 msgid "invalid value for --missing" msgstr "ogiltigt värde för --missing" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2919 builtin/pack-objects.c:3027 msgid "cannot open pack index" -msgstr "kan inte öppna paketfilen" +msgstr "kan inte öppna paketfilen" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2950 #, c-format msgid "loose object at %s could not be examined" msgstr "lösa objekt pÃ¥ %s kunde inte underökas" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3035 msgid "unable to force loose object" msgstr "kan inte tvinga lösa objekt" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3127 #, c-format msgid "not a rev '%s'" msgstr "inte en referens \"%s\"" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3130 #, c-format msgid "bad revision '%s'" msgstr "felaktig revision \"%s\"" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3155 msgid "unable to add recent objects" -msgstr "kan inte lägga till nya objekt" +msgstr "kan inte lägga till nya objekt" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3208 #, c-format msgid "unsupported index version %s" msgstr "indexversionen %s stöds ej" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3212 #, c-format msgid "bad index version '%s'" msgstr "felaktig indexversion \"%s\"" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3242 msgid "do not show progress meter" msgstr "visa inte förloppsindikator" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3244 msgid "show progress meter" msgstr "visa förloppsindikator" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3246 msgid "show progress meter during object writing phase" msgstr "visa förloppsindikator under objektskrivningsfasen" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3249 msgid "similar to --all-progress when progress meter is shown" msgstr "som --all-progress när förloppsindikatorn visas" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3250 msgid "<version>[,<offset>]" msgstr "<version>[,<offset>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3251 msgid "write the pack index file in the specified idx format version" msgstr "skriv paketindexfilen i angiven indexformatversion" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3254 msgid "maximum size of each output pack file" msgstr "maximal storlek pÃ¥ varje utdatapaketfil" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3256 msgid "ignore borrowed objects from alternate object store" msgstr "ignorera lÃ¥nade objekt frÃ¥n alternativa objektlager" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3258 msgid "ignore packed objects" msgstr "ignorera packade objekt" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3260 msgid "limit pack window by objects" msgstr "begränsa paketfönster efter objekt" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3262 msgid "limit pack window by memory in addition to object limit" msgstr "begränsa paketfönster efter minne förutom objektgräns" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3264 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "maximal längd pÃ¥ deltakedja tillÃ¥ten i slutligt paket" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3266 msgid "reuse existing deltas" msgstr "Ã¥teranvänd befintliga delta" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3268 msgid "reuse existing objects" msgstr "Ã¥teranvänd befintliga objekt" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3270 msgid "use OFS_DELTA objects" msgstr "använd OFS_DELTA-objekt" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3272 msgid "use threads when searching for best delta matches" msgstr "använd trÃ¥dar vid sökning efter bästa deltaträffar" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3274 msgid "do not create an empty pack output" msgstr "försök inte skapa tom paketutdata" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3276 msgid "read revision arguments from standard input" msgstr "läs revisionsargument frÃ¥n standard in" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3278 msgid "limit the objects to those that are not yet packed" msgstr "begränsa objekt till dem som ännu inte packats" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3281 msgid "include objects reachable from any reference" msgstr "inkludera objekt som kan nÃ¥s frÃ¥n nÃ¥gon referens" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3284 msgid "include objects referred by reflog entries" msgstr "inkludera objekt som refereras frÃ¥n referensloggposter" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3287 msgid "include objects referred to by the index" msgstr "inkludera objekt som refereras frÃ¥n indexet" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3290 msgid "output pack to stdout" msgstr "skriv paket pÃ¥ standard ut" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3292 msgid "include tag objects that refer to objects to be packed" msgstr "inkludera taggobjekt som refererar objekt som skall packas" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3294 msgid "keep unreachable objects" msgstr "behÃ¥ll onÃ¥bara objekt" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3296 msgid "pack loose unreachable objects" msgstr "packa lösa onÃ¥bara objekt" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3298 msgid "unpack unreachable objects newer than <time>" msgstr "packa upp onÃ¥bara objekt nyare än <tid>" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3301 msgid "use the sparse reachability algorithm" msgstr "använd gles-nÃ¥barhetsalgoritmen" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3303 msgid "create thin packs" msgstr "skapa tunna paket" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3305 msgid "create packs suitable for shallow fetches" msgstr "skapa packfiler lämpade för grunda hämtningar" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3307 msgid "ignore packs that have companion .keep file" msgstr "ignorera paket som har tillhörande .keep-fil" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3309 msgid "ignore this pack" msgstr "ignorera detta paket" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3311 msgid "pack compression level" msgstr "komprimeringsgrad för paket" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3313 msgid "do not hide commits by grafts" msgstr "göm inte incheckningar med ympningar (\"grafts\")" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3315 msgid "use a bitmap index if available to speed up counting objects" msgstr "använd bitkartindex om tillgängligt för att räkna objekt snabbare" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3317 msgid "write a bitmap index together with the pack index" msgstr "använd bitkartindex tillsammans med packindexet" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3320 msgid "handling for missing objects" msgstr "hantering av saknade objekt" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3323 msgid "do not pack objects in promisor packfiles" msgstr "packa inte objekt i kontraktspackfiler" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3325 msgid "respect islands during delta compression" msgstr "respektera öar under deltakomprimering" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3350 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "deltakedjedjupet %d är för djupt, pÃ¥tvingar %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3355 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "pack.deltaCacheLimit är för högt, pÃ¥tvingar %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3409 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size kan inte användas för att bygga ett paket som skall överföras" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3411 msgid "minimum pack size limit is 1 MiB" msgstr "minsta packstorlek är 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3416 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin kan inte användas för att bygga ett indexerbart paket" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3419 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable och -unpack-unreachable kan inte användas samtidigt" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3425 msgid "cannot use --filter without --stdout" msgstr "kan inte använda --filter utan --stdout" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3486 msgid "Enumerating objects" msgstr "Räknar upp objekt" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3516 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "" "Totalt %<PRIu32> (delta %<PRIu32>), Ã¥teranvände %<PRIu32> (delta %<PRIu32>)" -#: builtin/pack-refs.c:7 +#: builtin/pack-refs.c:8 msgid "git pack-refs [<options>]" msgstr "git pack-refs [<flaggor>]" -#: builtin/pack-refs.c:15 +#: builtin/pack-refs.c:16 msgid "pack everything" msgstr "packa allt" -#: builtin/pack-refs.c:16 +#: builtin/pack-refs.c:17 msgid "prune loose refs (default)" msgstr "ta bort lösa referenser (standard)" @@ -15906,44 +16399,44 @@ msgstr "Felaktigt värde för %s: %s" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<flaggor>] [<arkiv> [<refspec>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "styrning för rekursiv hämtning av undermoduler" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Alternativ gällande sammanslagning" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "inlemma ändringar genom ombasering i stället för sammanslagning" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "tillÃ¥t snabbspolning" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "utför automatiskt stash/stash pop före och efter ombasering" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Alternativ gällande hämtningar" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "tvinga överskrivning av lokal gren" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "antal undermoduler som hämtas parallellt" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Felaktigt värde för pull.ff: %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -15951,14 +16444,14 @@ msgstr "" "Det finns ingen kandidat för ombasering bland referenserna du precis har " "hämtat." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Det finns ingen kandidat för sammanslagning bland referenserna du precis har " "hämtat." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -15966,7 +16459,7 @@ msgstr "" "Det betyder vanligtvis att du använt en jokertecken-refspec som inte\n" "motsvarade nÃ¥got i fjärränden." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -15977,42 +16470,42 @@ msgstr "" "gren. Eftersom det inte är den fjärr som är konfigurerad som\n" "standard för aktuell gren mÃ¥ste du ange en gren pÃ¥ kommandoraden." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Du är inte pÃ¥ nÃ¥gon gren för närvarande." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Ange vilken gren du vill ombasera mot." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Ange vilken gren du vill slÃ¥ samman med." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Se git-pull(1) för detaljer." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<fjärr>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<gren>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "Det finns ingen spÃ¥rningsinformation för aktuell gren." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "Om du vill ange spÃ¥rningsinformation för grenen kan du göra det med:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16021,32 +16514,32 @@ msgstr "" "Dina inställningar anger sammanslagning med referensen \"%s\"\n" "frÃ¥n fjärren, men nÃ¥gon sÃ¥dan referens togs inte emot." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "kunde inte komma Ã¥t incheckningen %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "ignorera --verify-signatures för ombasering" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "--[no-]autostash är endast giltig med --rebase." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "Uppdaterar en ofödd gren med ändringar som lagts till i indexet." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "pull med ombasering" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "checka in eller använd \"stash\" pÃ¥ dem." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16057,7 +16550,7 @@ msgstr "" "snabbspolar din arbetskatalog frÃ¥n\n" "incheckningen %s." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16074,15 +16567,15 @@ msgstr "" "$ git reset --hard\n" "för att Ã¥tergÃ¥." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Kan inte slÃ¥ ihop flera grenar i ett tomt huvud." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Kan inte ombasera ovanpÃ¥ flera grenar." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "kan inte ombasera med lokalt lagrade ändringar i undermoful" @@ -16542,7 +17035,7 @@ msgstr "git rebase--interactive [<flaggor>]" msgid "keep empty commits" msgstr "behÃ¥ll tomma incheckningar" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "tillÃ¥t incheckningar med tomt meddelande" @@ -16562,7 +17055,7 @@ msgstr "flytta incheckningar som inleds med squash!/fixup!" msgid "sign commits" msgstr "signera incheckningar" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "vis diffstat för vad som ändrats uppströms" @@ -16670,7 +17163,7 @@ msgstr "kmd" msgid "the command to run" msgstr "kommando att köra" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "kör automatiskt alla \"exec\" som misslyckas pÃ¥ nytt" @@ -16678,7 +17171,7 @@ msgstr "kör automatiskt alla \"exec\" som misslyckas pÃ¥ nytt" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins har ingen effekt utan --rebase-merges" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s kräver en interaktiv ombasering" @@ -16708,11 +17201,11 @@ msgstr "Kunde inte läsa \"%s\"" msgid "Cannot store %s" msgstr "Kan inte spara %s" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "kunde inte bestämma HEAD-revision" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -16726,7 +17219,7 @@ msgstr "" "För att avbryta och Ã¥tergÃ¥ till där du var före ombaseringen, kör \"git " "rebase --abort\"." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -16745,7 +17238,7 @@ msgstr "" "\n" "Därför kan inte git ombasera dessa." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -16762,7 +17255,7 @@ msgstr "" " git rebase '<gren>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -16775,128 +17268,128 @@ msgstr "" " git branch --set-upstream-to=%s/<gren> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "exec-kommandon kan inte innehÃ¥lla nyradstecken" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "tomt exec-kommando" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "ombasera mot given grenen istället för uppström" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "tillÃ¥t pre-rebase-krok att köra" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "var tyst. implicerar --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "visa inte en diffstat för vad som ändrats uppströms" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "lägg \"Signed-off-by:\"-rad till varje incheckning" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "sänds till \"git am\"" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "sänds till \"git apply\"" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "utför cherry-pick pÃ¥ alla incheckningar, även om oändrad" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "fortsätt" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "hoppa över nuvarande patch och fortsätt" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "avbryt och checka ut ursprungsgrenen" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "avbryt men behÃ¥ll HEAD där det är" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "redigera attgöra-listan under interaktiv ombasering." -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "visa patchen som tillämpas eller slÃ¥s samman" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "använd sammanslagningsstrategier för sammanslagning" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "lÃ¥t användaren redigera listan över incheckningar att ombasera" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "" "(AVRÃ…DS) försök Ã¥terskapa sammanslagningar istället för att ignorera dem" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "behÃ¥ll tomma incheckningar under ombasering" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "flytta incheckningar som börjar med squash!/fixup! under -i" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "utför automatiskt stash/stash pop före och efter" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "lägg till exec-rader efter varje incheckning i den redigerbara listan" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "tillÃ¥t ombasering av incheckningar med tomt meddelande" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "försök ombasera sammanslagningar istället för att ignorera dem" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "använd \"merge-base --fork-point\" för att förfina uppström" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "använd angiven sammanslagningsstrategi" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "alternativ" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "sänd flaggan till sammanslagningsstrategin" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "ombasera alla nÃ¥bara incheckningar upp till roten/rötterna" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -16904,29 +17397,29 @@ msgstr "" "stödet för rebase.useBuiltin har tagits bort!\n" "Se posten för det i \"git help config\" för detaljer." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "Det verkar som en \"git am\" körs. Kan inte ombasera." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "git rebase --preserve-merges avrÃ¥ds frÃ¥n. Använd --rebase-merges istället." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Ingen ombasering pÃ¥gÃ¥r?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "Ã…tgärden --edit-todo kan endast användas under interaktiv ombasering." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "Kan inte läsa HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -16934,21 +17427,16 @@ msgstr "" "Du mÃ¥ste redigera alla sammanslagningskonflikter och\n" "därefter markera dem som lösta med git add" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "kunde inte kasta ändringar i arbetskatalogen" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "kunde inte flytta tillbaka till %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "kunde inte ta bort \"%s\"" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -16969,172 +17457,176 @@ msgstr "" "och kör programmet igen. Jag avslutar ifall du fortfarande har\n" "nÃ¥got av värde där.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "flaggan \"C\" förväntar ett numeriskt värde" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Okänt läge: %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy kräver --merge eller --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec kräver --exec eller --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "kan inte kombinera am-flaggor med varken interaktiv- eller " "sammanslagningsflaggor" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "kan inte kombinera \"--preserve-merges\" med \"--rebase-merges\"" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "fel: kan inte kombinera \"--preserve-merges\" med \"--reschedule-failed-exec" "\"" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "kan inte kombinera \"--rebase-merges\" med \"--strategy-option\"" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "kan inte kombinera \"--rebase-merges\" med \"--strategy\"" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" -msgstr "felaktig uppström â€%sâ€" +msgstr "felaktig uppström \"%s\"" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "kunde inte skapa ny rotincheckning" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "\"%s\": behöver precis en sammanslagningsbas" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "Pekar inte pÃ¥ en giltig incheckning: \"%s\"" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "ödesdigert: ingen sÃ¥dan gren/incheckning: \"%s\"" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Ingen sÃ¥dan referens: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Kunde inte bestämma HEAD:s incheckning" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Kan inte utföra \"autostash\"" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Oväntat svar frÃ¥n stash: \"%s\"" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "Kunde inte skapa katalog för \"%s\"" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Skapade autostash: %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "kunde inte utföra \"reset --hard\"" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD är nu pÃ¥ %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Checka in eller använd \"stash\" pÃ¥ dem." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "kunde inte tolka \"%s\"" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "kunde inte växla till %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD är à jour." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "Aktuell gren %s är à jour.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD är à jour, ombasering framtvingad." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "Aktuell gren %s är à jour, ombasering framtvingad.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "Kroken pre-rebase vägrade ombaseringen." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Ändringar till %s:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Ändringar frÃ¥n %s till %s:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Först, spolar tillbaka huvudet för att spela av ditt arbete ovanpÃ¥ det...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "Kunde inte koppla frÃ¥n HEAD" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Snabbspolade %s till %s.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <git-katalog>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17164,7 +17656,7 @@ msgstr "" "För att undvika detta meddelande och fortfarande behÃ¥lla det\n" "normala beteendet, sätt \"receive.denyCurrentBranch\" till \"refuse\"." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17185,11 +17677,11 @@ msgstr "" "\n" "För att undvika detta meddelande kan du sätta det till \"refuse\"." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "tyst" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Du mÃ¥ste ange en katalog." @@ -17772,112 +18264,112 @@ msgstr "" "Använd --no-write-bitmap-index eller inaktivera inställningen\n" "pack.writebitmaps" -#: builtin/repack.c:200 +#: builtin/repack.c:201 msgid "could not start pack-objects to repack promisor objects" msgstr "kunde inte starta pack-objects för att packa om kontraktsobjekt" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:240 builtin/repack.c:418 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: Förväntar kompletta hex-objekt-ID-rader endast frÃ¥n pack-objects." -#: builtin/repack.c:256 +#: builtin/repack.c:257 msgid "could not finish pack-objects to repack promisor objects" msgstr "kunde inte avsluta pack-objects för att packa om kontraktsobjekt" -#: builtin/repack.c:294 +#: builtin/repack.c:295 msgid "pack everything in a single pack" msgstr "packa allt i ett enda paket" -#: builtin/repack.c:296 +#: builtin/repack.c:297 msgid "same as -a, and turn unreachable objects loose" msgstr "samma som -a, och gör onÃ¥bara objekt lösa" -#: builtin/repack.c:299 +#: builtin/repack.c:300 msgid "remove redundant packs, and run git-prune-packed" msgstr "ta bort överflödiga paket, och kör git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:302 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "sänd --no-reuse-delta till git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:304 msgid "pass --no-reuse-object to git-pack-objects" msgstr "sänd --no-reuse-object till git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:306 msgid "do not run git-update-server-info" msgstr "kör inte git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:309 msgid "pass --local to git-pack-objects" msgstr "sänd --local till git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:311 msgid "write bitmap index" msgstr "skriv bitkartindex" -#: builtin/repack.c:312 +#: builtin/repack.c:313 msgid "pass --delta-islands to git-pack-objects" msgstr "sänd --delta-islands till git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:314 msgid "approxidate" msgstr "cirkadatum" -#: builtin/repack.c:314 +#: builtin/repack.c:315 msgid "with -A, do not loosen objects older than this" msgstr "med -A, lös inte upp objekt äldre än detta" -#: builtin/repack.c:316 +#: builtin/repack.c:317 msgid "with -a, repack unreachable objects" msgstr "med -a, packa om onÃ¥bara objekt" -#: builtin/repack.c:318 +#: builtin/repack.c:319 msgid "size of the window used for delta compression" msgstr "storlek pÃ¥ fönster använt för deltakomprimering" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:320 builtin/repack.c:326 msgid "bytes" msgstr "byte" -#: builtin/repack.c:320 +#: builtin/repack.c:321 msgid "same as the above, but limit memory size instead of entries count" msgstr "samma som ovan, men begränsa minnesstorleken istället för postantal" -#: builtin/repack.c:322 +#: builtin/repack.c:323 msgid "limits the maximum delta depth" msgstr "begränsa maximalt deltadjup" -#: builtin/repack.c:324 +#: builtin/repack.c:325 msgid "limits the maximum number of threads" msgstr "begränsar maximalt antal trÃ¥dar" -#: builtin/repack.c:326 +#: builtin/repack.c:327 msgid "maximum size of each packfile" msgstr "maximal storlek pÃ¥ varje paketfil" -#: builtin/repack.c:328 +#: builtin/repack.c:329 msgid "repack objects in packs marked with .keep" msgstr "packa om objekt i paket märkta med .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:331 msgid "do not repack this pack" msgstr "packa inte om detta paket" -#: builtin/repack.c:340 +#: builtin/repack.c:341 msgid "cannot delete packs in a precious-objects repo" msgstr "kan inte ta bort paket i ett \"precious-objects\"-arkiv" -#: builtin/repack.c:344 +#: builtin/repack.c:345 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable och -A kan inte användas samtidigt" -#: builtin/repack.c:423 +#: builtin/repack.c:427 msgid "Nothing new to pack." msgstr "Inget nytt att packa." -#: builtin/repack.c:484 +#: builtin/repack.c:488 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -17896,7 +18388,7 @@ msgstr "" "VARNING: namnet misslyckades ocksÃ¥.\n" "VARNING: Byt namn pÃ¥ dem i %s manuellt:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:536 #, c-format msgid "failed to remove '%s'" msgstr "misslyckades ta bort \"%s\"" @@ -18303,24 +18795,24 @@ msgstr "Kunde inte Ã¥terställa indexfilen till versionen \"%s\"." msgid "Could not write new index file." msgstr "Kunde inte skriva ny indexfil." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "kan inte kombinera --exclude-promisor-objects och --missing" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "objektfiltrering kräver --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "ogiltigt värde för sparse: \"%s\"" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list stöder inte visning av anteckningar" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "kan inte kombinera --use-bitmap-index med objektfiltrering" @@ -18393,47 +18885,51 @@ msgstr "Ã¥teruppta revert- eller cherry-pick-sekvens" msgid "cancel revert or cherry-pick sequence" msgstr "avbryt revert- eller cherry-pick-sekvens" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "hoppa över nuvarande incheckning och fortsätt" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "checka inte in automatiskt" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "redigera incheckningsmeddelandet" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "nummer-pÃ¥-förälder" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "välj förälder för huvudlinje" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "sammanslagningsstrategi" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "alternativ för sammanslagningsstrategi" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "lägg till incheckningsnamn" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "behÃ¥ll incheckningar som börjar som tomma" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "behÃ¥ll redundanta, tomma incheckningar" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "\"revert\" misslyckades" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "\"cherry-pick\" misslyckades" @@ -18603,120 +19099,120 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "ignorerar %s; kan inte hantera mer än %d referens" msgstr[1] "ignorerar %s; kan inte hantera mer än %d referenser" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "inga motsvarande referenser med %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "visa fjärrspÃ¥rande och lokala grenar" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "visa fjärrspÃ¥rande grenar" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "färga \"*!+-\" enligt grenen" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "visa <n> ytterligare incheckningar efter gemensam anfader" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "synonym till more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "undertyck namnsträngar" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "inkludera aktuell gren" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "namnge incheckningar med deras objektnamn" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "visa möjliga sammanslagningsbaser" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "visa referenser som inte kan nÃ¥s frÃ¥n nÃ¥gon annan referens" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "visa incheckningar i topologisk ordning" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "visa endast incheckningar inte pÃ¥ den första grenen" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "visa sammanslagningar som endast kan nÃ¥s frÃ¥n en spets" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "sortera topologiskt, behÃ¥ll datumordning när möjligt" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<bas>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "visa <n> nyaste refloggposter med början pÃ¥ bas" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog är inkompatibel med --all, --remotes, --independent eller --merge-" "base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "inga grenar angavs, och HEAD är inte giltigt" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "--reflog behöver ett namn pÃ¥ en gren" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "maximalt %d poster kan visas samtidigt." msgstr[1] "maximalt %d poster kan visas samtidigt." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "ingen sÃ¥dan referens %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "kan inte hantera mer än %d revision." msgstr[1] "kan inte hantera mer än %d revisioner." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "\"%s\" är inte en giltig referens." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "hittar inte incheckning %s (%s)" -#: builtin/show-ref.c:11 +#: builtin/show-ref.c:12 msgid "" "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]" @@ -18724,39 +19220,39 @@ msgstr "" "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<mönster>...]" -#: builtin/show-ref.c:12 +#: builtin/show-ref.c:13 msgid "git show-ref --exclude-existing[=<pattern>]" msgstr "git show-ref --exclude-existing[=<mönster>]" -#: builtin/show-ref.c:161 +#: builtin/show-ref.c:162 msgid "only show tags (can be combined with heads)" msgstr "visa endast taggar (kan kombineras med huvuden)" -#: builtin/show-ref.c:162 +#: builtin/show-ref.c:163 msgid "only show heads (can be combined with tags)" msgstr "visa endast huvuden (kan kombineras med taggar)" -#: builtin/show-ref.c:163 +#: builtin/show-ref.c:164 msgid "stricter reference checking, requires exact ref path" msgstr "striktare referenskontroll, kräver exakt referenssökväg" -#: builtin/show-ref.c:166 builtin/show-ref.c:168 +#: builtin/show-ref.c:167 builtin/show-ref.c:169 msgid "show the HEAD reference, even if it would be filtered out" msgstr "visa HEAD-refrens, även när den skulle filtreras ut" -#: builtin/show-ref.c:170 +#: builtin/show-ref.c:171 msgid "dereference tags into object IDs" msgstr "avreferera taggar till objekt-id" -#: builtin/show-ref.c:172 +#: builtin/show-ref.c:173 msgid "only show SHA1 hash using <n> digits" msgstr "visa SHA1-hash endast med <n> siffror" -#: builtin/show-ref.c:176 +#: builtin/show-ref.c:177 msgid "do not print results to stdout (useful with --verify)" msgstr "visa inte resultat pÃ¥ standard ut (användbart med --verify)" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:179 msgid "show refs from stdin that aren't in local repository" msgstr "visa referenser frÃ¥n standard in som inte finns i lokalt arkiv" @@ -18826,7 +19322,7 @@ msgstr "För mÃ¥nga revisioner angivna:%s" #: builtin/stash.c:161 git-legacy-stash.sh:548 msgid "No stash entries found." -msgstr "Inga â€stashâ€-poster hittades." +msgstr "Inga \"stash\"-poster hittades." #: builtin/stash.c:175 #, c-format @@ -18894,94 +19390,94 @@ msgstr "Stash-posten behÃ¥lls ifall du behöver den igen." msgid "No branch name specified" msgstr "Inget grennamn angavs" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "Kan inte uppdatera %s med %s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "\"stash\"-meddelande" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" kräver ett <incheckning>-argument" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Inga ändringar valda" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Du har inte den första incheckningen ännu" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "Kan inte spara aktuellt tillstÃ¥nd för indexet" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "Kan inte spara ospÃ¥rade filer" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "Kan inte spara aktuellt tillstÃ¥nd för arbetskatalogen" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "Kan inte registrera tillstÃ¥nd för arbetskatalog" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "Kan inte använda --patch och --include-untracked eller --all samtidigt" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Glömde du använda \"git add\"?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "Inga lokala ändringar att spara" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Kan inte initiera \"stash\"" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Kan inte spara aktuell status" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Sparade arbetskatalogen och indexstatus %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Kan inte ta bort ändringar i arbetskatalogen" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "behÃ¥ll indexet" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "\"stash\" i \"patch\"-läge" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "tyst läge" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "ta med ospÃ¥rade filer i \"stash\"" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "ta med ignorerade filer" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "kunde inte köra %s" @@ -19002,7 +19498,7 @@ msgstr "hoppa över och ta bort alla rader som inleds med kommentarstecken" msgid "prepend comment character and space to each line" msgstr "lägg in kommentarstecken och blanksteg först pÃ¥ varje rad" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Förväntade fullt referensnamn, fick %s" @@ -19016,7 +19512,7 @@ msgstr "submodule--helper print-default-remote tar inga argument" msgid "cannot strip one component off url '%s'" msgstr "kan inte ta bort en komponent frÃ¥n url:en \"%s\"" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "alternativa ankare för relativa sökvägar" @@ -19024,8 +19520,8 @@ msgstr "alternativa ankare för relativa sökvägar" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<sökväg>] [<sökväg>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "Hittade ingen url för undermodulsökvägen \"%s\" i .gitmodules" @@ -19044,7 +19540,7 @@ msgstr "" "run_command returnerade icke-nollstatus för %s\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19055,19 +19551,19 @@ msgstr "" "undermoduler för %s\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Dölj utdata frÃ¥n för varje undermodulskommando som startas" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Rekursera in i nästlade undermoduler" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper sync [--quiet] [--recursive] [--] [<kommando>]" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19076,54 +19572,54 @@ msgstr "" "kunde inte slÃ¥ upp konfigurationen \"%s\". Antar att arkivet är sin eget " "officiella uppström." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Misslyckades registrera url för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Undermodulen \"%s\" (%s) registrerad för sökvägen \"%s\"\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "varning: kommandouppdateringsläge föreslogs för undermodulen \"%s\"\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "Misslyckades registrera uppdateringsläge för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Dölj utdata frÃ¥n initiering av undermodul" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<flaggor>] [<sökväg>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "hittade ingen undermodulmappning i .gitmodules för sökvägen \"%s\"" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "kunde inte bestämma HEAD:s incheckning i undermodulen \"%s\"" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "misslyckades rekursera in i undermodulen \"%s\"" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Hindra statusutskrift för undermodul" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" @@ -19131,47 +19627,47 @@ msgstr "" "Visa incheckning frÃ¥n indexet istället för den som lagrats i undermodulens " "HEAD" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "rekursera in i nästlade undermoduler" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quitet] [--cached] [--recursive] [<sökväg>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <sökväg>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Synkroniserar undermodul-url för \"%s\"\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "misslyckades registrera url för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "misslyckades hämta standardfjärr för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "misslyckades uppdatera fjärr för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Dölj utdata frÃ¥n synkroniering av undermodul-url" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<sökväg>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19180,7 +19676,7 @@ msgstr "" "Undermodulsarbetskatalogen \"%s\" innehÃ¥ller en .git-katalog (använd \"rm -rf" "\" om du verkligen vill ta bort den och all dess historik)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19189,81 +19685,81 @@ msgstr "" "Undermodulens arbetskatalog \"%s\" har lokala ändringar; \"-f\" kastar bort " "dem" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Rensade katalogen \"%s\"\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "Kunde inte ta bort undermodulens arbetskatalog \"%s\"\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "kunde inte skapa tom undermodulskatalog %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "Undermodulen \"%s\" (%s) registrerad för sökvägen \"%s\"\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "" "Ta bort undermodulers arbetskataloger även om de innehÃ¥ller lokala ändringar" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "Avregistrera alla undermoduler" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<sökväg>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "Använd \"--all\" om du verkligen vill avinitiera alla undermoduler" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "undermodulen \"%s\" kan inte lägga till alternativ: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "Värdet \"%s\" i submodule.alternateErrorStrategy förstÃ¥s inte" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Värdet \"%s\" i submodule.alternateLocation förstÃ¥s inte" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "var den nya undermodulen skall klonas till" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "namn pÃ¥ den nya undermodulen" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "URL att klona undermodulen frÃ¥n" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "djup för grunda kloner" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "tvinga kloningsförlopp" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19271,93 +19767,93 @@ msgstr "" "git submodule--helper clone [--prefix=<sökväg>] [--quiet] [--reference " "<arkvi>] [--name <namn>] [--depth <djup>] --url <url> --path <sökväg>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" -msgstr "misslyckades klona \"%s\" till undermodulsökvägen â€%sâ€" +msgstr "misslyckades klona \"%s\" till undermodulsökvägen \"%s\"" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "kunde inte fÃ¥ tag i undermodulkatalog för \"%s\"" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "Ogiltigt uppdateringsläge \"%s\" för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" "Ogiltigt uppdateringsläge \"%s\" konfigurerat för undermodulsökväg \"%s\"" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "Undermodulsökvägen \"%s\" har inte initierats" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "Kanske menade du att använda \"update --init\"?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "Hoppar över ej sammanslagen undermodul %s" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "Hoppar över undermodulen \"%s\"" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Misslyckades klona \"%s\". Nytt försök planlagt" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Misslyckades klona \"%s\" för andra gÃ¥ngen, avbryter" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "sökväg inuti arbetskatalogen" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "sökväg inuti arbetskatalogen, genom nästlade undermodulgränser" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "rebase, merge, checkout eller none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "Skapa en grund klon trunkerad till angivet antal revisioner" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "parallella jobb" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "om den första klonen skall följa rekommendation för grund kloning" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "skriv inte klonförlopp" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<sökväg>] [<sökväg>...]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "felaktigt värde för parametern update" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " @@ -19366,16 +19862,16 @@ msgstr "" "Undermodulens (%s) gren inställd pÃ¥ att ärva gren frÃ¥n huvudprojektet, men " "huvudprojektet är inte pÃ¥ nÃ¥gon gren" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "kunde inte fÃ¥ tag i arkivhandtag för undermodulen \"%s\"" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "rekursera ner i undermoduler" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dir [<flaggor>] [<sökväg>...]" @@ -19404,7 +19900,7 @@ msgstr "git submodule--helper config --check-writeable" msgid "please make sure that the .gitmodules file is in the working tree" msgstr "se till att .gitmodules finns i arbetskatalogen" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s stöder inte --super-prefix" @@ -19469,17 +19965,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<format>] <taggnamn>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "taggen \"%s\" hittades inte." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Tog bort tagg \"%s\" (var %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -19492,7 +19988,7 @@ msgstr "" " %s\n" "Rader som inleds med \"%c\" ignoreras.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -19507,159 +20003,159 @@ msgstr "" "Rader som inleds med \"%c\" kommer behÃ¥llas; du kan själv ta bort dem om\n" "du vill.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "kunde inte signera taggen" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "kunde inte skriva tagg-filen" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" -"You have created a nested tag. The object referred to by your new is\n" +"You have created a nested tag. The object referred to by your new tag is\n" "already a tag. If you meant to tag the object that it points to, use:\n" "\n" "\tgit tag -f %s %s^{}" msgstr "" -"Du har skapat en nästlad tagg. Objektet som refereras av din nya är\n" +"Du har skapat en nästlad tagg. Objektet som refereras av din nya tagg är\n" "redan en tagg. Om du skulle tagga objektet den pekar pÃ¥, använd:\n" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "felaktig objekttyp." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "inget taggmeddelande?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Taggmeddelandet har lämnats i %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "lista taggnamn" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "visa <n> rader frÃ¥n varje taggmeddelande" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "ta bort taggar" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "verifiera taggar" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Alternativ för att skapa taggar" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "annoterad tagg, behöver meddelande" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "taggmeddelande" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "tvinga redigering av incheckningsmeddelande" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "annoterad och GPG-signerad tagg" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "använd annan nyckel för att signera taggen" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "ersätt taggen om den finns" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "skapa en reflog" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Alternativ för listning av taggar" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "lista taggar i spalter" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "visa endast taggar som innehÃ¥ller incheckningen" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "visa endast taggar som inte innehÃ¥ller incheckningen" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "visa endast taggar som slagits samman" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "visa endast taggar som ej slagits samman" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "visa endast taggar för objektet" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column och -n är inkompatibla" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "Flaggan -n är endast tillÃ¥ten i listläge" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "Flaggan --contains är endast tillÃ¥ten i listläge" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "Flaggan --no-contains är endast tillÃ¥ten i listläge" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "Flaggan --points-at är endast tillÃ¥ten i listläge" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "Flaggorna --merged och --no-merged är endast tillÃ¥tna i listläge" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "endast en av flaggorna -F eller -m tillÃ¥ts." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "för mÃ¥nga parametrar" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "\"%s\" är inte ett giltigt taggnamn." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "taggen \"%s\" finns redan" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Uppdaterad tagg \"%s\" (var %s)\n" @@ -19979,11 +20475,11 @@ msgstr "avbryt överföringen efter <n> sekunders inaktivitet" msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <incheckning>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:69 msgid "print commit contents" msgstr "visa innehÃ¥ll för incheckning" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:70 builtin/verify-tag.c:38 msgid "print raw gpg status output" msgstr "visa rÃ¥a gpg-statusdata" @@ -20035,7 +20531,7 @@ msgstr "git worktree remove [<flaggor>] <arbetskatalog>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <sökväg>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "misslyckades ta bort \"%s\"" @@ -20112,121 +20608,121 @@ msgstr "" "använd \"add -f\" för att överstyra, eller \"prune\" eller \"remove\" för " "att rensa" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "kunde inte skapa katalogen \"%s\"" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "Förbereder arbetskatalog (ny gren \"%s\")" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "Förbereder arbetskatalog (Ã¥terställer gren \"%s\"; var pÃ¥ %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "Förbereder arbetskatalog (checkar ut \"%s\")" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "Förbereder arbetskatalog (frÃ¥nkopplat HEAD %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "checka ut <gren> även om den redan är utcheckad i en annan arbetskatalog" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "skapa en ny gren" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "skapa eller Ã¥terställ en gren" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "befolka den nya arbetskatalogen" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "lÃ¥t arbetskatalogen förbli lÃ¥st" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "ställ in spÃ¥rningsläge (se git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "försök matcha namn pÃ¥ ny gren mot en fjärrspÃ¥rande gren" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B och --detach är ömsesidigt uteslutande" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "--[no-]track kan endast användas när ny gran skapas" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "orsak till lÃ¥s" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "\"%s\" är inte en arbetskatalog" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "Huvudarbetskatalogen kan inte lÃ¥sas eller lÃ¥sas upp" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "\"%s\" är redan lÃ¥st, orsak: %s" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "\"%s\" är redan lÃ¥st" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "\"%s\" är inte lÃ¥st" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "arbetskataloger med undermoduler kan inte flyttas eller tas bort" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "tvinga flyttning även om arbetskatalogen är smutsig eller lÃ¥st" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "\"%s\" är inte en huvudarbetskatalog" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "kunde inte lista ut mÃ¥lnamn frÃ¥n \"%s\"" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "mÃ¥let \"%s\" finns redan" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20235,7 +20731,7 @@ msgstr "" "kan inte flytta en lÃ¥st arbetskatalog, orsak till lÃ¥s: %s\n" "använd \"move -f -f\" för att överstyra, eller lÃ¥s upp först" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20243,36 +20739,36 @@ msgstr "" "kan inte flytta en lÃ¥st arbetskatalog;\n" "använd \"move -f -f\" för att överstyra, eller lÃ¥s upp först" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "kontroll misslyckades, kan inte flytta arbetskatalog: %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "misslyckades flytta \"%s\" till \"%s\"" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "misslyckades köra \"git status\" pÃ¥ \"%s\"" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "\"%s\" är smutsigt, använd --force för att ta bort det" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "misslyckades köra \"git status\" pÃ¥ \"%s\", kod %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "tvinga ta bort även om arbetskatalogen är smutsig eller lÃ¥st" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20281,7 +20777,7 @@ msgstr "" "kan inte ta bort en lÃ¥st arbetskatalog, orsak till lÃ¥set: %s\n" "använd \"remove -f -f\" för att överstyra, eller lÃ¥s upp först" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20289,7 +20785,7 @@ msgstr "" "kan inte ta bort en lÃ¥st arbetskatalog;\n" "använd \"remove -f -f\" för att överstyra, eller lÃ¥s upp först" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "kontroll misslyckades, kan inte ta bort arbetskatalog: %s" @@ -20365,53 +20861,55 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "\"git help -a\" och \"git help -g\" visar tillgängliga underkommandon och\n" "nÃ¥gra konceptvägledningar. Se \"git help <kommando>\" eller \"git help\n" -"<koncept>\" för att läsa mer om specifika underkommandon och koncept." +"<koncept>\" för att läsa mer om specifika underkommandon och koncept.\n" +"See \"git help git\" för en översikt över systemet." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "ingen katalog angavs för --git-dir\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "ingen namnrymd angavs för --namespace\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "ingen katalog angavs för --work-tree\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "inget prefix angavs för --super-prefix\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c förväntar en konfigurationssträng\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "ingen katalog angavs för -C\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "okänd flagga: %s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "vid expandering av aliaset \"%s\": \"%s\"" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20420,39 +20918,39 @@ msgstr "" "aliaset \"%s\" ändrar miljövariabler.\n" "Du kan använda \"!git\" i aliaset för att göra det" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "tomt alias för %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "rekursivt alias: %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "skrivfel pÃ¥ standard ut" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "okänt skrivfel pÃ¥ standard ut" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "stäng misslyckades pÃ¥ standard ut" -#: git.c:797 +#: git.c:796 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "alias-slinga detekterades: expansionen av \"%s\" avslutas aldrig:%s" -#: git.c:847 +#: git.c:846 #, c-format msgid "cannot handle %s as a builtin" msgstr "kan inte hantera %s som inbyggd" -#: git.c:860 +#: git.c:859 #, c-format msgid "" "usage: %s\n" @@ -20461,13 +20959,13 @@ msgstr "" "användning: %s\n" "\n" -#: git.c:880 +#: git.c:879 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "" "expandering av alias \"%s\" misslyckades; \"%s\" är inte ett git-kommando\n" -#: git.c:892 +#: git.c:891 #, c-format msgid "failed to run command '%s': %s\n" msgstr "misslyckades köra kommandot \"%s\": %s\n" @@ -20599,7 +21097,7 @@ msgstr "kan inte hämta med sha1 över smart http" #: remote-curl.c:1120 remote-curl.c:1126 #, c-format -msgid "protocol error: expected sha/ref, got %s'" +msgid "protocol error: expected sha/ref, got '%s'" msgstr "protokollfel: förväntade sha/ref, fick \"%s\"" #: remote-curl.c:1138 remote-curl.c:1252 @@ -20628,35 +21126,35 @@ msgstr "remote-curl: försökte ta emot utan lokalt arkiv" msgid "remote-curl: unknown command '%s' from git" msgstr "remote-curl: okänt kommando \"%s\" frÃ¥n git" -#: list-objects-filter-options.h:63 +#: list-objects-filter-options.h:61 msgid "args" msgstr "argument" -#: list-objects-filter-options.h:64 +#: list-objects-filter-options.h:62 msgid "object filtering" msgstr "objektfiltrering" -#: parse-options.h:169 +#: parse-options.h:170 msgid "expiry-date" msgstr "giltig-till" -#: parse-options.h:183 +#: parse-options.h:184 msgid "no-op (backward compatibility)" msgstr "ingen funktion (bakÃ¥tkompatibilitet)" -#: parse-options.h:296 +#: parse-options.h:305 msgid "be more verbose" msgstr "var mer pratsam" -#: parse-options.h:298 +#: parse-options.h:307 msgid "be more quiet" msgstr "var mer tyst" -#: parse-options.h:304 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "använd <n> siffror för att visa SHA-1:or" -#: parse-options.h:323 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "hur blanksteg och #kommentarer skall tas bort frÃ¥n meddelande" @@ -20672,6 +21170,14 @@ msgstr "fältnamn att sortera pÃ¥" msgid "update the index with reused conflict resolution if possible" msgstr "uppdatera indexet med Ã¥teranvänd konfliktlösning om möjligt" +#: wt-status.h:68 +msgid "HEAD detached at " +msgstr "HEAD frÃ¥nkopplad vid " + +#: wt-status.h:69 +msgid "HEAD detached from " +msgstr "HEAD frÃ¥nkopplad frÃ¥n " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Lägg filinnehÃ¥ll till indexet" @@ -20715,7 +21221,7 @@ msgstr "Flytta objekt och referenser efter arkiv" #: command-list.h:60 msgid "Provide content or type and size information for repository objects" msgstr "" -"Visa innehÃ¥ller eller typ- och storleksinformation för objekt i arkivet." +"Visa innehÃ¥ller eller typ- och storleksinformation för objekt i arkivet" #: command-list.h:61 msgid "Display gitattributes information" @@ -21100,214 +21606,222 @@ msgid "Reset current HEAD to the specified state" msgstr "Ã…terställ aktuell HEAD till angivet tillstÃ¥nd" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "Ã…terställ filer i arbetskatalogen" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "Ã…terställ nÃ¥gra befintliga incheckningar" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Visa incheckningsobjekt i omvänd kronologisk ordning" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Plocka ut och massera parametrar" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Ta bort filer frÃ¥n arbetskatalogen och frÃ¥n indexet" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "Sänd en uppsättning patchar som e-post" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "Sänd objekt över Git-protokollet till annat arkiv" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "Begränsat inloggningsskal för SSH-Ã¥tkomst till bara Git" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Summera \"git log\"-utdata" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Visa olika sorters objekt" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Visa grenar och deras incheckningar" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "Skapa packat arkivindex" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Visa referenser i ett lokalt arkiv" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "Git:s i18n-startkod för skalskript" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "Gemensam skriptstartkod för Git" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "Spara undan ändringar i en lortig arbetskatalog" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "Lägg filinnehÃ¥llet till indexet" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Visa status för arbetskatalogen" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Ta bort onödiga blanksteg" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Initiera, uppdatera eller inspektera undermoduler" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Dubbelriktad verkan mellan ett Subversion-arkiv och Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Byt gren" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Läs, modifiera eller ta bort symbolisk referens" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "Skapa, visa, ta bort eller verifiera GPG-signerat taggobjekt" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "Skapar temporära filer med innehÃ¥llet frÃ¥n en blob" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Packa upp objekt frÃ¥n ett pakat arkiv" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Registrera filinnehÃ¥llet frÃ¥n arbetskatalogen i indexet" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "Uppdatera objektnamnet i en referens pÃ¥ ett säkert sätt" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "Uppdatera tilläggsinfofil för att hjälpa dumma servrar" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Sänd arkivet tillbaka till git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Sänd packade objekt tillbaka till git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Visa en logisk Git-variabel" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Kontrollera GPG-signaturer för incheckningar" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Bekräfta packade Git-arkivfiler" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Kontrollera GPG-signaturer i taggar" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Git-webbgränssnitt (webbframända för Git-arkiv)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Visa loggar med differenser varje incheckning introducerar" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Hantera ytterligare arbetskataloger" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Skapa ett trädobjekt frÃ¥n aktuellt index" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Definierar attribut per sökväg" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Gits kommandoradsgränssnitt och -konventioner" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Grundläggande Git-handledning för utvecklare" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git för CVS-användare" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "Justrea diff-utdata" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Ett användbart minsta uppsättning kommandon för vardags-Git" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "En Git-ordlista" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Krokar som används av Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Ange avsiktligen ospÃ¥rade filer att ignorera" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Ange egenskaper för undermoduler" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Git-namnrymder" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Gits arkivlayout" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Ange versioner och intervall i Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Introduktion till Git: del tvÃ¥" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Introduktion till Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Översikt över rekommenderade arbetsflöden med Git" @@ -21718,12 +22232,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "Se git-${cmd}(1) för detaljer." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Tillämpade autostash." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "Kan inte spara $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Ombaserar ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -21764,7 +22287,7 @@ msgstr "" "\n" "Du kan byta ordning pÃ¥ raderna; de utförs uppifrÃ¥n och ned.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -21783,83 +22306,83 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: inte en incheckning som kan väljas" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Felaktigt incheckningsnamn: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "Kan inte skriva ersättnings-sha1 för aktuell incheckning" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Snabbspolade till $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "Kan inte snabbspola till $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "Kan inte flytta HEAD till $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "Vägrar utföra \"squash\" pÃ¥ en sammanslagning: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Fel när sammanslagningen $sha1 skulle göras om" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "Kunde inte välja $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Det här är incheckningsmeddelande ${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "Incheckningsmeddelande ${n} kommer hoppas över:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Det här är en kombination av $count incheckning." msgstr[1] "Det här är en kombination av $count incheckningar." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "Kan inte skriva $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Det här är en kombination av 2 incheckningar." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "Kunde inte tillämpa $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -21873,31 +22396,31 @@ msgstr "" "pre-commit-kroken misslyckades. Om pre-commit-kroken misslyckades kanske\n" "du mÃ¥ste lösa problemet innan du kan skriva om incheckningsmeddelandet." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Stoppade pÃ¥ $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "Kan inte utföra \"$squash_style\" utan en föregÃ¥ende incheckning" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Kör: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "Körning misslyckades: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "och gjorde ändringar till indexet och/eller arbetskatalogen" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -21908,7 +22431,7 @@ msgstr "" "\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -21923,25 +22446,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Okänt kommando: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Rätta det med \"git rebase --edit-todo\"." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "Lyckades ombasera och uppdatera $head_name." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "Kunde inte ta bort CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -21972,11 +22495,11 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "Fel vid försök att hitta författaridentitet för att utöka incheckning" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -21984,40 +22507,40 @@ msgstr "" "Du har ändringar i arbetskatalogen som inte checkats in. Checka in dem\n" "först och kör sedan \"git rebase --continue\" igen." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "Kunde inte checka in köade ändringar." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "Kunde inte starta textredigerare" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "Kunde inte checka ut $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "Inget HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "Kunde inte skapa temporär $state_dir" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "Kunde inte markera som interaktiv" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Ombasera $shortrevisions pÃ¥ $shortonto ($todocount incheckning)" msgstr[1] "Ombasera $shortrevisions pÃ¥ $shortonto ($todocount incheckningar)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "Kunde inte initiera omskrivna incheckningar" @@ -22082,81 +22605,81 @@ msgid "Unable to determine absolute path of git directory" msgstr "Kunde inte bestämma absolut sökväg till git-katalogen" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "köad" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "ej köad" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "binär" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "ingenting" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "oändrad" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "lade till %d sökväg\n" msgstr[1] "lade till %d sökvägar\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "uppdaterade %d sökväg\n" msgstr[1] "uppdaterade %d sökvägar\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "Ã¥terställde %d sökväg\n" msgstr[1] "Ã¥terställde %d sökvägar\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "rörde %d sökväg\n" msgstr[1] "rörde %d sökvägar\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Uppdatera" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Ã…terställ" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "observera: %s spÃ¥ras inte längre.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "Lägg till ospÃ¥rad" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "Inga ospÃ¥rade filer.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." @@ -22164,7 +22687,7 @@ msgstr "" "Om patchen kan appliceras rent kommer det redigerade stycket att\n" "köas omedelbart." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." @@ -22172,7 +22695,7 @@ msgstr "" "Om patchen kan appliceras rent kommer det redigerade stycket att\n" "läggas till i \"stash\" omedelbart." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." @@ -22180,7 +22703,8 @@ msgstr "" "Om patchen kan appliceras rent kommer det redigerade stycket att\n" "tas bort frÃ¥n kön omedelbart." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." @@ -22188,7 +22712,8 @@ msgstr "" "Om patchen kan appliceras rent kommer det redigerade stycket att\n" "markeras för applicering omedelbart." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." @@ -22196,16 +22721,16 @@ msgstr "" "Om patchen kan appliceras rent kommer det redigerade stycket att\n" "markeras för kasta omedelbart." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "misslyckades öppna styckeredigeringsfil för skrivning: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "Manuellt styckeredigeringsläge -- se nederst för snabbguide.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22219,7 +22744,7 @@ msgstr "" "Rader som börjar med %s kommer att tas bort.\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" @@ -22229,7 +22754,7 @@ msgstr "" "redigera den igen. Om alla rader i ett stycke tas bort avbryts\n" "redigeringen och stycket lämnas oförändrat.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "misslyckades öppna styckesredigeringsfil för läsning: %s" @@ -22240,14 +22765,14 @@ msgstr "misslyckades öppna styckesredigeringsfil för läsning: %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" "Ditt redigerade stycke kan inte appliceras. Redigera igen (\"nej\" kastar!) " "[y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22261,7 +22786,7 @@ msgstr "" "a - köa stycket och alla följande i filen\n" "d - köa inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22275,7 +22800,7 @@ msgstr "" "a - \"stash\":a stycket och alla följande i filen\n" "d - \"stash\":a inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22289,7 +22814,7 @@ msgstr "" "a - ta bort stycket och alla följande i filen frÃ¥n kön\n" "d - ta inte bort stycket eller nÃ¥got av de följande i filen frÃ¥n kön" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22303,7 +22828,7 @@ msgstr "" "a - applicera stycket och alla följande i filen\n" "d - applicera inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22317,7 +22842,7 @@ msgstr "" "a - förkasta stycket och alla följande i filen\n" "d - förkasta inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22331,7 +22856,7 @@ msgstr "" "a - förkasta stycket och alla följande i filen\n" "d - förkasta inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22345,7 +22870,21 @@ msgstr "" "a - applicera stycket och alla följande i filen\n" "d - applicera inte stycket eller nÃ¥got av de följande i filen" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - applicera stycket pÃ¥ arbetskatalogen\n" +"n - applicera inte stycket pÃ¥ arbetskatalogen\n" +"q - avsluta; applicera inte stycket eller nÃ¥got av de följande\n" +"a - applicera stycket och alla följande i filen\n" +"d - applicera inte stycket eller nÃ¥got av de följande i filen" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22367,211 +22906,226 @@ msgstr "" "e - redigera aktuellt stycke manuellt\n" "? - visa hjälp\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "Markerade stycken kan inte appliceras pÃ¥ indexet!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Applicera dem pÃ¥ arbetskatalogen trots det? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Ingenting applicerades.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "ignorerar ej sammanslagen: %s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Endast binära filer ändrade.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Inga ändringar.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Uppdatera patch" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Köa ändrat läge [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Köa borttagning [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "Köa stycket [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Stash:a ändrat läge [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Stash:a borttagning [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "Stash:a stycket [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Ta bort ändrat läge frÃ¥n kön [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Ta bort borttagning frÃ¥n kön [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "Ta bort stycket frÃ¥n kön [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Applicera ändrat läge pÃ¥ indexet [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Applicera borttagning pÃ¥ indexet [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "Applicera stycket pÃ¥ indexet [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Kasta ändrat läge frÃ¥n arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Kasta borttagning frÃ¥n arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "Kasta stycket frÃ¥n arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "Kasta ändrat läge frÃ¥n indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "Kasta borttagning frÃ¥n indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "Kasta stycket frÃ¥n indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "Applicera ändrat läge pÃ¥ indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "Applicera borttagning pÃ¥ indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "Applicera stycket pÃ¥ indexet och arbetskatalogen [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicera ändrat läge pÃ¥ arbetskatalogen [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicera borttagning pÃ¥ arbetskatalogen [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Applicera stycket pÃ¥ arbetskatalogen [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "Inga andra stycken att gÃ¥ till\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "gÃ¥ till vilket stycke (<ret> för att se fler)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "gÃ¥ till vilket stycke? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Ogiltigt siffervärde: \"%s\"\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "Beklagar, det finns bara %d stycke.\n" msgstr[1] "Beklagar, det finns bara %d stycken.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "Inga andra stycken att söka efter\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "sök efter reguljärt uttryck? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Felaktigt format pÃ¥ reguljärt sökuttryck %s: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "Inga stycken motsvarar givet mönster\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "Inget föregÃ¥ende stycke\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "Inget följande stycke\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "Beklagar, kan inte dela stycket\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "Dela i %d stycke.\n" msgstr[1] "Dela i %d stycken.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "Beklagar, kan inte redigera stycket\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Granska diff" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -22588,18 +23142,19 @@ msgstr "" "diff - visa diff mellan HEAD och index\n" "add untracked - lägg till innehÃ¥ll i ospÃ¥rade filer till köade ändringar\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "saknad --" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "okänt läge för --patch: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "felaktigt argument %s, förväntar --" @@ -22612,31 +23167,31 @@ msgstr "lokal zon skiljer sig frÃ¥n GMT med delar av minuter\n" msgid "local time offset greater than or equal to 24 hours\n" msgstr "lokal tidszonförskjutning större än eller lika med 24 timmar\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "textredigeringsprogrammet avslutades med fel, avbryter allting" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "" "\"%s\" innehÃ¥ller en mellanliggande version av e-postbrevet du skrev.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "\"%s.final\" innehÃ¥ller det skrivna brevet.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-alias är inkompatibelt med andra flaggor\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "Kan inte köra git format-patch frÃ¥n utanför arkivet\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -22644,37 +23199,37 @@ msgstr "" "\"batch-size\" och \"relogin\" mÃ¥ste anges tillsammans (via kommandorad " "eller konfigurationsflagga)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Okänt fält i --suppress-cc: \"%s\"\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Okänd inställning i --confirm: \"%s\"\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "varning: sendmail-alias med citationstecken stöds inte. %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "varning: \":include:\" stöds inte: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "varning: omdirigering til \"/fil\" eller \"|rör\" stöds inte: %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "varning: sendmail-raden känns inte igen: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -22689,12 +23244,12 @@ msgstr "" " * Säga \"./%s\" om du menar en fil; eller\n" " * Ange flaggan --format-patch om du menar ett intervall.\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Misslyckades utföra opendir %s: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -22703,7 +23258,7 @@ msgstr "" "ödesdigert: %s: %s\n" "varning: inga patchar har sänts\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -22713,17 +23268,17 @@ msgstr "" "Inga patchfiler angavs!\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Ingen ärenderad i %s?" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Kunde inte öppna för skrivning %s: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -22737,38 +23292,38 @@ msgstr "" "\n" "Rensa brevkroppen om du inte vill sända nÃ¥gon sammanfattning.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "Misslyckades öppna %s: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Misslyckades öppna %s.final: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "Sammanfattande brev tomt, hoppar över\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Är du säker pÃ¥ att du vill använda <%s> [Y=ja, N=nej]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" msgstr "" "Följande filer är Ã¥ttabitars, men anger inte en Content-Transfer-Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Vilken Ã¥ttabitarsteckenkodning skall jag ange [UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -22781,21 +23336,21 @@ msgstr "" "har mallärendet \"*** SUBJECT HERE ***\". Använd --force om du verkligen " "vill sända.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "Till vem skall breven sändas (om nÃ¥gon)?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "ödesdigert: aliaset \"%s\" expanderar till sig själv\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "" "Message-ID att använda som In-Reply-To för det första brevet (om nÃ¥got)? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "fel: kunde inte fÃ¥ fram en giltig adress frÃ¥n: %s\n" @@ -22803,16 +23358,16 @@ msgstr "fel: kunde inte fÃ¥ fram en giltig adress frÃ¥n: %s\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Vad vill du göra med adressen? (q=avsluta, d=kasta, e=redigera): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "CA-sökvägen \"%s\" finns inte" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -22839,124 +23394,124 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "Sända brevet? (y=ja, n=nej, e=redigera, q=avsluta, a=alla): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Svar krävs pÃ¥ frÃ¥gan \"Sända brevet?\"" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "Nödvändig SMTP-server har inte angivits korrekt." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Servern stöder inte SMARTTLS! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "STARTTLS misslyckades! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "Kan inte initiera SMTP korrekt. Kontrollera inställningarna och använd --" "smtp-debug." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "Misslyckades sända %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Test-Sände %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "Sände %s\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Test-OK. Loggen säger:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK. Loggen säger:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Resultat: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Resultat: OK\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "kan inte öppna filen %s" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Lägger till cc: %s frÃ¥n raden \"%s\"\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Lägger till to: %s frÃ¥n raden \"%s\"\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(icke-mbox) Lägger till cc: %s frÃ¥n raden \"%s\"\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(kropp) Lägger till cc: %s frÃ¥n raden \"%s\"\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Kunde inte köra \"%s\"" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Lägger till %s: %s frÃ¥n: \"%s\"\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) misslyckades stänga röret till \"%s\"" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "kan inte sända brev som sjubitars" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "ogiltig överföringskondning" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "kunde inte öppna %s: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s: patchen innehÃ¥ller en rad längre än 998 tecken" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "" @@ -22964,11 +23519,72 @@ msgstr "" "säkerhetskopior.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Vill du verkligen sända %s? [y=ja, n=nej]: " +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "Servern stöder \"multi_ack_detailed\"" + +#~ msgid "Server supports no-done" +#~ msgstr "Servern stöder \"no-done\"" + +#~ msgid "Server supports multi_ack" +#~ msgstr "Servern stöder \"multi_ack\"" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "Servern stöder \"side-band-64k\"" + +#~ msgid "Server supports side-band" +#~ msgstr "Servern stöder \"side-band\"" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "Servern stöder \"allow-tip-sha1-in-want\"" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "Servern stöder \"allow-reachable-sha1-in-want\"" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "Servern stöder \"ofs-delta\"" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD frÃ¥nkopplat vid %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD frÃ¥nkopplat frÃ¥n %s)" + +#~ msgid "Checking out files" +#~ msgstr "Checkar ut filer" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "" +#~ "kan inte vara interaktiv om standard in inte är ansluten till en terminal." + +#~ msgid "failed to open '%s'" +#~ msgstr "misslyckades öppna \"%s\"" + +#~ msgid "failed to stat %s\n" +#~ msgstr "misslyckades ta status pÃ¥ %s\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Om du vill hoppa över incheckningen, använd:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "\"git cherry-pick --continue\" kommer därefter att Ã¥teruppta\n" +#~ "cherry-pick för Ã¥terstÃ¥ende incheckningar.\n" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "okänt verb: %s" + #~ msgid "hash version %X does not match version %X" #~ msgstr "hash-versionen %X stämmer inte med versionen %X" @@ -23073,9 +23689,6 @@ msgstr "Vill du verkligen sända %s? [y=ja, n=nej]: " #~ msgstr "" #~ "Först, spolar tillbaka huvudet för att spela av ditt arbete ovanpÃ¥ det..." -#~ msgid "--reschedule-failed-exec requires an interactive rebase" -#~ msgstr "--reschedule-failed-exec kräver en interaktiv ombasering" - #~ msgid "ignoring unknown color-moved-ws mode '%s'" #~ msgstr "ignorerar okänt läge för color-mode-ws \"%s\"" @@ -23146,12 +23759,6 @@ msgstr "Vill du verkligen sända %s? [y=ja, n=nej]: " #~ msgid "cannot remove a locked working tree" #~ msgstr "kan inte ta bort en lÃ¥st arbetskatalog" -#~ msgid "Applied autostash." -#~ msgstr "Tillämpade autostash." - -#~ msgid "Cannot store $stash_sha1" -#~ msgstr "Kan inte spara $stash_sha1" - #~ msgid "" #~ "\n" #~ "\tHowever, if you remove everything, the rebase will be aborted.\n" @@ -6,10 +6,10 @@ # msgid "" msgstr "" -"Project-Id-Version: git v2.22.0 round 3\n" +"Project-Id-Version: git v2.23.0-rc2\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" -"PO-Revision-Date: 2019-06-04 08:07+0700\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" +"PO-Revision-Date: 2019-08-11 07:08+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" "Language: vi\n" @@ -22,45 +22,45 @@ msgstr "" "X-Poedit-Basepath: ..\n" "X-Generator: Gtranslator 2.91.7\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sgợi ý: %.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "" "Cherry-picking là không thể thá»±c hiện bởi vì bạn có những táºp tin chưa được " "hòa trá»™n." -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "" "Commit là không thể thá»±c hiện bởi vì bạn có những táºp tin chưa được hòa trá»™n." -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "" "Merge là không thể thá»±c hiện bởi vì bạn có những táºp tin chưa được hòa trá»™n." -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "" "Pull là không thể thá»±c hiện bởi vì bạn có những táºp tin chưa được hòa trá»™n." -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "" "Revert là không thể thá»±c hiện bởi vì bạn có những táºp tin chưa được hòa trá»™n." -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "" -"Việc nà y không thể thá»±c hiện vá»›i %s bởi vì bạn có những táºp tin chưa được hòa " -"trá»™n." +"Việc nà y không thể thá»±c hiện vá»›i %s bởi vì bạn có những táºp tin chưa được " +"hòa trá»™n." -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -68,49 +68,62 @@ msgstr "" "Sá»a chúng trong cây là m việc, và sau đó dùng lệnh “git add/rm <táºp-tin>â€\n" "dà nh riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao." -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "Thoát ra bởi vì xung đột không thể giải quyết." -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Bạn chưa kết thúc việc hòa trá»™n (MERGE_HEAD vẫn tồn tại)." -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "Vui lòng chuyển giao các thay đổi trước khi hòa trá»™n." -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "Thoát ra bởi vì việc hòa trá»™n không hoà n tất." -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" +"\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" "\n" -" git checkout -b <new-branch-name>\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"Chú ý: Ä‘ang lấy ra “%sâ€.\n" +"Chú ý: Ä‘ang chuyển sang “%sâ€.\n" "\n" "Bạn Ä‘ang ở tình trạng “detached HEADâ€. Bạn có thể xem qua, tạo các thay\n" "đổi thá» nghiệm và chuyển giao chúng, bạn có thể loại bá» bất kỳ lần chuyển\n" -"giao nà o trong tình trạng nà y mà không cần đụng cháºm đến bất kỳ nhánh nà o\n" -"bằng cách thá»±c hiện lần lấy ra khác nữa.\n" +"giao nà o trong tình trạng nà y mà không cần đụng chạm đến bất kỳ nhánh nà o\n" +"bằng cách chuyển trở lại má»™t nhánh.\n" "\n" "Nếu bạn muốn tạo má»™t nhánh má»›i để giữ lại các lần chuyển giao bạn tạo,\n" -"bạn có thể là m thế (ngay bây giá» hay sau nà y) bằng cách chạy lệnh checkout\n" -"lần nữa vá»›i tùy chá»n -b. Và dụ:\n" +"bạn có thể là m thế (ngay bây giá» hay sau nà y) bằng cách dùng tùy chá»n\n" +"dòng lệnh -b. Và dụ:\n" "\n" -" git checkout -b <tên-nhánh-má»›i>\n" +" git checkout -c <tên-nhánh-má»›i>\n" +"\n" +"Hoà n lại thao tác nà y bằng:\n" +"\n" +" git switch -\n" +"\n" +"Tắt hướng dẫn nà y bằng cách đặt biến advice.detachedHead thà nh false\n" "\n" #: alias.c:50 @@ -119,97 +132,97 @@ msgstr "cmdline kết thúc vá»›i \\" #: alias.c:51 msgid "unclosed quote" -msgstr "chưa đóng trÃch dẫn" +msgstr "chưa có dấu nháy đóng" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "không nháºn ra tùy chá»n vá» khoảng trắng “%sâ€" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "không nháºn ra tùy chá»n bá» qua khoảng trắng “%sâ€" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject và --3way không thể dùng cùng nhau." -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached và --3way không thể dùng cùng nhau." -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way ở ngoà i má»™t kho chứa" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index ở ngoà i má»™t kho chứa" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached ở ngoà i má»™t kho chứa" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "" "Không thể chuẩn bị biểu thức chÃnh qui dấu vết thá»i gian (timestamp regexp) " "%s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "thi hà nh biểu thức chÃnh quy trả vá» %d cho đầu và o: %s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "không thể tìm thấy tên táºp tin trong miếng vá tại dòng %d" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: git-diff sai - cần /dev/null, nhưng lại nháºn được %s trên dòng %d" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "git apply: git-diff sai - tên táºp tin má»›i không nhất quán trên dòng %d" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "git apply: git-diff sai - tên táºp tin cÅ© không nhất quán trên dòng %d" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: git-diff sai - cần “/dev/null†trên dòng %d" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "chế độ không hợp lệ trên dòng %d: %s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "phần đầu mâu thuẫn dòng %d và %d" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "chi tiết: dòng không cần: %.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "miếng vá phân mảnh mà không có phần đầu tại dòng %d: %.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -221,81 +234,81 @@ msgstr[0] "" "phần đầu diff cho git thiếu thông tin tên táºp tin khi gỡ bá» Ä‘i %d trong " "thà nh phần dẫn đầu tên cá»§a đưá»ng dẫn (dòng %d)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "phần đầu diff cho git thiếu thông tin tên táºp tin (dòng %d)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "táºp tin má»›i phụ thuá»™c và o ná»™i dung cÅ©" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "táºp tin đã xóa vẫn còn ná»™i dung" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "miếng vá há»ng tại dòng %d" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "táºp tin má»›i %s phụ thuá»™c và o ná»™i dung cÅ©" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "táºp tin đã xóa %s vẫn còn ná»™i dung" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** cảnh báo: táºp tin %s trở nên trống rá»—ng nhưng không bị xóa" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "miếng vá định dạng nhị phân sai há»ng tại dòng %d: %.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "miếng vá định dạng nhị phân không được nháºn ra tại dòng %d" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "vá chỉ vá»›i “rác†tại dòng %d" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "không thể Ä‘á»c liên kết má»m %s" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "không thể mở hay Ä‘á»c %s" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "sai khởi đầu dòng: “%câ€" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "Khối dữ liệu #%d thà nh công tại %d (offset %d dòng)." -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "Ná»™i dung bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -304,459 +317,459 @@ msgstr "" "trong khi Ä‘ang tìm kiếm cho:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "thiếu dữ liệu cá»§a miếng vá định dạng nhị phân cho “%sâ€" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "" -"không thể reverse-apply má»™t miếng vá nhị phân mà không đảo ngược hunk thà nh " +"không thể reverse-apply má»™t miếng vá nhị phân mà không đảo ngược khúc thà nh " "“%sâ€" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "" "không thể áp dụng miếng vá nhị phân thà nh “%s†mà không có dòng chỉ mục đầy " "đủ" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "" "miếng vá áp dụng cho “%s†(%s), cái mà không khá»›p vá»›i các ná»™i dung hiện tại." -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "miếng vá áp dụng cho má»™t “%s†trống rá»—ng nhưng nó lại không trống" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "không thể Ä‘á»c postimage %s cần thiết cho “%sâ€" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%sâ€" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "vá nhị phân cho “%s†tạo ra kết quả không chÃnh xác (mong chá» %s, lại nháºn " "%s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "gặp lá»—i khi vá: %s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "không thể lấy ra %s" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "gặp lá»—i khi Ä‘á»c %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "Ä‘á»c từ “%s†vượt ra ngoà i liên kết má»m" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "đưá»ng dẫn %s đã bị xóa hoặc đổi tên" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s: không tồn tại trong bảng mục lục" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s: không khá»›p trong mục lục" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "kho thiếu đối tượng blob cần thiết để trở vá» trên “3-way mergeâ€." -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "Äang trở lại hòa trá»™n “3-đưá»ngâ€â€¦\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "không thể Ä‘á»c ná»™i dung hiện hà nh cá»§a “%sâ€" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "Gặp lá»—i khi quay trở lại để hòa trá»™n kiểu “three-wayâ€â€¦\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "Äã áp dụng miếng vá %s vá»›i các xung đột.\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "Äã áp dụng miếng vá %s má»™t cách sạch sẽ.\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "loại bá» miếng vá để lại ná»™i dung táºp tin" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s: sai kiểu" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s có kiểu %o, cần %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "đưá»ng dẫn không hợp lệ “%sâ€" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s: đã có từ trước trong bảng mục lục" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s: đã sẵn có trong thư mục Ä‘ang là m việc" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "chế độ má»›i (%o) cá»§a %s không khá»›p vá»›i chế độ cÅ© (%o)" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "chế độ má»›i (%o) cá»§a %s không khá»›p vá»›i chế độ cÅ© (%o) cá»§a %s" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "táºp tin chịu tác động “%s†vượt ra ngoà i liên kết má»m" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%s: miếng vá không được áp dụng" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "Äang kiểm tra miếng vá %s…" -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "thông tin sha1 thiếu hoặc không dùng được cho mô-Ä‘un %s" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "thay đổi chế độ cho %s, cái mà không phải là HEAD hiện tại" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "thông tin sha1 còn thiếu hay không dùng được(%s)." -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry gặp lá»—i đối vá»›i đưá»ng dẫn “%sâ€" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "không thể thêm %s và o chỉ mục tạm thá»i" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" -msgstr "không thểghi mục lục tạm và o %s" +msgstr "không thể ghi mục lục tạm và o %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "không thể gỡ bá» %s từ mục lục" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "miếng vá sai há»ng cho mô-Ä‘un-con %s" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" -msgstr "không thể lấy thống ká» vá» táºp tin %s má»›i hÆ¡n đã được tạo" +msgstr "không thể lấy thống kê vá» táºp tin %s má»›i hÆ¡n đã được tạo" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "không thể tạo “kho lưu đằng sau†cho táºp tin được tạo má»›i hÆ¡n %s" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "không thể thêm mục nhá»› đệm cho %s" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "gặp lá»—i khi ghi và o “%sâ€" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "Ä‘ang đóng táºp tin “%sâ€" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "không thể ghi và o táºp tin “%s†chế độ %o" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "Äã áp dụng miếng vá %s má»™t cách sạch sẽ." -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "lá»—i ná»™i bá»™" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Äang áp dụng miếng vá %%s vá»›i %d lần từ chối…" -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "Ä‘ang cắt ngắn tên táºp tin .rej thà nh %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "không mở được “%sâ€" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "Khối nhá»› #%d được áp dụng gá»n gà ng." -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "Äoạn dữ liệu #%d bị từ chối." -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "Bá» qua đưá»ng dẫn “%sâ€." -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "không thừa nháºn đầu và o" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "không thể Ä‘á»c táºp tin lưu bảng mục lục" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "không thể mở miếng vá “%sâ€: %s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "đã chấm dứt %d lá»—i khoảng trắng" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d dòng thêm khoảng trắng lá»—i." -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "%d dòng được áp dụng sau khi sá»a các lá»—i khoảng trắng." -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "Không thể ghi táºp tin lưu bảng mục lục má»›i" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "đưá»ng-dẫn" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "không áp dụng các thay đổi khá»›p vá»›i đưá»ng dẫn đã cho" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "áp dụng các thay đổi khá»›p vá»›i đưá»ng dẫn đã cho" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "số" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "gỡ bá» <số> dấu gạch chéo dẫn đầu từ đưá»ng dẫn diff cổ Ä‘iển" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "lá» Ä‘i phần bổ xung được tạo ra bởi miếng vá" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "" "thay vì áp dụng má»™t miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "" "hiển thị số lượng các dòng được thêm và o và xóa Ä‘i theo ký hiệu tháºp phân" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "thay vì áp dụng má»™t miếng vá, kết xuất kết quả cho đầu và o" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thÃch hợp không" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "hãy chắc chắn là miếng vá thÃch hợp vá»›i bảng mục lục hiện hà nh" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "đánh dấu các táºp tin má»›i vá»›i “git add --intent-to-addâ€" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "áp dụng má»™t miếng vá mà không động chạm đến cây là m việc" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "chấp nháºn má»™t miếng vá mà không động chạm đến cây là m việc" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" "đồng thá»i áp dụng miếng vá (dùng vá»›i tùy chá»n --stat/--summary/--check)" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "thá» hòa trá»™n kiểu three-way nếu việc vá không thể thá»±c hiện được" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "" "xây dá»±ng bảng mục lục tạm thá»i trên cÆ¡ sở thông tin bảng mục lục được nhúng" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "các đưá»ng dẫn bị ngăn cách bởi ký tá»± NULL" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "đảm bảo rằng có Ãt nhất <n> dòng ná»™i dung khá»›p" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "hà nh động" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "tìm thấy má»™t dòng má»›i hoặc bị sá»a đổi mà nó có lá»—i do khoảng trắng" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "lá» Ä‘i sá»± thay đổi do khoảng trắng gây ra khi quét ná»™i dung" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "áp dụng miếng vá theo chiá»u ngược" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "đừng hy vá»ng có Ãt nhất má»™t dòng ná»™i dung" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "để lại khối dữ liệu bị từ chối trong các táºp tin *.rej tương ứng" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "cho phép chồng khối nhá»›" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "chi tiết" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "đã dò tìm thấy dung sai không chÃnh xác thiếu dòng má»›i tại cuối táºp tin" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "gốc" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "treo thêm <root> và o tất cả các tên táºp tin" #: archive.c:14 msgid "git archive [<options>] <tree-ish> [<path>...]" -msgstr "git archive [<các-tùy-chá»n>] <tree-ish> [<đưá»ng-dẫn>…]" +msgstr "git archive [<các tùy chá»n>] <tree-ish> [</đưá»ng/dẫn>…]" #: archive.c:15 msgid "git archive --list" @@ -766,8 +779,8 @@ msgstr "git archive --list" msgid "" "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]" msgstr "" -"git archive --remote <kho> [--exec <lệnh>] [<các-tùy-chá»n>] <tree-ish> " -"[<đưá»ng-dẫn>…]" +"git archive --remote <kho> [--exec <lệnh>] [<các tùy chá»n>] <tree-ish> [</" +"đưá»ng/dẫn>…]" #: archive.c:17 msgid "git archive --remote <repo> [--exec <cmd>] --list" @@ -793,98 +806,98 @@ msgstr "không phải là tên đối tượng hợp lệ: “%sâ€" msgid "not a tree object: %s" msgstr "không phải là đối tượng cây: “%sâ€" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "thư mục là m việc hiện hà nh chưa được theo dõi" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "định_dạng" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "định dạng lưu trữ" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "tiá»n_tố" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "nối thêm tiá»n tố và o từng đưá»ng dẫn táºp tin trong kho lưu" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "táºp_tin" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "ghi kho lưu và o táºp tin nà y" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "Ä‘á»c .gitattributes trong thư mục là m việc" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "liệt kê các táºp tin được lưu trữ và o stderr (đầu ra lá»—i tiêu chuẩn)" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "chỉ lưu (không nén)" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "nén nhanh hÆ¡n" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "nén nhá» hÆ¡n" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "liệt kê các kiểu nén được há»— trợ" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "kho" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "nháºn kho nén từ kho chứa <kho> trên máy chá»§" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "lệnh" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "đưá»ng dẫn đến lệnh git-upload-pack trên máy chá»§" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" -msgstr "Gặp tùy chá»n --remote không cần" +msgstr "Gặp tùy chá»n không cần --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "Tùy chá»n --exec chỉ có thể được dùng cùng vá»›i --remote" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "Gặp tùy chá»n không cần --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "Không hiểu định dạng “%sâ€" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "Tham số không được há»— trợ cho định dạng “%sâ€: -%d" @@ -928,7 +941,7 @@ msgstr "đưá»ng dẫn không hợp lệ UTF-8: %s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "đưá»ng dẫn quá dà i (%d ký tá»±, SHA1: %s): %s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "lá»—i giải nén (%d)" @@ -1031,12 +1044,12 @@ msgstr "Bisecting: ná»n hòa trá»™n cần phải được kiểm tra\n" msgid "a %s revision is needed" msgstr "cần má»™t Ä‘iểm xét duyệt %s" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "không thể tạo táºp tin “%sâ€" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "không thể Ä‘á»c táºp tin “%sâ€" @@ -1074,40 +1087,40 @@ 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] "Bisecting: còn %d Ä‘iểm xét duyệt để kiểm sau %s nà y\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "tùy chá»n--contents và --reverse không được trá»™n và o nhau." -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "không thể dùng --contents vá»›i tên đối tượng chuyển giao cuối cùng" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "" -"--reverse và --first-parent cùng nhau cần chỉ định lần chuyển giao cuối" +"cùng sá» dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "cà i đặt việc di chuyển qua các Ä‘iểm xét duyệt gặp lá»—i" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "" -"--reverse --first-parent cùng nhau yêu cầu vùng cùng vá»›i chuá»—i cha-mẹ-đầu-" +"cùng sá» dụng --reverse --first-parent yêu cầu vùng cùng vá»›i chuá»—i cha-mẹ-đầu-" "tiên" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "không có đưá»ng dẫn %s trong “%sâ€" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "không thể Ä‘á»c blob %s cho đưá»ng dẫn “%sâ€" @@ -1243,12 +1256,12 @@ msgstr "Tên đối tượng chưa rõ rà ng: “%sâ€." msgid "Not a valid branch point: '%s'." msgstr "Nhánh không hợp lệ: “%sâ€." -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "“%s†đã được lấy ra tại “%s†rồi" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "HEAD cá»§a cây là m việc %s chưa được cáºp nháºt" @@ -1263,8 +1276,8 @@ msgstr "“%s†không giống như táºp tin v2 bundle (định dạng dump cá msgid "unrecognized header: %s%s (%d)" msgstr "phần đầu không được thừa nháºn: %s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "không thể mở “%sâ€" @@ -1273,58 +1286,62 @@ msgstr "không thể mở “%sâ€" msgid "Repository lacks these prerequisite commits:" msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết nà y:" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "cần má»™t kho chứa để thẩm tra má»™t bundle" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "Bó dữ liệu chứa %d tham chiếu:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "Lệnh bundle ghi lại toà n bá»™ lịch sá»." -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "Lệnh bundle yêu cầu %d tham chiếu nà y:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "không thể nhân đôi bá»™ mô tả bundle" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "Không thể sản sinh đối tượng gói" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "đối tượng gói đã chết" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "rev-list đã chết" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "th.chiếu “%s†bị loại trừ bởi các tùy chá»n rev-list" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "đối số không được thừa nháºn: %s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "Từ chối tạo má»™t bó dữ liệu trống rá»—ng." -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "không thể tạo “%sâ€" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "mục lục gói đã chết" @@ -1333,8 +1350,8 @@ msgstr "mục lục gói đã chết" msgid "invalid color value: %.*s" msgstr "giá trị mà u không hợp lệ: %.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "không thể phân tÃch cú pháp %s" @@ -1344,7 +1361,7 @@ msgstr "không thể phân tÃch cú pháp %s" msgid "%s %s is not a commit!" msgstr "%s %s không phải là má»™t lần chuyển giao!" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1364,28 +1381,28 @@ msgstr "" "Tắt lá»i nhắn nà y bằng cách chạy\n" "\"git config advice.graftFileDeprecated false\"" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Lần chuyển giao %s có má»™t chữ ký GPG không đáng tin, được cho là bởi %s." -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "Lần chuyển giao %s có má»™t chữ ký GPG sai, được cho là bởi %s." -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Lần chuyển giao %s không có chữ ký GPG." -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Lần chuyển giao %s có má»™t chữ ký GPG tốt bởi %s\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1395,215 +1412,278 @@ msgstr "" "Bạn có lẽ muốn tu bổ nó sau khi sá»a lá»i chú thÃch, hoặc là đặt biến\n" "cấu hình i18n.commitencoding thà nh bảng mã mà dá»± án cá»§a bạn muốn dùng.\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" -msgstr "táºp tin đồ thị các lần chuyển giao quá nhá»" +msgstr "táºp tin đồ-thị-các-lần-chuyển-giao quá nhá»" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" -msgstr "chữ ký đồ thị lần chuyển giao %X không khá»›p chữ ký %X" +msgstr "chữ ký đồ-thị-các-lần-chuyển-giao %X không khá»›p chữ ký %X" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" -msgstr "phiên bản đồ đồ thị lần chuyển giao %X không khá»›p phiên bản %X" +msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khá»›p phiên bản %X" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" -msgstr "phiên bản đồ thị lần chuyển giao %X không khá»›p phiên bản %X" +msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khá»›p phiên bản %X" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "" -"mục tin bảng tìm kiếm mảnh còn thiếu; táºp tin có thể sẽ không hoà n thiện" +"bảng tìm kiếm mảnh đồ-thị-các-lần-chuyển-giao còn thiếu; táºp tin có thể sẽ " +"không hoà n thiện" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" -msgstr "bù mảnh không đúng chá»— %08x%08x" +msgstr "bù mảnh đồ-thị-các-lần-chuyển-giao không đúng chá»— %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" -msgstr "mã mảnh đồ thị lần chuyển giao %08x xuất hiện nhiá»u lần" +msgstr "mã mảnh đồ-thị-các-lần-chuyển-giao %08x xuất hiện nhiá»u lần" + +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "đồ-thị-các-lần-chuyển-giao có không có mảnh các đồ há»a cÆ¡ sở" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "móc xÃch đồ-thị-các-lần-chuyển-giao không khá»›p" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "" +"móc xÃch đồ-thị-các-lần-chuyển-giao không hợp lệ: dòng '%s' không phải là " +"má»™t mã băm" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "không thể tìm thấy tất cả các táºp tin đồ-thị-các-lần-chuyển-giao" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "" +"vị trà lần chuyển giao không hợp lệ. đồ-thị-các-lần-chuyển-giao có vẻ như đã " +"bị há»ng" -#: commit-graph.c:390 +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "không thể tìm thấy lần chuyển giao %s" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "không thể lấy kiểu cá»§a đối tượng “%sâ€" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "Äang tải các lần chuyển giao chưa biết trong đồ thị lần chuyển giao" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "" "Mở rá»™ng các lần chuyển giao có thể tiếp cáºn được trong trong đồ thị lần " "chuyển giao" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "Äang dá»n dẹp các đánh dấu lần chuyển giao trong đồ thị lần chuyển giao" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" -msgstr "Äang tÃnh toán số tạo sÆ¡ đồ các lần chuyển giao" +msgstr "Äang tÃnh toán số tạo đồ thị các lần chuyển giao" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "" "Äang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %d gói" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "gặp lá»—i thêm gói %s" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "gặp lá»—i khi mở mục lục cho “%sâ€" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "" "Äang tìm các lần chuyển giao cho đồ thị lần chuyển giao từ %d tham chiếu" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "" "Äang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong số các đối " "tượng đã đóng gói" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "Äang đếm các lần chuyển giao khác nhau trong đồ thị lần chuyển giao" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "định dạng đồ há»a các lần chuyển giao không thể ghi %d lần chuyển giao" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "Äang tìm các cạnh mở tá»™ng trong đồ thị lần chuyển giao" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "có quá nhiá»u lần chuyển giao để ghi đồ thị" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "gặp lá»—i khi ghi số đúng cá»§a mã đồ há»a cÆ¡ sở" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "không thể tạo các thư mục dẫn đầu cá»§a “%sâ€" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "không thể tạo “%sâ€" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "Äang ghi ra đồ thị các lần chuyển giao trong lần %d" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "không thể mở táºp tin mắt xÃch đồ thị chuyển giao" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "gặp lá»—i khi đổi tên táºp tin đồ-thị-các-lần-chuyển-giao" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "gặp lá»—i khi đổi tên táºp tin đồ-thị-các-lần-chuyển-giao tạm thá»i" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "Äang quét các lần chuyển giao đã hòa trá»™n" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "gặp mã số tÃch lần chuyển giao bị trùng lặp “%sâ€" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "Äang hòa trá»™n đồ-thị-các-lần-chuyển-giao" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "định dạng đồ há»a các lần chuyển giao không thể ghi %d lần chuyển giao" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "có quá nhiá»u lần chuyển giao để ghi đồ thị" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "" -"táºp tin sÆ¡ đồ chuyển giao có tổng kiểm không đúng và có vẻ như là đã há»ng" +"táºp tin đồ-thị-các-lần-chuyển-giao có tổng kiểm không đúng và có vẻ như là " +"đã há»ng" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" -msgstr "đồ thị lần chuyển giao có thứ tá»± OID không đúng: %s sau %s" +msgstr "đồ-thị-các-lần-chuyển-giao có thứ tá»± OID không đúng: %s sau %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "" -"đồ thị lần chuyển giao có giá trị fanout không đúng: fanout[%d] = %u != %u" +"đồ-thị-các-lần-chuyển-giao có giá trị fanout không đúng: fanout[%d] = %u != " +"%u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" -msgstr "gặp lá»—i khi phân tÃch lần chuyển giao từ %s đồ thị lần chuyển giao" +msgstr "gặp lá»—i khi phân tÃch lần chuyển giao từ %s đồ-thị-các-lần-chuyển-giao" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "Äang thẩm tra các lần chuyển giao trong đồ thị lần chuyển giao" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "" "gặp lá»—i khi phân tÃch lần chuyển giao %s từ cÆ¡ sở dữ liệu đối tượng cho đồ " "thị lần chuyển giao" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "" -"OID cây gốc cho lần chuyển giao %s trong đồ thị lần chuyển giao là %s != %s" +"OID cây gốc cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là %s != " +"%s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "" -"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s là quá dà i" +"danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là quá dà i" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" -msgstr "cha mẹ đồ thị lần chuyển giao cho %s là %s != %s" +msgstr "cha mẹ đồ-thị-các-lần-chuyển-giao cho %s là %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "" -"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s bị chấm dứt " -"quá sá»›m" +"danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s bị chấm " +"dứt quá sá»›m" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" msgstr "" -"đồ thị lần chuyển giao có con số không lần tạo cho lần chuyển giao %s, nhưng " -"không phải số không ở chá»— khác" +"đồ-thị-các-lần-chuyển-giao có con số không lần tạo cho lần chuyển giao %s, " +"nhưng không phải số không ở chá»— khác" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" msgstr "" -"đồ thị lần chuyển giao có con số không phải không lần tạo cho lần chuyển " +"đồ-thị-các-lần-chuyển-giao có con số không phải không lần tạo cho lần chuyển " "giao %s, nhưng số không ở chá»— khác" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" -msgstr "tạo đồ thị lần chuyển giao cho lần chuyển giao %s là %u != %u" +msgstr "tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "" -"ngà y chuyển giao cho lần chuyển giao %s trong đồ thị lần chuyển giao là " +"ngà y chuyển giao cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là " "%<PRIuMAX> != %<PRIuMAX>" #: compat/obstack.c:406 compat/obstack.c:408 msgid "memory exhausted" msgstr "hết bá»™ nhá»›" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1618,297 +1698,297 @@ msgstr "" "\t%s\n" "Nguyên nhân có thể là gồm quẩn vòng." -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "không thể khai triển đưá»ng dẫn “%sâ€" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "các bao gồm cấu hình liên quan phải đến từ các táºp tin" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "các Ä‘iá»u kiện bao gồm cấu hình liên quan phải đến từ các táºp tin" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "khóa không chứa má»™t phần: %s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "khóa không chứa bất kỳ má»™t tên biến nà o: %s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "khóa không đúng: %s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "khóa không hợp lệ (dòng má»›i): %s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "tham số cấu hình không có thá»±c: %s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "định dạng không có thá»±c trong %s" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "táºp tin cấu hình sai tại dòng %d trong blob %s" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "cấu hình sai tại dòng %d trong táºp tin %s" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "cấu hình sai tại dòng %d trong đầu và o tiêu chuẩn" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "cấu hình sai tại dòng %d trong blob-mô-Ä‘un-con %s" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "cấu hình sai tại dòng %d trong dòng lệnh %s" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "cấu hình sai tại dòng %d trong %s" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "nằm ngoà i phạm vi" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "đơn vị không hợp lệ" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "sai giá trị bằng số cá»§a cấu hình “%s†cho “%sâ€: %s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong blob %s: %s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong táºp tin %s: %s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "" "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong đầu và o tiêu chuẩn: %s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "" "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong submodule-blob %s: %s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong dòng lệnh %s: %s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "sai giá trị bằng số cá»§a cấu hình “%s†cho “%s†trong %s: %s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "gặp lá»—i mở rá»™ng thư mục ngưá»i dùng trong: “%sâ€" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "“%s†dà nh cho “%s†không phải là dấu vết thá»i gian hợp lệ" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "chiá»u dà i abbrev nằm ngoà i phạm vi: %d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "mức nén zlib %d là sai" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar chỉ được có má»™t ký tá»±" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "chế độ không hợp lệ đối vá»›i việc tạo đối tượng: %s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "giá trị cho %s sai dạng" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "giá trị cho %s sai dạng: %s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "phải là má»™t trong số nothing, matching, simple, upstream hay current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "mức nén gói %d không hợp lệ" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "không thể tải đối tượng blob cấu hình “%sâ€" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "tham chiếu “%s†không chỉ đến má»™t blob nà o cả" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "không thể phân giải Ä‘iểm xét duyệt “%sâ€" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "gặp lá»—i khi phân tÃch cú pháp %s" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "không thể phân tÃch cấu hình dòng lệnh" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "đã có lá»—i chưa biết xảy ra trong khi Ä‘á»c các táºp tin cấu hình" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "%s không hợp lệ: “%sâ€" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "" "không hiểu giá trị core.untrackedCache “%sâ€; dùng giá trị mặc định “keepâ€" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "giá trị splitIndex.maxPercentChange “%d†phải nằm giữa 0 và 100" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "không thể phân tÃch “%s†từ cấu hình dòng lệnh" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "sai biến cấu hình “%s†trong táºp tin “%s†tại dòng %d" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "tên cá»§a phần không hợp lệ “%sâ€" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s có Ä‘a giá trị" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "gặp lá»—i khi ghi táºp tin cấu hình “%sâ€" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "không thể khóa táºp tin cấu hình %s" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "Ä‘ang mở “%sâ€" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "mẫu không hợp lệ: %s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "táºp tin cấu hình “%s†không hợp lệ" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "fstat trên %s gặp lá»—i" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "không thể mmap “%sâ€" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "chmod trên %s gặp lá»—i" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "không thể ghi táºp tin cấu hình “%sâ€" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "không thể đặt “%s†thà nh “%sâ€" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "không thể thôi đặt “%sâ€" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "tên cá»§a phần không hợp lệ: %s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "thiếu giá trị cho cho “%sâ€" @@ -2072,19 +2152,19 @@ msgstr "đã khóa tên đưá»ng dẫn lạ “%sâ€" msgid "unable to fork" msgstr "không thể rẽ nhánh tiến trình con" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "Äang kiểm tra kết nối" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "Không thể chạy “git rev-listâ€" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "gặp lá»—i khi ghi và o rev-list" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "gặp lá»—i khi đóng đầu và o chuẩn stdin cá»§a rev-list" @@ -2294,7 +2374,7 @@ msgid "island regex from config has too many capture groups (max=%d)" msgstr "" "biểu thức chÃnh quy island từ cấu hình có quá nhiá»u nhóm chụp (tối Ä‘a=%d)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "Äã đánh dấu %d island, xong.\n" @@ -2310,7 +2390,7 @@ msgstr "Äang thá»±c hiện dò tìm đổi tên không chÃnh xác" #: diff-no-index.c:238 msgid "git diff --no-index [<options>] <path> <path>" -msgstr "git diff --no-index [<các-tùy-chá»n>] <đưá»ng-dẫn> <đưá»ng-dẫn>" +msgstr "git diff --no-index [<các tùy chá»n>] </đưá»ng/dẫn> </đưá»ng/dẫn>" #: diff-no-index.c:263 msgid "" @@ -2370,35 +2450,35 @@ msgstr "" "Tìm thấy các lá»—i trong biến cấu hình “diff.dirstatâ€:\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "phần má»m diff ở bên ngoà i đã chết, dừng tại %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only, --name-status, --check và -s loại từ lẫn nhau" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "Các tùy chá»n -G, -S, và --find-object loại từ lẫn nhau" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow cần chÃnh xác má»™t đặc tả đưá»ng dẫn" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "giá trị --stat không hợp lệ: “%sâ€" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "tùy chá»n “%s†cần má»™t giá trị bằng số" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2407,42 +2487,42 @@ msgstr "" "Gặp lá»—i khi phân tÃch đối số tùy chá»n --dirstat/-X:\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "không hiểu lá»›p thay đổi “%c†trong --diff-filter=%s" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "không hiểu giá trị sau ws-error-highlight=%.*s" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "không thể phân giải “%sâ€" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s cần dạng <n>/<m>" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s cần má»™t ký tá»±, nhưng lại nháºn được “%sâ€" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "đối số --color-moved sai: %s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "chế độ “%s†không hợp lệ trong --color-moved-ws" -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" @@ -2450,150 +2530,150 @@ msgstr "" "tùy chá»n diff-algorithm chấp nháºn \"myers\", \"minimal\", \"patience\" và " "\"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "tham số cho %s không hợp lệ" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "gặp lá»—i khi phân tÃch đối số tùy chá»n --submodule: “%sâ€" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "đối số --word-diff sai: %s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "Các tùy chá»n định dạng khi xuất các khác biệt" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "tạo miếng vá" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "chặn má»i kết xuất từ diff" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "tạo khác biệt vá»›i <n> dòng ngữ cảnh" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "tạo khác biệt ở định dạng thô" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "đồng nghÄ©a vá»›i “-p --rawâ€" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "đồng nghÄ©a vá»›i “-p --statâ€" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "--stat thuáºn tiện cho máy Ä‘á»c" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "chỉ xuất những dòng cuối cá»§a --stat" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<tham_số_1,tham_số_2>…" -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "đầu ra phân phối cá»§a số lượng thay đổi tương đối cho má»—i thư mục con" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "đồng nghÄ©a vá»›i --dirstat=cumulative" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "đồng nghÄ©a vá»›i --dirstat=files,param1,param2…" -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "" "cảnh báo nếu các thay đổi đưa ra các bá»™ tạo xung đột hay lá»—i khoảng trắng" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "tổng hợp dạng xúc tÃch như là tạo, đổi tên và các thay đổi chế độ" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "chỉ hiển thị tên cá»§a các táºp tin đổi" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "chỉ hiển thị tên táºp tin và tình trạng cá»§a các táºp tin bị thay đổi" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" -msgstr "<width>[,<name-width>[,<count>]]" +msgstr "<rá»™ng>[,<name-width>[,<số-lượng>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "tạo diffstat" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<rá»™ng>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "tạo diffstat vá»›i độ rá»™ng đã cho" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "tạo diffstat vá»›i tên độ rá»™ng đã cho" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "tạo diffstat vá»›i độ rá»™ng đồ thị đã cho" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<số_lượng>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "tạo diffstat vá»›i các dòng bị giá»›i hạn" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "tạo tổng hợp xúc tÃch trong diffstat" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "xuất ra má»™t khác biệt dạng nhị phân cái mà có thể được áp dụng" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "" "hiển thị đầy đủ các tên đối tượng pre- và post-image trên các dòng \"mục lục" "\"" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "hiển thị thay đổi được tô mà u" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" -msgstr "<kind>" +msgstr "<kiểu>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" @@ -2601,7 +2681,7 @@ msgstr "" "tô sang các lá»—i vá» khoảng trắng trong các dòng “contextâ€, “old†và “new†" "trong khác biệt" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2609,89 +2689,89 @@ msgstr "" "không munge tên đưá»ng dẫn và sá» dụng NUL là m bá»™ phân tách trưá»ng đầu ra " "trong --raw hay --numstat" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" -msgstr "<tiá»n tố>" +msgstr "<tiá»n_tố>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "hiển thị tiá»n tố nguồn đã cho thay cho \"a/\"" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "hiển thị tiá»n tố Ä‘Ãch đã cho thay cho \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "treo và o trước má»™t tiá»n tố bổ sung cho má»—i dòng kết xuất" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "đừng hiển thị bất kỳ tiá»n tố nguồn hay Ä‘Ãch" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "" "hiển thị ngữ cảnh giữa các khúc khác biệt khi đạt đến số lượng dòng đã chỉ " "định" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<ký_tá»±>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "chỉ định má»™t ký tá»± để biểu thị má»™t dòng được thêm má»›i thay cho “+â€" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "chỉ định má»™t ký tá»± để biểu thị má»™t dòng đã cÅ© thay cho “-â€" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "chỉ định má»™t ký tá»± để biểu thị má»™t ngữ cảnh thay cho “â€" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "Tùy chá»n khác biệt đổi tên" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "ngắt các thay đổi ghi lại hoà n thiện thà nh cặp cá»§a xóa và tạo" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "dò tìm các tên thay đổi" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "bá» qua preimage (tiá»n ảnh??) cho các việc xóa" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "dò bản sao" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "dùng các táºp tin không bị chỉnh sá»a như là nguồn để tìm các bản sao" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "tắt dò tìm đổi tên" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "dung các blob trống rống như là nguồn đổi tên" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "tiếp tục liệt kê lịch sá» cá»§a má»™t táºp tin ngoà i đổi tên" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" @@ -2699,156 +2779,156 @@ msgstr "" "ngăn cản dò tìm đổi tên/bản sao nếu số lượng cá»§a Ä‘Ãch đổi tên/bản sao vượt " "quá giá»›i hạn đưa ra" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "Tùy chá»n thuáºt toán khác biệt" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "sản sinh khác biệt Ãt nhất có thể" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "lá» Ä‘i sá»± thay đổi do khoảng trắng gây ra khi so sánh các dòng" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "lá» Ä‘i sá»± thay đổi do số lượng khoảng trắng gây ra" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "lá» Ä‘i sá»± thay đổi do khoảng trắng gây ra khi ở cuối dòng EOL" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "bá» qua ký tá»± vỠđầu dòng tại cuối dòng" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "bá» qua các thay đổi cho toà n bá»™ các dòng là trống" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "heuristic để dịch hạn biên cá»§a khối khác biệt cho dá»… Ä‘á»c" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "tạo khác biệt sá» dung thuáºt toán \"patience diff\"" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "tạo khác biệt sá» dung thuáºt toán \"histogram diff\"" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<thuáºt toán>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "chá»n má»™t thuáºt toán khác biệt" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<văn bản>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "tạo khác biệt sá» dung thuáºt toán \"anchored diff\"" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<chế độ>" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "" "hiển thị khác biệt từ, sá» dung <chế độ> để bá» giá»›i hạn các từ bị thay đổi" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<regex>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "dùng <regex> để quyết định từ là cái gì" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "tương đương vá»›i --word-diff=color --word-diff-regex=<regex>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "các dòng di chuyển cá»§a mã mà được tô mà u khác nhau" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "bá» qua khoảng trắng như thế nà o trong --color-moved" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "Các tùy chá»n khác biệt khác" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "" "khi chạy từ thư mục con, thá»± thi các thay đổi bên ngoà i và hiển thị các " "đưá»ng dẫn liên quan" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "coi má»i táºp tin là dạng văn bản thưá»ng" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "tráo đổi hai đầu và o, đảo ngược khác biệt" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "thoát vá»›i mã 1 nếu không có khác biệt gì, 0 nếu ngược lại" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "tắt má»i kết xuất cá»§a chương trình" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "cho phép má»™ bá»™ há»— trợ xuất khác biệt ở bên ngoà i được phép thá»±c thi" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "" "chạy các bá»™ lá»c văn bản thông thưá»ng bên ngoà i khi so sánh các táºp tin nhị " "phân" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<khi>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "bá» qua các thay đổi trong mô-Ä‘un-con trong khi tạo khác biệt" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<định dạng>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "chi định khác biệt bao nhiêu trong các mô Ä‘un con được hiển thị" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "ẩn các mục “git add -N†từ bảng mục lục" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "coi các mục “git add -N†như là có tháºt trong bảng mục lục" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<chuá»—i>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" @@ -2856,7 +2936,7 @@ msgstr "" "tìm các khác biệt cái mà thay đổi số lượng xảy ra cá»§a các phát sinh cá»§a " "chuá»—i được chỉ ra" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" @@ -2864,23 +2944,23 @@ msgstr "" "tìm các khác biệt cái mà thay đổi số lượng xảy ra cá»§a các phát sinh cá»§a biểu " "thức chÃnh quy được chỉ ra" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "hiển thị tất cả các thay đổi trong má»™t bá»™ các thay đổi vá»›i -S hay -G" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "coi <chuá»—i> trong -S như là biểu thức chÃnh qui POSIX có mở rá»™ng" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "Ä‘iá»u khiển thứ tá»± xuát hiện các táºp tin trong kết xuất" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<mã-số-đối-tượng>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" @@ -2888,33 +2968,33 @@ msgstr "" "tìm các khác biệt cái mà thay đổi số lượng xảy ra cá»§a các phát sinh cá»§a đối " "tượng được chỉ ra" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "chá»n các táºp tin theo kiểu khác biệt" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<táºp_tin>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "Xuất ra má»™t táºp tin cụ thể" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "" "nháºn thấy đổi tên không chÃnh xác đã bị bá» qua bởi có quá nhiá»u táºp tin." -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "" "chỉ tìm thấy các bản sao từ đưá»ng dẫn đã sá»a đổi bởi vì có quá nhiá»u táºp tin." -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3018,32 +3098,32 @@ msgstr "không thể ghi lên máy phục vụ" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc cần multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "dòng shallow không hợp lệ: %s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "dòng unshallow không hợp lệ: %s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "không tìm thấy đối tượng: %s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "lá»—i trong đối tượng: %s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "không tìm shallow nà o: %s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "cần shallow/unshallow, nhưng lại nháºn được %s" @@ -3062,7 +3142,7 @@ msgstr "lần chuyển giao %s không hợp lệ" msgid "giving up" msgstr "chịu thua" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "xong" @@ -3103,155 +3183,131 @@ msgstr "%s gặp lá»—i" msgid "error in sideband demultiplexer" msgstr "có lá»—i trong sideband demultiplexer" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "Máy chá»§ không há»— trợ máy khách shallow" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "Máy chá»§ há»— trợ multi_ack_detailed" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "Máy chá»§ há»— trợ no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "Máy chá»§ há»— trợ multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "Máy chá»§ há»— trợ side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "Máy chá»§ há»— trợ side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "Máy chá»§ há»— trợ allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "Máy chá»§ há»— trợ allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "Máy chá»§ há»— trợ ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "Máy chá»§ há»— trợ bá»™ lá»c" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "Phiên bản máy chá»§ là %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "Máy chá»§ há»— trợ %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "Máy chá»§ không há»— trợ máy khách shallow" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "Máy chá»§ không há»— trợ --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "Máy chá»§ không há»— trợ --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "Máy chá»§ không há»— trợ --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "không có lần chuyển giao chung nà o" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack: fetch gặp lá»—i." -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "Máy chá»§ không há»— trợ yêu cầu shallow" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "Máy chá»§ há»— trợ bá»™ lá»c" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "không thể ghi các yêu cầu lên máy phục vụ" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "gặp lá»—i khi Ä‘á»c phần đầu cá»§a Ä‘oạn %s" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "cần “%sâ€, nhưng lại nháºn “%sâ€" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "gặp dòng không được thừa nháºn: “%sâ€" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "gặp lá»—i khi xá» lý tÃn hiệu trả lá»i: %d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "cần táºp tin gói để gá»i sau “readyâ€" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "không cần thêm phần nà o để gá»i sau “readyâ€" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "lá»—i xá» lý thông tin shallow: %d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "cần wanted-ref, nhưng lại nháºn được “%sâ€" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "không cần wanted-ref: “%sâ€" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "lá»—i khi xá» lý wanted refs: %d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "không khá»›p phần đầu máy chá»§" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "máy chá»§ đã không gá»i tất cả các đối tượng cần thiết" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "không có máy chá»§ tham chiếu nà o như %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "" "Máy phục vụ không cho phép yêu cầu cho đối tượng không được báo trước %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg gặp lá»—i khi ký dữ liệu" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "không thể tạo táºp tin tạm thá»i" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "gặp lá»—i khi ghi chữ ký Ä‘Ãnh kèm và o “%sâ€" @@ -3261,18 +3317,18 @@ msgstr "gặp lá»—i khi ghi chữ ký Ä‘Ãnh kèm và o “%sâ€" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "bá» qua mà u không hợp lệ “%.*s†trong log.graphColors" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "“%sâ€: không thể Ä‘á»c %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "gặp lá»—i khi lấy thống kê vỠ“%sâ€" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "“%sâ€: Ä‘á»c ngắn" @@ -3342,7 +3398,7 @@ msgstr "các lệnh git sẵn có từ má»™t nÆ¡i khác trong $PATH cá»§a bạn" msgid "These are common Git commands used in various situations:" msgstr "Có các lệnh Git chung được sá» dụng trong các tình huống khác nhau:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "không há»— trợ liệt kê lệnh kiểu “%sâ€" @@ -3409,7 +3465,7 @@ msgstr[0] "" #: help.c:714 msgid "git version [<options>]" -msgstr "git version [<các-tùy-chá»n>]" +msgstr "git version [<các tùy chá»n>]" #: help.c:782 #, c-format @@ -3481,7 +3537,7 @@ msgstr "không cho phép tên định danh là rá»—ng (cho <%s>)" msgid "name consists only of disallowed characters: %s" msgstr "tên chỉ được phép bao gồm các ký tá»± sau: %s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "ngà y tháng không hợp lệ: %s" @@ -3513,6 +3569,11 @@ msgstr "cần “tree:<depth>â€" msgid "sparse:path filters support has been dropped" msgstr "việc há»— trợ bá»™ lá»c sparse:đưá»ng/dẫn đã bị bá»" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "đặc tả bá»™ lá»c không hợp lệ “%sâ€" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "không thể thay đổi nhân bản từng phần máy chá»§ promisor" @@ -3545,8 +3606,8 @@ msgstr "Không thể tạo “%s.lockâ€: %s" msgid "failed to read the cache" msgstr "gặp lá»—i khi Ä‘á»c bá»™ nhá»› đệm" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "không thể ghi táºp tin lưu bảng mục lục má»›i" @@ -3571,94 +3632,94 @@ msgstr "" msgid "error building trees" msgstr "gặp lá»—i khi xây dá»±ng cây" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "gặp lá»—i khi tạo đưá»ng dẫn “%sâ€%s" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Gỡ bá» %s để tạo chá»— (room) cho thư mục con\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ": có lẽ là má»™t xung đột D/F?" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "từ chối đóng táºp tin không được theo dõi tại “%sâ€" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "không thể Ä‘á»c đối tượng %s “%sâ€" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "mong đợi đối tượng blob cho %s “%sâ€" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "gặp lá»—i khi mở “%sâ€: %s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "gặp lá»—i khi tạo liên kết má»m (symlink) “%sâ€: %s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "không hiểu phải là m gì vá»›i %06o %s “%sâ€" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(không lấy ra được)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(lần chuyển giao không hiện diện)" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "" "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(lần chuyển giao không theo sau ná»n-hòa-" "trá»™n)" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "Chuyển-tiếp-nhanh mô-Ä‘un-con “%s†đến lần chuyển giao sau đây:" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "Chuyển-tiếp-nhanh mô-Ä‘un-con “%sâ€" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "" "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(không tìm thấy các lần chuyển giao " "theo sau hòa trá»™n)" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(không chuyển tiếp nhanh được)" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "Tìm thấy má»™t giải pháp hòa trá»™n có thể cho mô-Ä‘un-con:\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3675,33 +3736,33 @@ msgstr "" "\n" "cái mà sẽ chấp nháºn gợi ý nà y.\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "Gặp lá»—i khi hòa trá»™n mô-Ä‘un-con “%s†(thấy nhiá»u hòa trá»™n Ä‘a trùng)" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "Gặp lá»—i khi thá»±c hiện trá»™n ná»™i bá»™" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "Không thể thêm %s và o cÆ¡ sở dữ liệu" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "Tá»±-động-hòa-trá»™n %s" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "" "Lá»—i: từ chối đóng táºp tin không được theo dõi tại “%sâ€; thay và o đó ghi và o " "%s." -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3710,7 +3771,7 @@ msgstr "" "XUNG ÄỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s cá»§a %s " "còn lại trong cây (tree)." -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3719,7 +3780,7 @@ msgstr "" "XUNG ÄỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s " "cá»§a %s còn lại trong cây (tree)." -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3728,7 +3789,7 @@ msgstr "" "XUNG ÄỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s cá»§a %s " "còn lại trong cây (tree) tại %s." -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3737,45 +3798,45 @@ msgstr "" "XUNG ÄỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s " "cá»§a %s còn lại trong cây (tree) tại %s." -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "đổi tên" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "đã đổi tên" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "Từ chối đóng táºp tin không được theo dõi tại “%sâ€" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "" "Từ chối đóng táºp tin không được theo dõi tại “%sâ€, ngay cả khi nó ở trên " "đưá»ng." -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "" "XUNG ÄỘT (đổi-tên/thêm): Äổi tên %s->%s trong %s. %s được thêm trong %s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s là má»™t thư mục trong %s thay và o đó thêm và o như là %s" -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "" "Từ chối đóng táºp tin không được theo dõi tại “%sâ€; thay và o đó Ä‘ang thêm " "thà nh %s" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3784,17 +3845,17 @@ msgstr "" "XUNG ÄỘT (đổi-tên/đổi-tên): Äổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi " "tên \"%s\"->\"%s\" trong \"%s\"%s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr " (cần giải quyết)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "XUNG ÄỘT (đổi-tên/đổi-tên): Äổi tên %s->%s trong %s. Äổi tên %s->%s trong %s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3805,7 +3866,7 @@ msgstr "" "vì thư mục %s đã bị đổi tên thà nh nhiá»u thư mục khác, vá»›i không Ä‘Ãch đến " "nháºn má»™t phần nhiá»u cá»§a các táºp tin." -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3814,7 +3875,7 @@ msgstr "" "XUNG ÄỘT: (ngầm đổi tên thư mục): Táºp tin/thư mục đã sẵn có tại %s theo cách " "cá»§a các đổi tên thư mục ngầm đặt (các) đưá»ng dẫn sau ở đây: %s." -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3823,7 +3884,7 @@ msgstr "" "XUNG ÄỘT: (ngầm đổi tên thư mục): Không thể ánh xạ má»™t đưá»ng dẫn thà nh %s; " "các đổi tên thư mục ngầm cố đặt các đưá»ng dẫn ở đây: %s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3832,7 +3893,7 @@ msgstr "" "XUNG ÄỘT (đổi-tên/đổi-tên): Äổi tên thư mục %s->%s trong %s. Äổi tên thư mục " "%s->%s trong %s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " @@ -3841,52 +3902,52 @@ msgstr "" "CẢNH BÃO: tránh áp dụng %s -> %s đổi thên thà nh %s, bởi vì bản thân %s cÅ©ng " "bị đổi tên." -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "không thể Ä‘á»c đối tượng %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "đối tượng %s không phải là má»™t blob" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "sá»a đổi" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "đã sá»a" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "ná»™i dung" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "thêm/thêm" -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Äã bá» qua %s (đã có sẵn lần hòa trá»™n nà y)" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "mô-Ä‘un-con" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "XUNG ÄỘT (%s): Xung đột hòa trá»™n trong %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "Thay và o đó thêm và o %s" -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3895,7 +3956,7 @@ msgstr "" "ÄÆ°á»ng dẫn đã được cáºp nháºt: %s được thêm và o trong %s bên trong má»™t thư mục " "đã được đổi tên trong %s; di chuyển nó đến %s." -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3904,7 +3965,7 @@ msgstr "" "XUNG ÄỘT (vị trà tệp): %s được thêm và o trong %s trong má»™t thư mục đã được " "đổi tên thà nh %s, Ä‘oán là nó nên được di chuyển đến %s." -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -3913,7 +3974,7 @@ msgstr "" "ÄÆ°á»ng dẫn đã được cáºp nháºt: %s được đổi tên thà nh %s trong %s, bên trong má»™t " "thư mục đã được đổi tên trong %s; di chuyển nó đến %s." -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -3922,37 +3983,37 @@ msgstr "" "XUNG ÄỘT (vị trà tệp): %s được đổi tên thà nh %s trong %s, bên trong má»™t thư " "mục đã được đổi tên thà nh %s, Ä‘oán là nó nên được di chuyển đến %s." -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "Äang xóa %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "táºp-tin/thư-mục" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "thư-mục/táºp-tin" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "XUNG ÄỘT (%s): Ở đây không có thư mục nà o có tên %s trong %s. Thêm %s như là " "%s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "Thêm \"%s\"" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "XUNG ÄỘT (thêm/thêm): Xung đột hòa trá»™n trong %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -3962,174 +4023,187 @@ msgstr "" "hòa trá»™n:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "Äã cáºp nháºt rồi!" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "hòa trá»™n các cây %s và %s gặp lá»—i" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "Äang trá»™n:" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "tìm thấy %u tổ tiên chung:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "hòa trá»™n không trả vá» lần chuyển giao nà o" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "Không thể phân tÃch đối tượng “%sâ€" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "Không thể ghi bảng mục lục." -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "táºp tin đồ thị multi-pack-index %s quá nhá»" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "chữ ký multi-pack-index 0x%08x không khá»›p chữ ký 0x%08x" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "không nháºn ra phiên bản %d cá»§a multi-pack-index" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "phiên bản băm “%u†không khá»›p" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "khoảng bù Ä‘oạn không hợp lệ (quá lá»›n)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "mã mảnh kết thúc multi-pack-index xuất hiện sá»›m hÆ¡n bình thưá»ng" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "multi-pack-index thiếu mảnh pack-name cần thiết" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "multi-pack-index thiếu mảnh OID fanout cần thiết" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "multi-pack-index thiếu mảnh OID lookup cần thiết" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "multi-pack-index thiếu mảnh các khoảng bù đối tượng cần thiết" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "các tên gói multi-pack-index không đúng thứ tá»±: “%s†trước “%sâ€" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "pack-int-id sai: %u (%u các gói tổng)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "multi-pack-index lưu trữ má»™t khoảng bù 64-bÃt, nhưng off_t là quá nhá»" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "lá»—i chuẩn bị táºp tin gói từ multi-pack-index" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "gặp lá»—i khi thêm táºp tin gói “%sâ€" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "gặp lá»—i khi mở pack-index “%sâ€" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "gặp lá»—i khi phân bổ đối tượng “%d†trong táºp tin gói" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "đã không thấy táºp tin gói %s để mà xóa" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "gặp lá»—i khi xóa multi-pack-index tại %s" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "Äang khóa cho các gói bị tham chiếu" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "fanout cÅ© sai thứ tá»±: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "Thẩm tra thứ tá»± OID trong MIDX" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "lookup cÅ© sai thứ tá»±: oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "Äang sắp xếp các đối tượng theo táºp tin gói" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "Äang thẩm tra các khoảng bù đối tượng" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "gặp lá»—i khi tải mục gói cho oid[%d] = %s" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "gặp lá»—i khi tải pack-index cho táºp tin gói %s" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "" "khoảng bù đối tượng không đúng cho oid[%d] = %s: %<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "không thể lấy thông tin thống kê vá» các đối tượng gói" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "không thể hoà n thiện các đối tượng gói" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "không thể tạo tuyến lazy_dir: %s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "không thể tạo tuyến lazy_name: %s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "không thể gia nháºp tuyến lazy_name: %s" @@ -4201,16 +4275,16 @@ msgstr "không thể phân tÃch đối tượng: “%sâ€" msgid "hash mismatch %s" msgstr "mã băm không khá»›p %s" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "vị trà tương đối trước Ä‘iểm kết thúc cá»§a táºp tin gói (.idx há»ng à ?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "vị trà tương đối nằm trước chỉ mục gói cho %s (mục lục bị há»ng à ?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -4466,24 +4540,29 @@ msgstr "không thể tạo tuyến trình lstat: %s" msgid "unable to parse --pretty format" msgstr "không thể phân tÃch định dạng --pretty" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "không thể lấy thông tin thống kê vỠ“log“" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "không thể Ä‘á»c kết xuất “logâ€" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "không thể phân tÃch lần chuyển giao “%sâ€" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "không thể phân tÃch cú pháp phần đầu git “%.*sâ€" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "gặp lá»—i khi tạo khác biệt" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "không thể phân tÃch nháºt ký cho “%sâ€" @@ -4600,11 +4679,10 @@ msgid "unordered stage entries for '%s'" msgstr "các mục tin stage không đúng thứ tá»± cho “%sâ€" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "táºp tin ghi bảng mục lục bị há»ng" @@ -4658,12 +4736,12 @@ msgstr "không thể là m tươi má»›i mục lục đã chia sẻ “%sâ€" msgid "broken index, expect %s in %s, got %s" msgstr "mục lục bị há»ng, cần %s trong %s, nhưng lại nháºn được %s" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "không thể đóng “%sâ€" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "không thể lấy thông tin thống kê vỠ“%sâ€" @@ -4747,7 +4825,7 @@ msgid "Rebase %s onto %s (%d command)" msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "Cải tổ %s và o %s (%d lệnh )" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4756,7 +4834,7 @@ msgstr "" "Äừng xóa bất kỳ dòng nà o. Dùng “drop†má»™t cách rõ rà ng để xóa bá» má»™t lần " "chuyển giao.\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4764,7 +4842,7 @@ msgstr "" "\n" "Nếu bạn xóa bá» má»™t dòng ở đây thì LẦN CHUYỂN GIAO ÄÓ SẼ MẤT.\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4778,7 +4856,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4788,12 +4866,12 @@ msgstr "" "Tuy nhiên, nếu bạn xóa bá» má»i thứ, việc cải tổ sẽ bị bãi bá».\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "Chú ý rằng lần chuyển giao trống rá»—ng là ghi chú" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "không thể ghi “%sâ€" @@ -4830,97 +4908,98 @@ msgstr "" "Cánh ứng xá» có thể là : ignore, warn, error.\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "“%s†không chỉ đến má»™t lần chuyển giao hợp lệ nà o cả!" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "Ä‘ang lá» Ä‘i tham chiếu má»m thừa %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "Ä‘ang lá» Ä‘i tham chiếu há»ng %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "không thể mở “%s†để ghi: %s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "không thể Ä‘á»c tham chiếu “%sâ€" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "tham chiếu “%s†đã có từ trước rồi" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "không cần ID đối tượng khi ghi “%sâ€" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "không thể ghi và o “%sâ€" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "không thể mở “%s†để ghi" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "gặp ID đối tượng không cần khi xóa “%sâ€" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "nháºt ký cho tham chiếu %s có khoảng trống sau %s" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "nháºt ký cho tham chiếu %s kết thúc bất ngá» trên %s" -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "nháºt ký cho %s trống rá»—ng" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "từ chối cáºp nháºt tham chiếu vá»›i tên sai “%sâ€" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "update_ref bị lá»—i cho ref “%sâ€: %s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "không cho phép Ä‘a cáºp nháºt cho tham chiếu “%sâ€" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "cáºp nháºt tham chiếu bị cấm trong môi trưá»ng kiểm tra" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "“%s†sẵn có; không thể tạo “%sâ€" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "không thể xá» lý “%s†và “%s†cùng má»™t lúc" @@ -4946,141 +5025,141 @@ msgstr "không thể xóa bá» tham chiếu: %s" msgid "invalid refspec '%s'" msgstr "refspec không hợp lệ “%sâ€" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "đã ra Ä‘i" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "phÃa trước %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "đằng sau %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "trước %d, sau %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "cần định dạng: %%(color:<color>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "không nháºn ra mà u: %%(mà u:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "Giá trị nguyên cần tên tham chiếu:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "Giá trị nguyên cần tên tham chiếu:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "đối số không được thừa nháºn %%(%s): %s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) không nháºn các đối số" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "tham số không được thừa nháºn %%(objectname): %s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) không nháºn các đối số" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) không nháºn các đối số" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) không nháºn các đối số" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "không hiểu tham số %%(trailers): %s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "cần ná»™i dung mang giá trị dương:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "đối số không được thừa nháºn %%(contents): %s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "cần ná»™i dung mang giá trị dương:shot=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "đối số không được thừa nháºn %%(objectname): %s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "cần định dạng: %%(align:<width>,<position>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "vị trà không được thừa nháºn:%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "chiá»u rá»™ng không được thừa nháºn:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "đối số không được thừa nháºn %%(align): %s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "cần giá trị độ rá»™ng dương vá»›i nguyên tá» %%(align)" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "đối số không được thừa nháºn %%(if): %s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "tên trưá»ng dị hình: %.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "không hiểu tên trưá»ng: %.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" @@ -5088,127 +5167,111 @@ msgstr "" "không phải là má»™t kho git, nhưng trưá»ng “%.*s†yêu cầu truy cáºp và o dữ liệu " "đối tượng" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "định dạng: nguyên tá» %%(if) được dùng mà không có nguyên tá» %%(then)" -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "định dạng: nguyên tá» %%(then) được dùng mà không có nguyên tá» %%(if)" -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "định dạng: nguyên tá» %%(then) được dùng nhiá»u hÆ¡n má»™t lần" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "định dạng: nguyên tá» %%(then) được dùng sau %%(else)" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "định dạng: nguyên tá» %%(else) được dùng mà không có nguyên tá» %%(if)" -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "định dạng: nguyên tá» %%(else) được dùng mà không có nguyên tá» %%(then)" -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "định dạng: nguyên tá» %%(else) được dùng nhiá»u hÆ¡n má»™t lần" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "định dạng: nguyên tá» %%(end) được dùng mà không có nguyên tá» tương ứng" -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "chuá»—i định dạng dị hình %s" -#: ref-filter.c:1453 -#, c-format -msgid "(no branch, rebasing %s)" -msgstr "(không nhánh, Ä‘ang cải tổ %s)" - -#: ref-filter.c:1456 -#, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(không nhánh, Ä‘ang cải tổ HEAD %s đã tách rá»i)" - -#: ref-filter.c:1459 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(không nhánh, di chuyển ná»a bước được bắt đầu tại %s)" +msgid "no branch, rebasing %s" +msgstr "không nhánh, Ä‘ang cải tổ %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 +#: ref-filter.c:1488 #, c-format -msgid "(HEAD detached at %s)" -msgstr "(HEAD được tách rá»i tại %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "không nhánh, Ä‘ang cải tổ HEAD %s đã tách rá»i" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 +#: ref-filter.c:1491 #, c-format -msgid "(HEAD detached from %s)" -msgstr "(HEAD được tách rá»i từ %s)" +msgid "no branch, bisect started on %s" +msgstr "không nhánh, di chuyển ná»a bước được bắt đầu tại %s" -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(không nhánh)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "không nhánh" -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "thiếu đối tượng %s cho %s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer gặp lá»—i trên %s cho %s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "đối tượng dị hình tại “%sâ€" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "Ä‘ang lá» Ä‘i tham chiếu vá»›i tên há»ng %s" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "định dạng: thiếu nguyên tá» %%(end)" -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "tùy chá»n “%s†là xung khắc vá»›i tùy chá»n --merged" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "tùy chá»n “%s†là xung khắc vá»›i tùy chá»n --no-merged" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "tên đối tượng dị hình %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "tùy chá»n “%s†phải chỉ đến má»™t lần chuyển giao" @@ -5552,8 +5615,8 @@ msgstr "không thể unlink stray “%sâ€" msgid "Recorded preimage for '%s'" msgstr "Preimage đã được ghi lại cho “%sâ€" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "không thể tạo thư mục “%sâ€" @@ -5587,20 +5650,20 @@ msgstr "Quên phân giải cho “%sâ€\n" msgid "unable to open rr-cache directory" msgstr "không thể mở thư mục rr-cache" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "nhánh hiện tại cá»§a bạn có vẻ như bị há»ng" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "nhánh hiện tại cá»§a bạn “%s†không có má»™t lần chuyển giao nà o cả" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent xung khắc vá»›i --bisect" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L vẫn chưa há»— trợ định dạng khác biệt nà o ngoà i -p và -s" @@ -5671,79 +5734,84 @@ msgstr "chế độ dá»n dẹp ghi chú các lần chuyển giao không hợp l msgid "could not delete '%s'" msgstr "không thể xóa bỠ“%sâ€" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "không thể gỡ bỠ“%sâ€" + +#: sequencer.c:321 msgid "revert" msgstr "hoà n nguyên" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "cherry-pick" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "không nháºn ra thao tác: %d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "" "sau khi giải quyết các xung đột, đánh dấu đưá»ng dẫn đã sá»a\n" -"vá»›i lệnh “git add <đưá»ng_dẫn>†hoặc “git rm <đưá»ng_dẫn>â€" +"vá»›i lệnh “git add </các/đưá»ng/dẫn>†hoặc “git rm </các/đưá»ng/dẫn>â€" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "" "sau khi giải quyết các xung đột, đánh dấu đưá»ng dẫn đã sá»a\n" -"vá»›i lệnh “git add <đưá»ng_dẫn>†hoặc “git rm <đưá»ng_dẫn>â€\n" +"vá»›i lệnh “git add </các/đưá»ng/dẫn>†hoặc “git rm </các/đưá»ng/dẫn>â€\n" "và chuyển giao kết quả bằng lệnh “git commitâ€" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "không thể khóa “%sâ€" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "không thể ghi eol và o “%sâ€" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "gặp lá»—i khi hoà n thà nh “%sâ€" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "không thể Ä‘á»c “%sâ€" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "các thay đổi ná»™i bá»™ cá»§a bạn có thể bị ghi đè bởi lệnh %s." -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "chuyển giao các thay đổi cá»§a bạn hay tạm cất (stash) chúng để xá» lý." -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s: chuyển-tiếp-nhanh" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "Chế độ dá»n dẹp không hợp lệ %s" @@ -5751,70 +5819,70 @@ msgstr "Chế độ dá»n dẹp không hợp lệ %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Không thể ghi táºp tin lưu bảng mục lục má»›i" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "không thể cáºp nháºt cây bá»™ nhá»› đệm" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "không thể phân giải lần chuyển giao HEAD" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "không có khóa hiện diện trong “%.*sâ€" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "không thể giải trÃch dẫn giá trị cá»§a “%sâ€" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "không thể mở “%s†để Ä‘á»c" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "“GIT_AUTHOR_NAME†đã sẵn đưa ra rồi" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "“GIT_AUTHOR_EMAIL†đã sẵn đưa ra rồi" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "“GIT_AUTHOR_DATE†đã sẵn đưa ra rồi" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "không hiểu biến “%sâ€" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "thiếu “GIT_AUTHOR_NAMEâ€" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "thiếu “GIT_AUTHOR_EMAILâ€" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "thiếu “GIT_AUTHOR_DATEâ€" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "định dạng ngà y tháng không hợp lệ “%s†trong “%sâ€" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5843,15 +5911,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "ghi chuyển giao gốc" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "móc “prepare-commit-msg†bị lá»—i" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5882,7 +5950,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5910,308 +5978,351 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "không thể tìm thấy lần chuyển giao má»›i hÆ¡n đã được tạo" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "" "không thể phân tÃch cú pháp cá»§a đối tượng chuyển giao má»›i hÆ¡n đã được tạo" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "không thể phân giải HEAD sau khi tạo lần chuyển giao" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "đã rá»i khá»i HEAD" -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr " (root-commit)" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "không thể phân tÃch HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s không phải là má»™t lần chuyển giao!" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "không thể phân tÃch commit (lần chuyển giao) HEAD" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "không thể phân tÃch tác giả cá»§a lần chuyển giao" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "lệnh git write-tree gặp lá»—i khi ghi má»™t cây" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "không thể Ä‘á»c phần chú thÃch (message) từ “%sâ€" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "gặp lá»—i khi ghi đối tượng chuyển giao" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "không thể phân tÃch lần chuyển giao %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "không thể phân tÃch lần chuyển giao cha mẹ “%sâ€" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "không hiểu câu lệnh %d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "Äây là tổ hợp cá»§a %d lần chuyển giao." -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "cần má»™t HEAD để sá»a" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "không thể Ä‘á»c HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "không thể Ä‘á»c phần chú thÃch (message) cá»§a HEAD" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "không thể ghi “%sâ€" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "Äây là chú thÃch cho lần chuyển giao thứ nhất:" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "không thể Ä‘á»c phần chú thÃch (message) cá»§a %s" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "Äây là chú thÃch cho lần chuyển giao thứ #%d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "Chú thÃch cho lần chuyển giao thứ #%d sẽ bị bá» qua:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "táºp tin lưu mục lục cá»§a bạn không được hòa trá»™n." -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "không thể sá»a chữa lần chuyển giao gốc" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "lần chuyển giao %s là má»™t lần hòa trá»™n nhưng không đưa ra tùy chá»n -m." -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "lần chuyển giao %s không có cha mẹ %d" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "không thể lấy ghi chú lần chuyển giao cho %s" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: không thể phân tÃch lần chuyển giao mẹ cá»§a %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "không thể đổi tên “%s†thà nh “%sâ€" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "không thể hoà n nguyên %s… %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "không thể áp dụng miếng vá %s… %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: gặp lá»—i Ä‘á»c bảng mục lục" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: gặp lá»—i khi là m tươi má»›i bảng mục lục" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s không nháºn các đối số: “%sâ€" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "thiếu đối số cho %s" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "không thể phân tÃch cú pháp “%.*sâ€" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "dòng không hợp lệ %d: %.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "không thể “%s†thể mà không có lần chuyển giao kế trước" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "không thể Ä‘á»c “%sâ€." -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "Ä‘ang há»§y bá» thao tác cherry pick Ä‘ang thá»±c hiện" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "Ä‘ang há»§y bá» các thao tác hoà n nguyên Ä‘ang thá»±c hiện" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "vui lòng sá»a lá»—i nà y bằng cách dùng “git rebase --edit-todoâ€." -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "bảng chỉ thị không thể dùng được: %s" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "không có lần chuyển giao nà o được phân tÃch." -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "không thể cherry-pick trong khi hoà n nguyên." -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "không thể thá»±c hiện việc hoà n nguyên trong khi Ä‘ang cherry-pick." -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "giá trị cho %s không hợp lệ: %s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "squash-onto không dùng được" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "bảng tùy chá»n dị hình: “%sâ€" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "lần chuyển giao trống rá»—ng đặt là hợp quy cách" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "có má»™t thao tác “cherry-pick†hoặc “revert†đang được thá»±c hiện" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "có thao tác hoà n nguyên Ä‘ang được thá»±c hiện" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "hãy thá» \"git revert (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "có thao tác “cherry-pick†đang được thá»±c hiện" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "hãy thá» \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "hãy thá» \"git cherry-pick (--continue | %s--abort | --quit)\"" -#: sequencer.c:2660 +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "không thể tạo thư mục xếp dãy “%sâ€" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "không thể khóa HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "không cherry-pick hay hoà n nguyên trong tiến trình" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "không thể phân giải HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "không thể há»§y bá» từ má»™t nhánh mà nó còn chưa được tạo ra" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "không mở được “%sâ€" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "không thể Ä‘á»c “%sâ€: %s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "gặp kết thúc táºp tin đột xuất" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "táºp tin HEAD “pre-cherry-pick†đã lưu “%s†bị há»ng" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "" "Bạn có lẽ đã có HEAD đã bị di chuyển Ä‘i, Không thể tua, kiểm tra HEAD cá»§a " "bạn!" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "không có tiến trình hoà n nguyên nà o" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "không có cherry-pick Ä‘ang được thá»±c hiện" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "gặp lá»—i khi bá» qua đối tượng chuyển giao" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "ở đây không có gì để mà bá» qua cả" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"bạn đã sẵn sà ng chuyển giao chưa?\n" +"thá» \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "không thể cáºp nháºt %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "không thể Ä‘á»c HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "không thể chép “%s†sang “%sâ€" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6230,27 +6341,27 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "Không thể áp dụng %s… %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "Không hòa trá»™n %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "không thể chép “%s†sang “%sâ€" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "không thể Ä‘á»c bảng mục lục" -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6265,11 +6376,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "và tạo các thay đổi bảng mục lục và /hay cây là m việc\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6286,76 +6397,76 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "tên nhãn dị hình: “%.*sâ€" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "ghi lần chuyển giao gốc giả" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "Ä‘ang ghi squash-onto" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "gặp lá»—i khi tìm cây cá»§a %s" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "không thể ghi bảng mục lục" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "không thể phân giải “%sâ€" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "không thể hòa trá»™n mà không có má»™t Ä‘iểm xét duyệt hiện tại" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "không thể phân tÃch “%.*sâ€" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "chẳng có gì để hòa trá»™n: “%.*sâ€" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "hòa trá»™n octopus không thể được thá»±c thi trên đỉnh cá»§a má»™t [new root]" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "không thể lấy chú thÃch cá»§a lần chuyển giao cá»§a “%sâ€" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "không thể ngay cả khi thá» hòa trá»™n “%.*sâ€" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "merge: Không thể ghi táºp tin lưu bảng mục lục má»›i" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "Äã áp dụng autostash.\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "không thá» lưu “%sâ€" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6367,31 +6478,31 @@ msgstr "" "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc " "nà o.\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "không thể lấy ra %s" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%s không phải là má»™t OID hợp lệ" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "không thể tách rá»i HEAD" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "Dừng lại ở HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "Dừng lại ở %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6412,48 +6523,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "Dừng lại ở %s… %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "không hiểu câu lệnh %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "không thể Ä‘á»c orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "không thể Ä‘á»c “ontoâ€." -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "không thể cáºp nháºt HEAD thà nh %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "không thể cải tổ: Bạn có các thay đổi chưa được đưa lên bệ phóng." -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "không thể tu bá» má»™t lần chuyển giao không tồn tại" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "táºp tin không hợp lệ: “%sâ€" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "ná»™i dung không hợp lệ: “%sâ€" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6463,42 +6574,42 @@ msgstr "" "Bạn có các thay đổi chưa chuyển giao trong thư mục là m việc. Vui lòng\n" "chuyển giao chúng trước và sau đó chạy lệnh “git rebase --continue†lần nữa." -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "không thể ghi táºp tin: “%sâ€" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "không thể xóa bá» CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "không thể chuyển giao các thay đổi đã đưa lên bệ phóng." -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: không thể cherry-pick má»™t %s" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s: Ä‘iểm xét duyệt sai" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "không thể hoà n nguyên má»™t lần chuyển giao khởi tạo" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script: các tùy chá»n được không xá» lý" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script: lá»—i chuẩn bị Ä‘iểm hiệu chỉnh" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6508,15 +6619,15 @@ msgstr "" "continueâ€.\n" "Hoặc là bạn có thể bãi bá» việc cải tổ bằng “git rebase --abortâ€.\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "không có gì để là m" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "không thể bá» qua các lệnh cáºy (pick) không cần thiết" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "văn lệnh đã sẵn được sắp đặt rồi." @@ -6737,195 +6848,200 @@ msgstr "kho tham chiếu “%s†là nông" msgid "reference repository '%s' is grafted" msgstr "kho tham chiếu “%s†bị cấy ghép" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "dòng không hợp lệ trong khi phân tÃch các tham chiếu thay thế: %s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "Ä‘ang cố để mmap %<PRIuMAX> vượt quá giá»›i hạn %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "mmap gặp lá»—i" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "táºp tin đối tượng %s trống rá»—ng" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "đối tượng mất há»ng “%sâ€" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "gặp rác tại cuối cá»§a đối tượng bị mất “%sâ€" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "kiểu đối tượng không hợp lệ" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "không thể giải nén phần đầu gói %s vá»›i --allow-unknown-type" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "không thể giải gói phần đầu %s" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "không thể phân tÃch phần đầu gói %s vá»›i --allow-unknown-type" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "không thể phân tÃch phần đầu cá»§a “%sâ€" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "gặp lá»—i khi Ä‘á»c đối tượng “%sâ€" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "c%s thay thế không được tìm thấy cho %s" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "đối tượng mất %s (được lưu trong %s) bị há»ng" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "đối tượng đã đóng gói %s (được lưu trong %s) bị há»ng" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "không thể ghi táºp tin %s" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "không thể đặt quyá»n thà nh “%sâ€" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "lá»—i ghi táºp tin" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "gặp lá»—i trong khi đóng táºp tin đối tượng" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "" "không đủ thẩm quyá»n để thêm má»™t đối tượng và o cÆ¡ sở dữ liệu kho chứa %s" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "không thể tạo táºp tin tạm thá»i" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "không thể ghi táºp tin đối tượng đã mất" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "không thể xả nén đối tượng má»›i %s (%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "deflateEnd trên đối tượng %s gặp lá»—i (%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "chưa rõ rà ng baowir dữ liệu nguồn đối tượng không ổn định cho %s" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "gặp lá»—i utime() trên “%sâ€" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "không thể Ä‘á»c đối tượng cho %s" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "lần chuyển giao sai há»ng" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "thẻ sai há»ng" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "gặp lá»—i Ä‘á»c khi đánh mục lục %s" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "không Ä‘á»c ngắn khi đánh mục lục %s" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s: gặp lá»—i khi thêm và o cÆ¡ sở dữ liệu" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%s: kiểu táºp tin không được há»— trợ" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s không phải là má»™t đối tượng hợp lệ" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s không phải là má»™t đối tượng “%s†hợp lệ" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "không thể mở %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "mã băm không khá»›p cho %s (cần %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "không thể mmap %s" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "không thể giải gói phần đầu cá»§a “%sâ€" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "không thể phân tÃch phần đầu cá»§a “%sâ€" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "không thể giải gói ná»™i dung cá»§a “%sâ€" @@ -6945,7 +7061,7 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -6955,7 +7071,7 @@ msgstr "" "bởi vì nó sẽ bị bá» qua khi bạn chỉ định 40-hex. Những tham chiếu nà y\n" "có lẽ được tạo ra bởi má»™t sai sót nà o đó. Và dụ,\n" "\n" -" git checkout -b $br $(git rev-parse …)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "vá»›i \"$br\" không hiểu lý do vì sao trống rá»—ng và má»™t tham chiếu 40-hex được " "tạo ra.\n" @@ -6963,6 +7079,56 @@ msgstr "" "nà y\n" "bằng cách chạy lệnh \"git config advice.objectNameWarning false\"" +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/giây" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/giây" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/giây" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u byte" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u byte/giây" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" @@ -6999,7 +7165,7 @@ msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "" "mục tin mô-Ä‘un-con “%s†(%s) là má»™t %s, không phải là má»™t lần chuyển giao" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "Gặp lá»—i khi phân giải HEAD như là má»™t tham chiếu hợp lệ." @@ -7038,7 +7204,7 @@ msgstr "mô-Ä‘un-con “%s†có mục lục còn bẩn" msgid "Submodule '%s' could not be updated." msgstr "Mô-Ä‘un-con “%s†không thể được cáºp nháºt." -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" @@ -7046,12 +7212,12 @@ msgstr "" "relocate_gitdir cho mô-Ä‘un-con “%s†vá»›i nhiá»u hÆ¡n má»™t cây là m việc là chưa " "được há»— trợ" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "không thể tìm kiếm tên cho mô-Ä‘un-con “%sâ€" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7062,16 +7228,16 @@ msgstr "" "“%s†sang\n" "“%sâ€\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "không thể đệ quy và o trong mô-Ä‘un-con “%sâ€" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "không thể lấy thông tin thống kê vá» ls-files trong .." -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree trả vá» mã không như mong đợi %d" @@ -7245,15 +7411,10 @@ msgstr "Bãi bá»." msgid "failed to push all needed submodules" msgstr "gặp lá»—i khi đẩy dữ liệu cá»§a tất cả các mô-Ä‘un-con cần thiết" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "thao tác không được gia thức há»— trợ" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "dòng không hợp lệ trong khi phân tÃch các tham chiếu thay thế: %s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "ghi đầy đủ lên bá»™ há»— trợ máy chá»§ gặp lá»—i" @@ -7298,7 +7459,7 @@ msgstr "không thể chạy fast-import" msgid "error while running fast-import" msgstr "gặp lá»—i trong khi chạy fast-import" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "không thể Ä‘á»c tham chiếu %s" @@ -7351,24 +7512,24 @@ msgstr "helper %s không há»— trợ --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "helper %s không há»— trợ “push-optionâ€" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "remote-helper không há»— trợ push; cần đặc tả tham chiếu" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "helper %s không há»— trợ “forceâ€" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "không thể chạy fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "gặp lá»—i trong khi chạy fast-export" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7378,47 +7539,47 @@ msgstr "" "cả.\n" "Tuy nhiên bạn nên chỉ định má»™t nhánh như “master†chẳng hạn.\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "đáp ứng sai dạng trong danh sách tham chiếu: %s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "read(%s) gặp lá»—i" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "write(%s) gặp lá»—i" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "tuyến trình %s gặp lá»—i" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "tuyến trình %s gặp lá»—i khi gia nháºp: %s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "không thể khởi chạy tuyến trình để sao chép dữ liệu: %s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "xá» lý %s gặp lá»—i khi đợi" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "xá» lý %s gặp lá»—i" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "không thể khởi chạy tuyến trình cho việc chép dữ liệu" @@ -7434,7 +7595,7 @@ msgstr "chế độ dị hình trong đỠmục cây" msgid "empty filename in tree entry" msgstr "tên táºp tin trống rá»—ng trong mục tin cây" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "táºp tin cây quá ngắn" @@ -7681,8 +7842,8 @@ msgid "Aborting\n" msgstr "Bãi bá»\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "Äang lấy ra các táºp tin" +msgid "Updating files" +msgstr "Äang cáºp nháºt các táºp tin" #: unpack-trees.c:350 msgid "" @@ -7723,33 +7884,33 @@ msgstr "tên cổng không hợp lệ" msgid "invalid '..' path segment" msgstr "Ä‘oạn đưá»ng dẫn “..†không hợp lệ" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "gặp lá»—i khi Ä‘á»c “%sâ€" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "“%s†tại cây là m việc chình không phải là thư mục kho" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "" "táºp tin “%s†không chứa đưá»ng dẫn tuyệt đối đến vị trà cây là m việc hiện" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "\"%s\" không tồn tại" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "“%s†không phải là táºp tin .git, mã lá»—i %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "“%s†không chỉ ngược đến “%sâ€" @@ -7768,156 +7929,162 @@ msgstr "không thể truy cáºp “%sâ€" msgid "unable to get current working directory" msgstr "không thể lấy thư mục là m việc hiện hà nh" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "Những đưá»ng dẫn chưa được hòa trá»™n:" -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr " (dùng \"git restore --staged <táºp-tin>…\" để bá» ra khá»i bệ phóng)" + +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (dùng \"git reset %s <táºp-tin>…\" để bá» ra khá»i bệ phóng)" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr "" +" (dùng \"git restore --source=%s --staged <táºp-tin>…\" để bá» ra khá»i bệ " +"phóng)" -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (dùng \"git rm --cached <táºp-tin>…\" để bá» ra khá»i bệ phóng)" -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (dùng \"git add <táºp-tin>…\" để đánh dấu là cần giải quyết)" -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (dùng \"git add/rm <táºp-tin>…\" như là má»™t cách thÃch hợp để đánh dấu là " "cần được giải quyết)" -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (dùng \"git rm <táºp-tin>…\" để đánh dấu là cần giải quyết)" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "Những thay đổi sẽ được chuyển giao:" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:" -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr " (dùng \"git add <táºp-tin>…\" để cáºp nháºt những gì sẽ chuyển giao)" -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (dùng \"git add/rm <táºp-tin>…\" để cáºp nháºt những gì sẽ được chuyển giao)" -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" +" (use \"git restore <file>...\" to discard changes in working directory)" msgstr "" -" (dùng \"git checkout -- <táºp-tin>…\" để loại bá» các thay đổi trong thư mục " -"là m việc)" +" (dùng \"git restore <táºp-tin>…\" để loại bá» các thay đổi trong thư mục là m " +"việc)" -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (chuyển giao hoặc là loại bá» các ná»™i dung chưa được theo dõi hay đã sá»a " "chữa trong mô-Ä‘un-con)" -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (dùng \"git %s <táºp-tin>…\" để thêm và o những gì cần được chuyển giao)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "bị xóa bởi cả hai:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "được thêm và o bởi chúng ta:" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "bị xóa Ä‘i bởi há»:" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "được thêm và o bởi há»:" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "bị xóa bởi chúng ta:" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "được thêm và o bởi cả hai:" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "bị sá»a bởi cả hai:" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "táºp tin má»›i:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "đã chép:" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "đã xóa:" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "đã sá»a:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "đã đổi tên:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "đổi-kiểu:" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "không hiểu:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "chưa hòa trá»™n:" -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "lần chuyển giao má»›i, " -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "ná»™i dung bị sá»a đổi, " -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "ná»™i dung chưa được theo dõi, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "Bạn hiện nay ở trong phần cất Ä‘i Ä‘ang có %d mục" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "Những mô-Ä‘un-con đã bị thay đổi nhưng chưa được cáºp nháºt:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "Những mô-Ä‘un-con thay đổi đã được chuyển giao:" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -7925,109 +8092,120 @@ msgstr "" "Không sá»a hay xóa bỠđưá»ng ở trên.\n" "Má»i thứ phÃa dưới sẽ được xóa bá»." -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"Nó cần %.2f giây để tÃnh toán giá trị cá»§a trước/sau cá»§a nhánh.\n" +"Bạn có thể dùng '--no-ahead-behind' tránh phải Ä‘iá»u nà y.\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "Bạn có những đưá»ng dẫn chưa được hòa trá»™n." -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (sá»a các xung đột rồi chạy \"git commit\")" -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (dùng \"git merge --abort\" để bãi bá» việc hòa trá»™n)" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "Tất cả các xung đột đã được giải quyết nhưng bạn vẫn Ä‘ang hòa trá»™n." -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (dùng \"git commit\" để hoà n tất việc hòa trá»™n)" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "Bạn Ä‘ang ở giữa cá»§a má»™t phiên “amâ€." -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "Miếng vá hiện tại bị trống rá»—ng." -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (sá»a các xung đột và sau đó chạy lệnh \"git am --continue\")" -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (dùng \"git am --skip\" để bá» qua miếng vá nà y)" -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thá»§y)" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "thiếu git-rebase-todo." -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "Không thá»±c hiện lệnh nà o." -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "Lệnh thá»±c hiện cuối (%d lệnh được thá»±c thi):" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (xem thêm trong %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "Không có lệnh nà o còn lại." -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Lệnh cần là m kế tiếp (%d lệnh còn lại):" -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (dùng lệnh \"git rebase --edit-todo\" để xem và sá»a)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc “rebase†nhánh “%s†trên “%sâ€." -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc “rebase†(“cải tổâ€)." -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" " (sá»a các xung đột và sau đó chạy lệnh “cải tổ†\"git rebase --continue\")" -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (dùng lệnh “cải tổ†\"git rebase --skip\" để bá» qua lần vá nà y)" -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (dùng lệnh “cải tổ†\"git rebase --abort\" để check-out nhánh nguyên thá»§y)" -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr "" " (khi tất cả các xung đột đã sá»a xong: chạy lệnh “cải tổ†\"git rebase --" "continue\")" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -8035,150 +8213,142 @@ msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện việc chia tách má»™t lần chuyển giao trong khi " "Ä‘ang “rebase†nhánh “%s†trên “%sâ€." -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "" "Bạn hiện tại Ä‘ang cắt đôi má»™t lần chuyển giao trong khi Ä‘ang thá»±c hiện việc " "rebase." -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Má»™t khi thư mục là m việc cá»§a bạn đã gá»n gà ng, chạy lệnh “cải tổ†\"git " "rebase --continue\")" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện việc sá»a chữa má»™t lần chuyển giao trong khi Ä‘ang " "rebase nhánh “%s†trên “%sâ€." -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "Bạn hiện Ä‘ang sá»a má»™t lần chuyển giao trong khi bạn thá»±c hiện rebase." -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (dùng \"git commit --amend\" để “tu bổ†lần chuyển giao hiện tại)" -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (chạy lệnh “cải tổ†\"git rebase --continue\" má»™t khi bạn cảm thấy hà i " "lòng vá» những thay đổi cá»§a mình)" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "Cherry-pick hiện tại Ä‘ang được thá»±c hiện." -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc cherry-pick lần chuyển giao %s." -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" " (sá»a các xung đột và sau đó chạy lệnh \"git cherry-pick --continue\")" -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)" -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (khi tất cả các xung đột đã sá»a xong: chạy lệnh \"git cherry-pick --" "continue\")" -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (dùng \"git cherry-pick --abort\" để há»§y bá» thao tác cherry-pick)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "Hoà n nguyên hiện tại Ä‘ang thá»±c hiện." -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện thao tác hoà n nguyên lần chuyển giao “%sâ€." -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (sá»a các xung đột và sau đó chạy lệnh \"git revert --continue\")" -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (chạy lệnh \"git revert --continue\" để tiếp tục)" -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" " (khi tất cả các xung đột đã sá»a xong: chạy lệnh \"git revert --continue\")" -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (dùng \"git revert --abort\" để há»§y bá» thao tác hoà n nguyên)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện thao tác di chuyển ná»a bước (bisect), bắt đầu từ " "nhánh “%sâ€." -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "Bạn hiện tại Ä‘ang thá»±c hiện việc bisect (di chuyển ná»a bước)." -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thá»§y)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "Trên nhánh " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "rebase ở chế độ tương tác Ä‘ang được thá»±c hiện; lên trên " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "rebase Ä‘ang được thá»±c hiện: lên trên " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "HEAD được tách rá»i tại " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "HEAD được tách rá»i từ " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "Hiện tại chẳng ở nhánh nà o cả." -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "Lần chuyển giao khởi tạo" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "Vẫn chưa chuyển giao" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "Những táºp tin chưa được theo dõi" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "Những táºp tin bị lá» Ä‘i" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8190,32 +8360,32 @@ msgstr "" "có lẽ là m nó nhanh hÆ¡n, nhưng bạn phải cẩn tháºn đừng quên mình phải\n" "tá»± thêm các táºp tin má»›i (xem “git help statusâ€.." -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "Những táºp tin chưa được theo dõi không được liệt kê ra %s" -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr " (dùng tùy chá»n -u để hiển thị các táºp tin chưa được theo dõi)" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "Không có thay đổi nà o" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "không có thay đổi nà o được thêm và o để chuyển giao (dùng \"git add\" và /hoặc " "\"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "không có thay đổi nà o được thêm và o để chuyển giao\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -8224,68 +8394,68 @@ msgstr "" "không có gì được thêm và o lần chuyển giao nhưng có những táºp tin chưa được " "theo dõi hiện diện (dùng \"git add\" để đưa và o theo dõi)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "không có gì được thêm và o lần chuyển giao nhưng có những táºp tin chưa được " "theo dõi hiện diện\n" -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "không có gì để chuyển giao (tạo/sao-chép các táºp tin và dùng \"git add\" để " "đưa và o theo dõi)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "không có gì để chuyển giao\n" -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "không có gì để chuyển giao (dùng -u xem các táºp tin chưa được theo dõi)\n" -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "không có gì để chuyển giao, thư mục là m việc sạch sẽ\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "Vẫn không thá»±c hiện lệnh chuyển giao nà o " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD (không nhánh)" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "khác" -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "đằng sau " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "phÃa trước " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "không thể %s: Bạn có các thay đổi chưa được đưa lên bệ phóng." -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "" "thêm và o đó, bảng mục lục cá»§a bạn có chứa các thay đổi chưa được chuyển giao." -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "" @@ -8293,14 +8463,14 @@ msgstr "" #: builtin/add.c:25 msgid "git add [<options>] [--] <pathspec>..." -msgstr "git add [<các-tùy-chá»n>] [--] <pathspec>…" +msgstr "git add [<các tùy chá»n>] [--] <pathspec>…" #: builtin/add.c:84 #, c-format msgid "unexpected diff status %c" msgstr "trạng thái lệnh diff không như mong đợi %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "cáºp nháºt táºp tin gặp lá»—i" @@ -8351,8 +8521,8 @@ msgstr "" "Các đưá»ng dẫn theo sau đây sẽ bị lá» Ä‘i bởi má»™t trong các táºp tin .gitignore " "cá»§a bạn:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "chạy thá»" @@ -8361,7 +8531,7 @@ msgstr "chạy thá»" msgid "interactive picking" msgstr "sá»a bằng cách tương tác" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "chá»n “hunks†theo kiểu tương tác" @@ -8533,7 +8703,7 @@ msgstr "độ lệch múi giá» không hợp lệ" msgid "Patch format detection failed." msgstr "Dò tìm định dạng miếng vá gặp lá»—i." -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "tạo thư mục \"%s\" gặp lá»—i" @@ -8542,7 +8712,7 @@ msgstr "tạo thư mục \"%s\" gặp lá»—i" msgid "Failed to split patches." msgstr "Gặp lá»—i khi chia nhá» các miếng vá." -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "không thể ghi táºp tin lưu mục lục" @@ -8582,16 +8752,16 @@ msgstr "dòng thụt lá» không hợp lệ: %.*s" msgid "unable to parse commit %s" msgstr "không thể phân tÃch lần chuyển giao “%sâ€" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "Kho thiếu đối tượng blob cần thiết để trở vá» trên “3-way mergeâ€." -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "" "Sá» dụng thông tin trong bảng mục lục để cấu trúc lại má»™t cây (tree) cÆ¡ sở…" -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8599,29 +8769,24 @@ msgstr "" "Bạn đã sá»a miếng vá cá»§a mình bằng cách thá»§ công à ?\n" "Nó không thể áp dụng các blob đã được ghi lại trong bảng mục lục cá»§a nó." -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "Äang trở lại để vá cÆ¡ sở và “hòa trá»™n 3-đưá»ngâ€â€¦" -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "Gặp lá»—i khi trá»™n và o các thay đổi." -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "áp dụng và o má»™t lịch sá» trống rá»—ng" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "không thể phục hồi: %s không tồn tại." -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" -"không thể được tương tác mà không có stdin kết nối vá»›i má»™t thiết bị cuối." - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "Thân cá»§a lần chuyển giao là :" @@ -8629,36 +8794,37 @@ msgstr "Thân cá»§a lần chuyển giao là :" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" "Ãp dụng? đồng ý [y]/khô[n]g/chỉnh sá»a [e]/hiển thị miếng [v]á/chấp nháºn tất " "cả [a]: " -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Bảng mục lục bẩn: không thể áp dụng các miếng vá (bẩn: %s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "Ãp dụng: %.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi." -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "Gặp lá»—i khi vá tại %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "Dùng “git am --show-current-patch†để xem miếng vá bị lá»—i" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8669,7 +8835,7 @@ msgstr "" "đã sẵn được đưa và o vá»›i cùng ná»™i dung thay đổi; bạn có lẽ muốn bá» qua miếng " "vá nà y." -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8682,17 +8848,17 @@ msgstr "" "Bạn có lẽ muốn chạy “git rm“ trên má»™t táºp tin để chấp nháºn \"được xóa bởi há»" "\" cho nó." -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "Không thể phân tÃch đối tượng “%sâ€." -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "gặp lá»—i khi dá»n bảng mục lục" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -8700,144 +8866,144 @@ msgstr "" "Bạn có lẽ đã có HEAD đã bị di chuyển Ä‘i kể từ lần “am†thất bại cuối cùng.\n" "Không thể chuyển tá»›i ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Giá trị không hợp lệ cho --patch-format: %s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" -msgstr "git am [<các-tùy-chá»n>] [(<mbox>|<Maildir>)…]" +msgstr "git am [<các tùy chá»n>] [(<mbox>|<Maildir>)…]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" -msgstr "git am [<các-tùy-chá»n>] (--continue | --skip | --abort)" +msgstr "git am [<các tùy chá»n>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "chạy kiểu tương tác" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "tùy chá»n lịch sá» -- không-toán-tá»" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "cho phép quay trở lại để hòa trá»™n kiểu “3way†nếu cần" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "im lặng" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "thêm dòng Signed-off-by cho ghi chú cá»§a lần chuyển giao" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "chuyển mã thà nh utf8 (mặc định)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "chuyển cá» -k cho git-mailinfo" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "chuyển cá» -b cho git-mailinfo" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "chuyển cá» -m cho git-mailinfo" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "chuyển cá» --keep-cr cho git-mailsplit vá»›i định dạng mbox" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "đừng chuyển cá» --keep-cr cho git-mailsplit không phụ thuá»™c và o am.keepcr" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "cắt má»i thứ trước dòng scissors" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "chuyển nó qua git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "định dạng" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "định dạng (các) miếng vá theo" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "đè lên các lá»i nhắn lá»—i khi xảy ra lá»—i vá nghiêm trá»ng" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "tiếp tục áp dụng các miếng vá sau khi giải quyết xung đột" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "đồng nghÄ©a vá»›i --continue" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "bá» qua miếng vá hiện hà nh" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "phục hồi lại nhánh gốc và loại bá» thao tác vá." -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "bá» qua thao tác vá nhưng vẫn giữ HEAD chỉ đến nó." -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "hiển thị miếng vá đã được áp dụng rồi." -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "nói dối vá» ngà y chuyển giao" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "dùng dấu thá»i gian hiện tại cho ngà y tác giả" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "mã-số-khóa" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "Các lần chuyển giao ký-GPG" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(dùng ná»™i bá»™ cho git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -8845,16 +9011,16 @@ msgstr "" "Tùy chá»n -b/--binary đã không dùng từ lâu rồi, và \n" "nó sẽ được bá» Ä‘i. Xin đừng sá» dụng nó thêm nữa." -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "gặp lá»—i Ä‘á»c bảng mục lục" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "thư mục rebase trước %s không sẵn có nhưng mbox lại đưa ra." -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -8863,13 +9029,17 @@ msgstr "" "Tìm thấy thư mục lạc %s.\n" "Dùng \"git am --abort\" để loại bá» nó Ä‘i." -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "Thao tác phân giải không được tiến hà nh, chúng ta không phục hồi lại." +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "chế độ tương tác yêu cầu có các miếng vá trên dòng lênh" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" -msgstr "git apply [<các-tùy-chá»n>] [<miếng-vá>…]" +msgstr "git apply [<các tùy chá»n>] [<miếng-vá>…]" #: builtin/archive.c:17 #, c-format @@ -8951,7 +9121,7 @@ msgid "" "=<term>][--no-checkout] [<bad> [<good>...]] [--] [<paths>...]" msgstr "" "git bisect--helper --bisect-start [--term-{old,good}=<term> --term-{new,bad}" -"=<term>][--no-checkout] [<sai> [<đúng>…]] [--] [<đưá»ng/dẫn>…]" +"=<term>][--no-checkout] [<sai> [<đúng>…]] [--] [</các/đưá»ng/dẫn>…]" #: builtin/bisect--helper.c:86 #, c-format @@ -9096,221 +9266,243 @@ msgstr "sẽ không di chuyển ná»a bước trên cây được cg-seek" msgid "bad HEAD - strange symbolic ref" msgstr "sai HEAD - tham chiếu má»m kỳ lạ" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "refspec không hợp lệ: “%sâ€" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "thá»±c hiện “git bisect nextâ€" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "ghi thá»i kỳ và o .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "dá»n dẹp tình trạng di chuyển ná»a bước" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "kiểm tra cho Ä‘iểm xem xét cần dùng" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "đặt lại trạng di chuyển ná»a bước" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "ghi ra tình trạng di chuyển ná»a bước trong BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "kiểm tra và đặt thá»i Ä‘iểm trong di chuyển ná»a bước" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "kiểm tra xem các thá»i Ä‘iểm xấu/tốt có tồn tại không" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "in ra các thá»i Ä‘iểm di chuyển ná»a bước" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "bắt đầu phiên di chuyển ná»a bước" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" "cáºp nháºt BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao hiện hà nh" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "không có nháºt ký cho BISECT_WRITE" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms cần hai tham số" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state không nháºn đối số" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "" "--bisect-reset requires không nháºn đối số cÅ©ng không nháºn lần chuyển giao" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write cần 4 hoặc 5 tham số" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms cần 3 tham số" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check cần 2 hoặc 3 tham số" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms cần 0 hoặc 1 tham số" #: builtin/blame.c:32 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" -msgstr "git blame [<các-tùy-chá»n>] [<rev-opts>] [<rev>] [--] <táºp-tin>" +msgstr "git blame [<các tùy chá»n>] [<rev-opts>] [<rev>] [--] <táºp-tin>" #: builtin/blame.c:37 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-opts> được mô tả trong tà i liệu git-rev-list(1)" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "cần má»™t mà u: %s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "phải kết thúc bằng má»™t mà u" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "mà u không hợp lệ “%s†trong color.blame.repeatedLines" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "mà u không hợp lệ cho blame.coloring" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "không thể tìm thấy Ä‘iểm xét duyệt %s để mà bá» qua" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "Hiển thị các mục “blame†như là chúng ta thấy chúng, tăng dần" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giá»›i (Mặc định: off)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Không coi các lần chuyển giao gốc là giá»›i hạn (Mặc định: off)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "Hiển thị thống kê công sức là m việc" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "Ép buá»™c báo cáo tiến triển công việc" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "Hiển thị kết xuất Ä‘iểm số có các mục tin “blameâ€" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "Hiển thị tên táºp tin gốc (Mặc định: auto)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "Hiển thị số dòng gốc (Mặc định: off)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "Hiển thị ở định dạng đã thiết kế cho sá»± tiêu dùng bằng máy" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "Hiển thị định dạng “porcelain†vá»›i thông tin chuyển giao má»—i dòng" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Dùng cùng chế độ xuất ra vá»›i git-annotate (Mặc định: off)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "Hiển thị dấu vết thá»i gian dạng thô (Mặc định: off)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "Hiển thị SHA1 cá»§a lần chuyển giao dạng dà i (Mặc định: off)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "Không hiển thị tên tác giả và dấu vết thá»i gian (Mặc định: off)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "Hiển thị thư Ä‘iện tá» cá»§a tác giả thay vì tên (Mặc định: off)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "Bá» qua các khác biệt do khoảng trắng gây ra" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "rev" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "bá» qua <rev> khi blame" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "Bá» qua các Ä‘iểm xét duyệt từ <táºp tin>" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "siêu dữ liệu dư thừa mà u từ dòng trước khác hẳn" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "các dòng mà u theo tuổi" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "Dùng má»™t phá»ng Ä‘oán thá» nghiệm để tăng cưá»ng các diff" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "Tiêu thụ thêm năng tà i nguyên máy móc để tìm kiếm tốt hÆ¡n nữa" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Sá» dụng Ä‘iểm xét duyệt (revision) từ <táºp tin> thay vì gá»i “git-rev-listâ€" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "Sá» dụng ná»™i dung cá»§a <táºp tin> như là ảnh cuối cùng" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "Ä‘iểm số" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "Tìm các bản sao chép dòng trong và ngang qua táºp tin" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "Tìm các di chuyển dòng trong và ngang qua táºp tin" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "Xá» lý chỉ dòng vùng n,m, tÃnh từ 1" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "" "--progress không được dùng cùng vá»›i --incremental hay các định dạng porcelain" @@ -9323,49 +9515,49 @@ msgstr "" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "4 năm, 11 tháng trước" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "táºp tin %s chỉ có %lu dòng" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "Các dòng blame" #: builtin/branch.c:29 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]" -msgstr "git branch [<các-tùy-chá»n>] [-r | -a] [--merged | --no-merged]" +msgstr "git branch [<các tùy chá»n>] [-r | -a] [--merged | --no-merged]" #: builtin/branch.c:30 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]" -msgstr "git branch [<các-tùy-chá»n>] [-l] [-f] <tên-nhánh> [<Ä‘iểm-đầu>]" +msgstr "git branch [<các tùy chá»n>] [-l] [-f] <tên-nhánh> [<Ä‘iểm-đầu>]" #: builtin/branch.c:31 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..." -msgstr "git branch [<các-tùy-chá»n>] [-r] (-d | -D) <tên-nhánh> …" +msgstr "git branch [<các tùy chá»n>] [-r] (-d | -D) <tên-nhánh> …" #: builtin/branch.c:32 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>" -msgstr "git branch [<các-tùy-chá»n>] (-m | -M) [<nhánh-cÅ©>] <nhánh-má»›i>" +msgstr "git branch [<các tùy chá»n>] (-m | -M) [<nhánh-cÅ©>] <nhánh-má»›i>" #: builtin/branch.c:33 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>" -msgstr "git branch [<các-tùy-chá»n>] (-c | -C) [<nhánh-cÅ©>] <nhánh-má»›i>" +msgstr "git branch [<các tùy chá»n>] (-c | -C) [<nhánh-cÅ©>] <nhánh-má»›i>" #: builtin/branch.c:34 msgid "git branch [<options>] [-r | -a] [--points-at]" -msgstr "git branch [<các-tùy-chá»n>] [-r | -a] [--points-at]" +msgstr "git branch [<các tùy chá»n>] [-r | -a] [--points-at]" #: builtin/branch.c:35 msgid "git branch [<options>] [-r | -a] [--format]" -msgstr "git branch [<các-tùy-chá»n>] [-r | -a] [--format]" +msgstr "git branch [<các tùy chá»n>] [-r | -a] [--format]" -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9374,7 +9566,7 @@ msgstr "" "Ä‘ang xóa nhánh “%s†mà nó lại đã được hòa trá»™n và o\n" " “%sâ€, nhưng vẫn chưa được hòa trá»™n và o HEAD." -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9383,12 +9575,12 @@ msgstr "" "không xóa nhánh “%s†cái mà chưa được hòa trá»™n và o\n" " “%sâ€, cho dù là nó đã được hòa trá»™n và o HEAD." -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "Không thể tìm kiếm đối tượng chuyển giao cho “%sâ€" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9397,121 +9589,121 @@ msgstr "" "Nhánh “%s†không được trá»™n má»™t cách đầy đủ.\n" "Nếu bạn thá»±c sá»± muốn xóa nó, thì chạy lệnh “git branch -D %sâ€." -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "Cáºp nháºt táºp tin cấu hình gặp lá»—i" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "không thể dùng tùy chá»n -a vá»›i -d" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "Không thể tìm kiếm đối tượng chuyển giao cho HEAD" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "Không thể xóa nhánh “%s†đã được lấy ra tại “%sâ€" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "không tìm thấy nhánh theo dõi máy chá»§ “%sâ€." -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "không tìm thấy nhánh “%sâ€." -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Gặp lá»—i khi Ä‘ang xóa nhánh theo dõi máy chá»§ “%sâ€" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "Gặp lá»—i khi xóa bá» nhánh “%sâ€" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "Äã xóa nhánh theo dõi máy chá»§ \"%s\" (từng là %s).\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "Nhánh “%s†đã bị xóa (từng là %s)\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "không thể phân tÃch chuá»—i định dạng" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "không thể phân giải HEAD" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) chỉ bên ngoà i cá»§a refs/heads/" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "Nhánh %s Ä‘ang được cải tổ lại tại %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "Nhánh %s Ä‘ang được di chuyển phân đôi (bisect) tại %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "không thể sao chép nhánh hiện hà nh trong khi nó chẳng ở đâu cả." -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "không thể đổi tên nhánh hiện hà nh trong khi nó chẳng ở đâu cả." -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "Tên nhánh không hợp lệ: “%sâ€" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "Gặp lá»—i khi đổi tên nhánh" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "Gặp lá»—i khi sao chép nhánh" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "Äã tạo má»™t bản sao cá»§a nhánh khuyết danh “%sâ€" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Äã đổi tên nhánh khuyết danh “%s†đi" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Nhánh bị đổi tên thà nh %s, nhưng HEAD lại không được cáºp nháºt!" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "Nhánh bị đổi tên, nhưng cáºp nháºt táºp tin cấu hình gặp lá»—i" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "Nhánh đã được sao chép, nhưng cáºp nháºt táºp tin cấu hình gặp lá»—i" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9522,180 +9714,180 @@ msgstr "" " %s\n" "Những dòng được bắt đầu bằng “%c†sẽ được cắt bá».\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "Tùy chá»n chung" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "hiển thị mã băm và chá»§ Ä‘á», đưa ra hai lần cho nhánh thượng nguồn" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "không xuất các thông tin" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "cà i đặt chế độ theo dõi (xem git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "không dùng" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "thượng nguồn" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "thay đổi thông tin thượng nguồn" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "BỠđặt thông tin thượng nguồn" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "tô mà u kết xuất" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "thao tác trên nhánh “remote-trackingâ€" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "chỉ hiển thị những nhánh mà nó không chứa lần chuyển giao" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "Hà nh động git-branch:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "liệt kê cả nhánh “remote-tracking†và ná»™i bá»™" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "xóa má»™t toà n bá»™ nhánh đã hòa trá»™n" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "xóa nhánh (cho dù là chưa được hòa trá»™n)" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "di chuyển hay đổi tên má»™t nhánh và reflog cá»§a nó" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "di chuyển hoặc đổi tên má»™t nhánh ngay cả khi Ä‘Ãch đã có sẵn" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "sao chép má»™t nhánh và reflog cá»§a nó" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "sao chép má»™t nhánh ngay cả khi Ä‘Ãch đã có sẵn" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "liệt kê các tên nhánh" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "hiển thị nhánh hiện hà nh" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "tạo reflog cá»§a nhánh" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "sá»a mô tả cho nhánh" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "buá»™c tạo, di chuyển/đổi tên, xóa" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "chỉ hiển thị những nhánh mà nó được hòa trá»™n" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "chỉ hiển thị những nhánh mà nó không được hòa trá»™n" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "liệt kê các nhánh trong các cá»™t" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "đối tượng" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "chỉ hiển thị các nhánh cá»§a đối tượng" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "sắp xếp và lá»c là phân biệt HOA thưá»ng" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "định dạng sẽ dùng cho đầu ra" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "Không tìm thấy HEAD ở dưới refs/heads!" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "tùy chá»n --column và --verbose xung khắc nhau" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "cần chỉ ra tên nhánh" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "Không thể đưa ra mô tả HEAD đã tách rá»i" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "không thể sá»a mô tả cho nhiá»u hÆ¡n má»™t nhánh" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "Vẫn chưa chuyển giao trên nhánh “%sâ€." -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "Không có nhánh nà o có tên “%sâ€." -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "quá nhiá»u nhánh dà nh cho thao tác sao chép" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "quá nhiá»u tham số cho thao tác đổi tên" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "quá nhiá»u tham số để đặt thượng nguồn má»›i" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -9703,36 +9895,39 @@ msgstr "" "không thể đặt thượng nguồn cá»§a HEAD thà nh %s khi mà nó chẳng chỉ đến nhánh " "nà o cả." -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "không có nhánh nà o như thế “%sâ€" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "chưa có nhánh “%sâ€" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "quá nhiá»u tham số để bỠđặt thượng nguồn" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "không thể bỠđặt thượng nguồn cá»§a HEAD không chỉ đến má»™t nhánh nà o cả." -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Nhánh “%s†không có thông tin thượng nguồn" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" msgstr "" -"hai tùy chá»n -a và -r áp dụng cho lệnh “git branch†không hợp lý đối vá»›i tên " -"nhánh" +"Hai tùy chá»n -a và -r áp dụng cho lệnh “git branch†không nháºn má»™t tên " +"nhánh.\n" +"Có phải ý bạn là dùng: -a|-r --list <mẫu>?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9753,7 +9948,7 @@ msgstr "Cần má»™t kho chứa để có thể tạo má»™t bundle." msgid "Need a repository to unbundle." msgstr "Cần má»™t kho chứa để có thể giải nén má»™t bundle." -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9761,7 +9956,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <kiểu> | --textconv) | --filters) [--path=<đưá»ng/dẫn>] <đối_tượng>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9769,72 +9964,72 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "chỉ má»™t tùy chá»n batch được chỉ ra" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<kiểu> là má»™t trong số: blob, tree, commit hoặc tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "hiển thị kiểu đối tượng" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "hiển thị kÃch thước đối tượng" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "thoát vá»›i 0 khi không có lá»—i" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "in ná»™i dung đối tượng dạng dá»… Ä‘á»c" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "vá»›i đối tượng blob, chạy lệnh textconv trên ná»™i dung cá»§a đối tượng" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "vá»›i đối tượng blob, chạy lệnh filters trên ná»™i dung cá»§a đối tượng" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "blob" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "dùng má»™t đưá»ng dẫn rõ rà ng cho --textconv/--filters" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "cho phép -s và -t để là m việc vá»›i các đối tượng sai/há»ng" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "đệm kết xuất --batch" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "" "hiển thị thông tin và ná»™i dung cá»§a các đối tượng lấy từ đầu và o tiêu chuẩn" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "hiển thị các thông tin vỠđối tượng fed từ đầu và o tiêu chuẩn" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "theo liên kết má»m trong-cây (được dùng vá»›i --batch hay --batch-check)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "hiển thị má»i đối tượng vá»›i --batch hay --batch-check" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "đừng sắp xếp đầu ra --batch-all-objects" @@ -9862,8 +10057,8 @@ msgstr "Ä‘á»c tên táºp tin từ đầu và o tiêu chuẩn" msgid "terminate input and output records by a NUL character" msgstr "chấm dứt các bản ghi và o và ra bằng ký tá»± NULL" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "chặn các báo cáo tiến trình hoạt động" @@ -9901,7 +10096,7 @@ msgstr "tùy-chá»n --non-matching chỉ hợp lệ khi dùng vá»›i --verbose" #: builtin/check-mailmap.c:9 msgid "git check-mailmap [<options>] <contact>..." -msgstr "git check-mailmap [<các-tùy-chá»n>] <danh-bạ>…" +msgstr "git check-mailmap [<các tùy chá»n>] <danh-bạ>…" #: builtin/check-mailmap.c:14 msgid "also read contacts from stdin" @@ -9918,7 +10113,7 @@ msgstr "chưa chỉ ra danh bạ" #: builtin/checkout-index.c:131 msgid "git checkout-index [<options>] [--] [<file>...]" -msgstr "git checkout-index [<các-tùy-chá»n>] [--] [<táºp-tin>…]" +msgstr "git checkout-index [<các tùy chá»n>] [--] [<táºp-tin>…]" #: builtin/checkout-index.c:148 msgid "stage should be between 1 and 3 or all" @@ -9954,9 +10149,9 @@ msgid "write the content to temporary files" msgstr "ghi ná»™i dung và o táºp tin tạm" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "chuá»—i" @@ -9968,89 +10163,112 @@ msgstr "khi tạo các táºp tin, nối thêm <chuá»—i>" msgid "copy out the files from named stage" msgstr "sao chép ra các táºp tin từ bệ phóng có tên" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" -msgstr "git checkout [<các-tùy-chá»n>] <nhánh>" +msgstr "git checkout [<các tùy chá»n>] <nhánh>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." -msgstr "git checkout [<các-tùy-chá»n>] [<nhánh>] -- <táºp-tin>…" +msgstr "git checkout [<các tùy chá»n>] [<nhánh>] -- <táºp-tin>…" + +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<các tùy chá»n>] [<nhánh>]" -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<các tùy chá»n>] [--source=<nhánh>] <táºp tin>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "đưá»ng dẫn “%s†không có các phiên bản cá»§a chúng ta" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "đưá»ng dẫn “%s†không có các phiên bản cá»§a chúng" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "đưá»ng dẫn “%s†không có tất cả các phiên bản cần thiết" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "đưá»ng dẫn “%s†không có các phiên bản cần thiết" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "đưá»ng dẫn “%sâ€: không thể hòa trá»™n" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Không thể thêm kết quả hòa trá»™n cho “%sâ€" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "Äã tạo lại %d xung đột hòa trá»™n" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "Äã cáºp nháºt đưá»ng dẫn %d từ %s" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "Äã cáºp nháºt đưá»ng dẫn %d từ mục lục" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "không được dùng “%s†vá»›i các đưá»ng dẫn cáºp nháºt" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "không được dùng “%s†vá»›i %s" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Không thể cáºp nháºt các đưá»ng dẫn và chuyển đến nhánh “%s†cùng má»™t lúc." -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "đưá»ng dẫn “%s†không được hòa trá»™n" +msgid "neither '%s' or '%s' is specified" +msgstr "không chỉ định '%s' không '%s'" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "Äã tạo lại %d xung đột hòa trá»™n" +msgid "'%s' must be used when '%s' is not specified" +msgstr "phải có “%s†khi không chỉ định “%sâ€" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "Äã cáºp nháºt đưá»ng dẫn %d từ %s" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' hay '%s' không thể được sá» dụng vá»›i %s" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "Äã cáºp nháºt đưá»ng dẫn %d từ mục lục" +msgid "path '%s' is unmerged" +msgstr "đưá»ng dẫn “%s†không được hòa trá»™n" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "bạn cần phải giải quyết bảng mục lục hiện tại cá»§a bạn trước đã" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10060,56 +10278,56 @@ msgstr "" "sau:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "" "các thay đổi đã đưa lên bệ phóng trong các táºp tin sau đây có thể bị mất: %s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "Không thể thá»±c hiện reflog cho “%sâ€: %s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD hiện giá» tại" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "không thể cáºp nháºt HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "Äặt lại nhánh “%sâ€\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "Äã sẵn sà ng trên “%sâ€\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Äã chuyển tá»›i và đặt lại nhánh “%sâ€\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Äã chuyển đến nhánh má»›i “%sâ€\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "Äã chuyển đến nhánh “%sâ€\n" -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " … và nhiá»u hÆ¡n %d.\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10128,7 +10346,7 @@ msgstr[0] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10149,24 +10367,28 @@ msgstr[0] "" " git branch <tên_nhánh_má»›i> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "lá»—i ná»™i bá»™ trong khi di chuyển qua các Ä‘iểm xét duyệt" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "Vị trà trước kia cá»§a HEAD là " -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "Bạn tại nhánh mà nó chưa hỠđược sinh ra" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "chỉ cần má»™t tham chiếu" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "chỉ cần má»™t tham chiếu, nhưng lại đưa ra %d." -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10175,155 +10397,213 @@ msgstr "" "“%s†không thể là cả táºp tin ná»™i bá»™ và má»™t nhánh theo dõi.\n" "Vui long dùng -- (và tùy chá»n thêm --no-guess) để tránh lẫn lá»™n" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "tham chiếu không hợp lệ: %s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "tham chiếu không phải là má»™t cây:%s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "cần má»™t nhánh, nhưng lại nháºn được thẻ “%sâ€" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "cần má»™t nhánh, nhưng lại nháºn được nhánh máy phục vụ “%sâ€" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "cần má»™t nhánh, nhưng lại nháºn được “%sâ€" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "cần má»™t nhánh, nhưng lại nháºn được “%sâ€" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"không thể chuyển nhánh trong khi Ä‘ang hòa trá»™n\n" +"Cân nhắc dung \"git merge --quit\" hoặc \"git worktree add\"." + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"không thể chuyển nhanh ở giữa má»™t phiên am\n" +"Cân nhắc dùng \"git am --quit\" hoặc \"git worktree add\"." + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"không thể chuyển nhánh trong khi cải tổ\n" +"Cân nhắc dùng \"git rebase --quit\" hay \"git worktree add\"." + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"không thể chuyển nhánh trong khi cherry-picking\n" +"Cân nhắc dùng \"git cherry-pick --quit\" hay \"git worktree add\"." + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"không thể chuyển nhánh trong khi hoà n nguyên\n" +"Cân nhắc dùng \"git revert --quit\" hoặc \"git worktree add\"." + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "" +"bạn hiện tại Ä‘ang thá»±c hiện việc chuyển nhánh trong khi Ä‘ang di chuyển ná»a " +"bước" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "các đưá»ng dẫn không thể dùng cùng vá»›i các nhánh chuyển" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "“%s†không thể được sá» dụng vá»›i các nhánh chuyển" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "“%s†không thể được dùng vá»›i “%sâ€" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "“%s†không thể nháºn <Ä‘iểm-đầu>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Không thể chuyển nhánh đến má»™t thứ không phải là lần chuyển giao “%sâ€" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "nhánh" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "thiếu tham số là nhánh hoặc lần chuyển giao" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "tạo và checkout má»™t nhánh má»›i" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "ép buá»™c báo cáo tiến triển công việc" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "tạo/đặt_lại và checkout má»™t nhánh" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "thá»±c hiện hòa trá»™n kiểu 3-way vá»›i nhánh má»›i" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "tạo reflog cho nhánh má»›i" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "kiểu" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "xung đột kiểu (hòa trá»™n hoặc diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "rá»i bá» HEAD tại lần chuyển giao theo tên" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "đặt thông tin thượng nguồn cho nhánh má»›i" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "ép buá»™c lấy ra (bá» Ä‘i những thay đổi ná»™i bá»™)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "nhánh-má»›i" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "nhánh không cha má»›i" -#: builtin/checkout.c:1366 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "cáºp nháºt các táºp tin bị bá» qua (mặc định)" + +#: builtin/checkout.c:1462 +msgid "do not check if another worktree is holding the given ref" +msgstr "không kiểm tra nếu cây là m việc khác Ä‘ang giữ tham chiếu đã cho" + +#: builtin/checkout.c:1475 msgid "checkout our version for unmerged files" msgstr "" "lấy ra (checkout) phiên bản cá»§a chúng ta cho các táºp tin chưa được hòa trá»™n" -#: builtin/checkout.c:1369 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "" "lấy ra (checkout) phiên bản cá»§a chúng há» cho các táºp tin chưa được hòa trá»™n" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "ép buá»™c lấy ra (bá» Ä‘i những thay đổi ná»™i bá»™)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "thá»±c hiện hòa trá»™n kiểu 3-way vá»›i nhánh má»›i" - -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" -msgstr "cáºp nháºt các táºp tin bị bá» qua (mặc định)" - -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "kiểu" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "xung đột kiểu (hòa trá»™n hoặc diff3)" - -#: builtin/checkout.c:1381 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "không giá»›i hạn đặc tả đưá»ng dẫn thà nh chỉ các mục thưa thá»›t" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "đừng gợi ý thứ hai \"git checkout <không-nhánh-nà o-như-váºy>\"" - -#: builtin/checkout.c:1385 -msgid "do not check if another worktree is holding the given ref" -msgstr "không kiểm tra nếu cây là m việc khác Ä‘ang giữ tham chiếu đã cho" - -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "ép buá»™c báo cáo tiến triển công việc" - -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "dùng chế độ che phá»§ (mặc định)" - -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Các tùy chá»n -b, -B và --orphan loại từ lẫn nhau" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p và --overlay loại từ lẫn nhau" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track cần tên má»™t nhánh" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "thiếu tên nhánh; hãy thá» -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "không thể phân giải “%sâ€" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "bạn phải chỉ định các thư mục muốn hồi phục" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "đưá»ng dẫn đã cho không hợp lệ" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "" "“%s†không phải là má»™t lần chuyển giao và má»™t nhánh'%s†không thể được tạo " "từ đó" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach không nháºn má»™t đối số đưá»ng dẫn “%sâ€" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -10331,7 +10611,7 @@ msgstr "" "git checkout: --ours/--theirs, --force và --merge là xung khắc vá»›i nhau khi\n" "checkout bảng mục lục (index)." -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10361,11 +10641,74 @@ msgstr "" "chưa rõ rà ng, và dụ máy chá»§ “originâ€, cân nhắc cà i đặt\n" "checkout.defaultRemote=origin trong cấu hình cá»§a bạn." +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "nhánh" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "tạo và checkout má»™t nhánh má»›i" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "tạo/đặt_lại và checkout má»™t nhánh" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "tạo reflog cho nhánh má»›i" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "Ä‘oán thứ hai 'git checkout <không-nhánh-nà o-như-váºy>' (mặc định)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "dùng chế độ che phá»§ (mặc định)" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "tạo và chuyển đến má»™t nhánh má»›i" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "tạo/đặt_lại và chuyển đến má»™t nhánh" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nà o-như-váºy>\"" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "vứt bá» các sá»a đổi địa phương" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "lấy ra từ tree-ish nà o" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "phục hồi bảng mục lục" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "phục hồi cây là m việc (mặc định)" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "bá» qua những thứ chưa hòa trá»™n: %s" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "dùng chế độ che phá»§" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" -"git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <đưá»ng-dẫn>…" +"git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] </các/đưá»ng/" +"dẫn>…" #: builtin/clean.c:32 #, c-format @@ -10392,7 +10735,12 @@ msgstr "Nên bá» qua kho chứa %s\n" msgid "failed to remove %s" msgstr "gặp lá»—i khi gỡ bá» %s" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "không thể lấy thông tin thống kê đầy đủ cá»§a %s\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10405,7 +10753,7 @@ msgstr "" "foo - chá»n mục trên cÆ¡ sở tiá»n tố duy nhất\n" " - (để trống) không chá»n gì cả\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10426,38 +10774,38 @@ msgstr "" "* - chá»n tất\n" " - (để trống) kết thúc việc chá»n\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "Hả (%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "Mẫu để lá»c các táºp tin đầu và o cần lá» Ä‘i>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "CẢNH BÃO: Không tìm thấy các mục được khá»›p bởi: %s" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "Chá»n mục muốn xóa" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "Xóa bỠ“%s†[y/N]? " -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "Tạm biệt.\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10475,63 +10823,63 @@ msgstr "" "help - hiển thị chÃnh trợ giúp nà y\n" "? - trợ giúp dà nh cho chá»n bằng cách nhắc" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** Lệnh ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "Giá» thì sao" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Có muốn gỡ bá» (các) mục sau đây không:" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "Không còn táºp-tin nà o để dá»n dẹp, Ä‘ang thoát ra." -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "không hiển thị tên cá»§a các táºp tin đã gỡ bá»" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "ép buá»™c" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "dá»n bằng kiểu tương tác" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "gỡ bá» toà n bá»™ thư mục" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "mẫu" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "thêm <mẫu> và o trong qui tắc bá» qua" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "đồng thá»i gỡ bá» cả các táºp tin bị bá» qua" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "chỉ gỡ bá» những táºp tin bị bá» qua" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x và -X không thể dùng cùng nhau" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -10539,7 +10887,7 @@ msgstr "" "clean.requireForce được đặt thà nh true và không đưa ra tùy chá»n -i, -n mà " "cÅ©ng không -f; từ chối lệnh dá»n dẹp (clean)" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -10547,158 +10895,162 @@ msgstr "" "clean.requireForce mặc định được đặt là true và không đưa ra tùy chá»n -i, -n " "mà cÅ©ng không -f; từ chối lệnh dá»n dẹp (clean)" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" -msgstr "git clone [<các-tùy-chá»n>] [--] <kho> [<t.mục>]" +msgstr "git clone [<các tùy chá»n>] [--] <kho> [<t.mục>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "không tạo má»™t checkout" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "tạo kho thuần" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "tạo kho bản sao (ý là kho thuần)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "để nhân bản từ kho ná»™i bá»™" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "không sá» dụng liên kết cứng ná»™i bá»™, luôn sao chép" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "cà i đặt đây là kho chia sẻ" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "đặc-tả-đưá»ng-dẫn" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "khởi tạo mô-Ä‘un-con trong bản sao" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "số lượng mô-Ä‘un-con được nhân bản đồng thá»i" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "thư-mục-mẫu" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "thư mục mà tại đó các mẫu sẽ được dùng" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "kho tham chiếu" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "chỉ dùng --reference khi nhân bản" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "tên" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "dùng <tên> thay cho “origin†để theo dõi thượng nguồn" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "lấy ra <nhánh> thay cho HEAD cá»§a máy chá»§" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "đưá»ng dẫn đến git-upload-pack trên máy chá»§" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "độ-sâu" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "thá»i-gian" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "tạo bản sao không đầy đủ từ thá»i Ä‘iểm đã cho" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "Ä‘iểm xét duyệt" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "là m sâu hÆ¡n lịch sá» cá»§a bản sao shallow, bằng Ä‘iểm xét duyệt loại trừ" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "chỉ nhân bản má»™t nhánh, HEAD hoặc --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "" "đứng có nhân bản bất kỳ nhánh nà o, và là m cho những lần lấy vá» sau không " "theo chúng nữa" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "má»i mô-Ä‘un-con nhân bản sẽ là shallow (nông)" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "không dùng chung thư mục dà nh riêng cho git và thư mục là m việc" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "khóa=giá_trị" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "đặt cấu hình bên trong má»™t kho chứa má»›i" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "đặc-tả-máy-phục-vụ" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "tùy chá»n để chuyển giao" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "chỉ dùng địa chỉ IPv4" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "chỉ dùng địa chỉ IPv6" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "má»i mô-Ä‘un-con nhân bản sẽ dung nhánh theo dõi máy chá»§ cá»§a chúng" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10706,145 +11058,145 @@ msgstr "" "Không Ä‘oán được thư mục tên là gì.\n" "Vui lòng chỉ định tên má»™t thư mục trên dòng lệnh" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "thông tin: không thể thêm thay thế cho “%sâ€: %s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "gặp lá»—i khi mở “%sâ€" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s có tồn tại nhưng lại không phải là má»™t thư mục" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "gặp lá»—i khi lấy thông tin thống kê vá» %s\n" +msgid "failed to start iterator over '%s'" +msgstr "gặp lá»—i khi bắt đầu lặp qua “%sâ€" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "gặp lá»—i khi bá» liên kết (unlink) “%sâ€" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "gặp lá»—i khi tạo được liên kết má»m %s" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "gặp lá»—i khi sao chép táºp tin và “%sâ€" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "gặp lá»—i khi lặp qua “%sâ€" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "hoà n tất.\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "Việc nhân bản thà nh công, nhưng checkout gặp lá»—i.\n" "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git statusâ€\n" -"và thá» lấy ra vá»›i lệnh “git checkout -f HEADâ€\n" +"và thá» lấy ra vá»›i lệnh 'git restore --source=HEAD :/'\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Không tìm thấy nhánh máy chá»§ %s để nhân bản (clone)." -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "không thể cáºp nháºt %s" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "refers HEAD máy chá»§ chỉ đến ref không tồn tại, không thể lấy ra.\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "không thể lấy ra (checkout) cây là m việc" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "không thể ghi các tham số và o táºp tin cấu hình" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "không thể đóng gói để dá»n dẹp" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "không thể bá» liên kết táºp tin thay thế tạm thá»i" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "Có quá nhiá»u đối số." -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "Bạn phải chỉ định má»™t kho để mà nhân bản (clone)." -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "tùy chá»n --bare và --origin %s xung khắc nhau." -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "tùy chá»n --bare và --separate-git-dir xung khắc nhau." -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "kho chứa “%s†chưa tồn tại" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "độ sâu %s không phải là má»™t số nguyên dương" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "đưá»ng dẫn Ä‘Ãch “%s†đã có từ trước và không phải là má»™t thư mục rá»—ng." -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "cây là m việc “%s†đã sẵn tồn tại rồi." -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "không thể tạo các thư mục dẫn đầu cá»§a “%sâ€" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "không thể tạo cây thư mục là m việc dir “%sâ€" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Äang nhân bản thà nh kho chứa bare “%sâ€â€¦\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "Äang nhân bản thà nh “%sâ€â€¦\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" @@ -10852,47 +11204,47 @@ msgstr "" "nhân bản --recursive không tương thÃch vá»›i cả hai --reference và --reference-" "if-able" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth bị lá» Ä‘i khi nhân bản ná»™i bá»™; hãy sá» dụng file:// để thay thế." -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "" "--shallow-since bị lá» Ä‘i khi nhân bản ná»™i bá»™; hãy sá» dụng file:// để thay " "thế." -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "" "--shallow-exclude bị lá» Ä‘i khi nhân bản ná»™i bá»™; hãy sá» dụng file:// để thay " "thế." -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "" "--filter bị lá» Ä‘i khi nhân bản ná»™i bá»™; hãy sá» dụng file:// để thay thế." -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "kho nguồn là nông, nên bá» qua --local" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local bị lá» Ä‘i" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Nhánh máy chá»§ %s không tìm thấy trong thượng nguồn %s" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "Bạn hình như là đã nhân bản má»™t kho trống rá»—ng." #: builtin/column.c:10 msgid "git column [<options>]" -msgstr "git column [<các-tùy-chá»n>]" +msgstr "git column [<các tùy chá»n>]" #: builtin/column.c:27 msgid "lookup config vars" @@ -10935,7 +11287,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "cha mẹ bị trùng lặp %s đã bị bá» qua" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "không phải là tên đối tượng hợp lệ “%sâ€" @@ -10963,13 +11315,13 @@ msgstr "cha-mẹ" msgid "id of a parent commit object" msgstr "mã số cá»§a đối tượng chuyển giao cha mẹ" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "chú thÃch" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "chú thÃch cá»§a lần chuyển giao" @@ -10977,8 +11329,8 @@ msgstr "chú thÃch cá»§a lần chuyển giao" msgid "read commit log message from file" msgstr "Ä‘á»c chú thÃch nháºt ký lần chuyển giao từ táºp tin" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "Ký lần chuyển giao dùng GPG" @@ -10992,11 +11344,11 @@ msgstr "git commit-tree: gặp lá»—i khi Ä‘á»c" #: builtin/commit.c:41 msgid "git commit [<options>] [--] <pathspec>..." -msgstr "git commit [<các-tùy-chá»n>] [--] <pathspec>…" +msgstr "git commit [<các tùy chá»n>] [--] <pathspec>…" #: builtin/commit.c:46 msgid "git status [<options>] [--] <pathspec>..." -msgstr "git status [<các-tùy-chá»n>] [--] <pathspec>…" +msgstr "git status [<các tùy chá»n>] [--] <pathspec>…" #: builtin/commit.c:51 msgid "" @@ -11027,82 +11379,88 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "Nếu không được thì dùng lệnh \"git reset\"\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "Nếu không được thì dùng lệnh \"git cherry-pick --skip\"\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" +"và sau đó dùng:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"để lại tiếp tục cherry-picking các lần chuyển giao còn lại.\n" "Nếu bạn muốn bá» qua lần chuyển giao nà y thì dùng:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n" -"những lần chuyển giao còn lại.\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "gặp lá»—i khi tháo dỡ HEAD đối tượng cây" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "không thể tạo bảng mục lục tạm thá»i" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "gặp lá»—i khi thêm bằng cách tương" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "không thể cáºp nháºt bảng mục lục tạm thá»i" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "Gặp lá»—i khi cáºp nháºt cây bá»™ nhá»› đệm" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "không thể ghi táºp tin lưu bảng mục lục má»›i (new_index)" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "" "không thể thá»±c hiện việc chuyển giao cục bá»™ trong khi Ä‘ang được hòa trá»™n." -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "" "không thể thá»±c hiện việc chuyển giao bá»™ pháºn trong khi Ä‘ang cherry-pick." -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "không Ä‘á»c được bảng mục lục" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "không thể ghi táºp tin lưu bảng mục lục tạm thá»i" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "lần chuyển giao “%s†thiếu phần tác giả ở đầu" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "lần chuyển giao “%s†có phần tác giả ở đầu dị dạng" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "đối số cho --author bị dị hình" -#: 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" @@ -11110,38 +11468,38 @@ msgstr "" "không thể chá»n má»™t ký tá»± ghi chú cái mà không được dùng\n" "trong phần ghi chú hiện tại" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "không thể tìm kiếm commit (lần chuyển giao) %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(Ä‘ang Ä‘á»c thông Ä‘iệp nháºt ký từ đầu và o tiêu chuẩn)\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "không thể Ä‘á»c nháºt ký từ đầu và o tiêu chuẩn" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "không Ä‘á»c được tệp nháºt ký “%sâ€" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "không thể Ä‘á»c SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "không thể Ä‘á»c MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "không thể ghi mẫu chuyển giao" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11156,7 +11514,7 @@ msgstr "" "\t%s\n" "và thá» lại.\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11171,7 +11529,7 @@ msgstr "" "\t%s\n" "và thá» lại.\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11182,7 +11540,7 @@ msgstr "" "bắt đầu bằng “%c†sẽ được bá» qua, nếu phần chú thÃch rá»—ng sẽ há»§y bá» lần " "chuyển giao.\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11194,152 +11552,152 @@ msgstr "" "bắt đầu bằng “%c†sẽ được bá» qua; bạn có thể xóa chúng Ä‘i nếu muốn thế.\n" "Phần chú thÃch nà y nếu trống rá»—ng sẽ há»§y bá» lần chuyển giao.\n" -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sTác giả: %.*s <%.*s>" -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%sNgà y tháng: %s" -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sNgưá»i chuyển giao: %.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "Không Ä‘á»c được bảng mục lục" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "Gặp lá»—i khi xây dá»±ng cây" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Xin hãy cung cấp lá»i chú giải hoặc là dùng tùy chá»n -m hoặc là -F.\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" "--author “%s†không phải là “Há» và tên <thư Ä‘iện tá»l>†và không khá»›p bất kỳ " "tác giả nà o sẵn có" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "Chế độ bá» qua không hợp lệ “%sâ€" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Chế độ cho các táºp tin chưa được theo dõi không hợp lệ “%sâ€" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "hai tùy chá»n -long và -z không tương thÃch vá»›i nhau" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "Sá» dụng cả hai tùy chá»n --reset-author và --author không hợp lý" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "Không có gì để mà “tu bổ†cả." -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "" "Bạn Ä‘ang ở giữa cá»§a quá trình hòa trá»™n -- không thể thá»±c hiện việc “tu bổâ€." -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "" "Bạn Ä‘ang ở giữa cá»§a quá trình cherry-pick -- không thể thá»±c hiện việc “tu " "bổâ€." -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "Các tùy chá»n --squash và --fixup không thể sá» dụng cùng vá»›i nhau" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Chỉ được dùng má»™t trong số tùy chá»n trong số -c/-C/-F/--fixup." -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "Tùy chá»n -m không thể được tổ hợp cùng vá»›i -c/-C/-F." -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "--reset-author chỉ có thể được sá» dụng vá»›i tùy chá»n -C, -c hay --amend." -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Chỉ má»™t trong các tùy chá»n --include/--only/--all/--interactive/--patch được " "sá» dụng." -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "Không đưá»ng dẫn vá»›i các tùy chá»n --include/--only không hợp lý." -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "các đưá»ng dẫn “%s …†vá»›i tùy chá»n -a không hợp lý" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "hiển thị trạng thái ở dạng súc tÃch" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "hiển thị thông tin nhánh" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "hiển thị thông tin vá» tạm cất" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "tÃnh đầy đủ giá trị trước/sau" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "phiên bản" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "kết xuất dạng máy-có-thể-Ä‘á»c" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "hiển thị trạng thái ở định dạng dà i (mặc định)" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "chấm dứt các mục bằng NUL" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "chế độ" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "hiển thị các táºp tin chưa được theo dõi dấu vết, các chế độ tùy chá»n: all, " "normal, no. (Mặc định: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" @@ -11347,11 +11705,11 @@ msgstr "" "hiển thị các táºp tin bị bá» qua, các chế độ tùy chá»n: traditional, matching, " "no. (Mặc định: traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "khi" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -11359,252 +11717,273 @@ msgstr "" "bá» qua các thay đổi trong mô-Ä‘un-con, tùy chá»n khi: all, dirty, untracked. " "(Mặc định: all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "hiển thị danh sách các táºp-tin chưa được theo dõi trong các cá»™t" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "không dò tìm các tên thay đổi" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "dò các tên thay đổi, tùy ý đặt mục lục tương tá»±" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "" "Không há»— trỡ tổ hợp các tham số các táºp tin bị bá» qua và không được theo dõi" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "không hiển thị tổng kết sau khi chuyển giao thà nh công" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "hiển thị sá»± khác biệt trong mẫu tin nhắn chuyển giao" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "Các tùy chá»n ghi chú commit" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "Ä‘á»c chú thÃch từ táºp tin" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "tác giả" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "ghi đè tác giả cho commit" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "ngà y tháng" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "ghi đè ngà y tháng cho lần chuyển giao" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "lần_chuyển_giao" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho nhưng có cho sá»a chữa" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "dùng ghi chú có định dạng autosquash để sá»a chữa lần chuyển giao đã chỉ ra" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "" "dùng lá»i nhắn có định dạng tá»± động nén để nén lại các lần chuyển giao đã chỉ " "ra" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "lần chuyển giao nháºn tôi là tác giả (được dùng vá»›i tùy chá»n -C/-c/--amend)" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "(nên dùng) thêm dòng Signed-off-by:" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "sá» dụng táºp tin mẫu đã cho" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "ép buá»™c sá»a lần commit" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "Các tùy ná»™i dung ghi chú commit" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "chuyển giao tất cả các táºp tin có thay đổi" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "thêm các táºp tin đã chỉ ra và o bảng mục lục để chuyển giao" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "thêm các táºp-tin bằng tương tác" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "thêm các thay đổi bằng tương tác" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "chỉ chuyển giao các táºp tin đã chỉ ra" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "vòng qua móc (hook) pre-commit và commit-msg" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "hiển thị xem cái gì có thể được chuyển giao" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "“tu bổ†(amend) lần commit trước" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "vòng qua móc (hook) post-rewrite" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "ok để ghi lại má»™t thay đổi trống rá»—ng" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "ok để ghi các thay đổi vá»›i lá»i nhắn trống rá»—ng" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Táºp tin MERGE_HEAD sai há»ng (%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "không thể Ä‘á»c MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "không thể Ä‘á»c phần chú thÃch (message) cá»§a lần chuyển giao: %s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Bãi bá» việc chuyển giao bởi vì phần chú thÃch cá»§a nó trống rá»—ng.\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "" "Äang bá» qua việc chuyển giao; bạn đã không biên soạn phần chú thÃch " "(message).\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" "kho chứa đã được cáºp nháºt, nhưng không thể ghi và o\n" "táºp tin new_index (bảng mục lục má»›i). Hãy kiểm tra xem đĩa\n" "có bị đầy quá hay quota (hạn nghạch đĩa cứng) bị vượt quá,\n" -"và sau đó \"git reset HEAD\" để khắc phục." +"và sau đó \"git restore --staged :/\" để khắc phục." -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <objdir>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <objdir>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <objdir>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "" +"git commit-graph verify [--object-dir </thư/mục/đối/tượng>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" msgstr "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir </thư/mục/đối/tượng>] [--append|--" +"split] [--reachable|--stdin-packs|--stdin-commits] <các tùy chá»n chia tách>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "tmục" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "Thư mục đối tượng để lưu đồ thị" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "" +"nếu đồ-thị-các-lần-chuyển-giao bị chia cắt, thì chỉ thẩm tra táºp tin đỉnh" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "Không thể mở đồ thị chuyển giao “%sâ€" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "bắt đầu di chuyển tại má»i tham chiếu" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "" "quét dó các mục lục gói được liệt kê bởi đầu và o tiêu chuẩn cho các lần " "chuyển giao" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "" "bắt đầu di chuyển tại các lần chuyển giao được liệt kê bởi đầu và o tiêu chuẩn" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "" -"bao gồm má»i lần chuyển giao đã sẵn có trongưá»i táºp tin đồ thị lần chuyển giao" +"bao gồm má»i lần chuyển giao đã sẵn có trongưá»i táºp tin đồ-thị-các-lần-chuyển-" +"giao" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "cho phép ghi má»™t táºp tin đồ há»a các lần chuyển giao lá»›n lên" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "" +"số lượng tối Ä‘a cá»§a các lần chuyển giao trong má»™t đồ-thị-các-lần-chuyển-giao " +"chia cắt không-cÆ¡-sở" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "tá»· lệ tối Ä‘a giữa hai mức cá»§a má»™t đồ-thị-các-lần-chuyển-giao chia cắt" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "" "không thể sá» dụng hÆ¡n má»™t --reachable, --stdin-commits, hay --stdin-packs" #: builtin/config.c:11 msgid "git config [<options>]" -msgstr "git config [<các-tùy-chá»n>]" +msgstr "git config [<các tùy chá»n>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "đối số không được thừa nháºn --type, %s" @@ -11709,7 +12088,7 @@ msgstr "tìm các cà i đặt vá» mà u sắc: slot [stdout-là -tty]" msgid "Type" msgstr "Kiểu" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "giá trị được đưa kiểu nà y" @@ -11755,7 +12134,7 @@ msgstr "" "hiển thị nguyên gốc cá»§a cấu hình (táºp tin, đầu và o tiêu chuẩn, blob, dòng " "lệnh)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "giá trị" @@ -11915,11 +12294,11 @@ msgstr "hiển thị kÃch cỡ theo định dạng dà nh cho ngưá»i Ä‘á»c" #: builtin/describe.c:27 msgid "git describe [<options>] [<commit-ish>...]" -msgstr "git describe [<các-tùy-chá»n>] <commit-ish>*" +msgstr "git describe [<các tùy chá»n>] <commit-ish>*" #: builtin/describe.c:28 msgid "git describe [<options>] --dirty" -msgstr "git describe [<các-tùy-chá»n>] --dirty" +msgstr "git describe [<các tùy chá»n>] --dirty" #: builtin/describe.c:63 msgid "head" @@ -12050,7 +12429,7 @@ msgstr "chỉ cân nhắc đến những thẻ khá»›p vá»›i <mẫu>" msgid "do not consider tags matching <pattern>" msgstr "không coi rằng các thẻ khá»›p vá»›i <mẫu>" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback" @@ -12114,8 +12493,8 @@ msgstr "đã cho đối tượng không thể nắm giữ “%sâ€." #: builtin/difftool.c:30 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]" msgstr "" -"git difftool [<các-tùy-chá»n>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] " -"<đưá»ng-dẫn>…]" +"git difftool [<các tùy chá»n>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] </" +"đưá»ng/dẫn>…]" #: builtin/difftool.c:253 #, c-format @@ -12227,159 +12606,195 @@ msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <các tùy chá»n> <env-var>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "kiểu" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "mặc định cho git_env_*(...) để quay vá»" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "im lặng chỉ khi dung giá trị git_env_*() là m mã thoát" + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "" +"tùy chá»n `--default' cần má»™t giá trị logic vá»›i `--type=bool`, không phải `%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "" +"tùy chá»n `--default' cần má»™t giá trị số nguyên dà i không dấu vá»›i `--" +"type=ulong`, không phải `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "hiển thị tiến triển sau <n> đối tượng" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "chá»n Ä‘iá»u khiển cá»§a thẻ đã ký" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "chá»n sá»± xá» lý cá»§a các thẻ, cái mà đánh thẻ các đối tượng được lá»c ra" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "" +"chá»n bá»™ xá» lý cho các ghi chú cá»§a lần chuyển giao theo má»™t bá»™ mã thay thế" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "Äổ các đánh dấu nà y và o táºp-tin" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "Nháºp và o đánh dấu từ táºp tin nà y" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "Là m giả má»™t cái thẻ khi thẻ bị thiếu má»™t cái" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "Xuất ra toà n bá»™ cây cho má»—i lần chuyển giao" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "Sá» dụng tÃnh năng done để chấm dứt luồng dữ liệu" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "Bá» qua kết xuất cá»§a dữ liệu blob" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "refspec" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "Ãp dụng refspec cho refs đã xuất" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "kết xuất anonymize" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "" "Các cha mẹ tham chiếu cái mà k trong luồng dữ liệu fast-export bởi mã id đối " "tượng" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "Hiển thị các mã id nguyên gốc cá»§a blobs/commits" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" -msgstr "git fetch [<các-tùy-chá»n>] [<kho-chứa> [<refspec>…]]" +msgstr "git fetch [<các tùy chá»n>] [<kho-chứa> [<refspec>…]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" -msgstr "git fetch [<các-tùy-chá»n>] [<nhóm>" +msgstr "git fetch [<các tùy chá»n>] [<nhóm>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" -msgstr "git fetch --multiple [<các-tùy-chá»n>] [(<kho> | <nhóm>)…]" +msgstr "git fetch --multiple [<các tùy chá»n>] [(<kho> | <nhóm>)…]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" -msgstr "git fetch --all [<các-tùy-chá»n>]" +msgstr "git fetch --all [<các tùy chá»n>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "lấy vá» từ tất cả các máy chá»§" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "nối thêm và o .git/FETCH_HEAD thay vì ghi đè lên nó" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "đưá»ng dẫn đến gói tải lên trên máy chá»§ cuối" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "ép buá»™c ghi đè lên tham chiếu ná»™i bá»™" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "lấy từ nhiá»u máy chá»§ cùng lúc" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "lấy tất cả các thẻ cùng vá»›i các đối tượng liên quan đến nó" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "không lấy tất cả các thẻ (--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "số lượng mô-Ä‘un-con được lấy đồng thá»i" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "" "cắt cụt (prune) các nhánh “remote-tracking†không còn tồn tại trên máy chá»§ " "nữa" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "cắt xém các thẻ ná»™i bá»™ không còn ở máy chá»§ và xóa các thẻ đã thay đổi" -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "khi-cần" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "Ä‘iá»u khiển việc lấy vỠđệ quy trong các mô-Ä‘un-con" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "giữ lại gói đã tải vá»" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "cho phép cáºp nháºt th.chiếu HEAD" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "là m sâu hÆ¡n lịch sá» cá»§a bản sao" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "là m sâu hÆ¡n lịch sá» cá»§a kho bản sao shallow dá»±a trên thá»i gian" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "chuyển đổi hoà n toà n sang kho git" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "soạn sẵn cái nà y cho kết xuất đưá»ng dẫn mô-Ä‘un-con" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" @@ -12387,98 +12802,129 @@ msgstr "" "mặc định cho việc lấy đệ quy các mô-Ä‘un-con (có mức ưu tiên thấp hÆ¡n các táºp " "tin cấu hình config)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "chấp nháºn tham chiếu cáºp nháºt .git/shallow" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "refmap" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "chỉ ra refmap cần lấy vá»" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "" "báo cáo rằng chúng ta chỉ có các đối tượng tiếp cáºn được từ đối tượng nà y" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "chạy 'gc --auto' sau khi lấy vá»" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "kiểm cho các-cáºp-nháºt-bắt-buá»™c trên má»i nhánh đã cáºp nháºt" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "Không thể tìm thấy máy chá»§ cho tham chiếu HEAD" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "phần cấu hình fetch.output có chứa giá-trị không hợp lệ %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "không tìm thấy đối tượng %s" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[đã cáºp nháºt]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[Bị từ chối]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "không thể fetch (lấy) vá» nhánh hiện hà nh" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[cáºp nháºt thẻ]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "không thể cáºp nháºt tham chiếu ná»™i bá»™" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "nên xóa chồng các thẻ có sẵn" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[thẻ má»›i]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[nhánh má»›i]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[ref (tham chiếu) má»›i]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "cưỡng bức cáºp nháºt" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "không-phải-chuyển-tiếp-nhanh" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"Việc lấy vá» thưá»ng chỉ ra các nhánh buá»™c phải cáºp nháºt,\n" +"nhưng lá»±a chá»n bị tắt. Äể kÃch hoạt lại, sá» dụng cá»\n" +"'--show-forced-updates' hoặc chạy 'git config fetch.showForcedUpdates true'." + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"Việc nà y cần %.2f giây để kiểm tra các cáºp nháºt ép buá»™c. Bạn có thể dùng\n" +"'--no-show-forced-updates' hoặc chạy 'git config fetch.showForcedUpdates " +"false'\n" +"để tránh kiểm tra nà y.\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s đã không gá»i tất cả các đối tượng cần thiết\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "từ chối %s bởi vì các gốc nông thì không được phép cáºp nháºt" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "Từ %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12487,52 +12933,52 @@ msgstr "" "má»™t số tham chiếu ná»™i bá»™ không thể được cáºp nháºt; hãy thá» chạy\n" " “git remote prune %s†để bá» Ä‘i những nhánh cÅ©, hay bị xung đột" -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s sẽ trở thà nh không đầu (không được quản lý))" -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s đã trở thà nh không đầu (không được quản lý))" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[đã xóa]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "(không)" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Từ chối việc lấy và o trong nhánh hiện tại %s cá»§a má»™t kho chứa không phải kho " "trần (bare)" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Tùy chá»n \"%s\" có giá trị \"%s\" là không hợp lệ cho %s" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Tùy chá»n \"%s\" bị bá» qua vá»›i %s\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "Äang lấy “%s†vá»\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Không thể lấy“%s†vá»" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" @@ -12540,7 +12986,7 @@ msgstr "" "--filter chỉ có thể được dùng vá»›i máy chá»§ được cấu hình bằng extensions." "partialClone" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -12548,44 +12994,44 @@ msgstr "" "Chưa chỉ ra kho chứa máy chá»§. Xin hãy chỉ định hoặc là URL hoặc\n" "tên máy chá»§ từ cái mà những Ä‘iểm xét duyệt má»›i có thể được fetch (lấy vá»)." -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "Bạn phải định rõ tên thẻ." -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "Mức sâu là số âm trong --deepen là không được há»— trợ" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "Các tùy chá»n--deepen và --depth loại từ lẫn nhau" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "tùy chá»n --depth và --unshallow không thể sá» dụng cùng vá»›i nhau" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow trên kho hoà n chỉnh là không hợp lý" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "lệnh lấy vá» \"fetch --all\" không lấy đối số kho chứa" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "lệnh lấy vá» \"fetch --all\" không hợp lý vá»›i refspecs" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "Không có nhóm máy chá»§ hay máy chá»§ như thế: %s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Việc lấy vá» cả má»™t nhóm và chỉ định refspecs không hợp lý" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12622,7 +13068,7 @@ msgstr "táºp tin để Ä‘á»c dữ liệu từ đó" #: builtin/for-each-ref.c:10 msgid "git for-each-ref [<options>] [<pattern>]" -msgstr "git for-each-ref [<các-tùy-chá»n>] [<mẫu>]" +msgstr "git for-each-ref [<các tùy chá»n>] [<mẫu>]" #: builtin/for-each-ref.c:11 msgid "git for-each-ref [--points-at <object>]" @@ -12658,7 +13104,7 @@ msgstr "trÃch dẫn để phù hợp cho Tcl" msgid "show only <n> matched refs" msgstr "hiển thị chỉ <n> tham chiếu khá»›p" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "các mà u định dạng lưu tâm" @@ -12826,7 +13272,7 @@ msgstr "Äang kiểm tra các thư mục đối tượng" msgid "Checking %s link" msgstr "Äang lấy liên kết %s" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s không hợp lệ" @@ -12861,7 +13307,7 @@ msgstr "non-tree trong cache-tree" #: builtin/fsck.c:781 msgid "git fsck [<options>] [<object>...]" -msgstr "git fsck [<các-tùy-chá»n>] [<đối-tượng>…]" +msgstr "git fsck [<các tùy chá»n>] [<đối-tượng>…]" #: builtin/fsck.c:787 msgid "show unreachable objects" @@ -12911,7 +13357,7 @@ msgstr "hiển thị quá trình" msgid "show verbose names for reachable objects" msgstr "hiển thị tên chi tiết cho các đối tượng Ä‘á»c được" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "Äang kiểm tra các đối tượng" @@ -12927,7 +13373,7 @@ msgstr "tham số không hợp lệ: cần sha1, nhưng lại nháºn được †#: builtin/gc.c:34 msgid "git gc [<options>]" -msgstr "git gc [<các-tùy-chá»n>]" +msgstr "git gc [<các tùy chá»n>]" #: builtin/gc.c:90 #, c-format @@ -12944,7 +13390,7 @@ msgstr "gặp lá»—i khi phân tÃch “%s†giá trị “%sâ€" msgid "cannot stat '%s'" msgstr "không thể lấy thông tin thống kê vỠ“%sâ€" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "không thể Ä‘á»c “%sâ€" @@ -13019,7 +13465,7 @@ msgstr "" "gc Ä‘ang được thá»±c hiện trên máy “%s†pid %<PRIuMAX> (dùng --force nếu không " "phải thế)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" @@ -13028,7 +13474,7 @@ msgstr "" #: builtin/grep.c:29 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" -msgstr "git grep [<các-tùy-chá»n>] [-e] <mẫu> [<rev>…] [[--] <đưá»ng-dẫn>…]" +msgstr "git grep [<các tùy chá»n>] [-e] <mẫu> [<rev>…] [[--] </đưá»ng/dẫn>…]" #: builtin/grep.c:225 #, c-format @@ -13044,259 +13490,259 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "không há»— trợ Ä‘a tuyến, bá» qua %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "không thể Ä‘á»c cây (%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "không thể thá»±c hiện lệnh grep (lá»c tìm) từ đối tượng thuá»™c kiểu %s" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "chuyển đến “%c†cần má»™t giá trị bằng số" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "tìm trong bảng mục lục thay vì trong cây là m việc" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "tìm trong ná»™i dung không được quản lý bởi git" -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "tìm kiếm các táºp tin được và chưa được theo dõi dấu vết" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "các táºp tin bị bá» qua được chỉ định thông qua “.gitignoreâ€" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "tìm kiếm đệ quy trong từng mô-Ä‘un-con" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "hiển thị những dòng không khá»›p vá»›i mẫu" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "phân biệt HOA/thưá»ng" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "chỉ khá»›p mẫu tại đưá»ng ranh giá»›i từ" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "xá» lý táºp tin nhị phân như là dạng văn bản thưá»ng" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "không khá»›p mẫu trong các táºp tin nhị phân" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "xá» lý táºp tin nhị phân vá»›i các bá»™ lá»c “textconvâ€" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "tìm kiếm trong thư mục con (mặc định)" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "hạ xuống Ãt nhất là mức <sâu>" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "dùng biểu thức chÃnh qui POSIX có mở rá»™ng" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "sá» dụng biểu thức chÃnh quy kiểu POSIX (mặc định)" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "diá»…n dịch các mẫu như là chuá»—i cố định" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "sá» dụng biểu thức chÃnh quy tương thÃch Perl" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "hiển thị số cá»§a dòng" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "hiển thị số cá»™t cá»§a khá»›p vá»›i mẫu đầu tiên" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "không hiển thị tên táºp tin" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "hiển thị các tên táºp tin" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "hiển thị tên táºp tin tương đối vá»›i thư mục đỉnh (top)" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "chỉ hiển thị tên táºp tin thay vì những dòng khá»›p vá»›i mẫu" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "đồng nghÄ©a vá»›i --files-with-matches" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "chỉ hiển thị tên cho những táºp tin không khá»›p vá»›i mẫu" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "thêm NUL và o sau tên táºp tin" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "chỉ hiển thị những phần khá»›p vá»›i mẫu cá»§a má»™t dòng" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "hiển thị số lượng khá»›p thay vì những dòng khá»›p vá»›i mẫu" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "tô sáng phần khá»›p mẫu" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "hiển thị dòng trống giữa các lần khá»›p từ các táºp tin khác biệt" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "" "hiển thị tên táºp tin má»™t lần phÃa trên các lần khá»›p từ cùng má»™t táºp tin" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "hiển thị <n> dòng ná»™i dung phÃa trước và sau các lần khá»›p" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "hiển thị <n> dòng ná»™i dung trước khá»›p" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "hiển thị <n> dòng ná»™i dung sau khá»›p" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "dùng <n> tuyến trình là m việc" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "dạng viết tắt cá»§a -C Sá»" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "hiển thị dòng vói tên hà m trước các lần khá»›p" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "hiển thị hà m bao quanh" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "Ä‘á»c mẫu từ táºp-tin" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "match <mẫu>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "tổ hợp mẫu được chỉ ra vá»›i tùy chá»n -e" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "đưa ra gợi ý vá»›i trạng thái thoát mà không có kết xuất" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "chỉ hiển thị những cái khá»›p từ táºp tin mà nó khá»›p toà n bá»™ các mẫu" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "hiển thị cây phân tÃch cú pháp cho biểu thức “grep†(tìm kiếm)" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "dà n trang" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "hiển thị các táºp tin khá»›p trong trang giấy" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "cho phép gá»i grep(1) (bị bá» qua bởi lần dịch nà y)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "chưa chỉ ra mẫu" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index hay --untracked không được sá» dụng cùng vá»›i revs" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "không thể phân giải Ä‘iểm xét duyệt: %s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "tổ hợp tùy chá»n không hợp lệ, bá» qua --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "không há»— trợ Ä‘a tuyến, bá» qua --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "số tuyến chỉ ra không hợp lệ (%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager chỉ là m việc trên cây-là m-việc" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "tùy chá»n không được há»— trợ vá»›i --recurse-submodules" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached hay --untracked không được sá» dụng vá»›i --no-index" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard không thể sá» dụng cho ná»™i dung lưu dấu vết" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "cả hai --cached và các cây phải được chỉ ra" @@ -13313,10 +13759,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "kiểu" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "kiểu đối tượng" @@ -13431,12 +13873,12 @@ msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp vá»›i yêu msgid "no info viewer handled the request" msgstr "không có trình xem trợ giúp dạng info tiếp hợp vá»›i yêu cầu" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "“%s†được đặt bà danh thà nh “%sâ€" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "chuá»—i alias.%s sai: %s" @@ -13450,284 +13892,279 @@ msgstr "cách dùng: %s%s" msgid "'git help config' for more information" msgstr "Chạy lệnh “git help config†để có thêm thông tin" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "kiểu đối tượng không khá»›p tại %s" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "không thể lấy vỠđối tượng cần %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "đối tượng %s: cần kiểu %s nhưng lại nháºn được %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "không thể Ä‘iá»n thêm và o %d byte" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "gặp kết thúc táºp tin EOF quá sá»›m" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "lá»—i Ä‘á»c ở đầu và o" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "sá» dụng nhiá»u hÆ¡n số lượng byte mà nó sẵn có" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "gói quá lá»›n so vá»›i định nghÄ©a hiện tại cá»§a kiểu off_t" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "gói đã vượt quá cỡ tối Ä‘a được phép" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "không thể tạo “%sâ€" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "không thể mở packfile “%sâ€" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "chữ ký cho gói không khá»›p" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "không há»— trợ phiên bản gói %<PRIu32>" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "gói có đối tượng sai tại khoảng bù %<PRIuMAX>: %s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "xả nén trả vá» %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "trà n giá trị khoảng bù cho đối tượng delta cÆ¡ sở" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "khoảng bù cÆ¡ sở cho delta nằm ngoà i phạm vi" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "không hiểu kiểu đối tượng %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "không thể chạy hà m pread cho táºp tin gói" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "táºp tin gói bị kết thúc sá»›m, thiếu %<PRIuMAX> byte" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "sá»± mâu thuẫn xả nén nghiêm trá»ng" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "Sá»° VA CHẠM SHA1 Äà XẢY RA VỚI %s!" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "không thể Ä‘á»c %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "không thể Ä‘á»c thông tin đối tượng sẵn có %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "không thể Ä‘á»c đối tượng đã tồn tại %s" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "đối tượng blob không hợp lệ %s" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "lá»—i fsck trong đối tượng đóng gói" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "Không phải tất cả các đối tượng con cá»§a %s là có thể vá»›i tá»›i được" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "gặp lá»—i khi áp dụng delta" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "Äang nháºn vá» các đối tượng" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "Các đối tượng bảng mục lục" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "gói bị sai há»ng (SHA1 không khá»›p)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "không thể lấy thông tin thống kê packfile" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "pack có phần thừa ở cuối" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "lá»™n xá»™n hÆ¡n cả Ä‘iên rồ khi chạy hà m parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "Äang phân giải các delta" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "không thể tạo tuyến: %s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "lá»™n xá»™n hÆ¡n cả Ä‘iên rồ" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "đầy đủ vá»›i %d đối tượng ná»™i bá»™" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Gặp tổng kiểm tra tail không cần cho %s (đĩa há»ng?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "gói có %d delta chưa được giải quyết" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "không thể xả nén đối tượng nối thêm (%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "đối tượng ná»™i bá»™ %s bị há»ng" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "tên táºp tin táºp tin gói “%s†không được kết thúc bằng Ä‘uôi “.packâ€" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "không thể ghi %s táºp tin “%sâ€" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "không thể đóng táºp tin được ghi %s “%sâ€" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "gặp lá»—i trong khi đóng táºp tin gói" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "không thể lưu táºp tin gói" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "không thể lưu trữ táºp tin ghi mục lục" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "sai pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Không thể mở táºp tin gói đã sẵn có “%sâ€" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Không thể mở táºp tin idx cá»§a gói cho “%sâ€" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "không delta: %d đối tượng" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "chiá»u dà i xÃch = %d: %lu đối tượng" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "Không thể quay lại cwd" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "%s sai" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin không thể được dùng mà không có --stdin" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin cần má»™t kho git" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "dùng tùy chá»n --verify mà không đưa ra tên packfile" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "lá»—i fsck trong các đối tượng gói" @@ -13822,17 +14259,17 @@ msgstr "các quyá»n" msgid "specify that the git repository is to be shared amongst several users" msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiá»u ngưá»i dùng" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "không thể mkdir (tạo thư mục): %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "không thể chdir (chuyển đổi thư mục) sang %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" @@ -13841,12 +14278,12 @@ msgstr "" "%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-" "dir=<thư-mục>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "Không thể truy cáºp cây (tree) là m việc “%sâ€" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -13854,177 +14291,177 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<thẻ>[(=|:)<giá-trị>])…] [<táºp-tin>…]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "sá»a các táºp tin tại chá»—" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "bá»™ dò vết cắt bá» phần trống rá»—ng" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "đặt phần Ä‘uôi má»›i ở đâu" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "thao tác khi đã có phần Ä‘uôi" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "thao tác khi thiếu phần Ä‘uôi" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "chỉ xuất phần Ä‘uôi" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "đừng áp dụng các quy tắc cấu hình" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "nối các giá trị khoảng-trắng-liên-tiếp" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "đặt các tùy chá»n phân tÃch cú pháp" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "không coi --- là đặc biệt" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "bá»™ dò vết" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "bá»™ dò vết cần thêm" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer cùng vá»›i --only-input không hợp lý" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "không đưa ra táºp tin đầu và o để sá»a tại-chá»—" #: builtin/log.c:55 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" -msgstr "git log [<các-tùy-chá»n>] [<vùng-xem-xét>] [[--] <đưá»ng-dẫn>…]" +msgstr "git log [<các tùy chá»n>] [<vùng-xem-xét>] [[--] </đưá»ng/dẫn>…]" #: builtin/log.c:56 msgid "git show [<options>] <object>..." -msgstr "git show [<các-tùy-chá»n>] <đối-tượng>…" +msgstr "git show [<các tùy chá»n>] <đối-tượng>…" -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "tùy chá»n--decorate không hợp lệ: %s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "hiển thị mã nguồn" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "Sá» dụng táºp tin ánh xạ thư" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "chỉ tô sáng các tham chiếu khá»›p vá»›i <mẫu>" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "không tô sáng các tham chiếu khá»›p vá»›i <mẫu>" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "các tùy chá»n trang trÃ" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "Xá» lý chỉ dòng vùng n,m trong táºp tin, tÃnh từ 1" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "Kết xuất cuối cùng: %d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: sai táºp tin" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "không thể Ä‘á»c đối tượng %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "không nháºn ra kiểu: %d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "format.headers không có giá trị cụ thể" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "tên cá»§a thư mục kết xuất quá dà i" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "không thể mở táºp tin miếng vá: %s" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "cần chÃnh xác má»™t vùng" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "không phải là má»™t vùng" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "“cover letter†cần cho định dạng thư" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "gặp lá»—i khi tạo các táºp tin cover-letter" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to Ä‘iên rồ: %s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" -msgstr "git format-patch [<các-tùy-chá»n>] [<kể-từ> | <vùng-xem-xét>]" +msgstr "git format-patch [<các tùy chá»n>] [<kể-từ> | <vùng-xem-xét>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "hai thư mục kết xuất?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "không hiểu lần chuyển giao %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "gặp lá»—i khi phân giải “%s†như là má»™t tham chiếu hợp lệ" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "không tìm thấy ná»n hòa trá»™n chÃnh xác" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -14035,275 +14472,271 @@ msgstr "" "nhánh máy chá»§. Hoặc là bạn có thể chỉ định lần chuyển giao ná»n bằng\n" "\"--base=<base-commit-id>\" má»™t cách thá»§ công" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "gặp lá»—i khi tìm ná»n hòa trá»™n chÃnh xác" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "lần chuyển giao ná»n không là tổ tiên cá»§a danh sách Ä‘iểm xét duyệt" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "lần chuyển giao ná»n không được trong danh sách Ä‘iểm xét duyệt" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "không thể lấy mã miếng vá" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "gặp lá»—i khi suy luáºn range-diff (vùng khác biệt)" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "dùng [PATCH n/m] ngay cả vá»›i miếng vá đơn" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "dùng [VÃ] ngay cả vá»›i các miếng vá phức tạp" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "hiển thị miếng vá ra đầu ra chuẩn" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "tạo bì thư" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "sá» dụng chá»—i dãy số dạng đơn giản cho tên táºp-tin xuất ra" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "sá» dụng <sfx> thay cho “.patchâ€" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "đánh dấu chuá»—i nối tiếp dạng thứ-N re-roll" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "Dùng [RFC VÃ] thay cho [VÃ]" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Dùng [<tiá»n-tố>] thay cho [VÃ]" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "lưu các táºp tin kết quả trong <t.mục>" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "không strip/add [VÃ]" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "không kết xuất diff (những khác biệt) nhị phân" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "xuất má»i mã băm all-zero trong phần đầu From" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "không bao gồm miếng vá khá»›p vá»›i má»™t lần chuyển giao thượng nguồn" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "Lá»i nhắn" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "đầu đỠthư" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "thêm đầu đỠthư" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "thư Ä‘iện tá»" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "thêm To: đầu đỠthư" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "thêm Cc: đầu đỠthư" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "thụt lá»" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "đặt “Äịa chỉ gá»i†thà nh <thụ lá»> (hoặc thụt lá» ngưá»i commit nếu bá» quên)" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "dùng thư đầu tiên để trả lá»i <message-id>" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "ranh giá»›i" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "Ä‘Ãnh kèm miếng vá" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "dùng miếng vá là m ná»™i dung" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "cho phép luồng lá»i nhắn, kiểu: “shallowâ€, “deepâ€" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "chữ ký" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "thêm chữ ký" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "lần_chuyển_giao_ná»n" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "add trước hết đòi há»i thông tin cây tá»›i sê-ri miếng vá" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "thêm chữ ký từ má»™t táºp tin" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "không hiển thị các tên táºp tin cá»§a miếng vá" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "hiển thị bá»™ Ä‘o tiến triển trong khi tạo các miếng vá" -#: builtin/log.c:1606 -msgid "rev" -msgstr "rev" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "" "hiển thị các thay đổi dá»±a trên <rev> trong các chữ bao bá»c hoặc miếng vá đơn" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "" "hiển thị các thay đổi dá»±a trên <refspec> trong các chữ bao bá»c hoặc miếng vá " "đơn" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "tá»· lệ phần trăm theo cái tạo là weighted" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "dòng thụt lá» không hợp lệ: %s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "-n và -k loại từ lẫn nhau" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc và -k xung khắc nhau" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "--name-only không hợp lý" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "--name-status không hợp lý" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "--check không hợp lý" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "đầu ra chuẩn, hay thư mục, chá»n cái nà o?" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff cần --cover-letter hoặc vá đơn" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "Interdiff:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "Interdiff dá»±a trên v%d:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor yêu cầu --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff yêu cầu --cover-letter hoặc miếng vá đơn" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "Range-diff:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "Range-diff dá»±a trên v%d:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "không thể Ä‘á»c táºp tin chữ ký “%sâ€" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "Äang tạo các miếng vá" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "gặp lá»—i khi tạo các táºp tin kết xuất" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giá»›i-hạn>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14313,7 +14746,7 @@ msgstr "" #: builtin/ls-files.c:470 msgid "git ls-files [<options>] [<file>...]" -msgstr "git ls-files [<các-tùy-chá»n>] [<táºp-tin>…]" +msgstr "git ls-files [<các tùy chá»n>] [<táºp-tin>…]" #: builtin/ls-files.c:526 msgid "identify the file status with tags" @@ -14432,7 +14865,7 @@ msgstr "" msgid "do not print remote URL" msgstr "không hiển thị URL máy chá»§" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "thá»±c thi" @@ -14466,7 +14899,7 @@ msgstr "hiển thị tham chiếu nằm dưới để thêm và o đối tượng #: builtin/ls-tree.c:30 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" -msgstr "git ls-tree [<các-tùy-chá»n>] <tree-ish> [<đưá»ng-dẫn>…]" +msgstr "git ls-tree [<các tùy chá»n>] <tree-ish> [</đưá»ng/dẫn>…]" #: builtin/ls-tree.c:128 msgid "only show trees" @@ -14505,189 +14938,193 @@ msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hà nh (ngụ à msgid "empty mbox: '%s'" msgstr "mbox trống rá»—ng: “%sâ€" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" -msgstr "git merge [<các-tùy-chá»n>] [<commit>…]" +msgstr "git merge [<các tùy chá»n>] [<commit>…]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "switch “m†yêu cầu má»™t giá trị" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "tùy chá»n “%s†yêu cầu má»™t giá trị" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Không tìm thấy chiến lược hòa trá»™n “%sâ€.\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "Các chiến lược sẵn sà ng là :" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "Các chiến lược tùy chỉnh sẵn sà ng là :" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "không hiển thị thống kê khác biệt tại cuối cá»§a lần hòa trá»™n" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "hiển thị thống kê khác biệt tại cuối cá»§a hòa trá»™n" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(đồng nghÄ©a vá»›i --stat)" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "thêm (Ãt nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trá»™n" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "tạo má»™t lần chuyển giao đưon thay vì thá»±c hiện việc hòa trá»™n" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "thá»±c hiện chuyển giao nếu hòa trá»™n thà nh công (mặc định)" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "sá»a chú thÃch trước khi chuyển giao" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "cho phép chuyển-tiếp-nhanh (mặc định)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "bá» qua nếu chuyển-tiếp-nhanh không thể được" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "chiến lược" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "chiến lược hòa trá»™n sẽ dùng" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "tùy_chá»n=giá_trị" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "tùy chá»n cho chiến lược hòa trá»™n đã chá»n" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "" "hòa trá»™n ghi chú cá»§a lần chuyển giao (dà nh cho hòa trá»™n không-chuyển-tiếp-" "nhanh)" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "bãi bá» quá trình hòa trá»™n hiện tại Ä‘ang thá»±c hiện" -#: builtin/merge.c:278 +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort nhưng để lại bảng mục lục và cây là m việc" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "tiếp tục quá trình hòa trá»™n hiện tại Ä‘ang thá»±c hiện" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "cho phép hòa trá»™n lịch sá» không liên quan" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "thẩm tra móc (hook) commit-msg" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "không thể chạy stash." -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "lệnh tạm cất gặp lá»—i" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "không phải là má»™t đối tượng hợp lệ: %s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "read-tree gặp lá»—i" -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " (không có gì để squash)" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Squash commit -- không cáºp nháºt HEAD\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "Không có lá»i chú thÃch hòa trá»™n -- nên không cáºp nháºt HEAD\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "“%s†không chỉ đến má»™t lần chuyển giao nà o cả" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Chuá»—i branch.%s.mergeoptions sai: %s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "Không cầm nắm gì ngoà i hai head hòa trá»™n." -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Không hiểu tùy chá»n cho merge-recursive: -X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "không thể ghi %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "Không thể Ä‘á»c từ “%sâ€" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Vẫn chưa hòa trá»™n các lần chuyển giao; sá» dụng lệnh “git commit†để hoà n tất " "việc hòa trá»™n.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14699,11 +15136,11 @@ msgstr "" "topic.\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "Nếu phần chú thÃch rá»—ng sẽ há»§y bá» lần chuyển giao.\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" @@ -14712,71 +15149,75 @@ msgstr "" "Những dòng được bắt đầu bằng “%c†sẽ được bá» qua, và nếu phần chú\n" "thÃch rá»—ng sẽ há»§y bá» lần chuyển giao.\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "Chú thÃch cá»§a lần commit (chuyển giao) bị trống rá»—ng." -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "Tuyệt vá»i.\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Việc tá»± động hòa trá»™n gặp lá»—i; hãy sá»a các xung đột sau đó chuyển giao kết " "quả.\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "Không phải nhánh hiện hà nh." -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "Không có máy chá»§ cho nhánh hiện hà nh." -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "Không có thượng nguồn mặc định được định nghÄ©a cho nhánh hiện hà nh." -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Không nhánh mạng theo dõi cho %s từ %s" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "Giá trị sai “%s†trong biến môi trưá»ng “%sâ€" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "không phải là má»™t thứ gì đó mà chúng tôi có thể hòa trá»™n trong %s: %s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "không phải là thứ gì đó mà chúng tôi có thể hòa trá»™n" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort không nháºn các đối số" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" "Ở đây không có lần hòa trá»™n nà o được há»§y bá» giữa chừng cả (thiếu MERGE_HEAD)." -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit không nháºn các đối số" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue không nháºn đối số" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "Ở đây không có lần hòa trá»™n nà o Ä‘ang được xá» lý cả (thiếu MERGE_HEAD)." -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14784,7 +15225,7 @@ msgstr "" "Bạn chưa kết thúc việc hòa trá»™n (MERGE_HEAD vẫn tồn tại).\n" "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trá»™n." -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14792,94 +15233,98 @@ msgstr "" "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại).\n" "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trá»™n." -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại)." -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." msgstr "Bạn không thể kết hợp --squash vá»›i --no-ff." -#: builtin/merge.c:1349 +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "Bạn không thể kết hợp --squash vá»›i --commit." + +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Không chỉ ra lần chuyển giao và merge.defaultToUpstream chưa được đặt." -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "Squash commit và o má»™t head trống rá»—ng vẫn chưa được há»— trợ" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Chuyển giao không-chuyển-tiếp-nhanh không hợp lý ở trong má»™t head trống rá»—ng" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - không phải là thứ gì đó mà chúng tôi có thể hòa trá»™n" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "" "Không thể hòa trá»™n má»™t cách đúng đắn má»™t lần chuyển giao và o má»™t head rá»—ng" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "từ chối hòa trá»™n lịch sá» không liên quan" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "Äã cáºp nháºt rồi." -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "Äang cáºp nháºt %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Äang thá» hòa trá»™n kiểu “trivial in-indexâ€â€¦\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "Không.\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "Äã cáºp nháºt rồi. Yeeah!" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "Thá»±c hiện lệnh chuyển-tiếp-nhanh là không thể được, Ä‘ang bá» qua." -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Äang tua lại cây thà nh thá»i xa xưa…\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Äang thá» chiến lược hòa trá»™n %s…\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Không có chiến lược hòa trá»™n nà o được nắm giữ (handle) sá»± hòa trá»™n.\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Hòa trá»™n vá»›i chiến lược %s gặp lá»—i.\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Sá» dụng %s để chuẩn bị giải quyết bằng tay.\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -14931,7 +15376,7 @@ msgid "" "git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> " "<orig-file> <file2>" msgstr "" -"git merge-file [<các-tùy-chá»n>] [-L <tên1> [-L <gốc> [-L <tên2>]]] <táºp-" +"git merge-file [<các tùy chá»n>] [-L <tên1> [-L <gốc> [-L <tên2>]]] <táºp-" "tin1> <táºp-tin-gốc> <táºp-tin2>" #: builtin/merge-file.c:35 @@ -15013,25 +15458,41 @@ msgid "allow creation of more than one tree" msgstr "cho phép tạo nhiá»u hÆ¡n má»™t cây" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<thư/mục>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<thư/mục>] (write|verify|expire|repack --" +"batch-size=<cỡ>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "thư mục đối tượng có chứa má»™t bá»™ các táºp tin gói và cặp pack-index" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "" +"trong suốt quá trình đóng gói lại, gom các táºp tin gói có kÃch cỡ nhá» hÆ¡n " +"và o má»™t bó cái mà lá»›n hÆ¡n kÃch thước nà y" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "có quá nhiá»u đối số" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "tùy chá»n --batch-size chỉ cho lệnh con 'repack'" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "verb không được thừa nháºn: %s" +msgid "unrecognized subcommand: %s" +msgstr "không hiểu câu lệnh con: %s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" -msgstr "git mv [<các-tùy-chá»n>] <nguồn>… <Ä‘Ãch>" +msgstr "git mv [<các tùy chá»n>] <nguồn>… <Ä‘Ãch>" #: builtin/mv.c:83 #, c-format @@ -15117,53 +15578,53 @@ msgstr "%s, nguồn=%s, Ä‘Ãch=%s" msgid "Renaming %s to %s\n" msgstr "Äổi tên %s thà nh %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "gặp lá»—i khi đổi tên “%sâ€" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." -msgstr "git name-rev [<các-tùy-chá»n>] <commit>…" +msgstr "git name-rev [<các tùy chá»n>] <commit>…" -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" -msgstr "git name-rev [<các-tùy-chá»n>] --all" +msgstr "git name-rev [<các tùy chá»n>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" -msgstr "git name-rev [<các-tùy-chá»n>] --stdin" +msgstr "git name-rev [<các tùy chá»n>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "chỉ hiển thị tên (không SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "chỉ dùng các thẻ để đặt tên cho các lần chuyển giao" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "chỉ sá» dụng các tham chiếu khá»›p vá»›i <mẫu>" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "bá» qua các tham chiếu khá»›p vá»›i <mẫu>" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "" "liệt kê tất cả các lần chuyển giao có thể Ä‘á»c được từ tất cả các tham chiếu" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "Ä‘á»c từ đầu và o tiêu chuẩn" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "cho phép in các tên “chưa định nghÄ©a†(mặc định)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "bãi bá» tham chiếu các thẻ trong đầu và o (dùng ná»™i bá»™)" @@ -15231,11 +15692,11 @@ msgstr "git notes [list [<đối tượng>]]" #: builtin/notes.c:49 msgid "git notes add [<options>] [<object>]" -msgstr "git notes add [<các-tùy-chá»n>] [<đối-tượng>]" +msgstr "git notes add [<các tùy chá»n>] [<đối-tượng>]" #: builtin/notes.c:54 msgid "git notes copy [<options>] <from-object> <to-object>" -msgstr "git notes copy [<các-tùy-chá»n>] <từ-đối-tượng> <đến-đối-tượng>" +msgstr "git notes copy [<các tùy chá»n>] <từ-đối-tượng> <đến-đối-tượng>" #: builtin/notes.c:55 msgid "git notes copy --stdin [<from-object> <to-object>]..." @@ -15243,7 +15704,7 @@ msgstr "git notes copy --stdin [<từ-đối-tượng> <đến-đối-tượng>] #: builtin/notes.c:60 msgid "git notes append [<options>] [<object>]" -msgstr "git notes append [<các-tùy-chá»n>] [<đối-tượng>]" +msgstr "git notes append [<các tùy chá»n>] [<đối-tượng>]" #: builtin/notes.c:65 msgid "git notes edit [<object>]" @@ -15255,15 +15716,15 @@ msgstr "git notes show [<đối tượng>]" #: builtin/notes.c:75 msgid "git notes merge [<options>] <notes-ref>" -msgstr "git notes merge [<các-tùy-chá»n>] <notes-ref>" +msgstr "git notes merge [<các tùy chá»n>] <notes-ref>" #: builtin/notes.c:76 msgid "git notes merge --commit [<options>]" -msgstr "git notes merge --commit [<các-tùy-chá»n>]" +msgstr "git notes merge --commit [<các tùy chá»n>]" #: builtin/notes.c:77 msgid "git notes merge --abort [<options>]" -msgstr "git notes merge --abort [<các-tùy-chá»n>]" +msgstr "git notes merge --abort [<các tùy chá»n>]" #: builtin/notes.c:82 msgid "git notes remove [<object>]" @@ -15271,7 +15732,7 @@ msgstr "git notes remove [<đối tượng>]" #: builtin/notes.c:87 msgid "git notes prune [<options>]" -msgstr "git notes prune [<các-tùy-chá»n>]" +msgstr "git notes prune [<các tùy chá»n>]" #: builtin/notes.c:92 msgid "git notes get-ref" @@ -15309,7 +15770,7 @@ msgstr "không thể ghi đối tượng ghi chú (note)" msgid "the note contents have been left in %s" msgstr "ná»™i dung ghi chú còn lại %s" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "không thể mở hay Ä‘á»c “%sâ€" @@ -15543,7 +16004,7 @@ msgstr "" "chuyển giao kết quả bằng “git notes merge --commitâ€, hoặc bãi bá» việc hòa " "trá»™n bằng “git notes merge --abortâ€.\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Gặp lá»—i khi phân giải “%s†như là má»™t tham chiếu hợp lệ." @@ -15577,7 +16038,7 @@ msgstr "notes-ref" msgid "use notes from <notes-ref>" msgstr "dùng “notes†từ <notes-ref>" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "không hiểu câu lệnh con: %s" @@ -15586,136 +16047,136 @@ msgstr "không hiểu câu lệnh con: %s" msgid "" "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]" msgstr "" -"git pack-objects --stdout [các-tùy-chá»n…] [< <danh-sách-tham-chiếu> | < " +"git pack-objects --stdout [các tùy chá»n…] [< <danh-sách-tham-chiếu> | < " "<danh-sách-đối-tượng>]" #: builtin/pack-objects.c:53 msgid "" "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" msgstr "" -"git pack-objects [các-tùy-chá»n…] <base-name> [< <danh-sách-ref> | < <danh-" +"git pack-objects [các tùy chá»n…] <base-name> [< <danh-sách-ref> | < <danh-" "sách-đối-tượng>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "CRC cá»§a đối tượng gói sai vá»›i %s" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "đối tượng đã đóng gói sai há»ng cho %s" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "dò thấy delta đệ quy cho đối tượng %s" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "đã sắp xếp %u đối tượng, cần %<PRIu32>" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "táºp tin gói không hợp lệ: %s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "không thể mở táºp tin gói để dùng lại: %s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "không thể di chuyển vị trà đá»c trong táºp tin gói dùng lại" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "không thể Ä‘á»c từ táºp tin gói dùng lại" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "tắt ghi bitmap, các gói bị chia nhá» bởi vì pack.packSizeLimit" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "Äang ghi lại các đối tượng" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "gặp lá»—i khi lấy thông tin thống kê vá» %s" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "tắt ghi bitmap, như váºy má»™t số đối tượng sẽ không được đóng gói" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "khoảng bù cÆ¡ sở cho delta bị trà n trong gói cho %s" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "khoảng bù cÆ¡ sở cho delta nằm ngoà i phạm cho %s" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "Äang đếm các đối tượng" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "không thể lấy kÃch cỡ cá»§a %s" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "không thể phân tÃch phần đầu đối tượng cá»§a “%sâ€" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "không thể Ä‘á»c đối tượng %s" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "" "đối tượng %s không nhất quán vá» chiá»u dà i đối tượng (%<PRIuMAX> so vá»›i " "%<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "suboptimal pack - hết bá»™ nhá»›" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "Nén delta dùng tá»›i %d tuyến trình" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "không thể đóng gói các đối tượng tiếp cáºn được từ thẻ “%sâ€" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "Äang nén các đối tượng" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "mâu thuẫn vá»›i số lượng delta" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15724,7 +16185,7 @@ msgstr "" "cần ID đối tượng cạnh, nháºn được rác:\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15733,247 +16194,251 @@ msgstr "" "cần ID đối tượng, nháºn được rác:\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "giá trị cho --missing không hợp lệ" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "không thể mở mục lục cá»§a gói" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "đối tượng mất tại %s không thể đã kiểm tra" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "không thể buá»™c mất đối tượng" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "không phải má»™t rev “%sâ€" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "Ä‘iểm xem xét sai “%sâ€" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "không thể thêm các đối tượng má»›i dùng" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "phiên bản mục lục không được há»— trợ %s" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "phiên bản mục lục sai “%sâ€" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "không hiển thị bá»™ Ä‘o tiến trình" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "hiển thị bá»™ Ä‘o tiến trình" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "hiển thị bá»™ Ä‘o tiến triển trong suốt pha ghi đối tượng" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "tương tá»± --all-progress khi bá»™ Ä‘o tiến trình được xuất hiện" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<phiên bản>[,offset]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "ghi táºp tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "kcÃh thước tối Ä‘a cho táºp tin gói được tạo" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "bá» qua các đối tượng vay mượn từ kho đối tượng thay thế" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "bá» qua các đối tượng đóng gói" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "giá»›i hạn cá»a sổ đóng gói theo đối tượng" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "giá»›i hạn cá»a sổ đóng gói theo bá»™ nhá»› cá»™ng thêm vá»›i giá»›i hạn đối tượng" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "độ dà i tối Ä‘a cá»§a chuá»—i móc xÃch “delta†được phép trong gói kết quả" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "dùng lại các delta sẵn có" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "dùng lại các đối tượng sẵn có" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "dùng các đối tượng OFS_DELTA" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "sá» dụng các tuyến trình khi tìm kiếm cho các mẫu khá»›p delta tốt nhất" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "không thể tạo kết xuất gói trống rá»—ng" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "Ä‘á»c tham số “revision†từ thiết bị nháºp chuẩn" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "giá»›i hạn các đối tượng thà nh những cái mà chúng vẫn chưa được đóng gói" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "bao gồm các đối tượng có thể Ä‘á»c được từ bất kỳ tham chiếu nà o" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "xuất gói ra đầu ra tiêu chuẩn" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "giữ lại các đối tượng không thể Ä‘á»c được" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "pack mất các đối tượng không thể Ä‘á»c được" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "" "xả nén (gỡ khá»i gói) các đối tượng không thể Ä‘á»c được má»›i hÆ¡n <thá»i-gian>" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "dung thuáºt toán “sparse reachabilityâ€" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "tạo gói nhẹ" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "tạo gói để phù hợp cho lấy vá» nông (shallow)" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "bá» qua các gói mà nó có táºp tin .keep Ä‘i kèm" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "bá» qua gói nà y" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "mức nén gói" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "không ẩn các lần chuyển giao bởi “graftsâ€" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "dùng mục lục ánh xạ nếu có thể được để nâng cao tốc độ đếm đối tượng" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "ghi má»™t mục lục ánh xạ cùng vá»›i mục lục gói" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "ghi mục lục ánh xạ nếu được" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "xá» lý cho thiếu đối tượng" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "không thể đóng gói các đối tượng trong các táºp tin gói hứa hẹn" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "tôn trá»ng island trong suốt quá trình nén “deltaâ€" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "mức sau xÃch delta %d là quá sâu, buá»™c dùng %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "" "--max-pack-size không thể được sá» dụng để xây dá»±ng má»™t gói để váºn chuyển" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "giá»›i hạn kÃch thước tối thiểu cá»§a gói là 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin không thể được dùng để xây dá»±ng gói đánh mục lục được" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable và --unpack-unreachable xung khắc nhau" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "không thể dùng tùy chá»n --filter mà không có --stdout" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "Äánh số các đối tượng" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "Tổng %<PRIu32> (delta %<PRIu32>), dùng lại %<PRIu32> (delta %<PRIu32>)" #: builtin/pack-refs.c:8 msgid "git pack-refs [<options>]" -msgstr "git pack-refs [<các-tùy-chá»n>]" +msgstr "git pack-refs [<các tùy chá»n>]" #: builtin/pack-refs.c:16 msgid "pack everything" @@ -16018,46 +16483,46 @@ msgstr "Giá trị không hợp lệ %s: %s" #: builtin/pull.c:88 msgid "git pull [<options>] [<repository> [<refspec>...]]" -msgstr "git pull [<các-tùy-chá»n>] [<kho-chứa> [<refspec>…]]" +msgstr "git pull [<các tùy chá»n>] [<kho-chứa> [<refspec>…]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "Ä‘iá»u khiển việc lấy vỠđệ quy cá»§a các mô-Ä‘un-con" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "Các tùy chá»n liên quan đến hòa trá»™n" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trá»™n" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "cho phép chuyển-tiếp-nhanh" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "tá»± động stash/stash pop tước và sau tu bổ (rebase)" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "Các tùy chá»n liên quan đến lệnh lấy vá»" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "ép buá»™c ghi đè lên nhánh ná»™i bá»™" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "số lượng mô-Ä‘un-con được đẩy lên đồng thá»i" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Giá trị không hợp lệ cho pull.ff: %s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -16065,14 +16530,14 @@ msgstr "" "Ở đây không có ứng cá» nà o để cải tổ lại trong số các tham chiếu mà bạn vừa " "lấy vá»." -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Ở đây không có ứng cá» nà o để hòa trá»™n trong số các tham chiếu mà bạn vừa lấy " "vá»." -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -16081,7 +16546,7 @@ msgstr "" "tá»±\n" "đại diện mà nó lại không khá»›p trên Ä‘iểm cuối máy phục vụ." -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -16093,43 +16558,43 @@ msgstr "" "theo mặc định cho nhánh hiện tại cá»§a bạn, bạn phải chỉ định\n" "má»™t nhánh trên dòng lệnh." -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "Hiện tại bạn chẳng ở nhánh nà o cả." -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "Vui lòng chỉ định nhánh nà o bạn muốn cải tổ lại." -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "Vui lòng chỉ định nhánh nà o bạn muốn hòa trá»™n và o." -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "Xem git-pull(1) để biết thêm chi tiết." -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<máy chá»§>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<nhánh>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hà nh." -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "" "Nếu bạn muốn theo dõi thông tin cho nhánh nà y bạn có thể thá»±c hiện bằng lệnh:" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -16138,34 +16603,34 @@ msgstr "" "Các đặc tả cấu hình cá»§a bạn để hòa trá»™n vá»›i tham chiếu “%sâ€\n" "từ máy dịch vụ, nhưng không có nhánh nà o như thế được lấy vá»." -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "không thể truy cáºp lần chuyển giao “%sâ€" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "bá» qua --verify-signatures khi rebase" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "tùy chá»n --[no-]autostash chỉ hợp lệ khi dùng vá»›i --rebase." -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Äang cáºp nháºt má»™t nhánh chưa được sinh ra vá»›i các thay đổi được thêm và o " "bảng mục lục." -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "pull vá»›i rebase" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "xin hãy chuyển giao hoặc tạm cất (stash) chúng." -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -16176,7 +16641,7 @@ msgstr "" "Ä‘ang chuyển-tiếp-nhanh cây là m việc cá»§a bạn từ\n" "lần chuyển giaot %s." -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -16194,22 +16659,22 @@ msgstr "" "$ git reset --hard\n" "để khôi phục lại." -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "Không thể hòa trá»™n nhiá»u nhánh và o trong má»™t head trống rá»—ng." -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "Không thể thá»±c hiện lệnh rebase (cải tổ) trên nhiá»u nhánh." -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "" "không thể cải tổ vá»›i các thay đổi mô-Ä‘un-con được ghi lại má»™t cách cục bá»™" #: builtin/push.c:19 msgid "git push [<options>] [<repository> [<refspec>...]]" -msgstr "git push [<các-tùy-chá»n>] [<kho-chứa> [<refspec>…]]" +msgstr "git push [<các tùy chá»n>] [<kho-chứa> [<refspec>…]]" #: builtin/push.c:111 msgid "tag shorthand without <tag>" @@ -16504,15 +16969,15 @@ msgstr "các tùy chá»n push phải không có ký tá»± dòng má»›i" #: builtin/range-diff.c:8 msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>" msgstr "" -"git range-diff [<các-tùy-chá»n>] <old-base>..<old-tip> <new-base>..<new-tip>" +"git range-diff [<các tùy chá»n>] <old-base>..<old-tip> <new-base>..<new-tip>" #: builtin/range-diff.c:9 msgid "git range-diff [<options>] <old-tip>...<new-tip>" -msgstr "git range-diff [<các-tùy-chá»n>] <old-tip>…<new-tip>" +msgstr "git range-diff [<các tùy chá»n>] <old-tip>…<new-tip>" #: builtin/range-diff.c:10 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>" -msgstr "git range-diff [<các-tùy-chá»n>] <base> <old-tip> <new-tip>" +msgstr "git range-diff [<các tùy chá»n>] <base> <old-tip> <new-tip>" #: builtin/range-diff.c:21 msgid "Percentage by which creation is weighted" @@ -16620,14 +17085,14 @@ msgid "" "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] " "[<branch>]" msgstr "" -"git rebase [-i] [các-tùy-chá»n] [--exec <lệnh>] [--onto <newbase>] " +"git rebase [-i] [các tùy chá»n] [--exec <lệnh>] [--onto <newbase>] " "[<upstream>] [<nhánh>]" #: builtin/rebase.c:34 msgid "" "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]" msgstr "" -"git rebase [-i] [các-tùy-chá»n] [--exec <lệnh>] [--onto <newbase>] --root " +"git rebase [-i] [các tùy chá»n] [--exec <lệnh>] [--onto <newbase>] --root " "[<nhánh>]" #: builtin/rebase.c:36 @@ -16673,7 +17138,7 @@ msgstr "git rebase--interactive [<các tùy chá»n>]" msgid "keep empty commits" msgstr "giữ lại các lần chuyển giao rá»—ng" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "chấp nháºn chuyển giao mà không ghi chú gì" @@ -16693,7 +17158,7 @@ msgstr "di chuyển các lần chuyển giao bắt đầu bằng squash!/fixup!" msgid "sign commits" msgstr "ký các lần chuyển giao" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "hiển thị má»™t diffstat cá»§a những thay đổi thượng nguồn" @@ -16801,7 +17266,7 @@ msgstr "lệnh" msgid "the command to run" msgstr "lệnh muốn chạy" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "láºp lịch lại má»™t cách tá»± động bất kỳ “exec“ bị lá»—i" @@ -16809,7 +17274,7 @@ msgstr "láºp lịch lại má»™t cách tá»± động bất kỳ “exec“ bị l msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "--[no-]rebase-cousins không có tác dụng khi không có --rebase-merges" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s cần má»™t cải tổ kiểu tương tác" @@ -16839,11 +17304,11 @@ msgstr "Không thể Ä‘á»c “%sâ€" msgid "Cannot store %s" msgstr "Không thể lưu “%sâ€" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "không thể dò tìm Ä‘iểm xét duyệt HEAD" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -16858,7 +17323,7 @@ msgstr "" "Äể bãi bá» và quay trở lại trạng thái trước \"git rebase\", chạy \"git rebase " "--abort\"." -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -16877,7 +17342,7 @@ msgstr "" "\n" "Kết quả là git không thể cải tổ lại chúng." -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -16894,7 +17359,7 @@ msgstr "" " git rebase “<nhánh>â€\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -16908,128 +17373,128 @@ msgstr "" " git branch --set-upstream-to=%s/<nhánh> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "các lệnh thá»±c thi không thể chứa các ký tá»± dòng má»›i" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "lệnh thá»±c thi trống rá»—ng" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "cải tổ và o nhánh đã cho thay cho thượng nguồn" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "cho phép móc (hook) pre-rebase được chạy" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "hãy im lặng. ý là --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "đừng hiển thị diffstat cá»§a những thay đổi thượng nguồn" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "thêm dòng Signed-off-by: cho từng lần chuyển giao" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "chuyển cho “git amâ€" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "chuyển cho “git applyâ€" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "" "cherry-pick tất cả các lần chuyển giao, ngay cả khi không có thay đổi gì" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "tiếp tục" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "bá» qua miếng vá hiện hà nh và tiếp tục" -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "bãi bá» và lấy ra nhánh nguyên thá»§y" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "bãi bá» nhưng vẫn vẫn giữ HEAD chỉ đến nó" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "sá»a danh sách cần là m trong quá trình “rebase†(cải tổ) tương tác" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "hiển thị miếng vá đã được áp dụng hay hòa trá»™n" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "dùng chiến lược hòa trá»™n để cải tổ" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "để ngưá»i dùng sá»a danh sách các lần chuyển giao muốn cải tổ" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(Äà LẠC HẬU) hay thá» tạo lại các hòa trá»™n thay vì bá» qua chúng" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "ngăn cấm các lần chuyển giao trống rá»—ng trong suốt quá trình cải tổ" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "di chuyển các lần chuyển giao mà bắt đầu bằng squash!/fixup! dưới -i" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "tá»± động stash/stash pop trước và sau" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "thêm các dòng thá»±c thi sau từng lần chuyển giao cá»§a danh sách sá»a được" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "chấp nháºn cải tổ các chuyển giao mà không ghi chú gì" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "cố thá» cải tổ các hòa trá»™n thay vì bá» qua chúng" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "dùng “merge-base --fork-point†để định nghÄ©a lại thượng nguồn" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "dùng chiến lược hòa trá»™n đã cho" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "tùy chá»n" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "chuyển thao số đến chiến lược hòa trá»™n" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "cải tổ tất các các lần chuyển giao cho đến root" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -17037,33 +17502,33 @@ msgstr "" "việc há»— trợ rebase.useBuiltin đã bị xóa!\n" "Xem mục tin cá»§a nó trong “ git help config†để biết chi tiết." -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "" "Hình như Ä‘ang trong quá trình thá»±c hiện lệnh “git-amâ€. Không thể rebase." -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "" "git rebase --preserve-merges đã lạc háºu. Hãy dùng --rebase-merges để thay " "thế." -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "Không có tiến trình rebase nà o phải không?" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "Hà nh động “--edit-todo†chỉ có thể dùng trong quá trình “rebase†(sá»a lịch " "sá») tương tác." -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "Không thể Ä‘á»c HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -17071,21 +17536,16 @@ msgstr "" "Bạn phải sá»a tất cả các lần hòa trá»™n xung đột và sau\n" "đó đánh dấu chúng là cần xá» lý sá» dụng lệnh git add" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "không thể loại bá» các thay đổi cây-là m-việc" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "không thể quay trở lại %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "không thể gỡ bỠ“%sâ€" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -17106,169 +17566,173 @@ msgstr "" "và chạy TÔI lần nữa. TÔI dừng lại trong trưá»ng hợp bạn vẫn\n" "có má»™t số thứ quý giá ở đây.\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "tùy chá»n “%c†cần má»™t giá trị bằng số" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "Không hiểu chế độ: %s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy cần --merge hay --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec cần --exec hay --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "" "không thể tổ hợp các tùy chá»n am vá»›i các tùy chá»n tương tác hay hòa trá»™n" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "không thể kết hợp “--preserve-merges†vá»›i “--rebase-mergesâ€" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "không thể kết hợp “--preserve-merges†vá»›i “--reschedule-failed-execâ€" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "không thể kết hợp “--rebase-merges†vá»›i “--strategy-optionâ€" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "không thể kết hợp “--rebase-merges†vá»›i “--strategyâ€" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "thượng nguồn không hợp lệ “%sâ€" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "Không thể tạo lần chuyển giao gốc má»›i" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "“%sâ€: cần chÃnh xác má»™t cÆ¡ sở hòa trá»™n" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "Không chỉ đến má»™t lần chuyển giao không hợp lệ “%sâ€" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "nghiêm trá»ng: không có nhánh/lần chuyển giao “%s†như thế" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "Không có tham chiếu nà o như thế: %s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "Không thể phân giải lần chuyển giao HEAD đến má»™t Ä‘iểm xét duyệt" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "Không thể autostash" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "Gặp đáp ứng stash không cần: “%sâ€" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "Không thể tạo thư mục cho “%sâ€" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "Äã tạo autostash: %s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "không thể reset --hard" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD hiện giá» tại %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng." -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "không thể phân tÃch cú pháp “%sâ€" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "không thể chuyển đến %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD đã cáºp nháºt." -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "Nhánh hiện tại %s đã được cáºp nháºt rồi.\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD hiện đã được cáºp nháºt rồi, bị ép buá»™c rebase." -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "Nhánh hiện tại %s đã được cáºp nháºt rồi, lệnh rebase ép buá»™c.\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "Móc (hook) pre-rebase từ chối rebase." -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "Thay đổi thà nh %s:\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "Thay đổi từ %s thà nh %s:\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "" "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh cá»§a nó…\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "Không thể tách rá»i HEAD" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "Chuyển-tiếp-nhanh %s đến %s.\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <thư-mục-git>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17298,7 +17762,7 @@ msgstr "" "Äể chấm dứt lá»i nhắn nà y và vẫn giữ cách ứng xá» mặc định, hãy đặt\n" "biến cấu hình “receive.denyCurrentBranch†thà nh “refuseâ€." -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17319,11 +17783,11 @@ msgstr "" "\n" "Äể chấm dứt lá»i nhắn nà y, bạn hãy đặt nó thà nh “refuseâ€." -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "im lặng" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "Bạn phải chỉ định thư mục." @@ -17447,7 +17911,7 @@ msgstr "git remote set-url --delete <tên> <url>" #: builtin/remote.c:33 msgid "git remote add [<options>] <name> <url>" -msgstr "git remote add [<các-tùy-chá»n>] <tên> <url>" +msgstr "git remote add [<các tùy chá»n>] <tên> <url>" #: builtin/remote.c:53 msgid "git remote set-branches <name> <branch>..." @@ -17459,15 +17923,15 @@ msgstr "git remote set-branches --add <tên> <nhánh>…" #: builtin/remote.c:59 msgid "git remote show [<options>] <name>" -msgstr "git remote show [<các-tùy-chá»n>] <tên>" +msgstr "git remote show [<các tùy chá»n>] <tên>" #: builtin/remote.c:64 msgid "git remote prune [<options>] <name>" -msgstr "git remote prune [<các-tùy-chá»n>] <tên>" +msgstr "git remote prune [<các tùy chá»n>] <tên>" #: builtin/remote.c:69 msgid "git remote update [<options>] [<group> | <remote>]..." -msgstr "git remote update [<các-tùy-chá»n>] [<nhóm> | <máy-chá»§>]…" +msgstr "git remote update [<các tùy chá»n>] [<nhóm> | <máy-chá»§>]…" #: builtin/remote.c:98 #, c-format @@ -17891,7 +18355,7 @@ msgstr "Không hiểu câu lệnh con: %s" #: builtin/repack.c:22 msgid "git repack [<options>]" -msgstr "git repack [<các-tùy-chá»n>]" +msgstr "git repack [<các tùy chá»n>]" #: builtin/repack.c:27 msgid "" @@ -17901,115 +18365,115 @@ msgstr "" "Gia tăng repack là không tương thÃch vá»›i chỉ mục bitmap. Dùng\n" "--no-write-bitmap-index hay tắt cấu hình pack.writebitmaps." -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "" "không thể lấy thông tin thống kê pack-objects để mà đóng gói lại các đối " "tượng hứa hẹn" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "" "repack: Äang chỉ cần các dòng ID đối tượng dạng tháºp lục phân đầy dá»§ từ pack-" "objects." -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "không thể hoà n tất pack-objects để đóng gói các đối tượng hứa hẹn" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "đóng gói má»i thứ trong má»™t gói đơn" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "giống vá»›i -a, và chỉnh sá»a các đối tượng không Ä‘á»c được thiếu sót" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "xóa bá» các gói dư thừa, và chạy git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "chuyển --no-reuse-delta cho git-pack-objects" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "chuyển --no-reuse-object cho git-pack-objects" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "không chạy git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "chuyển --local cho git-pack-objects" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "ghi mục lục ánh xạ" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "chuyển --delta-islands cho git-pack-objects" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "ngà y ước tÃnh" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "vá»›i -A, các đối tượng cÅ© hÆ¡n khoảng thá»i gian nà y thì không bị mất" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "vá»›i -a, đóng gói lại các đối tượng không thể Ä‘á»c được" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "kÃch thước cá»a sổ được dùng cho nén “deltaâ€" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "byte" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "giống như trên, nhưng giá»›i hạn kÃch thước bá»™ nhá»› hay vì số lượng" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "giá»›i hạn độ sâu tối Ä‘a cá»§a “deltaâ€" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "giá»›i hạn số lượng tối Ä‘a tuyến trình" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "kÃch thước tối Ä‘a cho từng táºp tin gói" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "đóng gói lại các đối tượng trong các gói đã đánh dấu bằng .keep" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "đừng đóng gói lại gói nà y" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "không thể xóa các gói trong má»™t kho đối_tượng_vÄ©_đại" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable và -A xung khắc nhau" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "Không có gì má»›i để mà đóng gói." -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -18028,7 +18492,7 @@ msgstr "" "CẢNH BÃO: nguyên gốc cá»§a nó cÅ©ng gặp lá»—i.\n" "CẢNH BÃO: Vui lòng đổi tên chúng trong %s bằng tay:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "gặp lá»—i khi gỡ bỠ“%sâ€" @@ -18113,7 +18577,7 @@ msgstr "không thể mở “%s†để Ä‘á»c" #: builtin/replace.c:272 msgid "unable to spawn mktree" -msgstr "không thể spawn mktree" +msgstr "không thể sinh tiến trình con mktree" #: builtin/replace.c:276 msgid "unable to read from mktree" @@ -18307,11 +18771,11 @@ msgstr "" #: builtin/reset.c:33 msgid "git reset [-q] [<tree-ish>] [--] <paths>..." -msgstr "git reset [-q] [<tree-ish>] [--] <đưá»ng-dẫn>…" +msgstr "git reset [-q] [<tree-ish>] [--] </các/đưá»ng/dẫn>…" #: builtin/reset.c:34 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]" -msgstr "git reset --patch [<tree-ish>] [--] [<các-đưá»ng-dẫn>…]" +msgstr "git reset --patch [<tree-ish>] [--] [</các/đưá»ng/dẫn>…]" #: builtin/reset.c:40 msgid "mixed" @@ -18394,7 +18858,7 @@ msgstr "--patch xung khắc vá»›i --{hard,mixed,soft}" msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" "--mixed vá»›i các đưá»ng dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git " -"reset -- <đưá»ng_dẫn>â€." +"reset -- </các/đưá»ng/dẫn>â€." #: builtin/reset.c:355 #, c-format @@ -18437,30 +18901,30 @@ msgstr "Không thể đặt lại (reset) bảng mục lục thà nh Ä‘iểm xét msgid "Could not write new index file." msgstr "Không thể ghi táºp tin lưu bảng mục lục má»›i." -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "không thể tổ hợp --exclude-promisor-objects và --missing" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "lá»c đối tượng yêu cầu --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "giá trị sparse không hợp lệ “%sâ€" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list không há»— trợ hiển thị các ghi chú" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "không thể tổ hợp --use-bitmap-index vá»›i lá»c đối tượng" #: builtin/rev-parse.c:408 msgid "git rev-parse --parseopt [<options>] -- [<args>...]" -msgstr "git rev-parse --parseopt [<các-tùy-chá»n>] -- [<các tham số>…]" +msgstr "git rev-parse --parseopt [<các tùy chá»n>] -- [<các tham số>…]" #: builtin/rev-parse.c:413 msgid "keep the `--` passed as an arg" @@ -18482,15 +18946,15 @@ msgid "" "\n" "Run \"git rev-parse --parseopt -h\" for more information on the first usage." msgstr "" -"git rev-parse --parseopt [<các-tùy-chá»n>] -- [<các đối số>…]\n" +"git rev-parse --parseopt [<các tùy chá»n>] -- [<các đối số>…]\n" " hoặc: git rev-parse --sq-quote [<Ä‘.số>…]\n" -" hoặc: git rev-parse [<các-tùy-chá»n>] [<Ä‘.số>…]\n" +" hoặc: git rev-parse [<các tùy chá»n>] [<Ä‘.số>…]\n" "\n" "Chạy lệnh \"git rev-parse --parseopt -h\" để có thêm thông tin vá» cách dùng." #: builtin/revert.c:24 msgid "git revert [<options>] <commit-ish>..." -msgstr "git revert [<các-tùy-chá»n>] <commit-ish>…" +msgstr "git revert [<các tùy chá»n>] <commit-ish>…" #: builtin/revert.c:25 msgid "git revert <subcommand>" @@ -18498,7 +18962,7 @@ msgstr "git revert <lệnh-con>" #: builtin/revert.c:30 msgid "git cherry-pick [<options>] <commit-ish>..." -msgstr "git cherry-pick [<các-tùy-chá»n>] <commit-ish>…" +msgstr "git cherry-pick [<các tùy chá»n>] <commit-ish>…" #: builtin/revert.c:31 msgid "git cherry-pick <subcommand>" @@ -18526,53 +18990,57 @@ msgstr "phục hồi lại cherry-pick hay hoà n nguyên liên tiếp nhau" msgid "cancel revert or cherry-pick sequence" msgstr "không cherry-pick hay hoà n nguyên liên tiếp nhau" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "bá» qua lần chuyển giao hiện tại và tiếp tục" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "đừng chuyển giao má»™t cách tá»± động" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "sá»a lại chú thÃch cho lần chuyển giao" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "số-cha-mẹ" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "chá»n cha mẹ luồng chÃnh" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "chiến lược hòa trá»™n" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "tùy chá»n cho chiến lược hòa trá»™n" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "nối thêm tên lần chuyển giao" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "cấm khởi tạo lần chuyển giao trống rá»—ng" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "giữ lại các lần chuyển giao dư thừa, rá»—ng" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "hoà n nguyên gặp lá»—i" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "cherry-pick gặp lá»—i" #: builtin/rm.c:19 msgid "git rm [<options>] [--] <file>..." -msgstr "git rm [<các-tùy-chá»n>] [--] <táºp-tin>…" +msgstr "git rm [<các tùy chá»n>] [--] <táºp-tin>…" #: builtin/rm.c:207 msgid "" @@ -18676,11 +19144,11 @@ msgstr "in các trạng thái từ phần hướng dẫn trên máy dịch vụ" #: builtin/shortlog.c:14 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]" -msgstr "git shortlog [<các-tùy-chá»n>] [<vùng-xét-duyệt>] [[--] [<đưá»ng/dẫn>…]]" +msgstr "git shortlog [<các tùy chá»n>] [<vùng-xét-duyệt>] [[--] [<đưá»ng/dẫn>…]]" #: builtin/shortlog.c:15 msgid "git log --pretty=short | git shortlog [<options>]" -msgstr "git log --pretty=short | git shortlog [<các-tùy-chá»n>]" +msgstr "git log --pretty=short | git shortlog [<các tùy chá»n>]" #: builtin/shortlog.c:264 msgid "Group by committer rather than author" @@ -18732,113 +19200,113 @@ msgid "ignoring %s; cannot handle more than %d ref" msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "Ä‘ang bá» qua %s; không thể xá» lý nhiá»u hÆ¡n %d tham chiếu" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "không tham chiếu nà o khá»›p vá»›i %s" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "hiển thị các nhánh remote-tracking và ná»™i bá»™" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "hiển thị các nhánh remote-tracking" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "mà u “*!+-†tương ứng vá»›i nhánh" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "hiển thị thêm <n> lần chuyển giao sau cha mẹ chung" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "đồng nghÄ©a vá»›i more=-1" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "chặn các chuá»—i đặt tên" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "bao gồm nhánh hiện hà nh" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "đặt tên các lần chuyển giao bằng các tên cá»§a đối tượng cá»§a chúng" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "hiển thị má»i cÆ¡ sở có thể dùng để hòa trá»™n" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "hiển thị các tham chiếu không thể được Ä‘á»c bởi bất kỳ tham chiếu khác" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "hiển thị các lần chuyển giao theo thứ tá»± tôpô" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "chỉ hiển thị các lần chuyển giao không nằm trên nhánh đầu tiên" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "hiển thị các lần hòa trá»™n có thể Ä‘á»c được chỉ từ má»™t đầu mút" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "sắp xếp hình thái há»c, bảo trì thứ tá»± ngà y nếu có thể" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<cÆ¡_sở>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "hiển thị <n> các mục “ref-log†gần nhất kể từ ná»n (base)" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "" "--reflog là không tương thÃch vá»›i các tùy chá»n --all, --remotes, --" "independent hay --merge-base" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "chưa đưa ra nhánh, và HEAD không hợp lệ" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "--reflog cần tên má»™t nhánh" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "chỉ có thể hiển thị cùng lúc %d hạng mục." -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "không có tham chiếu nà o như thế %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "không thể xá» lý nhiá»u hÆ¡n %d Ä‘iểm xét duyệt." -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "“%s†không phải tham chiếu hợp lệ." -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "không thể tìm thấy lần chuyển giao %s (%s)" @@ -18893,11 +19361,11 @@ msgstr "" #: builtin/stash.c:22 builtin/stash.c:37 msgid "git stash list [<options>]" -msgstr "git stash list [<các-tùy-chá»n>]" +msgstr "git stash list [<các tùy chá»n>]" #: builtin/stash.c:23 builtin/stash.c:42 msgid "git stash show [<options>] [<stash>]" -msgstr "git stash show [<các-tùy-chá»n>] <stash>" +msgstr "git stash show [<các tùy chá»n>] <stash>" #: builtin/stash.c:24 builtin/stash.c:47 msgid "git stash drop [-q|--quiet] [<stash>]" @@ -19026,94 +19494,94 @@ msgstr "Các mục tạm cất (stash) được giữ trong trưá»ng hợp bạ msgid "No branch name specified" msgstr "Chưa chỉ ra tên cá»§a nhánh" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "Không thể cáºp nháºt %s vá»›i %s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "phần chú thÃch cho stash" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" cần má»™t đối số <lần chuyển giao>" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "Chưa có thay đổi nà o được chá»n" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "Bạn chưa còn có lần chuyển giao khởi tạo" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hà nh" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "Không thể ghi lại các táºp tin chưa theo dõi" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "Không thể ghi lại trạng thái cây-là m-việc hiện hà nh" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "Không thể ghi lại trạng thái cây là m việc hiện hà nh" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "Không thể dùng --patch và --include-untracked hay --all cùng má»™t lúc" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "Có lẽ bạn đã quên “git add †phải không?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "Không có thay đổi ná»™i bá»™ nà o được ghi lại" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "Không thể khởi tạo stash" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "Không thể ghi lại trạng thái hiện hà nh" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "Äã ghi lại thư mục là m việc và trạng thái mục lục %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "Không thể gỡ bá» các thay đổi cây-là m-việc" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "giữ nguyên bảng mục lục" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "cất Ä‘i ở chế độ miếng vá" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "chế độ im lặng" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "bao gồm các táºp tin không được theo dõi trong stash" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "bao gồm các táºp tin bị bá» qua" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "không thể thá»±c thi %s" @@ -19134,7 +19602,7 @@ msgstr "giữ và xóa bá» má»i dòng bắt đầu bằng ký tá»± ghi chú" msgid "prepend comment character and space to each line" msgstr "treo trước ký tá»± ghi chú và ký tá»± khoảng trắng cho từng dòng" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nháºn được %s" @@ -19148,7 +19616,7 @@ msgstr "submodule--helper print-default-remote takes không nháºn tham số" msgid "cannot strip one component off url '%s'" msgstr "không thể cắt bá» má»™t thà nh phần ra khá»i “%s†url" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "Ä‘iểm neo thay thế cho các đưá»ng dẫn tương đối" @@ -19156,8 +19624,8 @@ msgstr "Ä‘iểm neo thay thế cho các đưá»ng dẫn tương đối" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=</đưá»ng/dẫn>] [</đưá»ng/dẫn>…]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "Không tìm thấy url cho đưá»ng dẫn mô-Ä‘un-con “%s†trong .gitmodules" @@ -19176,7 +19644,7 @@ msgstr "" "run_command trả vá» trạng thái khác không cho %s\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -19187,19 +19655,19 @@ msgstr "" "con lồng nhau cá»§a %s\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "Chặn kết xuất cá»§a từng lệnh mô-Ä‘un-con" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "Äệ quy và o trong các mô-Ä‘un-con lồng nhau" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <lệnh>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " @@ -19208,56 +19676,56 @@ msgstr "" "không thể tìm thấy cấu hình “%sâ€. Coi rằng đây là kho thượng nguồn có quyá»n " "sở hữu chÃnh nó." -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "Gặp lá»—i khi đăng ký url cho đưá»ng dẫn mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "Mô-Ä‘un-con “%s†(%s) được đăng ký cho đưá»ng dẫn “%sâ€\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "cảnh báo: chế độ lệnh cáºp nháºt được gợi ý cho mô-Ä‘un-con “%sâ€\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "Gặp lá»—i khi đăng ký chế độ cáºp nháºt cho đưá»ng dẫn mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "Chặn kết xuất cho khởi tạo má»™t mô-Ä‘un-con" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<các tùy chá»n>] [</đưá»ng/dẫn>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" "không tìm thấy ánh xạ (mapping) mô-Ä‘un-con trong .gitmodules cho đưá»ng dẫn " "“%sâ€" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "không thể phân giải tham chiếu HEAD bên trong mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "gặp lá»—i khi đệ quy và o trong mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "Chặn két xuất tình trạng mô-Ä‘un-con" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" @@ -19265,48 +19733,48 @@ msgstr "" "Dùng lần chuyển giao lưu trong mục lục thay cho cái được lưu trong HEAD mô-" "Ä‘un-con" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "đệ quy và o trong mô-Ä‘un-con lồng nhau" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "" "git submodule status [--quiet] [--cached] [--recursive] [</đưá»ng/dẫn>…]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name </đưá»ng/dẫn>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "Url mô-Ä‘un-con đồng bá»™ hóa cho “%sâ€\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "gặp lá»—i khi đăng ký url cho đưá»ng dẫn mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "gặp lá»—i khi lấy máy chá»§ mặc định cho mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "gặp lá»—i khi cáºp nháºt cho mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "Chặn kết xuất cho đồng bá»™ url mô-Ä‘un-con" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [</đưá»ng/dẫn>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19315,7 +19783,7 @@ msgstr "" "Cây là m việc mô-Ä‘un-con “%s†có chứa thư mục .git (dùng “rm -rf†nếu bạn " "thá»±c sá»± muốn gỡ bá» nó cùng vá»›i toà n bá»™ lịch sá» cá»§a chúng)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " @@ -19324,80 +19792,80 @@ msgstr "" "Cây là m việc mô-Ä‘un-con “%s†chứa các thay đổi ná»™i bá»™; hãy dùng “-f†để loại " "bá» chúng Ä‘i" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "Äã xóa thư mục “%sâ€\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "Không thể gỡ bá» cây là m việc mô-Ä‘un-con “%sâ€\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "không thể tạo thư mục mô-Ä‘un-con rá»—ng “%sâ€" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "Mô-Ä‘un-con “%s†(%s) được đăng ký cho đưá»ng dẫn “%sâ€\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "Gỡ bá» cây là m việc cá»§a mô-Ä‘un-con ngay cả khi nó có thay đổi ná»™i bá»™" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "BỠđăng ký tất cả các trong mô-Ä‘un-con" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [</đưá»ng/dẫn>…]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "Dùng “--all†nếu bạn thá»±c sá»± muốn há»§y khởi tạo má»i mô-Ä‘un-con" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "mô-Ä‘un-con “%s†không thể thêm thay thế: %s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "Giá trị “%s†cho submodule.alternateErrorStrategy không được thừa nháºn" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "Giá trị “%s†cho submodule.alternateLocation không được thừa nháºn" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "nhân bản mô-Ä‘un-con má»›i và o chá»— nà o" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "tên cá»§a mô-Ä‘un-con má»›i" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "url nÆ¡i mà nhân bản mô-Ä‘un-con từ đó" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "chiá»u sâu lịch sá» khi tạo bản sao" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "ép buá»™c tiến trình nhân bản" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19405,95 +19873,95 @@ msgstr "" "git submodule--helper clone [--prefix=</đưá»ng/dẫn>] [--quiet] [--reference " "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đưá»ng/dẫn>…]" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "việc sao “%s†và o đưá»ng dẫn mô-Ä‘un-con “%s†gặp lá»—i" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "không thể lấy thư mục mô-Ä‘un-con cho “%sâ€" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "Chế độ cáºp nháºt “%s†không hợp lệ cho đưá»ng dẫn mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "" "Chế độ cáºp nháºt “%s†không hợp lệ được cấu hình cho đưá»ng dẫn mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "ÄÆ°á»ng dẫn mô-Ä‘un-con “%s†chưa được khởi tạo" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "Có lẽ bạn là bạn muốn dùng \"update --init\" phải không?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "Bá» qua các mô-Ä‘un-con chưa được hòa trá»™n %s" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "Bá» qua mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "Gặp lá»—i khi nhân bản “%sâ€. Thá» lại lịch trình" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "Gặp lá»—i khi nhân bản “%s†lần thứ hai nên bãi bá»" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "đưá»ng dẫn đến cây là m việc" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "đưá»ng dẫn đến cây là m việc, chéo biên giá»›i mô-Ä‘un-con lồng nhau" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "rebase, merge, checkout hoặc không là m gì cả" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "" "Tạo má»™t bản sao nông được cắt ngắn thà nh số lượng Ä‘iểm xét duyệt đã cho" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "công việc đồng thá»i" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "nhân bản lần đầu có nên theo khuyến nghị là nông hay không" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "đừng in tiến trình nhân bản" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "" "git submodule--helper update_clone [--prefix=</đưá»ng/dẫn>] [</đưá»ng/dẫn>…]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "giá trị cho tham số cáºp nháºt bị sai" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " @@ -19502,16 +19970,16 @@ msgstr "" "Nhánh mô-Ä‘un-con (%s) được cấu hình kế thừa nhánh từ siêu dá»± án, nhưng siêu " "dá»± án lại không trên bất kỳ nhánh nà o" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "không thể lấy thẻ quản kho cho mô-Ä‘un-con “%sâ€" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "đệ quy và o trong mô-Ä‘un-con" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [<các tùy chá»n>] [</đưá»ng/dẫn>…]" @@ -19540,7 +20008,7 @@ msgstr "git submodule--helper config --check-writeable" msgid "please make sure that the .gitmodules file is in the working tree" msgstr "hãy đảm bảo rằng táºp tin .gitmodules có trong cây là m việc" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s không há»— trợ --super-prefix" @@ -19552,7 +20020,7 @@ msgstr "“%s†không phải là lệnh con submodule--helper hợp lệ" #: builtin/symbolic-ref.c:8 msgid "git symbolic-ref [<options>] <name> [<ref>]" -msgstr "git symbolic-ref [<các-tùy-chá»n>] <tên> [<t.chiếu>]" +msgstr "git symbolic-ref [<các tùy chá»n>] <tên> [<t.chiếu>]" #: builtin/symbolic-ref.c:9 msgid "git symbolic-ref -d [-q] <name>" @@ -19604,17 +20072,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<định_dạng>] <tên-thẻ>…" -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "không tìm thấy tìm thấy thẻ “%sâ€." -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "Thẻ đã bị xóa “%s†(từng là %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -19627,7 +20095,7 @@ msgstr "" " %s\n" "Những dòng được bắt đầu bằng “%c†sẽ được bá» qua.\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -19642,15 +20110,15 @@ msgstr "" "Những dòng được bắt đầu bằng “%c†sẽ được giữ lại; bạn có thể xóa chúng Ä‘i " "nếu muốn.\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "không thể ký thẻ" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "không thể ghi và o táºp tin lưu thẻ" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -19663,139 +20131,139 @@ msgstr "" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "kiểu đối tượng sai." -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "không có chú thÃch gì cho cho thẻ à ?" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "Ná»™i dung ghi chú còn lại %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "chỉ liệt kê tên các thẻ" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "hiển thị <n> dòng cho má»—i ghi chú" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "xóa thẻ" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "thẩm tra thẻ" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "Tùy chá»n tạo thẻ" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "để chú giải cho thẻ, cần má»™t lá»i ghi chú" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "phần chú thÃch cho thẻ" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "ép buá»™c sá»a thẻ lần commit" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "thẻ chú giải và ký kiểu GPG" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "dùng kháo khác để ký thẻ" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "thay thế nếu thẻ đó đã có trước" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "tạo má»™t reflog" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "Các tùy chá»n liệt kê thẻ" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "hiển thị danh sách thẻ trong các cá»™t" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "chỉ hiển thị những thẻ mà nó không chứa lần chuyển giao" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "chỉ hiển thị những thẻ mà nó được hòa trá»™n" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "chỉ hiển thị những thẻ mà nó không được hòa trá»™n" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "chỉ hiển thị các thẻ cá»§a đối tượng" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column và -n xung khắc nhau" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "tùy chá»n -n chỉ cho phép dùng trong chế độ liệt kê" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "tùy chá»n --contains chỉ cho phép dùng trong chế độ liệt kê" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "tùy chá»n --no-contains chỉ cho phép dùng trong chế độ liệt kê" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "tùy chá»n --points-at chỉ cho phép dùng trong chế độ liệt kê" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "" "tùy chá»n --merged và --no-merged chỉ cho phép dùng trong chế độ liệt kê" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "chỉ có má»™t tùy chá»n -F hoặc -m là được phép." -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "quá nhiá»u đối số" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "“%s†không phải thẻ hợp lệ." -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "thẻ “%s†đã tồn tại rồi" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Äã cáºp nháºt thẻ “%s†(trước là %s)\n" @@ -19861,7 +20329,7 @@ msgstr " Äồng ý" #: builtin/update-index.c:589 msgid "git update-index [<options>] [--] [<file>...]" -msgstr "git update-index [<các-tùy-chá»n>] [--] [<táºp-tin>…]" +msgstr "git update-index [<các tùy chá»n>] [--] [<táºp-tin>…]" #: builtin/update-index.c:971 msgid "continue refresh even when index needs update" @@ -20063,15 +20531,15 @@ msgstr "fsmonitor bị tắt" #: builtin/update-ref.c:10 msgid "git update-ref [<options>] -d <refname> [<old-val>]" -msgstr "git update-ref [<các-tùy-chá»n>] -d <refname> [<biến-cÅ©>]" +msgstr "git update-ref [<các tùy chá»n>] -d <refname> [<biến-cÅ©>]" #: builtin/update-ref.c:11 msgid "git update-ref [<options>] <refname> <new-val> [<old-val>]" -msgstr "git update-ref [<các-tùy-chá»n>] <refname> <biến-má»›i> [<biến-cÅ©>]" +msgstr "git update-ref [<các tùy chá»n>] <refname> <biến-má»›i> [<biến-cÅ©>]" #: builtin/update-ref.c:12 msgid "git update-ref [<options>] --stdin [-z]" -msgstr "git update-ref [<các-tùy-chá»n>] --stdin [-z]" +msgstr "git update-ref [<các tùy chá»n>] --stdin [-z]" #: builtin/update-ref.c:364 msgid "delete the reference" @@ -20099,7 +20567,7 @@ msgstr "cáºp nháºt các táºp tin thông tin từ Ä‘iểm xuất phát" #: builtin/upload-pack.c:11 msgid "git upload-pack [<options>] <dir>" -msgstr "git upload-pack [<các-tùy-chá»n>] </đưá»ng/dẫn>" +msgstr "git upload-pack [<các tùy chá»n>] </đưá»ng/dẫn>" #: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17 msgid "quit after a single request/response exchange" @@ -20117,15 +20585,15 @@ msgstr "đừng thá» <thư_mục>/.git/ nếu <thư_mục> không phải là th msgid "interrupt transfer after <n> seconds of inactivity" msgstr "ngắt truyá»n thông sau <n> giây không hoạt động" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <lần_chuyển_giao>…" -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "hiển thị ná»™i dung cá»§a lần chuyển giao" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "in kết xuất trạng thái gpg dạng thô" @@ -20141,25 +20609,25 @@ msgstr "chi tiết" msgid "show statistics only" msgstr "chỉ hiển thị thống kê" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=<định_dạng>] <thẻ>…" -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "hiển thị ná»™i dung cá»§a thẻ" #: builtin/worktree.c:18 msgid "git worktree add [<options>] <path> [<commit-ish>]" -msgstr "git worktree add [<các-tùy-chá»n>] <đưá»ng-dẫn> [<commit-ish>]" +msgstr "git worktree add [<các tùy chá»n>] </đưá»ng/dẫn> [<commit-ish>]" #: builtin/worktree.c:19 msgid "git worktree list [<options>]" -msgstr "git worktree list [<các-tùy-chá»n>]" +msgstr "git worktree list [<các tùy chá»n>]" #: builtin/worktree.c:20 msgid "git worktree lock [<options>] <path>" -msgstr "git worktree lock [<các-tùy-chá»n>] </đưá»ng/dẫn>" +msgstr "git worktree lock [<các tùy chá»n>] </đưá»ng/dẫn>" #: builtin/worktree.c:21 msgid "git worktree move <worktree> <new-path>" @@ -20167,17 +20635,17 @@ msgstr "git worktree move <worktree> </đưá»ng/dẫn/má»›i>" #: builtin/worktree.c:22 msgid "git worktree prune [<options>]" -msgstr "git worktree prune [<các-tùy-chá»n>]" +msgstr "git worktree prune [<các tùy chá»n>]" #: builtin/worktree.c:23 msgid "git worktree remove [<options>] <worktree>" -msgstr "git worktree remove [<các-tùy-chá»n>] <worktree>" +msgstr "git worktree remove [<các tùy chá»n>] <worktree>" #: builtin/worktree.c:24 msgid "git worktree unlock <path>" msgstr "git worktree unlock </đưá»ng/dẫn>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "gặp lá»—i khi xóa “%sâ€" @@ -20250,120 +20718,120 @@ msgstr "" "“%s†bị mất nhưng cây là m việc đã được đăng ký;\n" "dùng “add -f†để ghi đè, hoặc “prune†hay “remove†để xóa" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "không thể tạo thư mục cá»§a “%sâ€" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "Äang chuẩn bị cây là m việc (nhánh má»›i “%sâ€)" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "Äang chuẩn bị cây là m việc (Ä‘ang cà i đặt nhánh “%sâ€, trước đây tại %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "Äang chuẩn bị cây là m việc (Ä‘ang lấy ra “%sâ€)" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "Äang chuẩn bị cây là m việc (HEAD đã tách rá»i “%sâ€)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "lấy ra <nhánh> ngay cả khi nó đã được lấy ra ở cây là m việc khác" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "tạo nhánh má»›i" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "tạo hay đặt lại má»™t nhánh" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "di chuyển cây là m việc má»›i" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "giữ cây là m việc má»›i bị khóa" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "cà i đặt chế độ theo dõi (xem git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "có khá»›p tên tên nhánh má»›i vá»›i má»™t nhánh theo dõi máy chá»§" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "Các tùy chá»n -b, -B, và --detach loại từ lẫn nhau" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "--[no-]track chỉ có thể được dùng nếu má»™t nhánh má»›i được tạo" -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "lý do khóa" -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "%s không phải là cây là m việc" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "Cây thư mục là m việc chÃnh không thể khóa hay bá» khóa được" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "“%s†đã được khóa rồi, lý do: %s" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "“%s†đã được khóa rồi" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "“%s†chưa bị khóa" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "cây là m việc có chứa mô-Ä‘un-con không thể di chuyển hay xóa bá»" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "ép buá»™c ngay cả khi cây là m việc Ä‘ang bẩn hay bị khóa" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "“%s†là cây là m việc chÃnh" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "không thể phác há»a ra tên Ä‘Ãch đến “%sâ€" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "Ä‘Ãch “%s†đã tồn tại rồi" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20372,7 +20840,7 @@ msgstr "" "không thể di chuyển má»™t cây-là m-việc bị khóa, khóa vì: %s\n" "dùng “move -f -f†để ghi đè hoặc mở khóa trước đã" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20380,36 +20848,36 @@ msgstr "" "không thể di chuyển má»™t cây-là m-việc bị khóa;\n" "dùng “move -f -f†để ghi đè hoặc mở khóa trước đã" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "thẩm tra gặp lá»—i, không thể di chuyển má»™t cây-là m-việc: %s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "gặp lá»—i khi chuyển “%s†sang “%sâ€" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "gặp lá»—i khi chạy “git status†và o “%sâ€" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "“%s†đang bẩn, hãy dùng --force để xóa nó" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "gặp lá»—i khi chạy “git status†trong “%sâ€, mã %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "ép buá»™c di chuyển tháºm chà cả khi cây là m việc Ä‘ang bẩn hay bị khóa" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20418,7 +20886,7 @@ msgstr "" "không thể xóa bá» má»™t cây-là m-việc bị khóa, khóa vì: %s\n" "dùng “remove -f -f†để ghi đè hoặc mở khóa trước đã" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20426,7 +20894,7 @@ msgstr "" "không thể xóa bá» má»™t cây-là m-việc bị khóa;\n" "dùng “remove -f -f†để ghi đè hoặc mở khóa trước đã" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "thẩm tra gặp lá»—i, không thể gỡ bá» má»™t cây-là m-việc: %s" @@ -20475,7 +20943,7 @@ msgstr "có quá nhiá»u lần chuyển giao được đánh dấu là tiếp cá #: t/helper/test-serve-v2.c:7 msgid "test-tool serve-v2 [<options>]" -msgstr "test-tool serve-v2 [<các-tùy-chá»n>]" +msgstr "test-tool serve-v2 [<các tùy chá»n>]" #: t/helper/test-serve-v2.c:19 msgid "exit immediately after advertising capabilities" @@ -20503,53 +20971,55 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "“git help -a†và “git help -g†liệt kê các câu lệnh con sẵn có và má»™t số\n" "hướng dẫn vá» khái niệm. Xem “git help <lệnh>†hay “git help <khái-niệm>â€\n" -"để xem các đặc tả cho lệnh hay khái niệm cụ thể." +"để xem các đặc tả cho lệnh hay khái niệm cụ thể.\n" +"Xem 'git help git' để biết tổng quan cá»§a hệ thống." -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "chưa chỉ ra thư mục cho --git-dir\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "chưa đưa ra không gian là m việc cho --namespace\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "chưa đưa ra cây là m việc cho --work-tree\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "chưa đưa ra tiá»n tố cho --super-prefix\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "-c cần má»™t chuá»—i cấu hình\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "chưa đưa ra thư mục cho -C\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "không hiểu tùy chá»n: %s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "trong khi triển khai bà danh “%sâ€: “%sâ€" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20558,40 +21028,40 @@ msgstr "" "bà danh “%s†thay đổi biến môi trưá»ng.\n" "Bạn có thể sá» dụng “!git†trong đặt bà danh để là m việc nà y" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "là m trống bà danh cho %s" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "đệ quy các bà danh: %s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "lá»—i ghi nghiêm trong trên đầu ra tiêu chuẩn" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "lá»—i nghiêm trá»ng chưa biết khi ghi ra đầu ra tiêu chuẩn" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "gặp lá»—i khi đóng đầu ra tiêu chuẩn" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "" "dò tìm thấy các bà danh quẩn tròn: biểu thức cá»§a “%s†không có Ä‘iểm kết:%s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "không thể xá» lý %s như là má»™t phần bổ sung" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -20600,12 +21070,12 @@ msgstr "" "cách dùng: %s\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "gặp lá»—i khi khai triển bà danh “%sâ€; “%s†không phải là lệnh git\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "gặp lá»—i khi chạy lệnh “%sâ€: %s\n" @@ -20788,19 +21258,19 @@ msgstr "ngà y hết hạn" msgid "no-op (backward compatibility)" msgstr "no-op (tương thÃch ngược)" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "chi tiết hÆ¡n nữa" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "im lặng hÆ¡n nữa" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "sá» dụng <n> chữ số để hiển thị SHA-1s" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "là m thế nà o để cắt bá» khoảng trắng và #ghichú từ mẩu tin nhắn" @@ -20816,6 +21286,14 @@ msgstr "tên trưá»ng cần sắp xếp" msgid "update the index with reused conflict resolution if possible" msgstr "cáºp nháºt bảng mục lục vá»›i phân giải xung đột dùng lại nếu được" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "HEAD được tách rá»i tại " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "HEAD được tách rá»i từ " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "Thêm ná»™i dung táºp tin và o bảng mục lục" @@ -21257,214 +21735,222 @@ msgid "Reset current HEAD to the specified state" msgstr "Äặt lại HEAD hiện hà nh thà nh trạng thái đã cho" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "Hoà n nguyên các táºp tin cây là m việc" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "Hoà n lại má»™t số lần chuyển giao sẵn có" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "Liệt kê các đối tượng chuyển giao theo thứ tá»± tôpô đảo ngược" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "Cáºy ra và xá» lý các tham số" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "Gỡ bá» các táºp tin từ cây là m việc và từ bảng mục lục" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "Gá»i má»™t táºp hợp cá»§a các miếng vá ở dạng thư Ä‘iện tá»" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "Äẩy các đối tượng lên thông qua giao thức Git đến kho chứa khác" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "Hệ vỠđăng nháºp có hạn chế cho truy cáºp SSH chỉ-Git" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "Kết xuất “git log†dạng tóm tắt" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "Hiển thị các kiểu khác nhau cá»§a các đối tượng" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "Hiển thị những nhánh và các lần chuyển giao cá»§a chúng" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "Hiển thị các muc lục kho nén đã đóng gói" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "Liệt kê các tham chiếu trong má»™t kho ná»™i bá»™" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "Nã cà i đặt quốc tế hóa cá»§a Git cho văn lệnh hệ vá»" -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "Mã cà i đặt văn lệnh hệ vá» Git chung" -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "Tạm cất Ä‘i các thay đổi trong má»™t thư mục là m việc bẩn" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "Thêm ná»™i dung táºp tin và o vùng bệ phóng" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "Hiển thị trạng thái cây là m việc" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "Xóa bá» các khoảng trắng không cần thiết" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "Khởi tạo, cáºp nháºt hay Ä‘iá»u tra các mô-Ä‘un-con" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Thao tác hai hướng giữ hai kho Subversion và Git" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "Các nhánh chuyển" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "Äá»c, sá»a và xóa tham chiếu má»m" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "Tạo, liệt kê, xóa hay xác thá»±c má»™t đối tượng thẻ được ký bằng GPG" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "Tạo má»™t táºp tin tạm vá»›i ná»™i dung cá»§a blob" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "Gỡ các đối tượng khá»i má»™t kho lưu đã đóng gói" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "Äăng ký ná»™i dung táºp tin từ cây là m việc đến bảng mục lục" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "Cáºp nháºt tên đối tượng được lưu trong má»™t tham chiếu má»™t cách an toà n" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "Cáºp nháºt táºp tin thông tin phụ trợ để giúp đỡ các dịch vụ dumb" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "Gá»i trở lại kho lưu đến git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "Gá»i trở lại các đối tượng đã đóng gói cho git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "Hiển thị má»™t biến Git luáºn lý" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "Kiểm tra ký lần chuyển giao dùng GPG" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "Kiểm tra lại các táºp tin kho (lưu trữ, nén) Git đã được đóng gói" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "Kiểm tra chữ ký GPG cá»§a các thẻ" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Giao diện Git trên ná»n web (ứng dụng web chạy trên kho Git)" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "Hiển thị các nháºt ký vá»›i từng lần chuyển giao khác nhau đưa ra" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "Quản lý nhiá»u cây là m việc" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "Tạo má»™t đối tượng cây từ đầu và o tiêu chuẩn stdin hiện tại" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "Äịnh nghÄ©a các thuá»™c tÃnh cho má»—i đưá»ng dẫn" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Giao diện dòng lệnh Git và quy ước" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "Hướng dẫn Git cÆ¡ bản cho nhà phát triển" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "Git dà nh cho những ngưá»i dùng CVS" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "Chỉnh kết xuất diff" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "Má»™t táºp hợp lệnh hữu dụng tối thiểu để dùng Git hà ng ngà y" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Thuáºt ngữ chuyên môn Git" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Các móc được sá» dụng bởi Git" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "Chỉ định các táºp tin không cần theo dõi" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "Äịnh nghÄ©a thuá»™c tÃnh mô-Ä‘un-con" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Không gian tên Git" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Bố cục kho Git" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "Chỉ định Ä‘iểm xét duyệt và vùng cho Git" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "Hướng dẫn cách dùng Git: phần hai" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "Hướng dẫn cách dùng Git" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Tổng quan vá» luồng công việc khuyến nghị nên dùng vá»›i Git" @@ -21885,12 +22371,21 @@ msgstr "" msgid "See git-${cmd}(1) for details." msgstr "Xem git-${cmd}(1) để biết thêm chi tiết." -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "Äã áp dụng autostash." + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "Không thể lưu $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "Äang rebase ($new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -21933,7 +22428,7 @@ msgstr "" "Những dòng nà y có thể đảo ngược thứ tá»±; chúng chạy từ trên đỉnh xuống dưới " "đáy.\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -21952,82 +22447,82 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1: không phải là lần chuyển giao mà có thể lấy ra được" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "Tên lần chuyển giao không hợp lệ: $sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "Không thể ghi lại sha1 thay thế cá»§a lần chuyển giao" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "Chuyển-tiếp-nhanh đến $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "Không thể chuyển-tiếp-nhanh đến $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "Không thể di chuyển HEAD đến $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "Từ chối squash lần hòa trá»™n: $sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "Gặp lá»—i khi hoà n lại bước hòa trá»™n $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "Không thể lấy ra $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "Äây là chú thÃch cho lần chuyển giao thứ #${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "Chú thÃch cho lần chuyển giao thứ #${n} sẽ bị bá» qua:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "Äây là tổ hợp cá»§a $count lần chuyển giao." -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "Không thể $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "Äây là tổ hợp cá»§a 2 lần chuyển giao." -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "Không thể áp dụng $sha1… $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -22043,31 +22538,31 @@ msgstr "" "nà y\n" "trước khi bạn có thể là m việc lại vá»›i lần chuyển giao." -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "Bị dừng tại $sha1_abbrev… $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "Không “$squash_style†thể mà không có lần chuyển giao kế trước" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "Thá»±c thi: $rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "Thá»±c thi gặp lá»—i: $rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "và tạo các thay đổi bảng mục lục và /hay cây là m việc" -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -22078,7 +22573,7 @@ msgstr "" "\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -22093,25 +22588,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "Lệnh chưa biết: $command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "Vui lòng sá»a lá»—i nà y bằng cách dùng “git rebase --edit-todoâ€." -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "Cà i tổ và cáºp nháºt $head_name má»™t cách thà nh công." -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "Không thể xóa bá» CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -22142,11 +22637,11 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "Lá»—i khi cố tìm định danh cá»§a tác giả để tu bổ lần chuyển giao" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." @@ -22155,39 +22650,39 @@ msgstr "" "Vui lòng chuyển giao chúng và sau đó chạy lệnh “git rebase --continue†lần " "nữa." -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "Không thể chuyển giao các thay đổi đã đưa lên bệ phóng." -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "Không thể thá»±c thi trình biên soạn" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "Không thể checkout $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "Không HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "Không thể tạo thư mục tạm thá»i $state_dir" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "Không thể đánh dấu là tương tác" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "Cải tổ $shortrevisions và o $shortonto (các lệnh $todocount)" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "Không thể khởi tạo các lần chuyển giao ghi lại" @@ -22258,126 +22753,128 @@ msgid "Unable to determine absolute path of git directory" msgstr "Không thể dò tìm đưá»ng dẫn tuyệt đối cá»§a thư mục git" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "đã đưa lên bệ phóng" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "chưa đưa lên bệ phóng" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "nhị phân" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "không có gì" -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "không thay đổi" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "đã thêm %d đưá»ng dẫn\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "đã cáºp nháºt %d đưá»ng dẫn\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "đã hoà n nguyên %d đưá»ng dẫn\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "%d đưá»ng dẫn đã touch (chạm)\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "Cáºp nháºt" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "Hoà n nguyên" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "chú ý: %s giỠđã bá» theo dõi.\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "Thêm các cái chưa được theo dõi" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "Không có táºp tin nà o chưa được theo dõi.\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." msgstr "" -"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sá»a sẽ ngay láºp tức\n" +"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sá»a sẽ ngay láºp tức\n" "được đánh dấu để chuyển lên bệ phóng." -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." msgstr "" -"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sá»a sẽ ngay láºp tức\n" +"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sá»a sẽ ngay láºp tức\n" "được đánh dấu để tạm cất." -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." msgstr "" -"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sá»a sẽ ngay láºp tức\n" +"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sá»a sẽ ngay láºp tức\n" "được đánh dấu để bá» chuyển lên bệ phóng." -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." msgstr "" -"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sá»a sẽ ngay láºp tức\n" +"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sá»a sẽ ngay láºp tức\n" "được đánh dấu để áp dụng." -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." msgstr "" -"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sá»a sẽ ngay láºp tức\n" +"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sá»a sẽ ngay láºp tức\n" "được đánh dấu để loại bá»." -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" -msgstr "gặp lá»—i khi táºp tin sá»a hunk để ghi: %s" +msgstr "gặp lá»—i khi táºp tin sá»a khúc để ghi: %s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" -msgstr "Chế độ sá»a hunk bằng tay -- xem ở đáy để có hướng dẫn sá» dụng nhanh.\n" +msgstr "Chế độ sá»a khúc bằng tay -- xem ở đáy để có hướng dẫn sá» dụng nhanh.\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22391,20 +22888,20 @@ msgstr "" "Những dòng bắt đầu bằng %s sẽ bị loại bá».\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" "aborted and the hunk is left unchanged.\n" msgstr "" "Nếu miếng vá không được áp dụng sạch sẽ, bạn sẽ có má»™t cÆ¡ há»™i\n" -"để sá»a lần nữa. Nếu má»i dòng cá»§a hunk bị xóa bá», thế thì những\n" -"sá»a dổi sẽ bị loại bá», và hunk vẫn giữ nguyên.\n" +"để sá»a lần nữa. Nếu má»i dòng cá»§a khúc bị xóa bá», thế thì những\n" +"sá»a dổi sẽ bị loại bá», và khúc vẫn giữ nguyên.\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" -msgstr "gặp lá»—i khi mở táºp tin hunk để Ä‘á»c: %s" +msgstr "gặp lá»—i khi mở táºp tin khúc để Ä‘á»c: %s" #. TRANSLATORS: do not translate [y/n] #. The program will only accept that input @@ -22412,14 +22909,14 @@ msgstr "gặp lá»—i khi mở táºp tin hunk để Ä‘á»c: %s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "" "Hunk đã sá»a cá»§a bạn không được áp dụng. Sá»a lại lần nữa (nói \"n\" để loại " "bá»!) [y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22427,14 +22924,14 @@ msgid "" "a - stage this hunk and all later hunks in the file\n" "d - do not stage this hunk or any of the later hunks in the file" msgstr "" -"y - đưa lên bệ phóng hunk nà y\n" -"n - đừng đưa lên bệ phóng hunk nà y\n" -"q - thoát; đừng đưa lên bệ phóng hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - đưa lên bệ phóng hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng đưa lên bệ phóng hunk nà y cÅ©ng như bất kỳ cái nà o còn lại trong táºp " +"y - đưa lên bệ phóng khúc nà y\n" +"n - đừng đưa lên bệ phóng khúc nà y\n" +"q - thoát; đừng đưa lên bệ phóng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - đưa lên bệ phóng khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng đưa lên bệ phóng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại trong táºp " "tin" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22442,13 +22939,13 @@ msgid "" "a - stash this hunk and all later hunks in the file\n" "d - do not stash this hunk or any of the later hunks in the file" msgstr "" -"y - tạm cất hunk nà y\n" -"n - đừng tạm cất hunk nà y\n" -"q - thoát; đừng tạm cất hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - tạm cất hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng tạm cất hunk nà y cÅ©ng như bất kỳ cái nà o còn lại trong táºp tin" +"y - tạm cất khúc nà y\n" +"n - đừng tạm cất khúc nà y\n" +"q - thoát; đừng tạm cất khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - tạm cất khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng tạm cất khúc nà y cÅ©ng như bất kỳ cái nà o còn lại trong táºp tin" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22456,15 +22953,15 @@ msgid "" "a - unstage this hunk and all later hunks in the file\n" "d - do not unstage this hunk or any of the later hunks in the file" msgstr "" -"y - đưa ra khá»i bệ phóng hunk nà y\n" -"n - đừng đưa ra khá»i bệ phóng hunk nà y\n" -"q - thoát; đừng đưa ra khá»i bệ phóng hunk nà y cÅ©ng như bất kỳ cái nà o còn " +"y - đưa ra khá»i bệ phóng khúc nà y\n" +"n - đừng đưa ra khá»i bệ phóng khúc nà y\n" +"q - thoát; đừng đưa ra khá»i bệ phóng khúc nà y cÅ©ng như bất kỳ cái nà o còn " "lại\n" -"a - đưa ra khá»i bệ phóng hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng đưa ra khá»i bệ phóng hunk nà y cÅ©ng như bất kỳ cái nà o còn lại trong " +"a - đưa ra khá»i bệ phóng khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng đưa ra khá»i bệ phóng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại trong " "táºp tin" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22472,13 +22969,13 @@ msgid "" "a - apply this hunk and all later hunks in the file\n" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" -"y - áp dụng hunk nà y và o mục lục\n" -"n - đừng áp dụng hunk nà y và o mục lục\n" -"q - thoát; đừng áp dụng hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - áp dụng hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng áp dụng hunk nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" +"y - áp dụng khúc nà y và o mục lục\n" +"n - đừng áp dụng khúc nà y và o mục lục\n" +"q - thoát; đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - áp dụng khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22486,13 +22983,13 @@ msgid "" "a - discard this hunk and all later hunks in the file\n" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" -"y - loại bá» hunk nà y khá»i cây là m việc\n" -"n - đừng loại bá» hunk khá»i cây là m việc\n" -"q - thoát; đừng loại bá» hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - loại bá» hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng loại bá» hunk nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" +"y - loại bá» khúc nà y khá»i cây là m việc\n" +"n - đừng loại bá» khúc khá»i cây là m việc\n" +"q - thoát; đừng loại bá» khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - loại bá» khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng loại bá» khúc nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22500,13 +22997,13 @@ msgid "" "a - discard this hunk and all later hunks in the file\n" "d - do not discard this hunk or any of the later hunks in the file" msgstr "" -"y - loại bá» hunk nà y khá»i mục lục và cây là m việc\n" -"n - đừng loại bá» hunk khá»i mục lục và cây là m việc\n" -"q - thoát; đừng loại bá» hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - loại bá» hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng loại bá» hunk nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" +"y - loại bá» khúc nà y khá»i mục lục và cây là m việc\n" +"n - đừng loại bá» khúc khá»i mục lục và cây là m việc\n" +"q - thoát; đừng loại bá» khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - loại bá» khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng loại bá» khúc nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22514,13 +23011,27 @@ msgid "" "a - apply this hunk and all later hunks in the file\n" "d - do not apply this hunk or any of the later hunks in the file" msgstr "" -"y - áp dụng hunk nà y và o mục lục và cây là m việc\n" -"n - đừng áp dụng hunk và o mục lục và cây là m việc\n" -"q - thoát; đừng áp dụng hunk nà y cÅ©ng như bất kỳ cái nà o còn lại\n" -"a - áp dụng hunk nà y và tất cả các hunk sau nà y trong táºp tin\n" -"d - đừng áp dụng hunk nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" +"y - áp dụng khúc nà y và o mục lục và cây là m việc\n" +"n - đừng áp dụng khúc và o mục lục và cây là m việc\n" +"q - thoát; đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - áp dụng khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" + +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - áp dụng khúc nà y và o cây là m việc\n" +"n - đừng áp dụng khúc và o cây là m việc\n" +"q - thoát; đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o còn lại\n" +"a - áp dụng khúc nà y và tất cả các khúc sau nà y trong táºp tin\n" +"d - đừng áp dụng khúc nà y cÅ©ng như bất kỳ cái nà o sau nà y trong táºp tin" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22532,219 +23043,234 @@ msgid "" "e - manually edit the current hunk\n" "? - print help\n" msgstr "" -"g - chá»n má»™t hunk muốn tá»›i\n" -"/ - tìm má»™t hunk khá»›p vá»›i biểu thức chÃnh quy đưa ra\n" -"j - để lại hunk nà y là chưa quyết định, xem hunk chưa quyết định kế\n" -"J - để lại hunk nà y là chưa quyết định, xem hunk kế\n" -"k - để lại hunk nà y là chưa quyết định, xem hunk chưa quyết định kế trước\n" -"K - để lại hunk nà y là chưa quyết định, xem hunk kế trước\n" -"s - chia hunk hiện tại thà nh các hunk nhá» hÆ¡n\n" -"e - sá»a bằng tay hunk hiện hà nh\n" +"g - chá»n má»™t khúc muốn tá»›i\n" +"/ - tìm má»™t khúc khá»›p vá»›i biểu thức chÃnh quy đưa ra\n" +"j - để lại khúc nà y là chưa quyết định, xem khúc chưa quyết định kế\n" +"J - để lại khúc nà y là chưa quyết định, xem khúc kế\n" +"k - để lại khúc nà y là chưa quyết định, xem khúc chưa quyết định kế trước\n" +"K - để lại khúc nà y là chưa quyết định, xem khúc kế trước\n" +"s - chia khúc hiện tại thà nh các khúc nhá» hÆ¡n\n" +"e - sá»a bằng tay khúc hiện hà nh\n" "? - in trợ giúp\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" -msgstr "Các hunk đã chá»n không được áp dụng và o bảng mục lục!\n" +msgstr "Các khúc đã chá»n không được áp dụng và o bảng mục lục!\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "Vẫn áp dụng chúng cho cây là m việc? " -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "Äã không áp dụng gì cả.\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "bá» qua những thứ chưa hòa trá»™n: %s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "Chỉ có các táºp tin nhị phân là thay đổi.\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "Không có thay đổi nà o.\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "Cáºp nháºt miếng vá" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "Thay đổi chế độ bệ phóng [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "Xóa khá»i bệ phóng [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " -msgstr "ÄÆ°a lên bệ phóng hunk nà y [y,n,q,a,d%s,?]? " +msgstr "ÄÆ°a lên bệ phóng khúc nà y [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "Thay đổi chế độ tạm cất Ä‘i [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "Xóa tạm cất [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " -msgstr "Tạm cất hunk nà y [y,n,q,a,d%s,?]? " +msgstr "Tạm cất khúc nà y [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "Thay đổi chế độ bá» ra khá»i bệ phóng [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "Xóa bá» việc bá» ra khá»i bệ phóng [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " -msgstr "Bá» ra khá»i bệ phóng hunk nà y [y,n,q,a,d%s,?]? " +msgstr "Bá» ra khá»i bệ phóng khúc nà y [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "Ãp dụng thay đổi chế độ cho mục lục [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " msgstr "Ãp dụng việc xóa và o mục lục [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " -msgstr "Ão dụng hunk nà y và o mục lục [y,n,q,a,d%s,?]? " +msgstr "Ão dụng khúc nà y và o mục lục [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "Loại bá» các thay đổi chế độ từ cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "Loại bá» việc xóa khá»i cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " -msgstr "Loại bá» hunk nà y khá»i cây là m việc [y,n,q,a,d%s,?]? " +msgstr "Loại bá» khúc nà y khá»i cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "Loại bá» thay đổi chế độ từ mục lục và cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "Loại bá» việc xóa khá»i mục lục và cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " -msgstr "Loại bá» hunk nà y khá»i mục lục và cây là m việc [y,n,q,a,d%s,?]? " +msgstr "Loại bá» khúc nà y khá»i mục lục và cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "Ãp dụng thay đổi chế độ cho mục lục và cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " msgstr "Ãp dụng việc xóa và o mục lục và cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " -msgstr "Ãp dụng hunk nà y và o mục lục và cây là m việc [y,n,q,a,d%s,?]? " +msgstr "Ãp dụng khúc nà y và o mục lục và cây là m việc [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "Ãp dụng thay đổi chế độ cho cây là m việc [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "Ãp dụng việc xóa cho cây là m việc [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "Ãp dụng khúc nà y và o cây là m việc [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" -msgstr "Không còn hunk nà o để mà nhảy đến\n" +msgstr "Không còn khúc nà o để mà nhảy đến\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " -msgstr "nhảy đến hunk nà o (<ret> để xem thêm)? " +msgstr "nhảy đến khúc nà o (<ret> để xem thêm)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " -msgstr "nhảy đến hunk nà o? " +msgstr "nhảy đến khúc nà o? " -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "Số không hợp lệ: “%sâ€\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" -msgstr[0] "Rất tiếc, chỉ có sẵn %d hunk..\n" +msgstr[0] "Rất tiếc, chỉ có sẵn %d khúc.\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" -msgstr "Không còn hunk nà o để mà tìm kiếm\n" +msgstr "Không còn khúc nà o để mà tìm kiếm\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " -msgstr "tìm kiếm cho regex? " +msgstr "tìm kiếm cho biểu thức chÃnh quy? " -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "Äịnh dạng tìm kiếm cá»§a biểu thức chÃnh quy không đúng %s: %s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" -msgstr "Không thấy hunk nà o khá»›p mẫu đã cho\n" +msgstr "Không thấy khúc nà o khá»›p mẫu đã cho\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" -msgstr "Không có hunk kế trước\n" +msgstr "Không có khúc kế trước\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" -msgstr "Không có hunk kế tiếp\n" +msgstr "Không có khúc kế tiếp\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" -msgstr "Rất tiếc, không thể chia nhá» hunk nà y\n" +msgstr "Rất tiếc, không thể chia nhá» khúc nà y\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" -msgstr[0] "Chi nhá» thà nh %d hunks.\n" +msgstr[0] "Chi nhá» thà nh %d khúc.\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" -msgstr "Rất tiếc, không thể sá»a hunk nà y\n" +msgstr "Rất tiếc, không thể sá»a khúc nà y\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "Xem xét lại diff" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -22759,23 +23285,24 @@ msgstr "" "đặt lên bệ phóng\n" "revert - hoà n nguyên táºp hợp các thay đổi đã đặt lên bệ phóng trở lại " "phiên bản HEAD\n" -"patch - cáºy các hunk và cáºp nháºt có lá»±a chá»n\n" +"patch - cáºy các khúc và cáºp nháºt có lá»±a chá»n\n" "diff\t - xem khác biệt giữa HEAD và mục lục\n" "add untracked - thêm ná»™i dung các các táºp tin chưa theo dõi và táºp hợp các " "thay đổi đã đặt lên bệ phóng\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "thiếu --" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "không hiểu chế độ --patch: %s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "đối số không hợp lệ %s, cần --" @@ -22788,30 +23315,30 @@ msgstr "múi giá» ná»™i bá»™ khác biệt vá»›i GMT bởi khoảng thá»i gian msgid "local time offset greater than or equal to 24 hours\n" msgstr "khoảng bù thá»i gian ná»™i bá»™ lá»›n hÆ¡n hoặc bằng 24 giá»\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "trình soạn thảo thoát không sạch sẽ, bãi bá» má»i thứ" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "“%s†có chưa má»™t phiên bản trung gian cá»§a thư bạn đã soạn.\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "“%s.final†chứa thư Ä‘iện tỠđã soạn thảo.\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases xung khắc vá»›i các tùy chá»n khác\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "Không thể chạy git format-patch ở ngoà i má»™t kho chứa\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" @@ -22819,37 +23346,37 @@ msgstr "" "“batch-size†và “relogin†phải được chỉ định cùng vá»›i nhau (thông qua dòng " "lệnh hoặc tùy chá»n cấu hình)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "Không hiểu trưá»ng --suppress-cc: “%sâ€\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "Không hiểu cà i đặt --confirm: “%sâ€\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "cảnh báo: bà danh sendmail vá»›i dấu trÃch dẫn không được há»— trợ: %s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "cảnh báo: “:include:“ không được há»— trợ: %s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "cảnh báo: chuyển hướng “/file“ hay “|pipe“ không được há»— trợ: %s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "cảnh báo: dòng sendmail không nháºn ra được: %s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -22864,12 +23391,12 @@ msgstr "" " * Nói \"./%s\" nếu ý bạn là má»™t táºp tin; hoặc\n" " * ÄÆ°a ra tùy chá»n --format-patch nếu ý bạn là chuẩn bị.\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "Gặp lá»—i khi mở thư mục “%sâ€: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -22878,7 +23405,7 @@ msgstr "" "nghiêm trá»ng: %s: %s\n" "cảnh báo: không có miếng vá nà o được gá»i Ä‘i\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -22888,17 +23415,17 @@ msgstr "" "Chưa chỉ định các táºp tin miếng vá!\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "Không có dòng chá»§ đỠtrong %s?" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "Gặp lá»—i khi mở “%s†để ghi: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -22912,27 +23439,27 @@ msgstr "" "\n" "Xóa ná»™i dung phần thân nếu bạn không muốn gá»i tóm tắt.\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "Gặp lá»—i khi mở “%sâ€: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "Gặp lá»—i khi mở %s.final: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "Thư tổng thể là trống rá»—ng, nên bá» qua nó\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "Bạn có chắc muốn dùng <%s> [y/N]? " -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" @@ -22940,11 +23467,11 @@ msgstr "" "Các trưá»ng sau đây là 8bit, nhưng không khai báo má»™t Content-Transfer-" "Encoding.\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "Bảng mã 8bit nà o tôi nên khai báo [UTF-8]? " -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -22957,20 +23484,20 @@ msgstr "" "có chá»§ đỠở dạng mẫu “*** SUBJECT HERE ***â€. Dùng --force nếu bạn thá»±c sá»± " "muốn gá»i.\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "Tá»›i ngưá»i mà thư được gá»i (nếu có)?" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "nghiêm trá»ng: bà danh “%s†được khai triển thà nh chÃnh nó\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "Message-ID được dùng như là In-Reply-To cho thư đầu tiên (nếu có)? " -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "lá»—i: không thể rút trÃch má»™t địa chỉ hợp lệ từ: %s\n" @@ -22978,16 +23505,16 @@ msgstr "lá»—i: không thể rút trÃch má»™t địa chỉ hợp lệ từ: %s\n #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "Là m gì vá»›i địa chỉ nà y? (thoát[q]|xóa[d]|sá»a[e]): " -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "ÄÆ°á»ng dẫn CA “%s†không tồn tại" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -23014,134 +23541,228 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "Gá»i thư nà y chứ? ([y]có|[n]không|[e]sá»a|[q]thoát|[a]tất): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "Gá»i thư nà y trả lá»i yêu cầu" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "Máy phục vụ SMTP chưa được định nghÄ©a má»™t cách thÃch hợp." -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "Máy chá»§ không há»— trợ STARTTLS! %s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "STARTTLS gặp lá»—i! %s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "" "Không thể khởi tạo SMTP má»™t cách đúng đắn. Kiểm tra cấu hình và dùng --smtp-" "debug." -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "Gặp lá»—i khi gá»i %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "Thá» gá»i %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "Gá»i %s\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "Dry-OK. Nháºt ký nói rằng:\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK. Nháºt ký nói rằng:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "Kết quả: " -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "Kết quả: Tốt\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "không thể mở táºp tin “%sâ€" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) Thêm cc: %s từ dòng “%sâ€\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) Äang thêm to: %s từ dòng “%sâ€\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) Thêm cc: %s từ dòng “%sâ€\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(body) Thêm cc: %s từ dòng “%sâ€\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) Không thể thá»±c thi “%sâ€" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) Äang thêm %s: %s từ: “%sâ€\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) gặp lá»—i khi đóng đưá»ng ống đến “%sâ€" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "không thể lấy gá»i thư dạng 7 bÃt" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "bảng mã truyá»n không hợp lệ" -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "không thể mở %s: %s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s: miếng vá có chứa dòng dà i hÆ¡n 998 ký tá»±" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "Bá» qua %s vá»›i háºu tố sao lưu dá»± phòng “%sâ€.\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "Bạn có thá»±c sá»± muốn gá»i %s? [y|N](có/KHÔNG): " +#~ msgid "" +#~ "Fetch normally indicates which branches had a forced update, but that " +#~ "check has been disabled." +#~ msgstr "" +#~ "Lấy vá» bình thưá»ng cho biết các các nhánh nà o buá»™c phải cáºp nháºt, nhưng " +#~ "việc kiểm tra đã bị vô hiệu hóa." + +#~ msgid "" +#~ "or run 'git config fetch.showForcedUpdates false' to avoid this check.\n" +#~ msgstr "" +#~ "hoặc chạy 'git config fetch.showForcedUpdates false' để tránh kiểm tra " +#~ "nà y.\n" + +#~ msgid "" +#~ "log.mailmap is not set; its implicit value will change in an\n" +#~ "upcoming release. To squelch this message and preserve current\n" +#~ "behaviour, set the log.mailmap configuration value to false.\n" +#~ "\n" +#~ "To squelch this message and adopt the new behaviour now, set the\n" +#~ "log.mailmap configuration value to true.\n" +#~ "\n" +#~ "See 'git help config' and search for 'log.mailmap' for further " +#~ "information." +#~ msgstr "" +#~ "log.mailmap không được đặt; giá trị ngầm cá»§a nó sẽ thay đổi trong má»™t\n" +#~ "phát hà nh sắp tá»›i. Äể chấm dứt thông báo nà y và duy trì hà nh xá»\n" +#~ "hiện tại, đặt giá trị cấu hình log.mailmap thà nh false.\n" +#~ "\n" +#~ "Äể là m chấm dứt thông báo nà y và áp cách hà nh xá» má»›i, hãy đặt\n" +#~ "giá trị cấu hình log.mailmap true.\n" +#~ "\n" +#~ "Xem 'git help config ' và tìm kiếm ' log.mailmap ' để biết thêm thông tin." + +#~ msgid "Server supports multi_ack_detailed" +#~ msgstr "Máy chá»§ há»— trợ multi_ack_detailed" + +#~ msgid "Server supports no-done" +#~ msgstr "Máy chá»§ há»— trợ no-done" + +#~ msgid "Server supports multi_ack" +#~ msgstr "Máy chá»§ há»— trợ multi_ack" + +#~ msgid "Server supports side-band-64k" +#~ msgstr "Máy chá»§ há»— trợ side-band-64k" + +#~ msgid "Server supports side-band" +#~ msgstr "Máy chá»§ há»— trợ side-band" + +#~ msgid "Server supports allow-tip-sha1-in-want" +#~ msgstr "Máy chá»§ há»— trợ allow-tip-sha1-in-want" + +#~ msgid "Server supports allow-reachable-sha1-in-want" +#~ msgstr "Máy chá»§ há»— trợ allow-reachable-sha1-in-want" + +#~ msgid "Server supports ofs-delta" +#~ msgstr "Máy chá»§ há»— trợ ofs-delta" + +#~ msgid "(HEAD detached at %s)" +#~ msgstr "(HEAD được tách rá»i tại %s)" + +#~ msgid "(HEAD detached from %s)" +#~ msgstr "(HEAD được tách rá»i từ %s)" + +#~ msgid "Checking out files" +#~ msgstr "Äang lấy ra các táºp tin" + +#~ msgid "cannot be interactive without stdin connected to a terminal." +#~ msgstr "" +#~ "không thể được tương tác mà không có stdin kết nối vá»›i má»™t thiết bị cuối." + +#~ msgid "failed to open '%s'" +#~ msgstr "gặp lá»—i khi mở “%sâ€" + +#~ msgid "failed to stat %s\n" +#~ msgstr "gặp lá»—i khi lấy thông tin thống kê vá» %s\n" + +#~ msgid "" +#~ "If you wish to skip this commit, use:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n" +#~ "the remaining commits.\n" +#~ msgstr "" +#~ "Nếu bạn muốn bá» qua lần chuyển giao nà y thì dùng:\n" +#~ "\n" +#~ " git reset\n" +#~ "\n" +#~ "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n" +#~ "những lần chuyển giao còn lại.\n" + +#~ msgid "unrecognized verb: %s" +#~ msgstr "verb không được thừa nháºn: %s" + #~ msgid "hash version %X does not match version %X" #~ msgstr "phiên bản băm “%X†không có phiên bản khá»›p %X" @@ -23248,10 +23869,6 @@ msgstr "Bạn có thá»±c sá»± muốn gá»i %s? [y|N](có/KHÔNG): " #~ msgstr "" #~ "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh cá»§a nó…" -#, fuzzy -#~ msgid "--reschedule-failed-exec requires an interactive rebase" -#~ msgstr "%s cần má»™t cải tổ kiểu tương tác" - #~ msgid "ignoring unknown color-moved-ws mode '%s'" #~ msgstr "bá» qua chế độ color-moved-ws chưa biết “%sâ€" @@ -23324,12 +23941,6 @@ msgstr "Bạn có thá»±c sá»± muốn gá»i %s? [y|N](có/KHÔNG): " #~ msgid "cannot remove a locked working tree" #~ msgstr "không thể gỡ bá» má»™t cây-là m-việc bị khóa" -#~ msgid "Applied autostash." -#~ msgstr "Äã áp dụng autostash." - -#~ msgid "Cannot store $stash_sha1" -#~ msgstr "Không thể lưu $stash_sha1" - #~ msgid "" #~ "\n" #~ "\tHowever, if you remove everything, the rebase will be aborted.\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index 075c5c5d4d..c6bdb3e300 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -139,8 +139,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2019-06-04 08:24+0800\n" -"PO-Revision-Date: 2019-06-04 09:04+0800\n" +"POT-Creation-Date: 2019-08-10 20:12+0800\n" +"PO-Revision-Date: 2019-08-13 21:16+0800\n" "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n" "Language-Team: GitHub <https://github.com/jiangxin/git/>\n" "Language: zh_CN\n" @@ -149,37 +149,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: advice.c:103 +#: advice.c:109 #, c-format msgid "%shint: %.*s%s\n" msgstr "%sæç¤ºï¼š%.*s%s\n" -#: advice.c:156 +#: advice.c:162 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "æ— æ³•æ‹£é€‰ï¼Œå› ä¸ºæ‚¨æœ‰æœªåˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:158 +#: advice.c:164 msgid "Committing is not possible because you have unmerged files." msgstr "æ— æ³•æäº¤ï¼Œå› 为您有未åˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:160 +#: advice.c:166 msgid "Merging is not possible because you have unmerged files." msgstr "æ— æ³•åˆå¹¶ï¼Œå› 为您有未åˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:162 +#: advice.c:168 msgid "Pulling is not possible because you have unmerged files." msgstr "æ— æ³•æ‹‰å–ï¼Œå› ä¸ºæ‚¨æœ‰æœªåˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:164 +#: advice.c:170 msgid "Reverting is not possible because you have unmerged files." msgstr "æ— æ³•å›žé€€ï¼Œå› ä¸ºæ‚¨æœ‰æœªåˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:166 +#: advice.c:172 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "æ— æ³• %sï¼Œå› ä¸ºæ‚¨æœ‰æœªåˆå¹¶çš„æ–‡ä»¶ã€‚" -#: advice.c:174 +#: advice.c:180 msgid "" "Fix them up in the work tree, and then use 'git add/rm <file>'\n" "as appropriate to mark resolution and make a commit." @@ -187,47 +187,59 @@ msgstr "" "è¯·åœ¨å·¥ä½œåŒºæ”¹æ£æ–‡ä»¶ï¼Œç„¶åŽé…Œæƒ…使用 'git add/rm <文件>' å‘½ä»¤æ ‡è®°\n" "解决方案并æäº¤ã€‚" -#: advice.c:182 +#: advice.c:188 msgid "Exiting because of an unresolved conflict." msgstr "å› ä¸ºå˜åœ¨æœªè§£å†³çš„冲çªè€Œé€€å‡ºã€‚" -#: advice.c:187 builtin/merge.c:1320 +#: advice.c:193 builtin/merge.c:1327 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "æ‚¨å°šæœªç»“æŸæ‚¨çš„åˆå¹¶ï¼ˆå˜åœ¨ MERGE_HEAD)。" -#: advice.c:189 +#: advice.c:195 msgid "Please, commit your changes before merging." msgstr "请在åˆå¹¶å‰å…ˆæäº¤æ‚¨çš„修改。" -#: advice.c:190 +#: advice.c:196 msgid "Exiting because of unfinished merge." msgstr "å› ä¸ºå˜åœ¨æœªå®Œæˆçš„åˆå¹¶è€Œé€€å‡ºã€‚" -#: advice.c:196 +#: advice.c:202 #, c-format msgid "" -"Note: checking out '%s'.\n" +"Note: switching to '%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" +"state without impacting any branches by switching back to a branch.\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" +"do so (now or later) by using -c with the switch command. Example:\n" "\n" -" git checkout -b <new-branch-name>\n" +" git switch -c <new-branch-name>\n" +"\n" +"Or undo this operation with:\n" +"\n" +" git switch -\n" +"\n" +"Turn off this advice by setting config variable advice.detachedHead to " +"false\n" "\n" msgstr "" -"注æ„:æ£åœ¨æ£€å‡º '%s'。\n" +"注æ„:æ£åœ¨åˆ‡æ¢åˆ° '%s'。\n" +"\n" +"您æ£å¤„于分离头指针状æ€ã€‚您å¯ä»¥æŸ¥çœ‹ã€åšè¯•éªŒæ€§çš„ä¿®æ”¹åŠæäº¤ï¼Œå¹¶ä¸”æ‚¨å¯ä»¥åœ¨åˆ‡æ¢\n" +"回一个分支时,丢弃在æ¤çжæ€ä¸‹æ‰€åšçš„æäº¤è€Œä¸å¯¹åˆ†æ”¯é€ æˆå½±å“。\n" "\n" -"您æ£å¤„于分离头指针状æ€ã€‚您å¯ä»¥æŸ¥çœ‹ã€åšè¯•éªŒæ€§çš„ä¿®æ”¹åŠæäº¤ï¼Œå¹¶ä¸”æ‚¨å¯ä»¥é€šè¿‡å¦" -"外\n" -"的检出分支æ“作丢弃在这个状æ€ä¸‹æ‰€åšçš„任何æäº¤ã€‚\n" +"如果您想è¦é€šè¿‡åˆ›å»ºåˆ†æ”¯æ¥ä¿ç•™åœ¨æ¤çжæ€ä¸‹æ‰€åšçš„æäº¤ï¼Œæ‚¨å¯ä»¥é€šè¿‡åœ¨ switch 命令\n" +"䏿·»åР傿•° -c æ¥å®žçŽ°ï¼ˆçŽ°åœ¨æˆ–ç¨åŽï¼‰ã€‚例如:\n" "\n" -"如果您想è¦é€šè¿‡åˆ›å»ºåˆ†æ”¯æ¥ä¿ç•™åœ¨æ¤çжæ€ä¸‹æ‰€åšçš„æäº¤ï¼Œæ‚¨å¯ä»¥é€šè¿‡åœ¨æ£€å‡ºå‘½ä»¤æ·»åŠ \n" -"傿•° -b æ¥å®žçŽ°ï¼ˆçŽ°åœ¨æˆ–ç¨åŽï¼‰ã€‚例如:\n" +" git switch -c <新分支å>\n" "\n" -" git checkout -b <新分支å>\n" +"æˆ–è€…æ’¤é”€æ¤æ“作:\n" +"\n" +" git switch -\n" +"\n" +"通过将é…ç½®å˜é‡ advice.detachedHead 设置为 false æ¥å…³é—æ¤å»ºè®®\n" "\n" #: alias.c:50 @@ -238,92 +250,92 @@ msgstr "命令行以 \\ 结尾" msgid "unclosed quote" msgstr "未关é—的引å·" -#: apply.c:63 +#: apply.c:69 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "未能识别的空白å—符选项 '%s'" -#: apply.c:79 +#: apply.c:85 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "未能识别的空白å—符忽略选项 '%s'" -#: apply.c:129 +#: apply.c:135 msgid "--reject and --3way cannot be used together." msgstr "--reject å’Œ --3way ä¸èƒ½åŒæ—¶ä½¿ç”¨ã€‚" -#: apply.c:131 +#: apply.c:137 msgid "--cached and --3way cannot be used together." msgstr "--cached å’Œ --3way ä¸èƒ½åŒæ—¶ä½¿ç”¨ã€‚" -#: apply.c:134 +#: apply.c:140 msgid "--3way outside a repository" msgstr "--3way 在一个仓库之外" -#: apply.c:145 +#: apply.c:151 msgid "--index outside a repository" msgstr "--index 在一个仓库之外" -#: apply.c:148 +#: apply.c:154 msgid "--cached outside a repository" msgstr "--cached 在一个仓库之外" -#: apply.c:829 +#: apply.c:801 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "æ— æ³•å‡†å¤‡æ—¶é—´æˆ³æ£åˆ™è¡¨è¾¾å¼ %s" -#: apply.c:838 +#: apply.c:810 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec 返回 %d,输入为:%s" -#: apply.c:912 +#: apply.c:884 #, c-format msgid "unable to find filename in patch at line %d" msgstr "ä¸èƒ½åœ¨è¡¥ä¸çš„第 %d 行找到文件å" -#: apply.c:950 +#: apply.c:922 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s" -#: apply.c:956 +#: apply.c:928 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "git apply:错误的 git-diff - 第 %d 行上新文件åä¸ä¸€è‡´" -#: apply.c:957 +#: apply.c:929 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件åä¸ä¸€è‡´" -#: apply.c:962 +#: apply.c:934 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null" -#: apply.c:991 +#: apply.c:963 #, c-format msgid "invalid mode on line %d: %s" msgstr "第 %d è¡ŒåŒ…å«æ— 效文件模å¼ï¼š%s" -#: apply.c:1310 +#: apply.c:1282 #, c-format msgid "inconsistent header lines %d and %d" msgstr "ä¸ä¸€è‡´çš„æ–‡ä»¶å¤´ï¼Œ%d 行和 %d 行" -#: apply.c:1482 +#: apply.c:1460 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recount:æ„外的行:%.*s" -#: apply.c:1551 +#: apply.c:1529 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "第 %d 行的补ä¸ç‰‡æ®µæ²¡æœ‰å¤´ä¿¡æ¯ï¼š%.*s" -#: apply.c:1571 +#: apply.c:1551 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -334,82 +346,82 @@ msgid_plural "" msgstr[0] "当移除 %d 个å‰å¯¼è·¯å¾„åŽ git diff å¤´ç¼ºä¹æ–‡ä»¶åä¿¡æ¯ï¼ˆç¬¬ %d 行)" msgstr[1] "当移除 %d 个å‰å¯¼è·¯å¾„åŽ git diff å¤´ç¼ºä¹æ–‡ä»¶åä¿¡æ¯ï¼ˆç¬¬ %d 行)" -#: apply.c:1584 +#: apply.c:1564 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "git diff 的头信æ¯ä¸ç¼ºä¹æ–‡ä»¶åä¿¡æ¯ï¼ˆç¬¬ %d 行)" -#: apply.c:1772 +#: apply.c:1752 msgid "new file depends on old contents" msgstr "新文件ä¾èµ–旧内容" -#: apply.c:1774 +#: apply.c:1754 msgid "deleted file still has contents" msgstr "åˆ é™¤çš„æ–‡ä»¶ä»æœ‰å†…容" -#: apply.c:1808 +#: apply.c:1788 #, c-format msgid "corrupt patch at line %d" msgstr "è¡¥ä¸åœ¨ç¬¬ %d 行æŸå" -#: apply.c:1845 +#: apply.c:1825 #, c-format msgid "new file %s depends on old contents" msgstr "新文件 %s ä¾èµ–旧内容" -#: apply.c:1847 +#: apply.c:1827 #, c-format msgid "deleted file %s still has contents" msgstr "åˆ é™¤çš„æ–‡ä»¶ %s 仿œ‰å†…容" -#: apply.c:1850 +#: apply.c:1830 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** è¦å‘Šï¼šæ–‡ä»¶ %s æˆä¸ºç©ºæ–‡ä»¶ä½†å¹¶æœªåˆ 除" -#: apply.c:1997 +#: apply.c:1977 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "二进制补ä¸åœ¨ç¬¬ %d 行æŸå:%.*s" -#: apply.c:2034 +#: apply.c:2014 #, c-format msgid "unrecognized binary patch at line %d" msgstr "未能识别的二进制补ä¸ä½äºŽç¬¬ %d 行" -#: apply.c:2196 +#: apply.c:2176 #, c-format msgid "patch with only garbage at line %d" msgstr "è¡¥ä¸æ–‡ä»¶çš„第 %d è¡Œåªæœ‰åžƒåœ¾æ•°æ®" -#: apply.c:2282 +#: apply.c:2262 #, c-format msgid "unable to read symlink %s" msgstr "æ— æ³•è¯»å–符å·é“¾æŽ¥ %s" -#: apply.c:2286 +#: apply.c:2266 #, c-format msgid "unable to open or read %s" msgstr "ä¸èƒ½æ‰“å¼€æˆ–è¯»å– %s" -#: apply.c:2945 +#: apply.c:2925 #, c-format msgid "invalid start of line: '%c'" msgstr "æ— æ•ˆçš„è¡Œé¦–å—符:'%c'" -#: apply.c:3066 +#: apply.c:3046 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "å— #%d æˆåŠŸåº”ç”¨äºŽ %d(åç§» %d 行)" msgstr[1] "å— #%d æˆåŠŸåº”ç”¨äºŽ %d(åç§» %d 行)" -#: apply.c:3078 +#: apply.c:3058 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "上下文å‡å°‘到(%ld/%ld)以在第 %d 行应用补ä¸ç‰‡æ®µ" -#: apply.c:3084 +#: apply.c:3064 #, c-format msgid "" "while searching for:\n" @@ -418,445 +430,445 @@ msgstr "" "当查询:\n" "%.*s" -#: apply.c:3106 +#: apply.c:3086 #, c-format msgid "missing binary patch data for '%s'" msgstr "缺失 '%s' çš„äºŒè¿›åˆ¶è¡¥ä¸æ•°æ®" -#: apply.c:3114 +#: apply.c:3094 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "ä¸èƒ½åå‘应用一个缺少到 '%s' çš„å呿•°æ®å—的二进制补ä¸" -#: apply.c:3161 +#: apply.c:3141 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "ä¸èƒ½åœ¨ '%s' 上应用没有完整索引行的二进制补ä¸" -#: apply.c:3171 +#: apply.c:3151 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "è¡¥ä¸åº”用到 '%s'(%s),但是和当å‰å†…容ä¸åŒ¹é…。" -#: apply.c:3179 +#: apply.c:3159 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "è¡¥ä¸åº”用到空文件 '%s',但其并éžç©ºæ–‡ä»¶" -#: apply.c:3197 +#: apply.c:3177 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "æ— æ³•è¯»å– '%2$s' å¿…éœ€çš„ç›®æ ‡æ–‡ä»¶ %1$s" -#: apply.c:3210 +#: apply.c:3190 #, c-format msgid "binary patch does not apply to '%s'" msgstr "äºŒè¿›åˆ¶è¡¥ä¸æœªåº”用到 '%s'" -#: apply.c:3216 +#: apply.c:3196 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "到 '%s' 的二进制补ä¸äº§ç”Ÿäº†ä¸æ£ç¡®çš„结果(应为 %s,å´ä¸º %s)" -#: apply.c:3237 +#: apply.c:3217 #, c-format msgid "patch failed: %s:%ld" msgstr "打补ä¸å¤±è´¥ï¼š%s:%ld" -#: apply.c:3360 +#: apply.c:3340 #, c-format msgid "cannot checkout %s" msgstr "ä¸èƒ½æ£€å‡º %s" -#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279 +#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 #, c-format msgid "failed to read %s" msgstr "æ— æ³•è¯»å– %s" -#: apply.c:3420 +#: apply.c:3400 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "读å–ä½äºŽç¬¦å·é“¾æŽ¥ä¸çš„ '%s'" -#: apply.c:3449 apply.c:3692 +#: apply.c:3429 apply.c:3672 #, c-format msgid "path %s has been renamed/deleted" msgstr "路径 %s å·²ç»è¢«é‡å‘½å/åˆ é™¤" -#: apply.c:3535 apply.c:3707 +#: apply.c:3515 apply.c:3687 #, c-format msgid "%s: does not exist in index" msgstr "%s:ä¸å˜åœ¨äºŽç´¢å¼•ä¸" -#: apply.c:3544 apply.c:3715 +#: apply.c:3524 apply.c:3695 #, c-format msgid "%s: does not match index" msgstr "%s:和索引ä¸åŒ¹é…" -#: apply.c:3579 +#: apply.c:3559 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "仓库缺ä¹å¿…è¦çš„æ•°æ®å¯¹è±¡ä»¥è¿›è¡Œä¸‰æ–¹åˆå¹¶ã€‚" -#: apply.c:3582 +#: apply.c:3562 #, c-format msgid "Falling back to three-way merge...\n" msgstr "回è½åˆ°ä¸‰æ–¹åˆå¹¶...\n" -#: apply.c:3598 apply.c:3602 +#: apply.c:3578 apply.c:3582 #, c-format msgid "cannot read the current contents of '%s'" msgstr "æ— æ³•è¯»å– '%s' 的当å‰å†…容" -#: apply.c:3614 +#: apply.c:3594 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "æ— æ³•å›žè½åˆ°ä¸‰æ–¹åˆå¹¶...\n" -#: apply.c:3628 +#: apply.c:3608 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "应用补ä¸åˆ° '%s' å˜åœ¨å†²çªã€‚\n" -#: apply.c:3633 +#: apply.c:3613 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "æˆåŠŸåº”ç”¨è¡¥ä¸åˆ° '%s'。\n" -#: apply.c:3659 +#: apply.c:3639 msgid "removal patch leaves file contents" msgstr "移除补ä¸ä»ç•™ä¸‹äº†æ–‡ä»¶å†…容" -#: apply.c:3732 +#: apply.c:3712 #, c-format msgid "%s: wrong type" msgstr "%s:错误类型" -#: apply.c:3734 +#: apply.c:3714 #, c-format msgid "%s has type %o, expected %o" msgstr "%s 的类型是 %o,应为 %o" -#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856 +#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 #: read-cache.c:1309 #, c-format msgid "invalid path '%s'" msgstr "æ— æ•ˆè·¯å¾„ '%s'" -#: apply.c:3943 +#: apply.c:3923 #, c-format msgid "%s: already exists in index" msgstr "%s:已ç»å˜åœ¨äºŽç´¢å¼•ä¸" -#: apply.c:3946 +#: apply.c:3926 #, c-format msgid "%s: already exists in working directory" msgstr "%s:已ç»å˜åœ¨äºŽå·¥ä½œåŒºä¸" -#: apply.c:3966 +#: apply.c:3946 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "%2$s 的新模å¼ï¼ˆ%1$o)和旧模å¼ï¼ˆ%3$o)ä¸åŒ¹é…" -#: apply.c:3971 +#: apply.c:3951 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "%2$s 的新模å¼ï¼ˆ%1$o)和 %4$s 的旧模å¼ï¼ˆ%3$o)ä¸åŒ¹é…" -#: apply.c:3991 +#: apply.c:3971 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "å—å½±å“的文件 '%s' ä½äºŽç¬¦å·é“¾æŽ¥ä¸" -#: apply.c:3995 +#: apply.c:3975 #, c-format msgid "%s: patch does not apply" msgstr "%sï¼šè¡¥ä¸æœªåº”用" -#: apply.c:4010 +#: apply.c:3990 #, c-format msgid "Checking patch %s..." msgstr "æ£åœ¨æ£€æŸ¥è¡¥ä¸ %s..." -#: apply.c:4102 +#: apply.c:4082 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "忍¡ç»„ %s çš„ sha1 ä¿¡æ¯ç¼ºå¤±æˆ–æ— æ•ˆ" -#: apply.c:4109 +#: apply.c:4089 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "%s 的模å¼å˜æ›´ï¼Œä½†å®ƒä¸åœ¨å½“å‰ HEAD ä¸" -#: apply.c:4112 +#: apply.c:4092 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "sha1 ä¿¡æ¯ç¼ºå¤±æˆ–æ— æ•ˆï¼ˆ%s)。" -#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143 +#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "对路径 '%s' çš„ make_cache_entry æ“作失败" -#: apply.c:4121 +#: apply.c:4101 #, c-format msgid "could not add %s to temporary index" msgstr "ä¸èƒ½åœ¨ä¸´æ—¶ç´¢å¼•䏿·»åŠ %s" -#: apply.c:4131 +#: apply.c:4111 #, c-format msgid "could not write temporary index to %s" msgstr "ä¸èƒ½æŠŠä¸´æ—¶ç´¢å¼•写入到 %s" -#: apply.c:4269 +#: apply.c:4249 #, c-format msgid "unable to remove %s from index" msgstr "ä¸èƒ½ä»Žç´¢å¼•ä¸ç§»é™¤ %s" -#: apply.c:4303 +#: apply.c:4283 #, c-format msgid "corrupt patch for submodule %s" msgstr "忍¡ç»„ %s æŸå的补ä¸" -#: apply.c:4309 +#: apply.c:4289 #, c-format msgid "unable to stat newly created file '%s'" msgstr "ä¸èƒ½å¯¹æ–°å»ºæ–‡ä»¶ '%s' 调用 stat" -#: apply.c:4317 +#: apply.c:4297 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "ä¸èƒ½ä¸ºæ–°å»ºæ–‡ä»¶ %s 创建åŽç«¯å˜å‚¨" -#: apply.c:4323 apply.c:4468 +#: apply.c:4303 apply.c:4448 #, c-format msgid "unable to add cache entry for %s" msgstr "æ— æ³•ä¸º %s æ·»åŠ ç¼“å˜æ¡ç›®" -#: apply.c:4366 +#: apply.c:4346 #, c-format msgid "failed to write to '%s'" msgstr "写入 '%s' 失败" -#: apply.c:4370 +#: apply.c:4350 #, c-format msgid "closing file '%s'" msgstr "关闿–‡ä»¶ '%s'" -#: apply.c:4440 +#: apply.c:4420 #, c-format msgid "unable to write file '%s' mode %o" msgstr "ä¸èƒ½å†™æ–‡ä»¶ '%s' æƒé™ %o" -#: apply.c:4538 +#: apply.c:4518 #, c-format msgid "Applied patch %s cleanly." msgstr "æˆåŠŸåº”ç”¨è¡¥ä¸ %s。" -#: apply.c:4546 +#: apply.c:4526 msgid "internal error" msgstr "内部错误" -#: apply.c:4549 +#: apply.c:4529 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "应用 %%s 个补ä¸ï¼Œå…¶ä¸ %d 个被拒ç»..." msgstr[1] "应用 %%s 个补ä¸ï¼Œå…¶ä¸ %d 个被拒ç»..." -#: apply.c:4560 +#: apply.c:4540 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "æˆªçŸ .rej 文件å为 %.*s.rej" -#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118 +#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 #, c-format msgid "cannot open %s" msgstr "ä¸èƒ½æ‰“å¼€ %s" -#: apply.c:4582 +#: apply.c:4562 #, c-format msgid "Hunk #%d applied cleanly." msgstr "第 #%d 个片段æˆåŠŸåº”ç”¨ã€‚" -#: apply.c:4586 +#: apply.c:4566 #, c-format msgid "Rejected hunk #%d." msgstr "æ‹’ç»ç¬¬ #%d 个片段。" -#: apply.c:4696 +#: apply.c:4676 #, c-format msgid "Skipped patch '%s'." msgstr "ç•¥è¿‡è¡¥ä¸ '%s'。" -#: apply.c:4704 +#: apply.c:4684 msgid "unrecognized input" msgstr "未能识别的输入" -#: apply.c:4724 +#: apply.c:4704 msgid "unable to read index file" msgstr "æ— æ³•è¯»å–索引文件" -#: apply.c:4879 +#: apply.c:4859 #, c-format msgid "can't open patch '%s': %s" msgstr "ä¸èƒ½æ‰“å¼€è¡¥ä¸ '%s':%s" -#: apply.c:4906 +#: apply.c:4886 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "æŠ‘åˆ¶ä¸‹ä»æœ‰ %d 个空白å—符误用" msgstr[1] "æŠ‘åˆ¶ä¸‹ä»æœ‰ %d 个空白å—符误用" -#: apply.c:4912 apply.c:4927 +#: apply.c:4892 apply.c:4907 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d 行新增了空白å—符误用。" msgstr[1] "%d 行新增了空白å—符误用。" -#: apply.c:4920 +#: apply.c:4900 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "ä¿®å¤ç©ºç™½é”™è¯¯åŽï¼Œåº”用了 %d 行。" msgstr[1] "ä¿®å¤ç©ºç™½é”™è¯¯åŽï¼Œåº”用了 %d 行。" -#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 msgid "Unable to write new index file" msgstr "æ— æ³•å†™å…¥æ–°ç´¢å¼•æ–‡ä»¶" -#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213 -#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271 -#: builtin/pull.c:207 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369 -#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852 -#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197 +#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 +#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 +#: builtin/pull.c:208 builtin/submodule--helper.c:407 +#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 msgid "path" msgstr "路径" -#: apply.c:4964 +#: apply.c:4944 msgid "don't apply changes matching the given path" msgstr "ä¸è¦åº”用与给出路径å‘匹é…çš„å˜æ›´" -#: apply.c:4967 +#: apply.c:4947 msgid "apply changes matching the given path" msgstr "应用与给出路径å‘匹é…çš„å˜æ›´" -#: apply.c:4969 builtin/am.c:2219 +#: apply.c:4949 builtin/am.c:2217 msgid "num" msgstr "æ•°å—" -#: apply.c:4970 +#: apply.c:4950 msgid "remove <num> leading slashes from traditional diff paths" msgstr "ä»Žä¼ ç»Ÿçš„ diff 路径ä¸ç§»é™¤æŒ‡å®šæ•°é‡çš„å‰å¯¼æ–œçº¿" -#: apply.c:4973 +#: apply.c:4953 msgid "ignore additions made by the patch" msgstr "忽略补ä¸ä¸çš„æ·»åŠ çš„æ–‡ä»¶" -#: apply.c:4975 +#: apply.c:4955 msgid "instead of applying the patch, output diffstat for the input" msgstr "ä¸åº”用补ä¸ï¼Œè€Œæ˜¯æ˜¾ç¤ºè¾“入的差异统计(diffstat)" -#: apply.c:4979 +#: apply.c:4959 msgid "show number of added and deleted lines in decimal notation" msgstr "以åè¿›åˆ¶æ•°æ˜¾ç¤ºæ·»åŠ å’Œåˆ é™¤çš„è¡Œæ•°" -#: apply.c:4981 +#: apply.c:4961 msgid "instead of applying the patch, output a summary for the input" msgstr "ä¸åº”用补ä¸ï¼Œè€Œæ˜¯æ˜¾ç¤ºè¾“入的概è¦" -#: apply.c:4983 +#: apply.c:4963 msgid "instead of applying the patch, see if the patch is applicable" msgstr "ä¸åº”用补ä¸ï¼Œè€Œæ˜¯æŸ¥çœ‹è¡¥ä¸æ˜¯å¦å¯åº”用" -#: apply.c:4985 +#: apply.c:4965 msgid "make sure the patch is applicable to the current index" msgstr "确认补ä¸å¯ä»¥åº”用到当å‰ç´¢å¼•" -#: apply.c:4987 +#: apply.c:4967 msgid "mark new files with `git add --intent-to-add`" msgstr "使用命令 `git add --intent-to-add` æ ‡è®°æ–°å¢žæ–‡ä»¶" -#: apply.c:4989 +#: apply.c:4969 msgid "apply a patch without touching the working tree" msgstr "应用补ä¸è€Œä¸ä¿®æ”¹å·¥ä½œåŒº" -#: apply.c:4991 +#: apply.c:4971 msgid "accept a patch that touches outside the working area" msgstr "接å—修改工作区之外文件的补ä¸" -#: apply.c:4994 +#: apply.c:4974 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "还应用æ¤è¡¥ä¸ï¼ˆä¸Ž --stat/--summary/--check é€‰é¡¹åŒæ—¶ä½¿ç”¨ï¼‰" -#: apply.c:4996 +#: apply.c:4976 msgid "attempt three-way merge if a patch does not apply" msgstr "如果一个补ä¸ä¸èƒ½åº”用则å°è¯•三方åˆå¹¶" -#: apply.c:4998 +#: apply.c:4978 msgid "build a temporary index based on embedded index information" msgstr "创建一个临时索引基于嵌入的索引信æ¯" -#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "路径以 NUL å—符分隔" -#: apply.c:5003 +#: apply.c:4983 msgid "ensure at least <n> lines of context match" msgstr "ç¡®ä¿è‡³å°‘åŒ¹é… <n> 行上下文" -#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97 -#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101 -#: builtin/pack-objects.c:3317 builtin/rebase.c:1415 +#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 +#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 msgid "action" msgstr "动作" -#: apply.c:5005 +#: apply.c:4985 msgid "detect new or modified lines that have whitespace errors" msgstr "检查新增和修改的行ä¸é—´çš„空白å—符滥用" -#: apply.c:5008 apply.c:5011 +#: apply.c:4988 apply.c:4991 msgid "ignore changes in whitespace when finding context" msgstr "查找上下文时忽略空白å—ç¬¦çš„å˜æ›´" -#: apply.c:5014 +#: apply.c:4994 msgid "apply the patch in reverse" msgstr "åå‘应用补ä¸" -#: apply.c:5016 +#: apply.c:4996 msgid "don't expect at least one line of context" msgstr "æ— éœ€è‡³å°‘ä¸€è¡Œä¸Šä¸‹æ–‡" -#: apply.c:5018 +#: apply.c:4998 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "将拒ç»çš„è¡¥ä¸ç‰‡æ®µä¿å˜åœ¨å¯¹åº”çš„ *.rej 文件ä¸" -#: apply.c:5020 +#: apply.c:5000 msgid "allow overlapping hunks" msgstr "å…许é‡å 的补ä¸ç‰‡æ®µ" -#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 +#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 +#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "冗长输出" -#: apply.c:5023 +#: apply.c:5003 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "å…è®¸ä¸æ£ç¡®çš„æ–‡ä»¶æœ«å°¾æ¢è¡Œç¬¦" -#: apply.c:5026 +#: apply.c:5006 msgid "do not trust the line counts in the hunk headers" msgstr "ä¸ä¿¡ä»»è¡¥ä¸ç‰‡æ®µçš„头信æ¯ä¸çš„行å·" -#: apply.c:5028 builtin/am.c:2207 +#: apply.c:5008 builtin/am.c:2205 msgid "root" msgstr "æ ¹ç›®å½•" -#: apply.c:5029 +#: apply.c:5009 msgid "prepend <root> to all filenames" msgstr "为所有文件å剿·»åŠ <æ ¹ç›®å½•>" @@ -898,98 +910,98 @@ msgstr "䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象å:%s" msgid "not a tree object: %s" msgstr "䏿˜¯ä¸€ä¸ªæ ‘对象:%s" -#: archive.c:424 +#: archive.c:426 msgid "current working directory is untracked" msgstr "当å‰å·¥ä½œç›®å½•未被跟踪" -#: archive.c:455 +#: archive.c:457 msgid "fmt" msgstr "æ ¼å¼" -#: archive.c:455 +#: archive.c:457 msgid "archive format" msgstr "å½’æ¡£æ ¼å¼" -#: archive.c:456 builtin/log.c:1557 +#: archive.c:458 builtin/log.c:1580 msgid "prefix" msgstr "å‰ç¼€" -#: archive.c:457 +#: archive.c:459 msgid "prepend prefix to each pathname in the archive" msgstr "ä¸ºå½’æ¡£ä¸æ¯ä¸ªè·¯å¾„ååŠ ä¸Šå‰ç¼€" -#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091 -#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105 +#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 +#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 +#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 msgid "file" msgstr "文件" -#: archive.c:459 builtin/archive.c:90 +#: archive.c:461 builtin/archive.c:90 msgid "write the archive to this file" msgstr "å½’æ¡£å†™å…¥æ¤æ–‡ä»¶" -#: archive.c:461 +#: archive.c:463 msgid "read .gitattributes in working directory" msgstr "读å–工作区ä¸çš„ .gitattributes" -#: archive.c:462 +#: archive.c:464 msgid "report archived files on stderr" msgstr "åœ¨æ ‡å‡†é”™è¯¯ä¸ŠæŠ¥å‘Šå½’æ¡£æ–‡ä»¶" -#: archive.c:463 +#: archive.c:465 msgid "store only" msgstr "åªå˜å‚¨" -#: archive.c:464 +#: archive.c:466 msgid "compress faster" msgstr "压缩速度更快" -#: archive.c:472 +#: archive.c:474 msgid "compress better" msgstr "压缩效果更好" -#: archive.c:475 +#: archive.c:477 msgid "list supported archive formats" msgstr "列出支æŒçš„å½’æ¡£æ ¼å¼" -#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113 -#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858 +#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 +#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 msgid "repo" msgstr "仓库" -#: archive.c:478 builtin/archive.c:92 +#: archive.c:480 builtin/archive.c:92 msgid "retrieve the archive from remote repository <repo>" msgstr "从远程仓库(<仓库>)æå–归档文件" -#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 #: builtin/notes.c:498 msgid "command" msgstr "命令" -#: archive.c:480 builtin/archive.c:94 +#: archive.c:482 builtin/archive.c:94 msgid "path to the remote git-upload-archive command" msgstr "远程 git-upload-archive 命令的路径" -#: archive.c:487 +#: archive.c:489 msgid "Unexpected option --remote" msgstr "æœªçŸ¥å‚æ•° --remote" -#: archive.c:489 +#: archive.c:491 msgid "Option --exec can only be used together with --remote" msgstr "选项 --exec åªèƒ½å’Œ --remote åŒæ—¶ä½¿ç”¨" -#: archive.c:491 +#: archive.c:493 msgid "Unexpected option --output" msgstr "æœªçŸ¥å‚æ•° --output" -#: archive.c:513 +#: archive.c:515 #, c-format msgid "Unknown archive format '%s'" msgstr "æœªçŸ¥å½’æ¡£æ ¼å¼ '%s'" -#: archive.c:520 +#: archive.c:522 #, c-format msgid "Argument not supported for format '%s': -%d" msgstr "傿•°ä¸æ”¯æŒæ¤æ ¼å¼ '%s':-%d" @@ -1033,7 +1045,7 @@ msgstr "è·¯å¾„ä¸æ˜¯æœ‰æ•ˆçš„ UTF-8:%s" msgid "path too long (%d chars, SHA1: %s): %s" msgstr "路径太长(%d å—符,SHA1:%s):%s" -#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229 +#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 #, c-format msgid "deflate error (%d)" msgstr "压缩错误 (%d)" @@ -1135,12 +1147,12 @@ msgstr "二分查找ä¸ï¼šåˆå¹¶åŸºçº¿å¿…须是ç»è¿‡æµ‹è¯•çš„\n" msgid "a %s revision is needed" msgstr "需è¦ä¸€ä¸ª %s 版本" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248 +#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "ä¸èƒ½åˆ›å»ºæ–‡ä»¶ '%s'" -#: bisect.c:928 builtin/merge.c:146 +#: bisect.c:928 builtin/merge.c:148 #, c-format msgid "could not read file '%s'" msgstr "ä¸èƒ½è¯»å–文件 '%s'" @@ -1180,37 +1192,37 @@ msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "二分查找ä¸ï¼šåœ¨æ¤ä¹‹åŽï¼Œè¿˜å‰© %d 个版本待测试 %s\n" msgstr[1] "二分查找ä¸ï¼šåœ¨æ¤ä¹‹åŽï¼Œè¿˜å‰© %d 个版本待测试 %s\n" -#: blame.c:1794 +#: blame.c:2697 msgid "--contents and --reverse do not blend well." msgstr "--contents å’Œ --reverse ä¸èƒ½æ··ç”¨ã€‚" -#: blame.c:1808 +#: blame.c:2711 msgid "cannot use --contents with final commit object name" msgstr "ä¸èƒ½å°† --contents 和最终的æäº¤å¯¹è±¡å共用" -#: blame.c:1829 +#: blame.c:2732 msgid "--reverse and --first-parent together require specified latest commit" msgstr "--reverse å’Œ --first-parent å…±ç”¨ï¼Œéœ€è¦æŒ‡å®šæœ€æ–°çš„æäº¤" -#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030 -#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940 -#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415 -#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155 +#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 +#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 +#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 +#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "版本é历设置失败" -#: blame.c:1856 +#: blame.c:2759 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "--reverse å’Œ --first-parent 共用,需è¦ç¬¬ä¸€ç¥–先链上的æäº¤èŒƒå›´" -#: blame.c:1867 +#: blame.c:2770 #, c-format msgid "no such path %s in %s" msgstr "在 %2$s 䏿— æ¤è·¯å¾„ %1$s" -#: blame.c:1878 +#: blame.c:2781 #, c-format msgid "cannot read blob %s for path %s" msgstr "ä¸èƒ½ä¸ºè·¯å¾„ %2$s è¯»å–æ•°æ®å¯¹è±¡ %1$s" @@ -1338,12 +1350,12 @@ msgstr "æ§ä¹‰çš„对象å:'%s'。" msgid "Not a valid branch point: '%s'." msgstr "æ— æ•ˆçš„åˆ†æ”¯ç‚¹ï¼š'%s'。" -#: branch.c:359 +#: branch.c:364 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' å·²ç»æ£€å‡ºåˆ° '%s'" -#: branch.c:382 +#: branch.c:387 #, c-format msgid "HEAD of working tree %s is not updated" msgstr "工作区 %s çš„ HEAD æŒ‡å‘æ²¡æœ‰è¢«æ›´æ–°" @@ -1358,8 +1370,8 @@ msgstr "'%s' ä¸åƒæ˜¯ä¸€ä¸ª v2 版本的包文件" msgid "unrecognized header: %s%s (%d)" msgstr "未能识别的包头:%s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916 -#: builtin/commit.c:788 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 +#: builtin/commit.c:791 #, c-format msgid "could not open '%s'" msgstr "ä¸èƒ½æ‰“å¼€ '%s'" @@ -1368,60 +1380,64 @@ msgstr "ä¸èƒ½æ‰“å¼€ '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "仓库ä¸ç¼ºå°‘这些必备的æäº¤ï¼š" -#: bundle.c:194 +#: bundle.c:146 +msgid "need a repository to verify a bundle" +msgstr "需è¦ä¸€ä¸ªä»“åº“æ¥æ ¡éªŒä¸€ä¸ªåŒ…" + +#: bundle.c:197 #, c-format msgid "The bundle contains this ref:" msgid_plural "The bundle contains these %d refs:" msgstr[0] "这个包ä¸å«æœ‰è¿™ä¸ªå¼•用:" msgstr[1] "这个包ä¸å«æœ‰ %d 个引用:" -#: bundle.c:201 +#: bundle.c:204 msgid "The bundle records a complete history." msgstr "这个包记录一个完整历å²ã€‚" -#: bundle.c:203 +#: bundle.c:206 #, c-format msgid "The bundle requires this ref:" msgid_plural "The bundle requires these %d refs:" msgstr[0] "这个包需è¦è¿™ä¸ªå¼•用:" msgstr[1] "è¿™ä¸ªåŒ…éœ€è¦ %d 个引用:" -#: bundle.c:269 +#: bundle.c:272 msgid "unable to dup bundle descriptor" msgstr "æ— æ³•å¤åˆ¶ bundle æè¿°ç¬¦" -#: bundle.c:276 +#: bundle.c:279 msgid "Could not spawn pack-objects" msgstr "ä¸èƒ½ç”Ÿæˆ pack-objects 进程" -#: bundle.c:287 +#: bundle.c:290 msgid "pack-objects died" msgstr "pack-objects 终æ¢" -#: bundle.c:329 +#: bundle.c:332 msgid "rev-list died" msgstr "rev-list 终æ¢" -#: bundle.c:378 +#: bundle.c:381 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "引用 '%s' 被 rev-list 选项排除" -#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306 +#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "æœªèƒ½è¯†åˆ«çš„å‚æ•°ï¼š%s" -#: bundle.c:465 +#: bundle.c:468 msgid "Refusing to create empty bundle." msgstr "ä¸èƒ½åˆ›å»ºç©ºåŒ…。" -#: bundle.c:475 +#: bundle.c:478 #, c-format msgid "cannot create '%s'" msgstr "ä¸èƒ½åˆ›å»º '%s'" -#: bundle.c:500 +#: bundle.c:503 msgid "index-pack died" msgstr "index-pack 终æ¢" @@ -1430,8 +1446,8 @@ msgstr "index-pack 终æ¢" msgid "invalid color value: %.*s" msgstr "æ— æ•ˆçš„é¢œè‰²å€¼ï¼š%.*s" -#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455 +#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 +#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 #, c-format msgid "could not parse %s" msgstr "ä¸èƒ½è§£æž %s" @@ -1441,7 +1457,7 @@ msgstr "ä¸èƒ½è§£æž %s" msgid "%s %s is not a commit!" msgstr "%s %s 䏿˜¯ä¸€ä¸ªæäº¤ï¼" -#: commit.c:193 +#: commit.c:192 msgid "" "Support for <GIT_DIR>/info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1461,27 +1477,27 @@ msgstr "" "设置 \"git config advice.graftFileDeprecated false\"\n" "å¯å…³é—本消æ¯" -#: commit.c:1128 +#: commit.c:1127 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "æäº¤ %s 有一个éžå¯ä¿¡çš„声称æ¥è‡ª %s çš„ GPG ç¾å。" -#: commit.c:1131 +#: commit.c:1130 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "æäº¤ %s 有一个错误的声称æ¥è‡ª %s çš„ GPG ç¾å。" -#: commit.c:1134 +#: commit.c:1133 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "æäº¤ %s 没有 GPG ç¾å。" -#: commit.c:1137 +#: commit.c:1136 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "æäº¤ %s 有一个æ¥è‡ª %s 的好的 GPG ç¾å。\n" -#: commit.c:1391 +#: commit.c:1390 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1491,188 +1507,243 @@ msgstr "" "您å¯ä»¥é€šè¿‡ä¿®è¡¥æäº¤æ¥æ”¹æ£æäº¤è¯´æ˜Žï¼Œæˆ–者将é…ç½®å˜é‡ i18n.commitencoding\n" "设置为您项目所用的å—符编ç 。\n" -#: commit-graph.c:105 +#: commit-graph.c:127 msgid "commit-graph file is too small" msgstr "æäº¤å›¾å½¢æ–‡ä»¶å¤ªå°" -#: commit-graph.c:170 +#: commit-graph.c:192 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "æäº¤å›¾å½¢ç¾å %X å’Œç¾å %X ä¸åŒ¹é…" -#: commit-graph.c:177 +#: commit-graph.c:199 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "æäº¤å›¾å½¢ç‰ˆæœ¬ %X 和版本 %X ä¸åŒ¹é…" -#: commit-graph.c:184 +#: commit-graph.c:206 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "æäº¤å›¾å½¢å“ˆå¸Œç‰ˆæœ¬ %X 和版本 %X ä¸åŒ¹é…" -#: commit-graph.c:207 +#: commit-graph.c:229 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "æäº¤å›¾å½¢å—查找表æ¡ç›®ä¸¢å¤±ï¼Œæ–‡ä»¶å¯èƒ½ä¸å®Œæ•´" -#: commit-graph.c:218 +#: commit-graph.c:240 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "æäº¤å›¾å½¢ä¸æ£ç¡®çš„å—åç§» %08x%08x" -#: commit-graph.c:255 +#: commit-graph.c:283 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "æäº¤å›¾å½¢å— id %08x 出现了多次" -#: commit-graph.c:390 +#: commit-graph.c:347 +msgid "commit-graph has no base graphs chunk" +msgstr "æäº¤å›¾å½¢æ²¡æœ‰åŸºç¡€å›¾å½¢å—" + +#: commit-graph.c:357 +msgid "commit-graph chain does not match" +msgstr "æäº¤å›¾å½¢é“¾ä¸åŒ¹é…" + +#: commit-graph.c:404 +#, c-format +msgid "invalid commit-graph chain: line '%s' not a hash" +msgstr "æ— æ•ˆçš„æäº¤å›¾å½¢é“¾ï¼šè¡Œ '%s' 䏿˜¯ä¸€ä¸ªå“ˆå¸Œå€¼" + +#: commit-graph.c:430 +msgid "unable to find all commit-graph files" +msgstr "æ— æ³•æ‰¾åˆ°æ‰€æœ‰æäº¤å›¾å½¢æ–‡ä»¶" + +#: commit-graph.c:554 commit-graph.c:614 +msgid "invalid commit position. commit-graph is likely corrupt" +msgstr "æ— æ•ˆçš„æäº¤ä½ç½®ã€‚æäº¤å›¾å½¢å¯èƒ½å·²æŸå" + +#: commit-graph.c:575 #, c-format msgid "could not find commit %s" msgstr "æ— æ³•æ‰¾åˆ°æäº¤ %s" -#: commit-graph.c:732 builtin/pack-objects.c:2649 +#: commit-graph.c:1002 builtin/pack-objects.c:2657 #, c-format msgid "unable to get type of object %s" msgstr "æ— æ³•èŽ·å¾—å¯¹è±¡ %s 类型" -#: commit-graph.c:765 +#: commit-graph.c:1034 msgid "Loading known commits in commit graph" msgstr "æ£åœ¨åŠ è½½æäº¤å›¾ä¸çš„已知æäº¤" -#: commit-graph.c:781 +#: commit-graph.c:1051 msgid "Expanding reachable commits in commit graph" msgstr "æ£åœ¨æ‰©å±•æäº¤å›¾ä¸çš„å¯è¾¾æäº¤" -#: commit-graph.c:793 +#: commit-graph.c:1070 msgid "Clearing commit marks in commit graph" msgstr "æ£åœ¨æ¸…除æäº¤å›¾ä¸çš„æäº¤æ ‡è®°" -#: commit-graph.c:813 +#: commit-graph.c:1089 msgid "Computing commit graph generation numbers" msgstr "æ£åœ¨è®¡ç®—æäº¤å›¾ä¸–代数å—" -#: commit-graph.c:930 +#: commit-graph.c:1163 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "æ£åœ¨ %d ä¸ªåŒ…ä¸æŸ¥æ‰¾æäº¤å›¾çš„æäº¤" msgstr[1] "æ£åœ¨ %d ä¸ªåŒ…ä¸æŸ¥æ‰¾æäº¤å›¾çš„æäº¤" -#: commit-graph.c:943 +#: commit-graph.c:1176 #, c-format msgid "error adding pack %s" msgstr "æ·»åŠ åŒ… %s 出错" -#: commit-graph.c:945 +#: commit-graph.c:1180 #, c-format msgid "error opening index for %s" msgstr "为 %s 打开索引出错" -#: commit-graph.c:959 +#: commit-graph.c:1204 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "æ£åœ¨ä»Ž %d ä¸ªå¼•ç”¨ä¸æŸ¥æ‰¾æäº¤å›¾çš„æäº¤" msgstr[1] "æ£åœ¨ä»Ž %d ä¸ªå¼•ç”¨ä¸æŸ¥æ‰¾æäº¤å›¾çš„æäº¤" -#: commit-graph.c:991 +#: commit-graph.c:1238 msgid "Finding commits for commit graph among packed objects" msgstr "æ£åœ¨æ‰“åŒ…å¯¹è±¡ä¸æŸ¥æ‰¾æäº¤å›¾çš„æäº¤" -#: commit-graph.c:1004 +#: commit-graph.c:1253 msgid "Counting distinct commits in commit graph" msgstr "æ£åœ¨è®¡ç®—æäº¤å›¾ä¸ä¸åŒçš„æäº¤" -#: commit-graph.c:1017 -#, c-format -msgid "the commit graph format cannot write %d commits" -msgstr "æäº¤å›¾æ ¼å¼ä¸èƒ½å†™å…¥ %d 个æäº¤" - -#: commit-graph.c:1026 +#: commit-graph.c:1284 msgid "Finding extra edges in commit graph" msgstr "æ£åœ¨æŸ¥æ‰¾æäº¤å›¾ä¸é¢å¤–的边" -#: commit-graph.c:1050 -msgid "too many commits to write graph" -msgstr "æäº¤å¤ªå¤šä¸èƒ½ç”»å›¾" +#: commit-graph.c:1332 +msgid "failed to write correct number of base graph ids" +msgstr "æ— æ³•å†™å…¥æ£ç¡®æ•°é‡çš„基础图形 ID" -#: commit-graph.c:1057 midx.c:819 +#: commit-graph.c:1365 midx.c:811 #, c-format msgid "unable to create leading directories of %s" msgstr "ä¸èƒ½ä¸º %s 创建先导目录" -#: commit-graph.c:1097 +#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#, c-format +msgid "unable to create '%s'" +msgstr "ä¸èƒ½åˆ›å»º '%s'" + +#: commit-graph.c:1437 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "æ£åœ¨ç”¨ %d æ¥å†™å‡ºæäº¤å›¾" msgstr[1] "æ£åœ¨ç”¨ %d æ¥å†™å‡ºæäº¤å›¾" -#: commit-graph.c:1162 +#: commit-graph.c:1478 +msgid "unable to open commit-graph chain file" +msgstr "æ— æ³•æ‰“å¼€æäº¤å›¾å½¢é“¾æ–‡ä»¶" + +#: commit-graph.c:1490 +msgid "failed to rename base commit-graph file" +msgstr "æ— æ³•é‡å‘½å基础æäº¤å›¾å½¢æ–‡ä»¶" + +#: commit-graph.c:1510 +msgid "failed to rename temporary commit-graph file" +msgstr "æ— æ³•é‡å‘½å临时æäº¤å›¾å½¢æ–‡ä»¶" + +#: commit-graph.c:1621 +msgid "Scanning merged commits" +msgstr "æ£åœ¨æ‰«æåˆå¹¶æäº¤" + +#: commit-graph.c:1632 +#, c-format +msgid "unexpected duplicate commit id %s" +msgstr "æ„外的é‡å¤æäº¤ ID %s" + +#: commit-graph.c:1657 +msgid "Merging commit-graph" +msgstr "æ£åœ¨åˆå¹¶æäº¤å›¾å½¢" + +#: commit-graph.c:1844 +#, c-format +msgid "the commit graph format cannot write %d commits" +msgstr "æäº¤å›¾æ ¼å¼ä¸èƒ½å†™å…¥ %d 个æäº¤" + +#: commit-graph.c:1855 +msgid "too many commits to write graph" +msgstr "æäº¤å¤ªå¤šä¸èƒ½ç”»å›¾" + +#: commit-graph.c:1945 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "æäº¤å›¾æ–‡ä»¶çš„æ ¡éªŒç 错误,å¯èƒ½å·²ç»æŸå" -#: commit-graph.c:1172 +#: commit-graph.c:1955 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "æäº¤å›¾å½¢çš„对象 ID 顺åºä¸æ£ç¡®ï¼š%s ç„¶åŽ %s" -#: commit-graph.c:1182 commit-graph.c:1197 +#: commit-graph.c:1965 commit-graph.c:1980 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "æäº¤å›¾å½¢æœ‰ä¸æ£ç¡®çš„æ‰‡å‡ºå€¼ï¼šfanout[%d] = %u != %u" -#: commit-graph.c:1189 +#: commit-graph.c:1972 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "æ— æ³•ä»Žæäº¤å›¾å½¢ä¸è§£æžæäº¤ %s" -#: commit-graph.c:1206 +#: commit-graph.c:1989 msgid "Verifying commits in commit graph" msgstr "æ£åœ¨æ ¡éªŒæäº¤å›¾ä¸çš„æäº¤" -#: commit-graph.c:1219 +#: commit-graph.c:2002 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "æ— æ³•ä»Žæäº¤å›¾å½¢çš„对象库ä¸è§£æžæäº¤ %s" -#: commit-graph.c:1226 +#: commit-graph.c:2009 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "æäº¤å›¾å½¢ä¸çš„æäº¤ %s çš„æ ¹æ ‘å¯¹è±¡ ID 是 %s != %s" -#: commit-graph.c:1236 +#: commit-graph.c:2019 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "æäº¤ %s çš„æäº¤å›¾å½¢çˆ¶æäº¤åˆ—表太长了" -#: commit-graph.c:1242 +#: commit-graph.c:2028 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "%s çš„æäº¤å›¾å½¢çˆ¶æäº¤æ˜¯ %s != %s" -#: commit-graph.c:1255 +#: commit-graph.c:2041 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "æäº¤ %s çš„æäº¤å›¾å½¢çˆ¶æäº¤åˆ—表过早终æ¢" -#: commit-graph.c:1260 +#: commit-graph.c:2046 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" msgstr "æäº¤å›¾å½¢ä¸æäº¤ %s çš„ä¸–ä»£å·æ˜¯é›¶ï¼Œä½†å…¶å®ƒåœ°æ–¹éžé›¶" -#: commit-graph.c:1264 +#: commit-graph.c:2050 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" msgstr "æäº¤å›¾å½¢ä¸æäº¤ %s 的世代å·éžé›¶ï¼Œä½†å…¶å®ƒåœ°æ–¹æ˜¯é›¶" -#: commit-graph.c:1279 +#: commit-graph.c:2065 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "æäº¤å›¾å½¢ä¸çš„æäº¤ %s çš„ä¸–ä»£å·æ˜¯ %u != %u" -#: commit-graph.c:1285 +#: commit-graph.c:2071 #, c-format msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>" msgstr "æäº¤å›¾å½¢ä¸æäº¤ %s çš„æäº¤æ—¥æœŸæ˜¯ %<PRIuMAX> != %<PRIuMAX>" @@ -1681,7 +1752,7 @@ msgstr "æäº¤å›¾å½¢ä¸æäº¤ %s çš„æäº¤æ—¥æœŸæ˜¯ %<PRIuMAX> != %<PRIuMAX>" msgid "memory exhausted" msgstr "内å˜è€—å°½" -#: config.c:123 +#: config.c:124 #, c-format msgid "" "exceeded maximum include depth (%d) while including\n" @@ -1696,294 +1767,294 @@ msgstr "" "\t%2$s\n" "è¿™å¯èƒ½æ˜¯å› 为循环包å«ã€‚" -#: config.c:139 +#: config.c:140 #, c-format msgid "could not expand include path '%s'" msgstr "æ— æ³•æ‰©å±•åŒ…å«è·¯å¾„ '%s'" -#: config.c:150 +#: config.c:151 msgid "relative config includes must come from files" msgstr "相对路径的é…置文件引用必须æ¥è‡ªäºŽæ–‡ä»¶" -#: config.c:190 +#: config.c:197 msgid "relative config include conditionals must come from files" msgstr "相对路径的é…置文件æ¡ä»¶å¼•用必须æ¥è‡ªäºŽæ–‡ä»¶" -#: config.c:348 +#: config.c:376 #, c-format msgid "key does not contain a section: %s" msgstr "键忲¡æœ‰åŒ…å«ä¸€ä¸ªå°èŠ‚å称:%s" -#: config.c:354 +#: config.c:382 #, c-format msgid "key does not contain variable name: %s" msgstr "键忲¡æœ‰åŒ…å«å˜é‡å:%s" -#: config.c:378 sequencer.c:2459 +#: config.c:406 sequencer.c:2463 #, c-format msgid "invalid key: %s" msgstr "æ— æ•ˆé”®å:%s" -#: config.c:384 +#: config.c:412 #, c-format msgid "invalid key (newline): %s" msgstr "æ— æ•ˆé”®å(有æ¢è¡Œç¬¦ï¼‰ï¼š%s" -#: config.c:420 config.c:432 +#: config.c:448 config.c:460 #, c-format msgid "bogus config parameter: %s" msgstr "伪é…ç½®å‚æ•°ï¼š%s" -#: config.c:467 +#: config.c:495 #, c-format msgid "bogus format in %s" msgstr "%s 䏿 ¼å¼é”™è¯¯" -#: config.c:793 +#: config.c:821 #, c-format msgid "bad config line %d in blob %s" msgstr "æ•°æ®å¯¹è±¡ %2$s ä¸é”™è¯¯çš„é…置行 %1$d" -#: config.c:797 +#: config.c:825 #, c-format msgid "bad config line %d in file %s" msgstr "文件 %2$s ä¸é”™è¯¯çš„é…置行 %1$d" -#: config.c:801 +#: config.c:829 #, c-format msgid "bad config line %d in standard input" msgstr "æ ‡å‡†è¾“å…¥ä¸é”™è¯¯çš„é…置行 %d" -#: config.c:805 +#: config.c:833 #, c-format msgid "bad config line %d in submodule-blob %s" msgstr "忍¡ç»„æ•°æ®å¯¹è±¡ %2$s ä¸é”™è¯¯çš„é…置行 %1$d" -#: config.c:809 +#: config.c:837 #, c-format msgid "bad config line %d in command line %s" msgstr "命令行 %2$s ä¸é”™è¯¯çš„é…置行 %1$d" -#: config.c:813 +#: config.c:841 #, c-format msgid "bad config line %d in %s" msgstr "在 %2$s ä¸é”™è¯¯çš„é…置行 %1$d" -#: config.c:952 +#: config.c:978 msgid "out of range" msgstr "超出范围" -#: config.c:952 +#: config.c:978 msgid "invalid unit" msgstr "æ— æ•ˆçš„å•ä½" -#: config.c:958 +#: config.c:979 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "é…ç½®å˜é‡ '%2$s' 的数å—å–值 '%1$s' 设置错误:%3$s" -#: config.c:963 +#: config.c:998 #, c-format msgid "bad numeric config value '%s' for '%s' in blob %s: %s" msgstr "æ•°æ®å¯¹è±¡ %3$s ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%4$s" -#: config.c:966 +#: config.c:1001 #, c-format msgid "bad numeric config value '%s' for '%s' in file %s: %s" msgstr "文件 %3$s ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%4$s" -#: config.c:969 +#: config.c:1004 #, c-format msgid "bad numeric config value '%s' for '%s' in standard input: %s" msgstr "æ ‡å‡†è¾“å…¥ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%3$s" -#: config.c:972 +#: config.c:1007 #, c-format msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" msgstr "忍¡ç»„æ•°æ® %3$s ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%4$s" -#: config.c:975 +#: config.c:1010 #, c-format msgid "bad numeric config value '%s' for '%s' in command line %s: %s" msgstr "命令行 %3$s ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%4$s" -#: config.c:978 +#: config.c:1013 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "在 %3$s ä¸é…ç½®å˜é‡ '%2$s' 错误的å–值 '%1$s':%4$s" -#: config.c:1073 +#: config.c:1108 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "æ— æ³•æ‰©å±•ç”¨æˆ·ç›®å½•ï¼š'%s'" -#: config.c:1082 +#: config.c:1117 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%2$s' 的值 '%1$s' 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„æ—¶é—´æˆ³" -#: config.c:1173 +#: config.c:1208 #, c-format msgid "abbrev length out of range: %d" msgstr "缩写长度超出范围:%d" -#: config.c:1187 config.c:1198 +#: config.c:1222 config.c:1233 #, c-format msgid "bad zlib compression level %d" msgstr "错误的 zlib 压缩级别 %d" -#: config.c:1290 +#: config.c:1325 msgid "core.commentChar should only be one character" msgstr "core.commentChar 应该是一个å—符" -#: config.c:1323 +#: config.c:1358 #, c-format msgid "invalid mode for object creation: %s" msgstr "æ— æ•ˆçš„å¯¹è±¡åˆ›å»ºæ¨¡å¼ï¼š%s" -#: config.c:1395 +#: config.c:1430 #, c-format msgid "malformed value for %s" msgstr "%s çš„å–å€¼æ ¼å¼é”™è¯¯" -#: config.c:1421 +#: config.c:1456 #, c-format msgid "malformed value for %s: %s" msgstr "%s çš„å–å€¼æ ¼å¼é”™è¯¯ï¼š%s" -#: config.c:1422 +#: config.c:1457 msgid "must be one of nothing, matching, simple, upstream or current" msgstr "必须是其ä¸ä¹‹ä¸€ï¼šnothingã€matchingã€simpleã€upstream 或 current" -#: config.c:1483 builtin/pack-objects.c:3397 +#: config.c:1518 builtin/pack-objects.c:3410 #, c-format msgid "bad pack compression level %d" msgstr "错误的打包压缩级别 %d" -#: config.c:1604 +#: config.c:1639 #, c-format msgid "unable to load config blob object '%s'" msgstr "æ— æ³•ä»Žæ•°æ®å¯¹è±¡ '%s' åŠ è½½é…ç½®" -#: config.c:1607 +#: config.c:1642 #, c-format msgid "reference '%s' does not point to a blob" msgstr "引用 '%s' 没有指å‘一个数æ®å¯¹è±¡" -#: config.c:1624 +#: config.c:1659 #, c-format msgid "unable to resolve config blob '%s'" msgstr "ä¸èƒ½è§£æžé…置对象 '%s'" -#: config.c:1654 +#: config.c:1689 #, c-format msgid "failed to parse %s" msgstr "è§£æž %s 失败" -#: config.c:1710 +#: config.c:1745 msgid "unable to parse command-line config" msgstr "æ— æ³•è§£æžå‘½ä»¤è¡Œä¸çš„é…ç½®" -#: config.c:2059 +#: config.c:2094 msgid "unknown error occurred while reading the configuration files" msgstr "在读å–é…置文件时é‡åˆ°æœªçŸ¥é”™è¯¯" -#: config.c:2229 +#: config.c:2264 #, c-format msgid "Invalid %s: '%s'" msgstr "æ— æ•ˆ %s:'%s'" -#: config.c:2272 +#: config.c:2307 #, c-format msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" msgstr "未知的 core.untrackedCache å–值 '%s',使用默认值 'keep'" -#: config.c:2298 +#: config.c:2333 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "splitIndex.maxPercentChange çš„å–值 '%d' 应该介于 0 å’Œ 100 之间" -#: config.c:2344 +#: config.c:2379 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "æ— æ³•è§£æžå‘½ä»¤è¡Œé…ç½®ä¸çš„ '%s'" -#: config.c:2346 +#: config.c:2381 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "在文件 '%2$s' 的第 %3$d 行å‘现错误的é…ç½®å˜é‡ '%1$s'" -#: config.c:2427 +#: config.c:2462 #, c-format msgid "invalid section name '%s'" msgstr "æ— æ•ˆçš„å°èŠ‚åç§° '%s'" -#: config.c:2459 +#: config.c:2494 #, c-format msgid "%s has multiple values" msgstr "%s 有多个å–值" -#: config.c:2488 +#: config.c:2523 #, c-format msgid "failed to write new configuration file %s" msgstr "写入新的é…置文件 %s 失败" -#: config.c:2740 config.c:3064 +#: config.c:2775 config.c:3099 #, c-format msgid "could not lock config file %s" msgstr "ä¸èƒ½é”定é…置文件 %s" -#: config.c:2751 +#: config.c:2786 #, c-format msgid "opening %s" msgstr "打开 %s" -#: config.c:2786 builtin/config.c:328 +#: config.c:2821 builtin/config.c:328 #, c-format msgid "invalid pattern: %s" msgstr "æ— æ•ˆæ¨¡å¼ï¼š%s" -#: config.c:2811 +#: config.c:2846 #, c-format msgid "invalid config file %s" msgstr "æ— æ•ˆçš„é…置文件 %s" -#: config.c:2824 config.c:3077 +#: config.c:2859 config.c:3112 #, c-format msgid "fstat on %s failed" msgstr "对 %s 调用 fstat 失败" -#: config.c:2835 +#: config.c:2870 #, c-format msgid "unable to mmap '%s'" msgstr "ä¸èƒ½ mmap '%s'" -#: config.c:2844 config.c:3082 +#: config.c:2879 config.c:3117 #, c-format msgid "chmod on %s failed" msgstr "对 %s 调用 chmod 失败" -#: config.c:2929 config.c:3179 +#: config.c:2964 config.c:3214 #, c-format msgid "could not write config file %s" msgstr "ä¸èƒ½å†™å…¥é…置文件 %s" -#: config.c:2963 +#: config.c:2998 #, c-format msgid "could not set '%s' to '%s'" msgstr "ä¸èƒ½è®¾ç½® '%s' 为 '%s'" -#: config.c:2965 builtin/remote.c:782 +#: config.c:3000 builtin/remote.c:782 #, c-format msgid "could not unset '%s'" msgstr "ä¸èƒ½å–消设置 '%s'" -#: config.c:3055 +#: config.c:3090 #, c-format msgid "invalid section name: %s" msgstr "æ— æ•ˆçš„å°èŠ‚å称:%s" -#: config.c:3222 +#: config.c:3257 #, c-format msgid "missing value for '%s'" msgstr "%s çš„å–值缺失" @@ -2146,19 +2217,19 @@ msgstr "已阻æ¢å¥‡æ€ªçš„路径å '%s'" msgid "unable to fork" msgstr "æ— æ³• fork" -#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 msgid "Checking connectivity" msgstr "æ£åœ¨æ£€æŸ¥è¿žé€šæ€§" -#: connected.c:97 +#: connected.c:98 msgid "Could not run 'git rev-list'" msgstr "ä¸èƒ½æ‰§è¡Œ 'git rev-list'" -#: connected.c:117 +#: connected.c:118 msgid "failed write to rev-list" msgstr "写入 rev-list 失败" -#: connected.c:124 +#: connected.c:125 msgid "failed to close rev-list's stdin" msgstr "å…³é— rev-list çš„æ ‡å‡†è¾“å…¥å¤±è´¥" @@ -2372,7 +2443,7 @@ msgstr "æœªèƒ½åŠ è½½ '%s' 的数æ®å²›æ£åˆ™è¡¨è¾¾å¼ï¼š%s" msgid "island regex from config has too many capture groups (max=%d)" msgstr "æ¥è‡ª config 的数æ®å²›æ£åˆ™è¡¨è¾¾å¼æœ‰å¤ªå¤šçš„æ•èŽ·ç»„ï¼ˆæœ€å¤š %d 个)" -#: delta-islands.c:466 +#: delta-islands.c:467 #, c-format msgid "Marked %d islands, done.\n" msgstr "å·²æ ‡è®° %d 个数æ®å²›ï¼Œç»“æŸã€‚\n" @@ -2445,35 +2516,35 @@ msgstr "" "å‘现é…ç½®å˜é‡ 'diff.dirstat' ä¸çš„错误:\n" "%s" -#: diff.c:4210 +#: diff.c:4215 #, c-format msgid "external diff died, stopping at %s" msgstr "外部 diff é€€å‡ºï¼Œåœæ¢åœ¨ %s" -#: diff.c:4555 +#: diff.c:4560 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-onlyã€--name-statusã€--check å’Œ -s 是互斥的" -#: diff.c:4558 +#: diff.c:4563 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-Gã€-S å’Œ --find-object 是互斥的" -#: diff.c:4636 +#: diff.c:4641 msgid "--follow requires exactly one pathspec" msgstr "--follow æ˜Žç¡®è¦æ±‚åªè·Ÿä¸€ä¸ªè·¯å¾„è§„æ ¼" -#: diff.c:4684 +#: diff.c:4689 #, c-format msgid "invalid --stat value: %s" msgstr "æ— æ•ˆçš„ --stat 值:%s" -#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217 +#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 #: parse-options.c:199 parse-options.c:203 #, c-format msgid "%s expects a numerical value" msgstr "%s 期望一个数å—值" -#: diff.c:4721 +#: diff.c:4726 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2482,195 +2553,195 @@ msgstr "" "æ— æ³•è§£æž --dirstat/-X é€‰é¡¹çš„å‚æ•°ï¼š\n" "%s" -#: diff.c:4806 +#: diff.c:4811 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "--diff-filter=%2$s 䏿œªçŸ¥çš„å˜æ›´ç±» '%1$c'" -#: diff.c:4830 +#: diff.c:4835 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "ws-error-highlight=%.*s ä¹‹åŽæœªçŸ¥çš„值" -#: diff.c:4844 +#: diff.c:4849 #, c-format msgid "unable to resolve '%s'" msgstr "ä¸èƒ½è§£æž '%s'" -#: diff.c:4894 diff.c:4900 +#: diff.c:4899 diff.c:4905 #, c-format msgid "%s expects <n>/<m> form" msgstr "%s 期望 <n>/<m> æ ¼å¼" -#: diff.c:4912 +#: diff.c:4917 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s 期望一个å—符,得到 '%s'" -#: diff.c:4933 +#: diff.c:4938 #, c-format msgid "bad --color-moved argument: %s" msgstr "åçš„ --color-moved 傿•°ï¼š%s" -#: diff.c:4952 +#: diff.c:4957 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "--color-moved-ws ä¸çš„æ— æ•ˆæ¨¡å¼ '%s' " -#: diff.c:4992 +#: diff.c:4997 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" msgstr "" "diff-algorithm 选项有 \"myers\"ã€\"minimal\"ã€\"patience\" å’Œ \"histogram\"" -#: diff.c:5028 diff.c:5048 +#: diff.c:5033 diff.c:5053 #, c-format msgid "invalid argument to %s" msgstr "%s çš„å‚æ•°æ— 效" -#: diff.c:5186 +#: diff.c:5191 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "æ— æ³•è§£æž --submodule é€‰é¡¹çš„å‚æ•°ï¼š'%s'" -#: diff.c:5242 +#: diff.c:5247 #, c-format msgid "bad --word-diff argument: %s" msgstr "åçš„ --word-diff 傿•°ï¼š%s" -#: diff.c:5265 +#: diff.c:5270 msgid "Diff output format options" msgstr "å·®å¼‚è¾“å‡ºæ ¼å¼åŒ–选项" -#: diff.c:5267 diff.c:5273 +#: diff.c:5272 diff.c:5278 msgid "generate patch" msgstr "生æˆè¡¥ä¸" -#: diff.c:5270 builtin/log.c:167 +#: diff.c:5275 builtin/log.c:172 msgid "suppress diff output" msgstr "䏿˜¾ç¤ºå·®å¼‚输出" -#: diff.c:5275 diff.c:5389 diff.c:5396 +#: diff.c:5280 diff.c:5394 diff.c:5401 msgid "<n>" msgstr "<n>" -#: diff.c:5276 diff.c:5279 +#: diff.c:5281 diff.c:5284 msgid "generate diffs with <n> lines context" msgstr "生æˆå« <n> 行上下文的差异" -#: diff.c:5281 +#: diff.c:5286 msgid "generate the diff in raw format" msgstr "生æˆåŽŸå§‹æ ¼å¼çš„差异" -#: diff.c:5284 +#: diff.c:5289 msgid "synonym for '-p --raw'" msgstr "å’Œ '-p --raw' åŒä¹‰" -#: diff.c:5288 +#: diff.c:5293 msgid "synonym for '-p --stat'" msgstr "å’Œ '-p --stat' åŒä¹‰" -#: diff.c:5292 +#: diff.c:5297 msgid "machine friendly --stat" msgstr "机器å‹å¥½çš„ --stat" -#: diff.c:5295 +#: diff.c:5300 msgid "output only the last line of --stat" msgstr "åªè¾“出 --stat 的最åŽä¸€è¡Œ" -#: diff.c:5297 diff.c:5305 +#: diff.c:5302 diff.c:5310 msgid "<param1,param2>..." msgstr "<傿•°1,傿•°2>..." -#: diff.c:5298 +#: diff.c:5303 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "输出æ¯ä¸ªåç›®å½•ç›¸å¯¹å˜æ›´çš„分布" -#: diff.c:5302 +#: diff.c:5307 msgid "synonym for --dirstat=cumulative" msgstr "å’Œ --dirstat=cumulative åŒä¹‰" -#: diff.c:5306 +#: diff.c:5311 msgid "synonym for --dirstat=files,param1,param2..." msgstr "是 --dirstat=files,param1,param2... çš„åŒä¹‰è¯" -#: diff.c:5310 +#: diff.c:5315 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "å¦‚æžœå˜æ›´ä¸å¼•入冲çªå®šç•Œç¬¦æˆ–空白错误,给出è¦å‘Š" -#: diff.c:5313 +#: diff.c:5318 msgid "condensed summary such as creations, renames and mode changes" msgstr "精简摘è¦ï¼Œä¾‹å¦‚创建ã€é‡å‘½å和模å¼å˜æ›´" -#: diff.c:5316 +#: diff.c:5321 msgid "show only names of changed files" msgstr "åªæ˜¾ç¤ºå˜æ›´æ–‡ä»¶çš„æ–‡ä»¶å" -#: diff.c:5319 +#: diff.c:5324 msgid "show only names and status of changed files" msgstr "åªæ˜¾ç¤ºå˜æ›´æ–‡ä»¶çš„æ–‡ä»¶å和状æ€" -#: diff.c:5321 +#: diff.c:5326 msgid "<width>[,<name-width>[,<count>]]" msgstr "<宽度>[,<文件å宽度>[,<次数>]]" -#: diff.c:5322 +#: diff.c:5327 msgid "generate diffstat" msgstr "生æˆå·®å¼‚统计(diffstat)" -#: diff.c:5324 diff.c:5327 diff.c:5330 +#: diff.c:5329 diff.c:5332 diff.c:5335 msgid "<width>" msgstr "<宽度>" -#: diff.c:5325 +#: diff.c:5330 msgid "generate diffstat with a given width" msgstr "使用给定的长度生æˆå·®å¼‚统计" -#: diff.c:5328 +#: diff.c:5333 msgid "generate diffstat with a given name width" msgstr "使用给定的文件å长度生æˆå·®å¼‚统计" -#: diff.c:5331 +#: diff.c:5336 msgid "generate diffstat with a given graph width" msgstr "使用给定的图形长度生æˆå·®å¼‚统计" -#: diff.c:5333 +#: diff.c:5338 msgid "<count>" msgstr "<次数>" -#: diff.c:5334 +#: diff.c:5339 msgid "generate diffstat with limited lines" msgstr "ç”Ÿæˆæœ‰é™è¡Œæ•°çš„差异统计" -#: diff.c:5337 +#: diff.c:5342 msgid "generate compact summary in diffstat" msgstr "生æˆå·®å¼‚ç»Ÿè®¡çš„ç®€æ´æ‘˜è¦" -#: diff.c:5340 +#: diff.c:5345 msgid "output a binary diff that can be applied" msgstr "输出一个å¯ä»¥åº”用的二进制差异" -#: diff.c:5343 +#: diff.c:5348 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "在 \"index\" 行显示完整的å‰åŽå¯¹è±¡åç§°" -#: diff.c:5345 +#: diff.c:5350 msgid "show colored diff" msgstr "显示带颜色的差异" -#: diff.c:5346 +#: diff.c:5351 msgid "<kind>" msgstr "<类型>" -#: diff.c:5347 +#: diff.c:5352 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" msgstr "对于差异ä¸çš„ä¸Šä¸‹æ–‡ã€æ—§çš„å’Œæ–°çš„è¡Œï¼ŒåŠ äº®æ˜¾ç¤ºé”™è¯¯çš„ç©ºç™½å—符" -#: diff.c:5350 +#: diff.c:5355 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2678,295 +2749,295 @@ msgstr "" "在 --raw 或者 --numstat ä¸ï¼Œä¸å¯¹è·¯å¾„å—符转ç 并使用 NUL å—符åšä¸ºè¾“å‡ºå—æ®µçš„分隔" "符" -#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465 +#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 msgid "<prefix>" msgstr "<å‰ç¼€>" -#: diff.c:5354 +#: diff.c:5359 msgid "show the given source prefix instead of \"a/\"" msgstr "显示给定的æºå‰ç¼€å–代 \"a/\"" -#: diff.c:5357 +#: diff.c:5362 msgid "show the given destination prefix instead of \"b/\"" msgstr "æ˜¾ç¤ºç»™å®šçš„ç›®æ ‡å‰ç¼€å–代 \"b/\"" -#: diff.c:5360 +#: diff.c:5365 msgid "prepend an additional prefix to every line of output" msgstr "输出的æ¯ä¸€è¡Œé™„åŠ å‰ç¼€" -#: diff.c:5363 +#: diff.c:5368 msgid "do not show any source or destination prefix" msgstr "䏿˜¾ç¤ºä»»ä½•æºå’Œç›®æ ‡å‰ç¼€" -#: diff.c:5366 +#: diff.c:5371 msgid "show context between diff hunks up to the specified number of lines" msgstr "显示指定行数的差异å—间的上下文" -#: diff.c:5370 diff.c:5375 diff.c:5380 +#: diff.c:5375 diff.c:5380 diff.c:5385 msgid "<char>" msgstr "<å—符>" -#: diff.c:5371 +#: diff.c:5376 msgid "specify the character to indicate a new line instead of '+'" msgstr "指定一个å—符å–代 '+' æ¥è¡¨ç¤ºæ–°çš„一行" -#: diff.c:5376 +#: diff.c:5381 msgid "specify the character to indicate an old line instead of '-'" msgstr "指定一个å—符å–代 '-' æ¥è¡¨ç¤ºæ—§çš„一行" -#: diff.c:5381 +#: diff.c:5386 msgid "specify the character to indicate a context instead of ' '" msgstr "指定一个å—符å–代 ' ' æ¥è¡¨ç¤ºä¸€è¡Œä¸Šä¸‹æ–‡" -#: diff.c:5384 +#: diff.c:5389 msgid "Diff rename options" msgstr "差异é‡å‘½å选项" -#: diff.c:5385 +#: diff.c:5390 msgid "<n>[/<m>]" msgstr "<n>[/<m>]" -#: diff.c:5386 +#: diff.c:5391 msgid "break complete rewrite changes into pairs of delete and create" msgstr "将完全é‡å†™çš„å˜æ›´æ‰“ç ´ä¸ºæˆå¯¹çš„åˆ é™¤å’Œåˆ›å»º" -#: diff.c:5390 +#: diff.c:5395 msgid "detect renames" msgstr "检测é‡å‘½å" -#: diff.c:5394 +#: diff.c:5399 msgid "omit the preimage for deletes" msgstr "çœç•¥åˆ 除æ“作的差异输出" -#: diff.c:5397 +#: diff.c:5402 msgid "detect copies" msgstr "检测拷è´" -#: diff.c:5401 +#: diff.c:5406 msgid "use unmodified files as source to find copies" msgstr "使用未修改的文件åšä¸ºå‘现拷è´çš„æº" -#: diff.c:5403 +#: diff.c:5408 msgid "disable rename detection" msgstr "ç¦ç”¨é‡å‘½å探测" -#: diff.c:5406 +#: diff.c:5411 msgid "use empty blobs as rename source" msgstr "使用空的数æ®å¯¹è±¡åšä¸ºé‡å‘½åçš„æº" -#: diff.c:5408 +#: diff.c:5413 msgid "continue listing the history of a file beyond renames" msgstr "ç»§ç»åˆ—出文件é‡å‘½å以外的历å²è®°å½•" -#: diff.c:5411 +#: diff.c:5416 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" msgstr "如果é‡å‘½å/æ‹·è´ç›®æ ‡è¶…过给定的é™åˆ¶ï¼Œç¦æ¢é‡å‘½å/æ‹·è´æ£€æµ‹" -#: diff.c:5413 +#: diff.c:5418 msgid "Diff algorithm options" msgstr "差异算法选项" -#: diff.c:5415 +#: diff.c:5420 msgid "produce the smallest possible diff" msgstr "生æˆå°½å¯èƒ½å°çš„差异" -#: diff.c:5418 +#: diff.c:5423 msgid "ignore whitespace when comparing lines" msgstr "行比较时忽略空白å—符" -#: diff.c:5421 +#: diff.c:5426 msgid "ignore changes in amount of whitespace" msgstr "忽略空白å—ç¬¦çš„å˜æ›´" -#: diff.c:5424 +#: diff.c:5429 msgid "ignore changes in whitespace at EOL" msgstr "忽略行尾的空白å—ç¬¦å˜æ›´" -#: diff.c:5427 +#: diff.c:5432 msgid "ignore carrier-return at the end of line" msgstr "忽略行尾的回车符(CR)" -#: diff.c:5430 +#: diff.c:5435 msgid "ignore changes whose lines are all blank" msgstr "å¿½ç•¥æ•´è¡Œéƒ½æ˜¯ç©ºç™½çš„å˜æ›´" -#: diff.c:5433 +#: diff.c:5438 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "å¯å‘å¼è½¬æ¢å·®å¼‚边界以便阅读" -#: diff.c:5436 +#: diff.c:5441 msgid "generate diff using the \"patience diff\" algorithm" msgstr "使用 \"patience diff\" 算法生æˆå·®å¼‚" -#: diff.c:5440 +#: diff.c:5445 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "使用 \"histogram diff\" 算法生æˆå·®å¼‚" -#: diff.c:5442 +#: diff.c:5447 msgid "<algorithm>" msgstr "<算法>" -#: diff.c:5443 +#: diff.c:5448 msgid "choose a diff algorithm" msgstr "选择一个差异算法" -#: diff.c:5445 +#: diff.c:5450 msgid "<text>" msgstr "<文本>" -#: diff.c:5446 +#: diff.c:5451 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "使用 \"anchored diff\" 算法生æˆå·®å¼‚" -#: diff.c:5448 diff.c:5457 diff.c:5460 +#: diff.c:5453 diff.c:5462 diff.c:5465 msgid "<mode>" msgstr "<模å¼>" -#: diff.c:5449 +#: diff.c:5454 msgid "show word diff, using <mode> to delimit changed words" msgstr "显示å•è¯å·®å¼‚,使用 <模å¼> åˆ†éš”å˜æ›´çš„å•è¯" -#: diff.c:5451 diff.c:5454 diff.c:5499 +#: diff.c:5456 diff.c:5459 diff.c:5504 msgid "<regex>" msgstr "<æ£åˆ™>" -#: diff.c:5452 +#: diff.c:5457 msgid "use <regex> to decide what a word is" msgstr "使用 <æ£åˆ™è¡¨è¾¾å¼> 确定何为一个è¯" -#: diff.c:5455 +#: diff.c:5460 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>" msgstr "相当于 --word-diff=color --word-diff-regex=<æ£åˆ™>" -#: diff.c:5458 +#: diff.c:5463 msgid "moved lines of code are colored differently" msgstr "移动的代ç 行用ä¸åŒæ–¹å¼ç€è‰²" -#: diff.c:5461 +#: diff.c:5466 msgid "how white spaces are ignored in --color-moved" msgstr "在 --color-moved 下如何忽略空白å—符" -#: diff.c:5464 +#: diff.c:5469 msgid "Other diff options" msgstr "其它差异选项" -#: diff.c:5466 +#: diff.c:5471 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "当从å目录è¿è¡Œï¼ŒæŽ’é™¤ç›®å½•ä¹‹å¤–çš„å˜æ›´å¹¶æ˜¾ç¤ºç›¸å¯¹è·¯å¾„" -#: diff.c:5470 +#: diff.c:5475 msgid "treat all files as text" msgstr "æŠŠæ‰€æœ‰æ–‡ä»¶å½“åšæ–‡æœ¬å¤„ç†" -#: diff.c:5472 +#: diff.c:5477 msgid "swap two inputs, reverse the diff" msgstr "交æ¢ä¸¤ä¸ªè¾“入,å转差异" -#: diff.c:5474 +#: diff.c:5479 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "有差异时退出ç 为 1,å¦åˆ™ä¸º 0" -#: diff.c:5476 +#: diff.c:5481 msgid "disable all output of the program" msgstr "ç¦ç”¨æœ¬ç¨‹åºçš„æ‰€æœ‰è¾“出" -#: diff.c:5478 +#: diff.c:5483 msgid "allow an external diff helper to be executed" msgstr "å…许执行一个外置的差异助手" -#: diff.c:5480 +#: diff.c:5485 msgid "run external text conversion filters when comparing binary files" msgstr "当比较二进制文件时,è¿è¡Œå¤–部的文本转æ¢è¿‡æ»¤å™¨" -#: diff.c:5482 +#: diff.c:5487 msgid "<when>" msgstr "<何时>" -#: diff.c:5483 +#: diff.c:5488 msgid "ignore changes to submodules in the diff generation" msgstr "在生æˆå·®å¼‚æ—¶ï¼Œå¿½ç•¥åæ¨¡ç»„的更改" -#: diff.c:5486 +#: diff.c:5491 msgid "<format>" msgstr "<æ ¼å¼>" -#: diff.c:5487 +#: diff.c:5492 msgid "specify how differences in submodules are shown" msgstr "æŒ‡å®šåæ¨¡ç»„的差异如何显示" -#: diff.c:5491 +#: diff.c:5496 msgid "hide 'git add -N' entries from the index" msgstr "éšè—ç´¢å¼•ä¸ 'git add -N' æ¡ç›®" -#: diff.c:5494 +#: diff.c:5499 msgid "treat 'git add -N' entries as real in the index" msgstr "å°†ç´¢å¼•ä¸ 'git add -N' æ¡ç›®å½“åšçœŸå®žçš„" -#: diff.c:5496 +#: diff.c:5501 msgid "<string>" msgstr "<å—符串>" -#: diff.c:5497 +#: diff.c:5502 msgid "" "look for differences that change the number of occurrences of the specified " "string" msgstr "查找改å˜äº†æŒ‡å®šå—符串出现次数的差异" -#: diff.c:5500 +#: diff.c:5505 msgid "" "look for differences that change the number of occurrences of the specified " "regex" msgstr "æŸ¥æ‰¾æ”¹å˜æŒ‡å®šæ£åˆ™åŒ¹é…出现次数的差异" -#: diff.c:5503 +#: diff.c:5508 msgid "show all changes in the changeset with -S or -G" msgstr "显示使用 -S 或 -G çš„å˜æ›´é›†çš„æ‰€æœ‰å˜æ›´" -#: diff.c:5506 +#: diff.c:5511 msgid "treat <string> in -S as extended POSIX regular expression" msgstr "å°† -S çš„ <string> å½“åšæ‰©å±•çš„ POSIX æ£åˆ™è¡¨è¾¾å¼" -#: diff.c:5509 +#: diff.c:5514 msgid "control the order in which files appear in the output" msgstr "控制输出ä¸çš„æ–‡ä»¶æ˜¾ç¤ºé¡ºåº" -#: diff.c:5510 +#: diff.c:5515 msgid "<object-id>" msgstr "<对象 ID>" -#: diff.c:5511 +#: diff.c:5516 msgid "" "look for differences that change the number of occurrences of the specified " "object" msgstr "æŸ¥æ‰¾æ”¹å˜æŒ‡å®šå¯¹è±¡å‡ºçŽ°æ¬¡æ•°çš„å·®å¼‚" -#: diff.c:5513 +#: diff.c:5518 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5514 +#: diff.c:5519 msgid "select files by diff type" msgstr "通过差异类型选择文件" -#: diff.c:5516 +#: diff.c:5521 msgid "<file>" msgstr "<文件>" -#: diff.c:5517 +#: diff.c:5522 msgid "Output to a specific file" msgstr "输出到一个指定的文件" -#: diff.c:6150 +#: diff.c:6177 msgid "inexact rename detection was skipped due to too many files." msgstr "å› ä¸ºæ–‡ä»¶å¤ªå¤šï¼Œç•¥è¿‡ä¸ä¸¥æ ¼çš„é‡å‘½å检查。" -#: diff.c:6153 +#: diff.c:6180 msgid "only found copies from modified paths due to too many files." msgstr "å› ä¸ºæ–‡ä»¶å¤ªå¤šï¼Œåªåœ¨ä¿®æ”¹çš„è·¯å¾„ä¸æŸ¥æ‰¾æ‹·è´ã€‚" -#: diff.c:6156 +#: diff.c:6183 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." @@ -3068,32 +3139,32 @@ msgstr "æ— æ³•å†™åˆ°è¿œç¨‹" msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc éœ€è¦ multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1271 +#: fetch-pack.c:360 fetch-pack.c:1284 #, c-format msgid "invalid shallow line: %s" msgstr "æ— æ•ˆçš„ shallow ä¿¡æ¯ï¼š%s" -#: fetch-pack.c:366 fetch-pack.c:1277 +#: fetch-pack.c:366 fetch-pack.c:1290 #, c-format msgid "invalid unshallow line: %s" msgstr "æ— æ•ˆçš„ unshallow ä¿¡æ¯ï¼š%s" -#: fetch-pack.c:368 fetch-pack.c:1279 +#: fetch-pack.c:368 fetch-pack.c:1292 #, c-format msgid "object not found: %s" msgstr "对象未找到:%s" -#: fetch-pack.c:371 fetch-pack.c:1282 +#: fetch-pack.c:371 fetch-pack.c:1295 #, c-format msgid "error in object: %s" msgstr "对象ä¸å‡ºé”™ï¼š%s" -#: fetch-pack.c:373 fetch-pack.c:1284 +#: fetch-pack.c:373 fetch-pack.c:1297 #, c-format msgid "no shallow found: %s" msgstr "未å‘现 shallow:%s" -#: fetch-pack.c:376 fetch-pack.c:1288 +#: fetch-pack.c:376 fetch-pack.c:1301 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "应为 shallow/unshallow,å´å¾—到 %s" @@ -3112,7 +3183,7 @@ msgstr "æ— æ•ˆæäº¤ %s" msgid "giving up" msgstr "放弃" -#: fetch-pack.c:477 progress.c:284 +#: fetch-pack.c:477 progress.c:277 msgid "done" msgstr "完æˆ" @@ -3153,154 +3224,130 @@ msgstr "%s 失败" msgid "error in sideband demultiplexer" msgstr "sideband 多路输出出错" -#: fetch-pack.c:906 -msgid "Server does not support shallow clients" -msgstr "æœåС噍䏿”¯æŒ shalllow 客户端" - -#: fetch-pack.c:910 -msgid "Server supports multi_ack_detailed" -msgstr "æœåŠ¡å™¨æ”¯æŒ multi_ack_detailed" - -#: fetch-pack.c:913 -msgid "Server supports no-done" -msgstr "æœåŠ¡å™¨æ”¯æŒ no-done" - -#: fetch-pack.c:919 -msgid "Server supports multi_ack" -msgstr "æœåŠ¡å™¨æ”¯æŒ multi_ack" - -#: fetch-pack.c:923 -msgid "Server supports side-band-64k" -msgstr "æœåŠ¡å™¨æ”¯æŒ side-band-64k" - -#: fetch-pack.c:927 -msgid "Server supports side-band" -msgstr "æœåŠ¡å™¨æ”¯æŒ side-band" - -#: fetch-pack.c:931 -msgid "Server supports allow-tip-sha1-in-want" -msgstr "æœåŠ¡å™¨æ”¯æŒ allow-tip-sha1-in-want" - -#: fetch-pack.c:935 -msgid "Server supports allow-reachable-sha1-in-want" -msgstr "æœåŠ¡å™¨æ”¯æŒ allow-reachable-sha1-in-want" - -#: fetch-pack.c:945 -msgid "Server supports ofs-delta" -msgstr "æœåŠ¡å™¨æ”¯æŒ ofs-delta" - -#: fetch-pack.c:951 fetch-pack.c:1144 -msgid "Server supports filter" -msgstr "æœåŠ¡å™¨æ”¯æŒ filter" - -#: fetch-pack.c:959 +#: fetch-pack.c:908 #, c-format msgid "Server version is %.*s" msgstr "æœåŠ¡å™¨ç‰ˆæœ¬ %.*s" -#: fetch-pack.c:965 +#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 +#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 +#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 +#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#, c-format +msgid "Server supports %s" +msgstr "æœåŠ¡å™¨æ”¯æŒ %s" + +#: fetch-pack.c:915 +msgid "Server does not support shallow clients" +msgstr "æœåС噍䏿”¯æŒ shalllow 客户端" + +#: fetch-pack.c:975 msgid "Server does not support --shallow-since" msgstr "æœåС噍䏿”¯æŒ --shallow-since" -#: fetch-pack.c:969 +#: fetch-pack.c:980 msgid "Server does not support --shallow-exclude" msgstr "æœåС噍䏿”¯æŒ --shallow-exclude" -#: fetch-pack.c:971 +#: fetch-pack.c:984 msgid "Server does not support --deepen" msgstr "æœåС噍䏿”¯æŒ --deepen" -#: fetch-pack.c:988 +#: fetch-pack.c:1001 msgid "no common commits" msgstr "没有共åŒçš„æäº¤" -#: fetch-pack.c:1000 fetch-pack.c:1449 +#: fetch-pack.c:1013 fetch-pack.c:1462 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack:获å–失败。" -#: fetch-pack.c:1138 +#: fetch-pack.c:1151 msgid "Server does not support shallow requests" msgstr "æœåС噍䏿”¯æŒ shalllow 请求" -#: fetch-pack.c:1171 +#: fetch-pack.c:1157 +msgid "Server supports filter" +msgstr "æœåŠ¡å™¨æ”¯æŒ filter" + +#: fetch-pack.c:1184 msgid "unable to write request to remote" msgstr "æ— æ³•å°†è¯·æ±‚å†™åˆ°è¿œç¨‹" -#: fetch-pack.c:1189 +#: fetch-pack.c:1202 #, c-format msgid "error reading section header '%s'" msgstr "读å–èŠ‚æ ‡é¢˜ '%s' 出错" -#: fetch-pack.c:1195 +#: fetch-pack.c:1208 #, c-format msgid "expected '%s', received '%s'" msgstr "预期 '%s',得到 '%s'" -#: fetch-pack.c:1234 +#: fetch-pack.c:1247 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "æ„外的确认行:'%s'" -#: fetch-pack.c:1239 +#: fetch-pack.c:1252 #, c-format msgid "error processing acks: %d" msgstr "å¤„ç† ack 出错:%d" -#: fetch-pack.c:1249 +#: fetch-pack.c:1262 msgid "expected packfile to be sent after 'ready'" msgstr "预期在 'ready' 之åŽå‘é€ packfile" -#: fetch-pack.c:1251 +#: fetch-pack.c:1264 msgid "expected no other sections to be sent after no 'ready'" msgstr "在没有 'ready' ä¸åº”该å‘é€å…¶å®ƒå°èŠ‚" -#: fetch-pack.c:1293 +#: fetch-pack.c:1306 #, c-format msgid "error processing shallow info: %d" msgstr "å¤„ç†æµ…克隆信æ¯å‡ºé”™ï¼š%d" -#: fetch-pack.c:1340 +#: fetch-pack.c:1353 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "预期 wanted-ref,得到 '%s'" -#: fetch-pack.c:1345 +#: fetch-pack.c:1358 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "æ„外的 wanted-ref:'%s'" -#: fetch-pack.c:1350 +#: fetch-pack.c:1363 #, c-format msgid "error processing wanted refs: %d" msgstr "处ç†è¦èŽ·å–的引用出错:%d" -#: fetch-pack.c:1676 +#: fetch-pack.c:1689 msgid "no matching remote head" msgstr "没有匹é…的远程分支" -#: fetch-pack.c:1699 builtin/clone.c:673 +#: fetch-pack.c:1712 builtin/clone.c:686 msgid "remote did not send all necessary objects" msgstr "远程没有å‘逿‰€æœ‰å¿…需的对象" -#: fetch-pack.c:1726 +#: fetch-pack.c:1739 #, c-format msgid "no such remote ref %s" msgstr "æ²¡æœ‰è¿™æ ·çš„è¿œç¨‹å¼•ç”¨ %s" -#: fetch-pack.c:1729 +#: fetch-pack.c:1742 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "æœåС噍ä¸å…许请求未公开的对象 %s" -#: gpg-interface.c:318 +#: gpg-interface.c:321 msgid "gpg failed to sign the data" msgstr "gpg æ— æ³•ä¸ºæ•°æ®ç¾å" -#: gpg-interface.c:344 +#: gpg-interface.c:347 msgid "could not create temporary file" msgstr "ä¸èƒ½åˆ›å»ºä¸´æ—¶æ–‡ä»¶" -#: gpg-interface.c:347 +#: gpg-interface.c:350 #, c-format msgid "failed writing detached signature to '%s'" msgstr "æ— æ³•å°†åˆ†ç¦»å¼ç¾å写入 '%s'" @@ -3310,18 +3357,18 @@ msgstr "æ— æ³•å°†åˆ†ç¦»å¼ç¾å写入 '%s'" msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "忽略 log.graphColors 䏿— 效的颜色 '%.*s'" -#: grep.c:2113 +#: grep.c:2117 #, c-format msgid "'%s': unable to read %s" msgstr "'%s'ï¼šæ— æ³•è¯»å– %s" -#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82 +#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "对 '%s' 调用 stat 失败" -#: grep.c:2141 +#: grep.c:2145 #, c-format msgid "'%s': short read" msgstr "'%s':读å–ä¸å®Œæ•´" @@ -3391,7 +3438,7 @@ msgstr "在 $PATH 路径ä¸çš„其他地方å¯ç”¨çš„ git 命令" msgid "These are common Git commands used in various situations:" msgstr "这些是å„ç§åœºåˆå¸¸è§çš„ Git 命令:" -#: help.c:363 git.c:97 +#: help.c:363 git.c:98 #, c-format msgid "unsupported command listing type '%s'" msgstr "䏿”¯æŒçš„命令列表类型 '%s'" @@ -3535,7 +3582,7 @@ msgstr "ä¸å…许空的姓å(对于 <%s>)" msgid "name consists only of disallowed characters: %s" msgstr "å§“åä¸ä»…包å«ç¦ç”¨å—符:%s" -#: ident.c:436 builtin/commit.c:608 +#: ident.c:436 builtin/commit.c:611 #, c-format msgid "invalid date format: %s" msgstr "æ— æ•ˆçš„æ—¥æœŸæ ¼å¼ï¼š%s" @@ -3567,6 +3614,11 @@ msgstr "期望 'tree:<深度>'" msgid "sparse:path filters support has been dropped" msgstr "sparse:path 过滤器支æŒå·²è¢«åˆ 除" +#: list-objects-filter-options.c:94 +#, c-format +msgid "invalid filter-spec '%s'" +msgstr "æ— æ•ˆçš„è¿‡æ»¤å™¨è¡¨è¾¾å¼ '%s'" + #: list-objects-filter-options.c:158 msgid "cannot change partial clone promisor remote" msgstr "æ— æ³•ä¿®æ”¹éƒ¨åˆ†å…‹éš†çš„ promisor 远程仓库" @@ -3598,8 +3650,8 @@ msgstr "ä¸èƒ½åˆ›å»º '%s.lock':%s" msgid "failed to read the cache" msgstr "读å–缓å˜å¤±è´¥" -#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921 -#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773 +#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 +#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 #: builtin/stash.c:264 msgid "unable to write new index file" msgstr "æ— æ³•å†™æ–°çš„ç´¢å¼•æ–‡ä»¶" @@ -3622,90 +3674,90 @@ msgstr "add_cacheinfo æ— æ³•åˆ·æ–°è·¯å¾„ '%s',åˆå¹¶ç»ˆæ¢ã€‚" msgid "error building trees" msgstr "åˆ›å»ºæ ‘å‡ºé”™" -#: merge-recursive.c:861 +#: merge-recursive.c:863 #, c-format msgid "failed to create path '%s'%s" msgstr "创建路径 '%s'%s 失败" -#: merge-recursive.c:872 +#: merge-recursive.c:874 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "åˆ é™¤ %s 以便为å目录留出空间\n" -#: merge-recursive.c:886 merge-recursive.c:905 +#: merge-recursive.c:888 merge-recursive.c:907 msgid ": perhaps a D/F conflict?" msgstr ":å¯èƒ½æ˜¯ä¸€ä¸ªç›®å½•/文件冲çªï¼Ÿ" -#: merge-recursive.c:895 +#: merge-recursive.c:897 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "æ‹’ç»ä¸¢å¼ƒ '%s' ä¸çš„æœªè·Ÿè¸ªæ–‡ä»¶" -#: merge-recursive.c:936 builtin/cat-file.c:40 +#: merge-recursive.c:938 builtin/cat-file.c:40 #, c-format msgid "cannot read object %s '%s'" msgstr "ä¸èƒ½è¯»å–对象 %s '%s'" -#: merge-recursive.c:939 +#: merge-recursive.c:941 #, c-format msgid "blob expected for %s '%s'" msgstr "%s '%s' 应为数æ®å¯¹è±¡" -#: merge-recursive.c:963 +#: merge-recursive.c:965 #, c-format msgid "failed to open '%s': %s" msgstr "打开 '%s' 失败:%s" -#: merge-recursive.c:974 +#: merge-recursive.c:976 #, c-format msgid "failed to symlink '%s': %s" msgstr "创建符å·é“¾æŽ¥ '%s' 失败:%s" -#: merge-recursive.c:979 +#: merge-recursive.c:981 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "ä¸çŸ¥é“å¦‚ä½•å¤„ç† %06o %s '%s'" -#: merge-recursive.c:1175 +#: merge-recursive.c:1177 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "æ— æ³•åˆå¹¶å模组 %s (没有检出)" -#: merge-recursive.c:1182 +#: merge-recursive.c:1184 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "æ— æ³•åˆå¹¶å模组 %s(æäº¤ä¸å˜åœ¨ï¼‰" -#: merge-recursive.c:1189 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "æ— æ³•åˆå¹¶å模组 %s (æäº¤æœªè·Ÿéšåˆå¹¶åŸºçº¿ï¼‰" -#: merge-recursive.c:1197 merge-recursive.c:1209 +#: merge-recursive.c:1199 merge-recursive.c:1211 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "忍¡ç»„ %s 快进到如下æäº¤ï¼š" -#: merge-recursive.c:1200 merge-recursive.c:1212 +#: merge-recursive.c:1202 merge-recursive.c:1214 #, c-format msgid "Fast-forwarding submodule %s" msgstr "å¿«è¿›åæ¨¡ç»„ %s" -#: merge-recursive.c:1235 +#: merge-recursive.c:1237 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "æ— æ³•åˆå¹¶å模组 %s (没å‘现åˆå¹¶è·Ÿéšçš„æäº¤ï¼‰" -#: merge-recursive.c:1239 +#: merge-recursive.c:1241 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "æ— æ³•åˆå¹¶å模组 %s(éžå¿«è¿›ï¼‰" -#: merge-recursive.c:1240 +#: merge-recursive.c:1242 msgid "Found a possible merge resolution for the submodule:\n" msgstr "æ‰¾åˆ°åæ¨¡ç»„的一个å¯èƒ½çš„åˆå¹¶æ–¹æ¡ˆï¼š\n" -#: merge-recursive.c:1243 +#: merge-recursive.c:1245 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3721,31 +3773,31 @@ msgstr "" "\n" "ä»¥æŽ¥å—æ¤å»ºè®®ã€‚\n" -#: merge-recursive.c:1252 +#: merge-recursive.c:1254 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "æ— æ³•åˆå¹¶å模组 %s (å‘现多个åˆå¹¶ï¼‰" -#: merge-recursive.c:1325 +#: merge-recursive.c:1327 msgid "Failed to execute internal merge" msgstr "æ— æ³•æ‰§è¡Œå†…éƒ¨åˆå¹¶" -#: merge-recursive.c:1330 +#: merge-recursive.c:1332 #, c-format msgid "Unable to add %s to database" msgstr "ä¸èƒ½æ·»åŠ %s 至对象库" -#: merge-recursive.c:1362 +#: merge-recursive.c:1364 #, c-format msgid "Auto-merging %s" msgstr "自动åˆå¹¶ %s" -#: merge-recursive.c:1385 +#: merge-recursive.c:1387 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "错误:拒ç»ä¸¢å¤±æœªè·Ÿè¸ªæ–‡ä»¶ '%s',而是写入 %s。" -#: merge-recursive.c:1457 +#: merge-recursive.c:1459 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3754,7 +3806,7 @@ msgstr "" "冲çªï¼ˆ%1$s/åˆ é™¤ï¼‰ï¼š%2$s 在 %3$s ä¸è¢«åˆ 除,在 %5$s ä¸è¢« %4$s。%7$s çš„ %6$s 版" "本被ä¿ç•™ã€‚" -#: merge-recursive.c:1462 +#: merge-recursive.c:1464 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3763,7 +3815,7 @@ msgstr "" "冲çªï¼ˆ%1$s/åˆ é™¤ï¼‰ï¼š%2$s 在 %3$s ä¸è¢«åˆ 除,在 %6$s ä¸çš„ %5$s 被 %4$s。%8$s çš„ " "%7$s 版本被ä¿ç•™ã€‚" -#: merge-recursive.c:1469 +#: merge-recursive.c:1471 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3772,7 +3824,7 @@ msgstr "" "冲çªï¼ˆ%1$s/åˆ é™¤ï¼‰ï¼š%2$s 在 %3$s ä¸è¢«åˆ 除,在 %5$s ä¸è¢« %4$s。%7$s çš„ %6$s 版" "本ä¿ç•™åœ¨ %8$s ä¸ã€‚" -#: merge-recursive.c:1474 +#: merge-recursive.c:1476 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3781,40 +3833,40 @@ msgstr "" "冲çªï¼ˆ%1$s/åˆ é™¤ï¼‰ï¼š%2$s 在 %3$s ä¸è¢«åˆ 除,在 %6$s ä¸çš„ %5$s 被 %4$s。%8$s çš„ " "%7$s 版本ä¿ç•™åœ¨ %9$s ä¸ã€‚" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "rename" msgstr "é‡å‘½å" -#: merge-recursive.c:1509 +#: merge-recursive.c:1511 msgid "renamed" msgstr "é‡å‘½å" -#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085 +#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "æ‹’ç»ä¸¢å¤±è„文件 '%s'" -#: merge-recursive.c:1599 +#: merge-recursive.c:1601 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "æ‹’ç»åœ¨ '%s' 处失去未跟踪文件,å³ä½¿å®ƒå˜åœ¨äºŽé‡å‘½åä¸ã€‚" -#: merge-recursive.c:1657 +#: merge-recursive.c:1659 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "冲çªï¼ˆé‡å‘½å/æ·»åŠ ï¼‰ï¼šåœ¨ %3$s ä¸é‡å‘½å %1$s->%2$s。在 %5$s 䏿·»åŠ %4$s" -#: merge-recursive.c:1687 +#: merge-recursive.c:1690 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s 是 %s ä¸çš„一个目录而以 %s 为åè¢«æ·»åŠ " -#: merge-recursive.c:1692 +#: merge-recursive.c:1695 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "æ‹’ç»ä¸¢å¤±æœªè·Ÿè¸ªæ–‡ä»¶ '%s'ï¼Œè€Œæ˜¯æ·»åŠ ä¸º %s" -#: merge-recursive.c:1711 +#: merge-recursive.c:1714 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3823,18 +3875,18 @@ msgstr "" "冲çªï¼ˆé‡å‘½å/é‡å‘½å):在分支 \"%3$s\" ä¸é‡å‘½å \"%1$s\"->\"%2$s\",在分支 " "\"%6$s\" ä¸é‡å‘½å \"%4$s\"->\"%5$s\"%7$s" -#: merge-recursive.c:1716 +#: merge-recursive.c:1719 msgid " (left unresolved)" msgstr "(留下未解决)" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "冲çªï¼ˆé‡å‘½å/é‡å‘½å):在 %3$s ä¸é‡å‘½å %1$s->%2$s,在 %6$s ä¸é‡å‘½å %4$s->" "%5$s" -#: merge-recursive.c:2030 +#: merge-recursive.c:2035 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3844,7 +3896,7 @@ msgstr "" "冲çªï¼ˆåˆ†å‰²çš„目录é‡å‘½åï¼‰ï¼šä¸æ¸…楚 %s åº”è¯¥æ”¾åœ¨å“ªé‡Œï¼Œå› ä¸ºç›®å½• %s 被é‡å‘½å到多个" "其它目录,没有目录包å«å¤§éƒ¨åˆ†æ–‡ä»¶ã€‚" -#: merge-recursive.c:2062 +#: merge-recursive.c:2067 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3853,7 +3905,7 @@ msgstr "" "冲çªï¼ˆéšå¼ç›®å½•é‡å‘½å):处于éšå¼ç›®å½•é‡å‘½åçš„çŽ°å˜æ–‡ä»¶/目录 %s,将以下路径放" "在:%s。" -#: merge-recursive.c:2072 +#: merge-recursive.c:2077 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3862,7 +3914,7 @@ msgstr "" "冲çªï¼ˆéšå¼ç›®å½•é‡å‘½åï¼‰ï¼šæ— æ³•æ˜ å°„ä¸€ä¸ªä»¥ä¸Šè·¯å¾„åˆ° %s,éšå¼ç›®å½•é‡å‘½åå°è¯•将这些路" "径放置于æ¤ï¼š%s" -#: merge-recursive.c:2164 +#: merge-recursive.c:2169 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3871,59 +3923,59 @@ msgstr "" "冲çªï¼ˆé‡å‘½å/é‡å‘½å):在 %3$s ä¸é‡å‘½å目录 %1$s->%2$s,在 %6$s ä¸é‡å‘½å目录 " "%4$s->%5$s" -#: merge-recursive.c:2408 +#: merge-recursive.c:2413 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " "renamed." msgstr "è¦å‘Šï¼šé¿å…应用 %s -> %s çš„é‡å‘½å到 %sï¼Œå› ä¸º %s 本身已被é‡å‘½å。" -#: merge-recursive.c:2929 +#: merge-recursive.c:2938 #, c-format msgid "cannot read object %s" msgstr "ä¸èƒ½è¯»å–对象 %s" -#: merge-recursive.c:2932 +#: merge-recursive.c:2941 #, c-format msgid "object %s is not a blob" msgstr "对象 %s 䏿˜¯ä¸€ä¸ªæ•°æ®å¯¹è±¡" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modify" msgstr "修改" -#: merge-recursive.c:2996 +#: merge-recursive.c:3005 msgid "modified" msgstr "修改" -#: merge-recursive.c:3008 +#: merge-recursive.c:3017 msgid "content" msgstr "内容" -#: merge-recursive.c:3012 +#: merge-recursive.c:3021 msgid "add/add" msgstr "æ·»åŠ /æ·»åŠ " -#: merge-recursive.c:3035 +#: merge-recursive.c:3044 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "略过 %s(已ç»åšè¿‡ç›¸åŒåˆå¹¶ï¼‰" -#: merge-recursive.c:3057 git-submodule.sh:937 +#: merge-recursive.c:3066 git-submodule.sh:937 msgid "submodule" msgstr "忍¡ç»„" -#: merge-recursive.c:3058 +#: merge-recursive.c:3067 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "冲çªï¼ˆ%s):åˆå¹¶å†²çªäºŽ %s" -#: merge-recursive.c:3088 +#: merge-recursive.c:3097 #, c-format msgid "Adding as %s instead" msgstr "而是以 %s ä¸ºåæ·»åŠ " -#: merge-recursive.c:3170 +#: merge-recursive.c:3179 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3931,7 +3983,7 @@ msgid "" msgstr "" "路径已更新:%s æ·»åŠ åˆ° %s,ä½äºŽä¸€ä¸ªè¢«é‡å‘½å到 %s 的目录ä¸ï¼Œå°†å…¶ç§»åŠ¨åˆ° %s。" -#: merge-recursive.c:3173 +#: merge-recursive.c:3182 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3940,7 +3992,7 @@ msgstr "" "冲çªï¼ˆæ–‡ä»¶ä½ç½®ï¼‰ï¼š%s æ·»åŠ åˆ° %s,ä½äºŽä¸€ä¸ªè¢«é‡å‘½å为 %s 的目录ä¸ï¼Œå»ºè®®å°†å…¶ç§»åЍ" "到 %s。" -#: merge-recursive.c:3177 +#: merge-recursive.c:3186 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -3949,7 +4001,7 @@ msgstr "" "路径已更新:%1$s é‡å‘½å为 %3$s ä¸çš„ %2$s,而该目录被é‡å‘½å到 %4$s ä¸ï¼Œå°†å…¶ç§»" "动到 %5$s。" -#: merge-recursive.c:3180 +#: merge-recursive.c:3189 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -3958,35 +4010,35 @@ msgstr "" "冲çªï¼ˆæ–‡ä»¶ä½ç½®ï¼‰ï¼š%1$s é‡å‘½å为 %3$s ä¸çš„ %2$s,而该目录被é‡å‘½å到 %4$s ä¸ï¼Œ" "建议将其移动到 %5$s。" -#: merge-recursive.c:3294 +#: merge-recursive.c:3303 #, c-format msgid "Removing %s" msgstr "åˆ é™¤ %s" -#: merge-recursive.c:3317 +#: merge-recursive.c:3326 msgid "file/directory" msgstr "文件/目录" -#: merge-recursive.c:3322 +#: merge-recursive.c:3331 msgid "directory/file" msgstr "目录/文件" -#: merge-recursive.c:3329 +#: merge-recursive.c:3338 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "冲çªï¼ˆ%1$s):在 %3$s 䏿œ‰ä¸€ä¸ªå为 %2$s 的目录。以 %5$s ä¸ºåæ·»åŠ %4$s" -#: merge-recursive.c:3338 +#: merge-recursive.c:3347 #, c-format msgid "Adding %s" msgstr "æ·»åŠ %s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3356 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "冲çªï¼ˆadd/add):åˆå¹¶å†²çªäºŽ %s" -#: merge-recursive.c:3385 +#: merge-recursive.c:3394 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -3995,174 +4047,187 @@ msgstr "" "您对下列文件的本地修改将被åˆå¹¶æ“作覆盖:\n" " %s" -#: merge-recursive.c:3396 +#: merge-recursive.c:3405 msgid "Already up to date!" msgstr "å·²ç»æ˜¯æœ€æ–°çš„ï¼" -#: merge-recursive.c:3405 +#: merge-recursive.c:3414 #, c-format msgid "merging of trees %s and %s failed" msgstr "æ— æ³•åˆå¹¶æ ‘ %s å’Œ %s" -#: merge-recursive.c:3504 +#: merge-recursive.c:3513 msgid "Merging:" msgstr "åˆå¹¶ï¼š" -#: merge-recursive.c:3517 +#: merge-recursive.c:3526 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "å‘现 %u 个共åŒç¥–先:" msgstr[1] "å‘现 %u 个共åŒç¥–先:" -#: merge-recursive.c:3556 +#: merge-recursive.c:3565 msgid "merge returned no commit" msgstr "åˆå¹¶æœªè¿”回æäº¤" -#: merge-recursive.c:3622 +#: merge-recursive.c:3631 #, c-format msgid "Could not parse object '%s'" msgstr "ä¸èƒ½è§£æžå¯¹è±¡ '%s'" -#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873 +#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 msgid "Unable to write index." msgstr "ä¸èƒ½å†™å…¥ç´¢å¼•。" -#: midx.c:66 +#: midx.c:69 #, c-format msgid "multi-pack-index file %s is too small" msgstr "多包索引文件 %s 太å°" -#: midx.c:82 +#: midx.c:85 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "多包索引ç¾å 0x%08x å’Œç¾å 0x%08x ä¸åŒ¹é…" -#: midx.c:87 +#: midx.c:90 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "multi-pack-index 版本 %d ä¸èƒ½è¢«è¯†åˆ«" -#: midx.c:92 +#: midx.c:95 #, c-format msgid "hash version %u does not match" msgstr "散列版本 %u ä¸åŒ¹é…" -#: midx.c:106 +#: midx.c:109 msgid "invalid chunk offset (too large)" msgstr "æ— æ•ˆçš„å—å移(太大)" -#: midx.c:130 +#: midx.c:133 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "终æ¢å¤šåŒ…ç´¢å¼•å— id 出现时间早于预期" -#: midx.c:143 +#: midx.c:146 msgid "multi-pack-index missing required pack-name chunk" msgstr "多包索引缺少必需的包åå—" -#: midx.c:145 +#: midx.c:148 msgid "multi-pack-index missing required OID fanout chunk" msgstr "多包索引缺少必需的对象 ID 扇出å—" -#: midx.c:147 +#: midx.c:150 msgid "multi-pack-index missing required OID lookup chunk" msgstr "多包索引缺少必需的对象 ID 查询å—" -#: midx.c:149 +#: midx.c:152 msgid "multi-pack-index missing required object offsets chunk" msgstr "多包索引缺少必需的对象åç§»å—" -#: midx.c:163 +#: midx.c:166 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "å¤šåŒ…ç´¢å¼•åŒ…åæ— åºï¼š'%s' 在 '%s' 之å‰" -#: midx.c:208 +#: midx.c:211 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "错的 pack-int-id:%u(共有 %u 个包)" -#: midx.c:258 +#: midx.c:261 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "多包索引å˜å‚¨ä¸€ä¸ª64ä½å移,但是 off_t 太å°" -#: midx.c:286 +#: midx.c:289 msgid "error preparing packfile from multi-pack-index" msgstr "从多包索引准备 packfile 出错" -#: midx.c:457 +#: midx.c:470 #, c-format msgid "failed to add packfile '%s'" msgstr "æ·»åŠ åŒ…æ–‡ä»¶ '%s' 失败" -#: midx.c:463 +#: midx.c:476 #, c-format msgid "failed to open pack-index '%s'" msgstr "打开包索引 '%s' 失败" -#: midx.c:557 +#: midx.c:536 #, c-format msgid "failed to locate object %d in packfile" msgstr "在包文件ä¸å®šä½å¯¹è±¡ %d 失败" -#: midx.c:993 +#: midx.c:865 +#, c-format +msgid "did not see pack-file %s to drop" +msgstr "没有看到è¦ä¸¢å¼ƒçš„包文件 %s" + +#: midx.c:1036 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "清ç†ä½äºŽ %s 的多包索引失败" -#: midx.c:1048 +#: midx.c:1091 msgid "Looking for referenced packfiles" msgstr "æ£åœ¨æŸ¥æ‰¾å¼•用的包文件" -#: midx.c:1063 +#: midx.c:1106 #, c-format msgid "" "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" msgstr "对象 ID æ‰‡å‡ºæ— åºï¼šfanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]" -#: midx.c:1067 +#: midx.c:1110 msgid "Verifying OID order in MIDX" msgstr "æ£åœ¨æ ¡éªŒ MIDX ä¸çš„对象 ID 顺åº" -#: midx.c:1076 +#: midx.c:1119 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "对象 ID æŸ¥è¯¢æ— åºï¼šoid[%d] = %s >= %s = oid[%d]" -#: midx.c:1095 +#: midx.c:1138 msgid "Sorting objects by packfile" msgstr "通过包文件为对象排åº" -#: midx.c:1101 +#: midx.c:1144 msgid "Verifying object offsets" msgstr "æ ¡éªŒå¯¹è±¡åç§»" -#: midx.c:1117 +#: midx.c:1160 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "为 oid[%d] = %s åŠ è½½åŒ…æ¡ç›®å¤±è´¥" -#: midx.c:1123 +#: midx.c:1166 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "为包文件 %s åŠ è½½åŒ…ç´¢å¼•å¤±è´¥" -#: midx.c:1132 +#: midx.c:1175 #, c-format msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>" msgstr "oid[%d] = %s 错误的对象å移:%<PRIx64> != %<PRIx64>" -#: name-hash.c:531 +#: midx.c:1350 +msgid "could not start pack-objects" +msgstr "ä¸èƒ½å¼€å§‹ pack-objects" + +#: midx.c:1369 +msgid "could not finish pack-objects" +msgstr "ä¸èƒ½ç»“æŸ pack-objects" + +#: name-hash.c:532 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "ä¸èƒ½åˆ›å»º lazy_dir 线程:%s" -#: name-hash.c:553 +#: name-hash.c:554 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "ä¸èƒ½åˆ›å»º lazy_name 线程:%s" -#: name-hash.c:559 +#: name-hash.c:560 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "ä¸èƒ½åŠ å…¥ lasy_name 线程:%s" @@ -4231,16 +4296,16 @@ msgstr "ä¸èƒ½è§£æžå¯¹è±¡ï¼š%s" msgid "hash mismatch %s" msgstr "哈希值与 %s ä¸åŒ¹é…" -#: packfile.c:617 +#: packfile.c:648 msgid "offset before end of packfile (broken .idx?)" msgstr "åç§»é‡åœ¨åŒ…文件结æŸä¹‹å‰ï¼ˆæŸåçš„ .idx?)" -#: packfile.c:1868 +#: packfile.c:1899 #, c-format msgid "offset before start of pack index for %s (corrupt index?)" msgstr "åç§»é‡åœ¨ %s 的包索引开始之å‰ï¼ˆæŸå的索引?)" -#: packfile.c:1872 +#: packfile.c:1903 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "åç§»é‡è¶Šè¿‡äº† %s 的包索引的结尾(被截æ–的索引?)" @@ -4492,24 +4557,29 @@ msgstr "æ— æ³•åˆ›å»ºçº¿ç¨‹ lstat:%s" msgid "unable to parse --pretty format" msgstr "ä¸èƒ½è§£æž --pretty æ ¼å¼" -#: range-diff.c:56 +#: range-diff.c:70 msgid "could not start `log`" msgstr "ä¸èƒ½å¯åЍ `log`" -#: range-diff.c:59 +#: range-diff.c:72 msgid "could not read `log` output" msgstr "ä¸èƒ½è¯»å– `log` 的输出" -#: range-diff.c:74 sequencer.c:4897 +#: range-diff.c:91 sequencer.c:5021 #, c-format msgid "could not parse commit '%s'" msgstr "ä¸èƒ½è§£æžæäº¤ '%s'" -#: range-diff.c:224 +#: range-diff.c:117 +#, c-format +msgid "could not parse git header '%.*s'" +msgstr "æ— æ³•è§£æž git 头 '%.*s'" + +#: range-diff.c:274 msgid "failed to generate diff" msgstr "ç”Ÿæˆ diff 失败" -#: range-diff.c:455 range-diff.c:457 +#: range-diff.c:506 range-diff.c:508 #, c-format msgid "could not parse log for '%s'" msgstr "ä¸èƒ½è§£æž '%s' 的日志" @@ -4625,11 +4695,10 @@ msgid "unordered stage entries for '%s'" msgstr "'%s' çš„æœªæŽ’åºæš‚å˜æ¡ç›®" #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358 -#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955 -#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498 -#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271 -#: builtin/submodule--helper.c:330 +#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 +#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 +#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 +#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 msgid "index file corrupt" msgstr "索引文件æŸå" @@ -4683,12 +4752,12 @@ msgstr "æ— æ³•åˆ·æ–°å…±äº«ç´¢å¼• '%s'" msgid "broken index, expect %s in %s, got %s" msgstr "æŸå的索引,期望在 %2$s ä¸çš„ %1$s,得到 %3$s" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117 +#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 #, c-format msgid "could not close '%s'" msgstr "ä¸èƒ½å…³é— '%s'" -#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807 +#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 #, c-format msgid "could not stat '%s'" msgstr "ä¸èƒ½å¯¹ '%s' 调用 stat" @@ -4766,7 +4835,7 @@ msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "å˜åŸº %s 到 %s(%d 个æäº¤ï¼‰" msgstr[1] "å˜åŸº %s 到 %s(%d 个æäº¤ï¼‰" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173 +#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4774,7 +4843,7 @@ msgstr "" "\n" "ä¸è¦åˆ 除任æ„一行。使用 'drop' 显å¼åœ°åˆ 除一个æäº¤ã€‚\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177 +#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4782,7 +4851,7 @@ msgstr "" "\n" "å¦‚æžœæ‚¨åœ¨è¿™é‡Œåˆ é™¤ä¸€è¡Œï¼Œå¯¹åº”çš„æäº¤å°†ä¼šä¸¢å¤±ã€‚\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816 +#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4796,7 +4865,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893 +#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4806,12 +4875,12 @@ msgstr "" "ç„¶è€Œï¼Œå¦‚æžœæ‚¨åˆ é™¤å…¨éƒ¨å†…å®¹ï¼Œå˜åŸºæ“作将会终æ¢ã€‚\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900 +#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 msgid "Note that empty commits are commented out" msgstr "注æ„空æäº¤å·²è¢«æ³¨é‡ŠæŽ‰" -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339 -#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 +#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 #, c-format msgid "could not write '%s'" msgstr "ä¸èƒ½å†™å…¥ '%s'" @@ -4846,97 +4915,98 @@ msgstr "" "å¯é€‰å€¼æœ‰ï¼šignoreã€warnã€error。\n" "\n" -#: refs.c:192 +#: refs.c:262 #, c-format msgid "%s does not point to a valid object!" msgstr "%s 没有指å‘一个有效的对象ï¼" -#: refs.c:597 +#: refs.c:667 #, c-format msgid "ignoring dangling symref %s" msgstr "忽略悬空符å·å¼•用 %s" -#: refs.c:599 ref-filter.c:1982 +#: refs.c:669 ref-filter.c:2092 #, c-format msgid "ignoring broken ref %s" msgstr "忽略æŸå的引用 %s" -#: refs.c:734 +#: refs.c:804 #, c-format msgid "could not open '%s' for writing: %s" msgstr "æ— æ³•ä¸ºå†™å…¥æ‰“å¼€ '%s':%s" -#: refs.c:744 refs.c:795 +#: refs.c:814 refs.c:865 #, c-format msgid "could not read ref '%s'" msgstr "æ— æ³•è¯»å–引用 '%s'" -#: refs.c:750 +#: refs.c:820 #, c-format msgid "ref '%s' already exists" msgstr "引用 '%s' å·²ç»å˜åœ¨" -#: refs.c:755 +#: refs.c:825 #, c-format msgid "unexpected object ID when writing '%s'" msgstr "写入 '%s' æ—¶æ„外的对象 ID" -#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805 -#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656 +#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 +#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 #, c-format msgid "could not write to '%s'" msgstr "ä¸èƒ½å†™å…¥ '%s'" -#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993 +#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 +#: builtin/rebase.c:1003 #, c-format msgid "could not open '%s' for writing" msgstr "æ— æ³•æ‰“å¼€ '%s' 进行写入" -#: refs.c:797 +#: refs.c:867 #, c-format msgid "unexpected object ID when deleting '%s'" msgstr "åˆ é™¤ '%s' æ—¶æ„外的对象 ID" -#: refs.c:928 +#: refs.c:998 #, c-format msgid "log for ref %s has gap after %s" msgstr "引用 %s 的日志在 %s ä¹‹åŽæœ‰ç¼ºå£" -#: refs.c:934 +#: refs.c:1004 #, c-format msgid "log for ref %s unexpectedly ended on %s" msgstr "引用 %s 的日志æ„外终æ¢äºŽ %s " -#: refs.c:993 +#: refs.c:1063 #, c-format msgid "log for %s is empty" msgstr "%s 的日志为空" -#: refs.c:1085 +#: refs.c:1155 #, c-format msgid "refusing to update ref with bad name '%s'" msgstr "æ‹’ç»æ›´æ–°æœ‰é”™è¯¯åç§° '%s' 的引用" -#: refs.c:1161 +#: refs.c:1231 #, c-format msgid "update_ref failed for ref '%s': %s" msgstr "对引用 '%s' 执行 update_ref 失败:%s" -#: refs.c:1942 +#: refs.c:2012 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "ä¸å…许对引用 '%s' 多次更新" -#: refs.c:1974 +#: refs.c:2044 msgid "ref updates forbidden inside quarantine environment" msgstr "在隔离环境ä¸ç¦æ¢æ›´æ–°å¼•用" -#: refs.c:2070 refs.c:2100 +#: refs.c:2140 refs.c:2170 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' å·²å˜åœ¨ï¼Œæ— 法创建 '%s'" -#: refs.c:2076 refs.c:2111 +#: refs.c:2146 refs.c:2181 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "æ— æ³•åŒæ—¶å¤„ç† '%s' å’Œ '%s'" @@ -4962,267 +5032,251 @@ msgstr "æ— æ³•åˆ é™¤å¼•ç”¨ï¼š%s" msgid "invalid refspec '%s'" msgstr "æ— æ•ˆçš„å¼•ç”¨è¡¨è¾¾å¼ï¼š'%s'" -#: ref-filter.c:39 wt-status.c:1909 +#: ref-filter.c:42 wt-status.c:1934 msgid "gone" msgstr "丢失" -#: ref-filter.c:40 +#: ref-filter.c:43 #, c-format msgid "ahead %d" msgstr "领先 %d" -#: ref-filter.c:41 +#: ref-filter.c:44 #, c-format msgid "behind %d" msgstr "è½åŽ %d" -#: ref-filter.c:42 +#: ref-filter.c:45 #, c-format msgid "ahead %d, behind %d" msgstr "领先 %d,è½åŽ %d" -#: ref-filter.c:138 +#: ref-filter.c:162 #, c-format msgid "expected format: %%(color:<color>)" msgstr "æœŸæœ›çš„æ ¼å¼ï¼š%%(color:<颜色>)" -#: ref-filter.c:140 +#: ref-filter.c:164 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "未能识别的颜色:%%(color:%s)" -#: ref-filter.c:162 +#: ref-filter.c:186 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "期望整数值 refname:lstrip=%s" -#: ref-filter.c:166 +#: ref-filter.c:190 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "期望整数值 refname:rstrip=%s" -#: ref-filter.c:168 +#: ref-filter.c:192 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "未能识别的 %%(%s) 傿•°ï¼š%s" -#: ref-filter.c:223 +#: ref-filter.c:247 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) ä¸å¸¦å‚æ•°" -#: ref-filter.c:245 +#: ref-filter.c:269 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "未能识别的 %%(objectsize) 傿•°ï¼š%s" -#: ref-filter.c:253 +#: ref-filter.c:277 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) ä¸å¸¦å‚æ•°" -#: ref-filter.c:265 +#: ref-filter.c:289 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) ä¸å¸¦å‚æ•°" -#: ref-filter.c:274 +#: ref-filter.c:298 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) ä¸å¸¦å‚æ•°" -#: ref-filter.c:296 +#: ref-filter.c:320 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "未知的 %%(trailers) 傿•°ï¼š%s" -#: ref-filter.c:325 +#: ref-filter.c:349 #, c-format msgid "positive value expected contents:lines=%s" msgstr "æœŸæœ›ä¸€ä¸ªæ£æ•° contents:lines=%s" -#: ref-filter.c:327 +#: ref-filter.c:351 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "未能识别的 %%(contents) 傿•°ï¼š%s" -#: ref-filter.c:342 +#: ref-filter.c:366 #, c-format msgid "positive value expected objectname:short=%s" msgstr "æœŸæœ›ä¸€ä¸ªæ£æ•° objectname:short=%s" -#: ref-filter.c:346 +#: ref-filter.c:370 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "未能识别的 %%(objectname) 傿•°ï¼š%s" -#: ref-filter.c:376 +#: ref-filter.c:400 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "æœŸæœ›çš„æ ¼å¼ï¼š%%(align:<宽度>,<ä½ç½®>)" -#: ref-filter.c:388 +#: ref-filter.c:412 #, c-format msgid "unrecognized position:%s" msgstr "未能识别的ä½ç½®ï¼š%s" -#: ref-filter.c:395 +#: ref-filter.c:419 #, c-format msgid "unrecognized width:%s" msgstr "未能识别的宽度:%s" -#: ref-filter.c:404 +#: ref-filter.c:428 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "未能识别的 %%(align) 傿•°ï¼š%s" -#: ref-filter.c:412 +#: ref-filter.c:436 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "å…ƒç´ %%(align) 需è¦ä¸€ä¸ªæ£æ•°çš„宽度" -#: ref-filter.c:430 +#: ref-filter.c:454 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "未能识别的 %%(if) 傿•°ï¼š%s" -#: ref-filter.c:531 +#: ref-filter.c:556 #, c-format msgid "malformed field name: %.*s" msgstr "æ ¼å¼é”™è¯¯çš„å—æ®µå:%.*s" -#: ref-filter.c:558 +#: ref-filter.c:583 #, c-format msgid "unknown field name: %.*s" msgstr "æœªçŸ¥çš„å—æ®µå:%.*s" -#: ref-filter.c:562 +#: ref-filter.c:587 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "䏿˜¯ä¸€ä¸ª git ä»“åº“ï¼Œä½†æ˜¯å—æ®µ '%.*s' 需è¦è®¿é—®å¯¹è±¡æ•°æ®" -#: ref-filter.c:686 +#: ref-filter.c:711 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "æ ¼å¼ï¼šä½¿ç”¨äº† %%(if) å…ƒç´ è€Œæ²¡æœ‰ %%(then) å…ƒç´ " -#: ref-filter.c:749 +#: ref-filter.c:774 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "æ ¼å¼ï¼šä½¿ç”¨äº† %%(then) å…ƒç´ è€Œæ²¡æœ‰ %%(if) å…ƒç´ " -#: ref-filter.c:751 +#: ref-filter.c:776 #, c-format msgid "format: %%(then) atom used more than once" msgstr "æ ¼å¼ï¼š%%(then) å…ƒç´ ç”¨äº†å¤šæ¬¡" -#: ref-filter.c:753 +#: ref-filter.c:778 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "æ ¼å¼ï¼š%%(then) å…ƒç´ ç”¨åœ¨äº† %%(else) 之åŽ" -#: ref-filter.c:781 +#: ref-filter.c:806 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "æ ¼å¼ï¼šä½¿ç”¨äº† %%(else) å…ƒç´ è€Œæ²¡æœ‰ %%(if) å…ƒç´ " -#: ref-filter.c:783 +#: ref-filter.c:808 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "æ ¼å¼ï¼šä½¿ç”¨äº† %%(else) å…ƒç´ è€Œæ²¡æœ‰ %%(then) å…ƒç´ " -#: ref-filter.c:785 +#: ref-filter.c:810 #, c-format msgid "format: %%(else) atom used more than once" msgstr "æ ¼å¼ï¼š%%(else) å…ƒç´ ç”¨äº†å¤šæ¬¡" -#: ref-filter.c:800 +#: ref-filter.c:825 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "æ ¼å¼ï¼šä½¿ç”¨äº† %%(end) å…ƒç´ å´æ²¡æœ‰å®ƒçš„å¯¹åº”å…ƒç´ " -#: ref-filter.c:857 +#: ref-filter.c:882 #, c-format msgid "malformed format string %s" msgstr "é”™è¯¯çš„æ ¼å¼åŒ–å—符串 %s" -#: ref-filter.c:1453 +#: ref-filter.c:1485 #, c-format -msgid "(no branch, rebasing %s)" -msgstr "(éžåˆ†æ”¯ï¼Œæ£å˜åŸº %s)" +msgid "no branch, rebasing %s" +msgstr "éžåˆ†æ”¯ï¼Œæ£å˜åŸº %s" -#: ref-filter.c:1456 +#: ref-filter.c:1488 #, c-format -msgid "(no branch, rebasing detached HEAD %s)" -msgstr "(éžåˆ†æ”¯ï¼Œæ£å˜åŸºåˆ†ç¦»å¤´æŒ‡é’ˆ %s)" +msgid "no branch, rebasing detached HEAD %s" +msgstr "éžåˆ†æ”¯ï¼Œæ£å˜åŸºåˆ†ç¦»å¤´æŒ‡é’ˆ %s" -#: ref-filter.c:1459 +#: ref-filter.c:1491 #, c-format -msgid "(no branch, bisect started on %s)" -msgstr "(éžåˆ†æ”¯ï¼ŒäºŒåˆ†æŸ¥æ‰¾å¼€å§‹äºŽ %s)" +msgid "no branch, bisect started on %s" +msgstr "éžåˆ†æ”¯ï¼ŒäºŒåˆ†æŸ¥æ‰¾å¼€å§‹äºŽ %s" -#. TRANSLATORS: make sure this matches "HEAD -#. detached at " in wt-status.c -#. -#: ref-filter.c:1467 -#, c-format -msgid "(HEAD detached at %s)" -msgstr "(头指针分离于 %s)" +#: ref-filter.c:1501 +msgid "no branch" +msgstr "éžåˆ†æ”¯" -#. TRANSLATORS: make sure this matches "HEAD -#. detached from " in wt-status.c -#. -#: ref-filter.c:1474 -#, c-format -msgid "(HEAD detached from %s)" -msgstr "(头指针分离自 %s)" - -#: ref-filter.c:1478 -msgid "(no branch)" -msgstr "(éžåˆ†æ”¯ï¼‰" - -#: ref-filter.c:1512 ref-filter.c:1669 +#: ref-filter.c:1537 ref-filter.c:1743 #, c-format msgid "missing object %s for %s" msgstr "缺失 %2$s 的对象 %1$s" -#: ref-filter.c:1522 +#: ref-filter.c:1547 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer 失败于 %2$s çš„ %1$s" -#: ref-filter.c:1888 +#: ref-filter.c:1998 #, c-format msgid "malformed object at '%s'" msgstr "æ ¼å¼é”™è¯¯çš„对象 '%s'" -#: ref-filter.c:1977 +#: ref-filter.c:2087 #, c-format msgid "ignoring ref with broken name %s" msgstr "忽略带有错误åç§° %s 的引用" -#: ref-filter.c:2263 +#: ref-filter.c:2382 #, c-format msgid "format: %%(end) atom missing" msgstr "æ ¼å¼ï¼šç¼ºå°‘ %%(end) å…ƒç´ " -#: ref-filter.c:2363 +#: ref-filter.c:2482 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "选项 `%s' å’Œ --merged ä¸å…¼å®¹" -#: ref-filter.c:2366 +#: ref-filter.c:2485 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "选项 `%s' å’Œ --no-merged ä¸å…¼å®¹" -#: ref-filter.c:2376 +#: ref-filter.c:2495 #, c-format msgid "malformed object name %s" msgstr "æ ¼å¼é”™è¯¯çš„对象å %s" -#: ref-filter.c:2381 +#: ref-filter.c:2500 #, c-format msgid "option `%s' must point to a commit" msgstr "选项 `%s' 必须指å‘一个æäº¤" @@ -5559,8 +5613,8 @@ msgstr "ä¸èƒ½åˆ 除 stray '%s'" msgid "Recorded preimage for '%s'" msgstr "为 '%s' 记录 preimage" -#: rerere.c:881 submodule.c:2024 builtin/log.c:1750 -#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427 +#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 +#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 #, c-format msgid "could not create directory '%s'" msgstr "ä¸èƒ½åˆ›å»ºç›®å½• '%s'" @@ -5594,20 +5648,20 @@ msgstr "忘记 '%s' 的解决方案\n" msgid "unable to open rr-cache directory" msgstr "ä¸èƒ½æ‰“å¼€ rr-cache 目录" -#: revision.c:2476 +#: revision.c:2507 msgid "your current branch appears to be broken" msgstr "您的当å‰åˆ†æ”¯å¥½åƒè¢«æŸå" -#: revision.c:2479 +#: revision.c:2510 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "您的当å‰åˆ†æ”¯ '%s' å°šæ— ä»»ä½•æäº¤" -#: revision.c:2679 +#: revision.c:2710 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent 与 --bisect ä¸å…¼å®¹" -#: revision.c:2683 +#: revision.c:2714 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L å°šä¸æ”¯æŒ -p å’Œ -s ä¹‹å¤–çš„å·®å¼‚æ ¼å¼" @@ -5675,24 +5729,29 @@ msgstr "æ— æ•ˆçš„æäº¤ä¿¡æ¯æ¸…ç†æ¨¡å¼ '%s'" msgid "could not delete '%s'" msgstr "æ— æ³•åˆ é™¤ '%s'" -#: sequencer.c:318 +#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#, c-format +msgid "could not remove '%s'" +msgstr "æ— æ³•åˆ é™¤ '%s'" + +#: sequencer.c:321 msgid "revert" msgstr "还原" -#: sequencer.c:320 +#: sequencer.c:323 msgid "cherry-pick" msgstr "拣选" -#: sequencer.c:322 +#: sequencer.c:325 msgid "rebase -i" msgstr "rebase -i" -#: sequencer.c:324 +#: sequencer.c:327 #, c-format msgid "unknown action: %d" msgstr "未知动作:%d" -#: sequencer.c:382 +#: sequencer.c:385 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -5700,7 +5759,7 @@ msgstr "" "冲çªè§£å†³å®Œæ¯•åŽï¼Œç”¨ 'git add <路径>' 或 'git rm <路径>'\n" "å‘½ä»¤æ ‡è®°ä¿®æ£åŽçš„æ–‡ä»¶" -#: sequencer.c:385 +#: sequencer.c:388 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -5709,44 +5768,44 @@ msgstr "" "冲çªè§£å†³å®Œæ¯•åŽï¼Œç”¨ 'git add <路径>' 或 'git rm <路径>'\n" "对修æ£åŽçš„æ–‡ä»¶åšæ ‡è®°ï¼Œç„¶åŽç”¨ 'git commit' æäº¤" -#: sequencer.c:398 sequencer.c:2801 +#: sequencer.c:401 sequencer.c:2909 #, c-format msgid "could not lock '%s'" msgstr "ä¸èƒ½é”定 '%s'" -#: sequencer.c:405 +#: sequencer.c:408 #, c-format msgid "could not write eol to '%s'" msgstr "ä¸èƒ½å°†æ¢è¡Œç¬¦å†™å…¥ '%s'" -#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821 -#: sequencer.c:3084 +#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 +#: sequencer.c:3192 #, c-format msgid "failed to finalize '%s'" msgstr "æ— æ³•å®Œæˆ '%s'" -#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704 -#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760 -#: builtin/merge.c:1115 builtin/rebase.c:567 +#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 +#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 +#: builtin/merge.c:1112 builtin/rebase.c:567 #, c-format msgid "could not read '%s'" msgstr "ä¸èƒ½è¯»å– '%s'" -#: sequencer.c:459 +#: sequencer.c:462 #, c-format msgid "your local changes would be overwritten by %s." msgstr "您的本地修改将被%s覆盖。" -#: sequencer.c:463 +#: sequencer.c:466 msgid "commit your changes or stash them to proceed." msgstr "æäº¤æ‚¨çš„修改或贮è—åŽå†ç»§ç»ã€‚" -#: sequencer.c:495 +#: sequencer.c:498 #, c-format msgid "%s: fast-forward" msgstr "%s:快进" -#: sequencer.c:534 builtin/tag.c:555 +#: sequencer.c:537 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "æ— æ•ˆçš„æ¸…ç†æ¨¡å¼ %s" @@ -5754,70 +5813,70 @@ msgstr "æ— æ•ˆçš„æ¸…ç†æ¨¡å¼ %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or #. "rebase -i". #. -#: sequencer.c:629 +#: sequencer.c:632 #, c-format msgid "%s: Unable to write new index file" msgstr "%sï¼šæ— æ³•å†™å…¥æ–°ç´¢å¼•æ–‡ä»¶" -#: sequencer.c:646 +#: sequencer.c:649 msgid "unable to update cache tree" msgstr "ä¸èƒ½æ›´æ–°ç¼“å˜æ ‘" -#: sequencer.c:660 +#: sequencer.c:663 msgid "could not resolve HEAD commit" msgstr "ä¸èƒ½è§£æž HEAD æäº¤" -#: sequencer.c:740 +#: sequencer.c:743 #, c-format msgid "no key present in '%.*s'" msgstr "在 '%.*s' 䏿²¡æœ‰ key" -#: sequencer.c:751 +#: sequencer.c:754 #, c-format msgid "unable to dequote value of '%s'" msgstr "æ— æ³•ä¸º '%s' 的值去引å·" -#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035 +#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 +#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 #, c-format msgid "could not open '%s' for reading" msgstr "æ— æ³•æ‰“å¼€ '%s' 进行读å–" -#: sequencer.c:798 +#: sequencer.c:801 msgid "'GIT_AUTHOR_NAME' already given" msgstr "å·²ç»ç»™å‡º 'GIT_AUTHOR_NAME'" -#: sequencer.c:803 +#: sequencer.c:806 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "å·²ç»ç»™å‡º 'GIT_AUTHOR_EMAIL'" -#: sequencer.c:808 +#: sequencer.c:811 msgid "'GIT_AUTHOR_DATE' already given" msgstr "å·²ç»ç»™å‡º 'GIT_AUTHOR_DATE'" -#: sequencer.c:812 +#: sequencer.c:815 #, c-format msgid "unknown variable '%s'" msgstr "未知å˜é‡ '%s'" -#: sequencer.c:817 +#: sequencer.c:820 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "缺少 'GIT_AUTHOR_NAME'" -#: sequencer.c:819 +#: sequencer.c:822 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "缺少 'GIT_AUTHOR_EMAIL'" -#: sequencer.c:821 +#: sequencer.c:824 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "缺少 'GIT_AUTHOR_DATE'" -#: sequencer.c:881 +#: sequencer.c:884 #, c-format msgid "invalid date format '%s' in '%s'" msgstr "'%2$s' 䏿— æ•ˆçš„æ—¥æœŸæ ¼å¼ '%1$s'" -#: sequencer.c:898 +#: sequencer.c:901 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5846,15 +5905,15 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:992 +#: sequencer.c:995 msgid "writing root commit" msgstr "å†™æ ¹æäº¤" -#: sequencer.c:1213 +#: sequencer.c:1216 msgid "'prepare-commit-msg' hook failed" msgstr "'prepare-commit-msg' é’©å失败" -#: sequencer.c:1220 +#: sequencer.c:1223 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5878,7 +5937,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1233 +#: sequencer.c:1236 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5901,306 +5960,349 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1275 +#: sequencer.c:1278 msgid "couldn't look up newly created commit" msgstr "æ— æ³•æ‰¾åˆ°æ–°åˆ›å»ºçš„æäº¤" -#: sequencer.c:1277 +#: sequencer.c:1280 msgid "could not parse newly created commit" msgstr "ä¸èƒ½è§£æžæ–°åˆ›å»ºçš„æäº¤" -#: sequencer.c:1323 +#: sequencer.c:1326 msgid "unable to resolve HEAD after creating commit" msgstr "创建æäº¤åŽï¼Œä¸èƒ½è§£æž HEAD" -#: sequencer.c:1325 +#: sequencer.c:1328 msgid "detached HEAD" msgstr "分离头指针" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: sequencer.c:1329 +#: sequencer.c:1332 msgid " (root-commit)" msgstr "ï¼ˆæ ¹æäº¤ï¼‰" -#: sequencer.c:1350 +#: sequencer.c:1353 msgid "could not parse HEAD" msgstr "ä¸èƒ½è§£æž HEAD" -#: sequencer.c:1352 +#: sequencer.c:1355 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s 䏿˜¯ä¸€ä¸ªæäº¤ï¼" -#: sequencer.c:1356 builtin/commit.c:1551 +#: sequencer.c:1359 builtin/commit.c:1571 msgid "could not parse HEAD commit" msgstr "ä¸èƒ½è§£æž HEAD æäº¤" -#: sequencer.c:1408 sequencer.c:2001 +#: sequencer.c:1411 sequencer.c:2004 msgid "unable to parse commit author" msgstr "ä¸èƒ½è§£æžæäº¤ä½œè€…" -#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688 +#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 msgid "git write-tree failed to write a tree" msgstr "git write-tree æ— æ³•å†™å…¥æ ‘å¯¹è±¡" -#: sequencer.c:1435 sequencer.c:1496 +#: sequencer.c:1438 sequencer.c:1499 #, c-format msgid "unable to read commit message from '%s'" msgstr "ä¸èƒ½ä»Ž '%s' è¯»å–æäº¤è¯´æ˜Ž" -#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882 -#: builtin/merge.c:906 +#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 +#: builtin/merge.c:903 msgid "failed to write commit object" msgstr "写æäº¤å¯¹è±¡å¤±è´¥" -#: sequencer.c:1523 +#: sequencer.c:1526 #, c-format msgid "could not parse commit %s" msgstr "ä¸èƒ½è§£æžæäº¤ %s" -#: sequencer.c:1528 +#: sequencer.c:1531 #, c-format msgid "could not parse parent commit %s" msgstr "ä¸èƒ½è§£æžçˆ¶æäº¤ %s" -#: sequencer.c:1602 sequencer.c:1712 +#: sequencer.c:1605 sequencer.c:1715 #, c-format msgid "unknown command: %d" msgstr "未知命令:%d" -#: sequencer.c:1659 sequencer.c:1684 +#: sequencer.c:1662 sequencer.c:1687 #, c-format msgid "This is a combination of %d commits." msgstr "这是一个 %d 个æäº¤çš„组åˆã€‚" -#: sequencer.c:1669 +#: sequencer.c:1672 msgid "need a HEAD to fixup" msgstr "需è¦ä¸€ä¸ª HEAD æ¥ä¿®å¤" -#: sequencer.c:1671 sequencer.c:3111 +#: sequencer.c:1674 sequencer.c:3219 msgid "could not read HEAD" msgstr "ä¸èƒ½è¯»å– HEAD" -#: sequencer.c:1673 +#: sequencer.c:1676 msgid "could not read HEAD's commit message" msgstr "ä¸èƒ½è¯»å– HEAD çš„æäº¤è¯´æ˜Ž" -#: sequencer.c:1679 +#: sequencer.c:1682 #, c-format msgid "cannot write '%s'" msgstr "ä¸èƒ½å†™ '%s'" -#: sequencer.c:1686 git-rebase--preserve-merges.sh:441 +#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "这是第一个æäº¤è¯´æ˜Žï¼š" -#: sequencer.c:1694 +#: sequencer.c:1697 #, c-format msgid "could not read commit message of %s" msgstr "ä¸èƒ½è¯»å– %s çš„æäº¤è¯´æ˜Ž" -#: sequencer.c:1701 +#: sequencer.c:1704 #, c-format msgid "This is the commit message #%d:" msgstr "这是æäº¤è¯´æ˜Ž #%d:" -#: sequencer.c:1707 +#: sequencer.c:1710 #, c-format msgid "The commit message #%d will be skipped:" msgstr "æäº¤è¯´æ˜Ž #%d 将被跳过:" -#: sequencer.c:1795 +#: sequencer.c:1798 msgid "your index file is unmerged." msgstr "您的索引文件未完æˆåˆå¹¶ã€‚" -#: sequencer.c:1802 +#: sequencer.c:1805 msgid "cannot fixup root commit" msgstr "ä¸èƒ½ä¿®å¤æ ¹æäº¤" -#: sequencer.c:1821 +#: sequencer.c:1824 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "æäº¤ %s 是一个åˆå¹¶æäº¤ä½†æœªæä¾› -m 选项。" -#: sequencer.c:1829 sequencer.c:1837 +#: sequencer.c:1832 sequencer.c:1840 #, c-format msgid "commit %s does not have parent %d" msgstr "æäº¤ %s 没有第 %d 个父æäº¤" -#: sequencer.c:1843 +#: sequencer.c:1846 #, c-format msgid "cannot get commit message for %s" msgstr "ä¸èƒ½å¾—到 %s çš„æäº¤è¯´æ˜Ž" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1862 +#: sequencer.c:1865 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s:ä¸èƒ½è§£æžçˆ¶æäº¤ %s" -#: sequencer.c:1927 +#: sequencer.c:1930 #, c-format msgid "could not rename '%s' to '%s'" msgstr "ä¸èƒ½å°† '%s' é‡å‘½å为 '%s'" -#: sequencer.c:1982 +#: sequencer.c:1985 #, c-format msgid "could not revert %s... %s" msgstr "ä¸èƒ½è¿˜åŽŸ %s... %s" -#: sequencer.c:1983 +#: sequencer.c:1986 #, c-format msgid "could not apply %s... %s" msgstr "ä¸èƒ½åº”用 %s... %s" -#: sequencer.c:2042 +#: sequencer.c:2045 #, c-format msgid "git %s: failed to read the index" msgstr "git %sï¼šæ— æ³•è¯»å–索引" -#: sequencer.c:2049 +#: sequencer.c:2052 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %sï¼šæ— æ³•åˆ·æ–°ç´¢å¼•" -#: sequencer.c:2118 +#: sequencer.c:2128 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s 䏿ޥå—傿•°ï¼š'%s'" -#: sequencer.c:2127 +#: sequencer.c:2137 #, c-format msgid "missing arguments for %s" msgstr "缺少 %s çš„å‚æ•°" -#: sequencer.c:2164 +#: sequencer.c:2174 #, c-format msgid "could not parse '%.*s'" msgstr "æ— æ³•è§£æž '%.*s'" -#: sequencer.c:2226 +#: sequencer.c:2228 #, c-format msgid "invalid line %d: %.*s" msgstr "æ— æ•ˆè¡Œ %d:%.*s" -#: sequencer.c:2237 +#: sequencer.c:2239 #, c-format msgid "cannot '%s' without a previous commit" msgstr "没有父æäº¤çš„æƒ…况下ä¸èƒ½ '%s'" -#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178 +#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 #: builtin/rebase.c:204 builtin/rebase.c:229 #, c-format msgid "could not read '%s'." msgstr "ä¸èƒ½è¯»å– '%s'。" -#: sequencer.c:2360 +#: sequencer.c:2323 +msgid "cancelling a cherry picking in progress" +msgstr "æ£åœ¨å–消一个进行ä¸çš„æ‹£é€‰" + +#: sequencer.c:2330 +msgid "cancelling a revert in progress" +msgstr "æ£åœ¨å–消一个进行ä¸çš„还原" + +#: sequencer.c:2364 msgid "please fix this using 'git rebase --edit-todo'." msgstr "请用 'git rebase --edit-todo' æ¥ä¿®æ”¹ã€‚" -#: sequencer.c:2362 +#: sequencer.c:2366 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "ä¸å¯ç”¨çš„æŒ‡ä»¤æ¸…å•:'%s'" -#: sequencer.c:2367 +#: sequencer.c:2371 msgid "no commits parsed." msgstr "æ²¡æœ‰è§£æžæäº¤ã€‚" -#: sequencer.c:2378 +#: sequencer.c:2382 msgid "cannot cherry-pick during a revert." msgstr "ä¸èƒ½åœ¨å›žé€€ä¸æ‰§è¡Œæ‹£é€‰ã€‚" -#: sequencer.c:2380 +#: sequencer.c:2384 msgid "cannot revert during a cherry-pick." msgstr "ä¸èƒ½åœ¨æ‹£é€‰ä¸æ‰§è¡Œå›žé€€ã€‚" -#: sequencer.c:2462 +#: sequencer.c:2466 #, c-format msgid "invalid value for %s: %s" msgstr "%s çš„å€¼æ— æ•ˆï¼š%s" -#: sequencer.c:2549 +#: sequencer.c:2553 msgid "unusable squash-onto" msgstr "ä¸å¯ç”¨çš„ squash-onto" -#: sequencer.c:2565 +#: sequencer.c:2569 #, c-format msgid "malformed options sheet: '%s'" msgstr "æ ¼å¼é”™è¯¯çš„选项清å•:'%s'" -#: sequencer.c:2648 sequencer.c:4227 +#: sequencer.c:2652 sequencer.c:4351 msgid "empty commit set passed" msgstr "æä¾›äº†ç©ºçš„æäº¤é›†" -#: sequencer.c:2656 -msgid "a cherry-pick or revert is already in progress" -msgstr "一个拣选或还原æ“作已在进行" +#: sequencer.c:2668 +msgid "revert is already in progress" +msgstr "一个还原æ“作已在进行" + +#: sequencer.c:2670 +#, c-format +msgid "try \"git revert (--continue | %s--abort | --quit)\"" +msgstr "å°è¯• \"git revert (--continue | %s--abort | --quit)\"" -#: sequencer.c:2657 -msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "å°è¯• \"git cherry-pick (--continue | --quit | --abort)\"" +#: sequencer.c:2673 +msgid "cherry-pick is already in progress" +msgstr "拣选æ“作已在进行" -#: sequencer.c:2660 +#: sequencer.c:2675 +#, c-format +msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" +msgstr "å°è¯• \"git cherry-pick (--continue | %s--abort | --quit)\"" + +#: sequencer.c:2689 #, c-format msgid "could not create sequencer directory '%s'" msgstr "ä¸èƒ½åˆ›å»ºåºåˆ—目录 '%s'" -#: sequencer.c:2674 +#: sequencer.c:2704 msgid "could not lock HEAD" msgstr "ä¸èƒ½é”定 HEAD" -#: sequencer.c:2729 sequencer.c:3979 +#: sequencer.c:2764 sequencer.c:4103 msgid "no cherry-pick or revert in progress" msgstr "拣选或还原æ“作并未进行" -#: sequencer.c:2731 +#: sequencer.c:2766 sequencer.c:2777 msgid "cannot resolve HEAD" msgstr "ä¸èƒ½è§£æž HEAD" -#: sequencer.c:2733 sequencer.c:2768 +#: sequencer.c:2768 sequencer.c:2812 msgid "cannot abort from a branch yet to be born" msgstr "ä¸èƒ½ä»Žå°šæœªå»ºç«‹çš„分支终æ¢" -#: sequencer.c:2754 builtin/grep.c:732 +#: sequencer.c:2798 builtin/grep.c:734 #, c-format msgid "cannot open '%s'" msgstr "ä¸èƒ½æ‰“å¼€ '%s'" -#: sequencer.c:2756 +#: sequencer.c:2800 #, c-format msgid "cannot read '%s': %s" msgstr "ä¸èƒ½è¯»å– '%s':%s" -#: sequencer.c:2757 +#: sequencer.c:2801 msgid "unexpected end of file" msgstr "æ„外的文件结æŸ" -#: sequencer.c:2763 +#: sequencer.c:2807 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "ä¿å˜æ‹£é€‰æäº¤å‰çš„ HEAD 文件 '%s' æŸå" -#: sequencer.c:2774 +#: sequencer.c:2818 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "您好åƒç§»åŠ¨äº† HEAD。未能回退,检查您的 HEADï¼" -#: sequencer.c:2903 sequencer.c:3894 +#: sequencer.c:2859 +msgid "no revert in progress" +msgstr "没有æ£åœ¨è¿›è¡Œçš„还原" + +#: sequencer.c:2867 +msgid "no cherry-pick in progress" +msgstr "没有æ£åœ¨è¿›è¡Œçš„æ‹£é€‰" + +#: sequencer.c:2877 +msgid "failed to skip the commit" +msgstr "æ— æ³•è·³è¿‡è¿™ä¸ªæäº¤" + +#: sequencer.c:2884 +msgid "there is nothing to skip" +msgstr "没有è¦è·³è¿‡çš„" + +#: sequencer.c:2887 +#, c-format +msgid "" +"have you committed already?\n" +"try \"git %s --continue\"" +msgstr "" +"æ‚¨å·²ç»æäº¤äº†ä¹ˆï¼Ÿ\n" +"试试 \"git %s --continue\"" + +#: sequencer.c:3011 sequencer.c:4015 #, c-format msgid "could not update %s" msgstr "ä¸èƒ½æ›´æ–° %s" -#: sequencer.c:2941 sequencer.c:3874 +#: sequencer.c:3049 sequencer.c:3995 msgid "cannot read HEAD" msgstr "ä¸èƒ½è¯»å– HEAD" -#: sequencer.c:2958 +#: sequencer.c:3066 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "æ— æ³•æ‹·è´ '%s' 至 '%s'" -#: sequencer.c:2966 +#: sequencer.c:3074 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6219,28 +6321,28 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:2976 +#: sequencer.c:3084 #, c-format msgid "Could not apply %s... %.*s" msgstr "ä¸èƒ½åº”用 %s... %.*s" -#: sequencer.c:2983 +#: sequencer.c:3091 #, c-format msgid "Could not merge %.*s" msgstr "ä¸èƒ½åˆå¹¶ %.*s" -#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633 +#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 #, c-format msgid "could not copy '%s' to '%s'" msgstr "ä¸èƒ½æ‹·è´ '%s' 至 '%s'" -#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580 -#: builtin/rebase.c:1940 builtin/rebase.c:1995 +#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 +#: builtin/rebase.c:1953 builtin/rebase.c:2008 msgid "could not read index" msgstr "ä¸èƒ½è¯»å–索引" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: sequencer.c:3028 +#: sequencer.c:3136 #, c-format msgid "" "execution failed: %s\n" @@ -6255,11 +6357,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3034 +#: sequencer.c:3142 msgid "and made changes to the index and/or the working tree\n" msgstr "并且修改索引和/或工作区\n" -#: sequencer.c:3040 +#: sequencer.c:3148 #, c-format msgid "" "execution succeeded: %s\n" @@ -6276,76 +6378,76 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3101 +#: sequencer.c:3209 #, c-format msgid "illegal label name: '%.*s'" msgstr "éžæ³•çš„æ ‡ç¾å称:'%.*s'" -#: sequencer.c:3155 +#: sequencer.c:3263 msgid "writing fake root commit" msgstr "å†™ä¼ªæ ¹æäº¤" -#: sequencer.c:3160 +#: sequencer.c:3268 msgid "writing squash-onto" msgstr "写入 squash-onto" -#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850 +#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 #, c-format msgid "failed to find tree of %s" msgstr "æ— æ³•æ‰¾åˆ° %s 指å‘çš„æ ‘ã€‚" -#: sequencer.c:3216 builtin/rebase.c:863 +#: sequencer.c:3324 builtin/rebase.c:873 msgid "could not write index" msgstr "ä¸èƒ½å†™å…¥ç´¢å¼•" -#: sequencer.c:3243 +#: sequencer.c:3351 #, c-format msgid "could not resolve '%s'" msgstr "æ— æ³•è§£æž '%s'" -#: sequencer.c:3271 +#: sequencer.c:3379 msgid "cannot merge without a current revision" msgstr "没有当å‰ç‰ˆæœ¬ä¸èƒ½åˆå¹¶" -#: sequencer.c:3293 +#: sequencer.c:3401 #, c-format msgid "unable to parse '%.*s'" msgstr "æ— æ³•è§£æž '%.*s'" -#: sequencer.c:3302 +#: sequencer.c:3410 #, c-format msgid "nothing to merge: '%.*s'" msgstr "æ— å¯ç”¨åˆå¹¶ï¼š'%.*s'" -#: sequencer.c:3314 +#: sequencer.c:3422 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "ç« é±¼åˆå¹¶ä¸èƒ½åœ¨ä¸€ä¸ªæ–°çš„æ ¹æäº¤ä¸Šæ‰§è¡Œ" -#: sequencer.c:3329 +#: sequencer.c:3437 #, c-format msgid "could not get commit message of '%s'" msgstr "ä¸èƒ½èŽ·å– '%s' çš„æäº¤è¯´æ˜Ž" -#: sequencer.c:3478 +#: sequencer.c:3590 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "甚至ä¸èƒ½å°è¯•åˆå¹¶ '%.*s'" -#: sequencer.c:3494 +#: sequencer.c:3606 msgid "merge: Unable to write new index file" msgstr "åˆå¹¶ï¼šæ— 法写入新索引文件" -#: sequencer.c:3562 builtin/rebase.c:711 +#: sequencer.c:3675 builtin/rebase.c:711 #, c-format msgid "Applied autostash.\n" msgstr "已应用 autostash。\n" -#: sequencer.c:3574 +#: sequencer.c:3687 #, c-format msgid "cannot store %s" msgstr "ä¸èƒ½å˜å‚¨ %s" -#: sequencer.c:3577 builtin/rebase.c:727 +#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6356,31 +6458,31 @@ msgstr "" "您的修改安全地ä¿å˜åœ¨è´®è—区ä¸ã€‚\n" "您å¯ä»¥åœ¨ä»»ä½•时候è¿è¡Œ \"git stash pop\" 或 \"git stash drop\"。\n" -#: sequencer.c:3638 +#: sequencer.c:3751 #, c-format msgid "could not checkout %s" msgstr "ä¸èƒ½æ£€å‡º %s" -#: sequencer.c:3652 +#: sequencer.c:3765 #, c-format msgid "%s: not a valid OID" msgstr "%sï¼šä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象 ID" -#: sequencer.c:3657 git-rebase--preserve-merges.sh:724 +#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "ä¸èƒ½åˆ†ç¦»å¤´æŒ‡é’ˆ" -#: sequencer.c:3672 +#: sequencer.c:3785 #, c-format msgid "Stopped at HEAD\n" msgstr "åœæ¢åœ¨ HEAD\n" -#: sequencer.c:3674 +#: sequencer.c:3787 #, c-format msgid "Stopped at %s\n" msgstr "åœæ¢åœ¨ %s\n" -#: sequencer.c:3682 +#: sequencer.c:3795 #, c-format msgid "" "Could not execute the todo command\n" @@ -6400,48 +6502,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3759 +#: sequencer.c:3877 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "åœæ¢åœ¨ %s... %.*s\n" -#: sequencer.c:3837 +#: sequencer.c:3958 #, c-format msgid "unknown command %d" msgstr "未知命令 %d" -#: sequencer.c:3882 +#: sequencer.c:4003 msgid "could not read orig-head" msgstr "ä¸èƒ½è¯»å– orig-head" -#: sequencer.c:3887 +#: sequencer.c:4008 msgid "could not read 'onto'" msgstr "ä¸èƒ½è¯»å– 'onto'" -#: sequencer.c:3901 +#: sequencer.c:4022 #, c-format msgid "could not update HEAD to %s" msgstr "ä¸èƒ½æ›´æ–° HEAD 为 %s" -#: sequencer.c:3991 +#: sequencer.c:4115 msgid "cannot rebase: You have unstaged changes." msgstr "ä¸èƒ½å˜åŸºï¼šæ‚¨æœ‰æœªæš‚å˜çš„å˜æ›´ã€‚" -#: sequencer.c:4000 +#: sequencer.c:4124 msgid "cannot amend non-existing commit" msgstr "ä¸èƒ½ä¿®è¡¥ä¸å˜åœ¨çš„æäº¤" -#: sequencer.c:4002 +#: sequencer.c:4126 #, c-format msgid "invalid file: '%s'" msgstr "æ— æ•ˆæ–‡ä»¶ï¼š'%s'" -#: sequencer.c:4004 +#: sequencer.c:4128 #, c-format msgid "invalid contents: '%s'" msgstr "æ— æ•ˆå†…å®¹ï¼š'%s'" -#: sequencer.c:4007 +#: sequencer.c:4131 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6450,42 +6552,42 @@ msgstr "" "\n" "æ‚¨çš„å·¥ä½œåŒºä¸æœ‰æœªæäº¤çš„å˜æ›´ã€‚请先æäº¤ç„¶åŽå†æ¬¡è¿è¡Œ 'git rebase --continue'。" -#: sequencer.c:4043 sequencer.c:4081 +#: sequencer.c:4167 sequencer.c:4205 #, c-format msgid "could not write file: '%s'" msgstr "ä¸èƒ½å†™å…¥æ–‡ä»¶ï¼š'%s'" -#: sequencer.c:4096 +#: sequencer.c:4220 msgid "could not remove CHERRY_PICK_HEAD" msgstr "ä¸èƒ½åˆ 除 CHERRY_PICK_HEAD" -#: sequencer.c:4103 +#: sequencer.c:4227 msgid "could not commit staged changes." msgstr "ä¸èƒ½æäº¤æš‚å˜çš„修改。" -#: sequencer.c:4204 +#: sequencer.c:4328 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s:ä¸èƒ½æ‹£é€‰ä¸€ä¸ª%s" -#: sequencer.c:4208 +#: sequencer.c:4332 #, c-format msgid "%s: bad revision" msgstr "%s:错误的版本" -#: sequencer.c:4243 +#: sequencer.c:4367 msgid "can't revert as initial commit" msgstr "ä¸èƒ½ä½œä¸ºåˆå§‹æäº¤å›žé€€" -#: sequencer.c:4686 +#: sequencer.c:4810 msgid "make_script: unhandled options" msgstr "make_script:有未能处ç†çš„选项" -#: sequencer.c:4689 +#: sequencer.c:4813 msgid "make_script: error preparing revisions" msgstr "make_script:准备版本时错误" -#: sequencer.c:4847 +#: sequencer.c:4971 msgid "" "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" "continue'.\n" @@ -6494,15 +6596,15 @@ msgstr "" "您å¯ä»¥ç”¨ 'git rebase --edit-todo' ä¿®æ£ï¼Œç„¶åŽæ‰§è¡Œ 'git rebase --continue'。\n" "或者您å¯ä»¥ç”¨ 'git rebase --abort' 终æ¢å˜åŸºã€‚\n" -#: sequencer.c:4959 sequencer.c:4976 +#: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "æ— äº‹å¯åš" -#: sequencer.c:4990 +#: sequencer.c:5114 msgid "could not skip unnecessary pick commands" msgstr "æ— æ³•è·³è¿‡ä¸å¿…è¦çš„æ‹£é€‰" -#: sequencer.c:5073 +#: sequencer.c:5197 msgid "the script was already rearranged." msgstr "脚本已ç»é‡æ–°ç¼–排。" @@ -6719,194 +6821,199 @@ msgstr "å‚考仓库 '%s' 是一个浅克隆" msgid "reference repository '%s' is grafted" msgstr "å‚考仓库 '%s' 已被移æ¤" -#: sha1-file.c:846 +#: sha1-file.c:792 +#, c-format +msgid "invalid line while parsing alternate refs: %s" +msgstr "è§£æžå¤‡ç”¨å¼•ç”¨æ—¶æ— æ•ˆçš„è¡Œï¼š%s" + +#: sha1-file.c:944 #, c-format msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>" msgstr "å°è¯• mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>" -#: sha1-file.c:871 +#: sha1-file.c:969 msgid "mmap failed" msgstr "mmap 失败" -#: sha1-file.c:1035 +#: sha1-file.c:1133 #, c-format msgid "object file %s is empty" msgstr "对象文件 %s 为空" -#: sha1-file.c:1159 sha1-file.c:2297 +#: sha1-file.c:1257 sha1-file.c:2396 #, c-format msgid "corrupt loose object '%s'" msgstr "æŸåçš„æ¾æ•£å¯¹è±¡ '%s'" -#: sha1-file.c:1161 sha1-file.c:2301 +#: sha1-file.c:1259 sha1-file.c:2400 #, c-format msgid "garbage at end of loose object '%s'" msgstr "æ¾æ•£å¯¹è±¡ '%s' åŽé¢æœ‰åžƒåœ¾æ•°æ®" -#: sha1-file.c:1203 +#: sha1-file.c:1301 msgid "invalid object type" msgstr "æ— æ•ˆçš„å¯¹è±¡ç±»åž‹" -#: sha1-file.c:1287 +#: sha1-file.c:1385 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "æ— æ³•ç”¨ --allow-unknown-type 傿•°è§£å¼€ %s 头信æ¯" -#: sha1-file.c:1290 +#: sha1-file.c:1388 #, c-format msgid "unable to unpack %s header" msgstr "æ— æ³•è§£å¼€ %s 头部" -#: sha1-file.c:1296 +#: sha1-file.c:1394 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "æ— æ³•ç”¨ --allow-unknown-type 傿•°è§£æž %s 头信æ¯" -#: sha1-file.c:1299 +#: sha1-file.c:1397 #, c-format msgid "unable to parse %s header" msgstr "æ— æ³•è§£æž %s 头部" -#: sha1-file.c:1490 +#: sha1-file.c:1588 #, c-format msgid "failed to read object %s" msgstr "读å–对象 %s 失败" -#: sha1-file.c:1494 +#: sha1-file.c:1592 #, c-format msgid "replacement %s not found for %s" msgstr "找ä¸åˆ° %2$s 的替代 %1$s" -#: sha1-file.c:1498 +#: sha1-file.c:1596 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "æ¾æ•£å¯¹è±¡ %s(ä¿å˜åœ¨ %s)已æŸå" -#: sha1-file.c:1502 +#: sha1-file.c:1600 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "打包对象 %s(ä¿å˜åœ¨ %s)已æŸå" -#: sha1-file.c:1604 +#: sha1-file.c:1703 #, c-format msgid "unable to write file %s" msgstr "æ— æ³•å†™æ–‡ä»¶ %s" -#: sha1-file.c:1611 +#: sha1-file.c:1710 #, c-format msgid "unable to set permission to '%s'" msgstr "æ— æ³•ä¸º '%s' 设置æƒé™" -#: sha1-file.c:1618 +#: sha1-file.c:1717 msgid "file write error" msgstr "文件写错误" -#: sha1-file.c:1637 +#: sha1-file.c:1736 msgid "error when closing loose object file" msgstr "关闿¾æ•£å¯¹è±¡æ–‡ä»¶æ—¶å‡ºé”™" -#: sha1-file.c:1702 +#: sha1-file.c:1801 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "æƒé™ä¸è¶³ï¼Œæ— 法在仓库对象库 %s 䏿·»åŠ å¯¹è±¡" -#: sha1-file.c:1704 +#: sha1-file.c:1803 msgid "unable to create temporary file" msgstr "æ— æ³•åˆ›å»ºä¸´æ—¶æ–‡ä»¶" -#: sha1-file.c:1728 +#: sha1-file.c:1827 msgid "unable to write loose object file" msgstr "ä¸èƒ½å†™æ¾æ•£å¯¹è±¡æ–‡ä»¶" -#: sha1-file.c:1734 +#: sha1-file.c:1833 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "ä¸èƒ½åŽ‹ç¼©æ–°å¯¹è±¡ %s(%d)" -#: sha1-file.c:1738 +#: sha1-file.c:1837 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "在对象 %s 上调用 deflateEnd 失败(%d)" -#: sha1-file.c:1742 +#: sha1-file.c:1841 #, c-format msgid "confused by unstable object source data for %s" msgstr "被 %s çš„ä¸ç¨³å®šå¯¹è±¡æºæ•°æ®æžç³Šæ¶‚了" -#: sha1-file.c:1752 builtin/pack-objects.c:920 +#: sha1-file.c:1851 builtin/pack-objects.c:925 #, c-format msgid "failed utime() on %s" msgstr "在 %s 上调用 utime() 失败" -#: sha1-file.c:1827 +#: sha1-file.c:1926 #, c-format msgid "cannot read object for %s" msgstr "ä¸èƒ½è¯»å–对象 %s" -#: sha1-file.c:1867 +#: sha1-file.c:1966 msgid "corrupt commit" msgstr "æŸåçš„æäº¤" -#: sha1-file.c:1875 +#: sha1-file.c:1974 msgid "corrupt tag" msgstr "æŸåçš„æ ‡ç¾" -#: sha1-file.c:1974 +#: sha1-file.c:2073 #, c-format msgid "read error while indexing %s" msgstr "索引 %s 时读å–错误" -#: sha1-file.c:1977 +#: sha1-file.c:2076 #, c-format msgid "short read while indexing %s" msgstr "索引 %s 时读入ä¸å®Œæ•´" -#: sha1-file.c:2050 sha1-file.c:2059 +#: sha1-file.c:2149 sha1-file.c:2158 #, c-format msgid "%s: failed to insert into database" msgstr "%s:æ’入数æ®åº“失败" -#: sha1-file.c:2065 +#: sha1-file.c:2164 #, c-format msgid "%s: unsupported file type" msgstr "%sï¼šä¸æ”¯æŒçš„æ–‡ä»¶ç±»åž‹" -#: sha1-file.c:2089 +#: sha1-file.c:2188 #, c-format msgid "%s is not a valid object" msgstr "%s 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象" -#: sha1-file.c:2091 +#: sha1-file.c:2190 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ '%s' 对象" -#: sha1-file.c:2118 builtin/index-pack.c:154 +#: sha1-file.c:2217 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "ä¸èƒ½æ‰“å¼€ %s" -#: sha1-file.c:2308 sha1-file.c:2360 +#: sha1-file.c:2407 sha1-file.c:2459 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "%s 的哈希值ä¸åŒ¹é…(预期 %s)" -#: sha1-file.c:2332 +#: sha1-file.c:2431 #, c-format msgid "unable to mmap %s" msgstr "ä¸èƒ½ mmap %s" -#: sha1-file.c:2337 +#: sha1-file.c:2436 #, c-format msgid "unable to unpack header of %s" msgstr "æ— æ³•è§£åŽ‹ç¼© %s 的头部" -#: sha1-file.c:2343 +#: sha1-file.c:2442 #, c-format msgid "unable to parse header of %s" msgstr "æ— æ³•è§£æž %s 的头部" -#: sha1-file.c:2354 +#: sha1-file.c:2453 #, c-format msgid "unable to unpack contents of %s" msgstr "æ— æ³•è§£åŽ‹ç¼© %s 的内容" @@ -6926,20 +7033,72 @@ msgid "" "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" "running \"git config advice.objectNameWarning false\"" msgstr "" -"Git 通常ä¸ä¼šåˆ›å»ºä¸€ä¸ªä»¥40ä½åå…进制å—符命åçš„å¼•ç”¨ï¼Œå› ä¸ºå½“ä½ æä¾›40ä½\n" -"åå…进制å—符时将被忽略。ä¸è¿‡è¿™äº›å¼•用也å¯èƒ½è¢«é”™è¯¯åœ°åˆ›å»ºã€‚例如:\n" +"Git 通常ä¸ä¼šåˆ›å»ºä¸€ä¸ªä»¥40个åå…进制å—ç¬¦ç»“å°¾çš„å¼•ç”¨ï¼Œå› ä¸ºå½“æ‚¨åªæä¾›40\n" +"个åå…进制å—符时将被忽略。这些引用å¯èƒ½è¢«é”™è¯¯åœ°åˆ›å»ºã€‚例如:\n" "\n" -" git checkout -b $br $(git rev-parse ...)\n" +" git switch -c $br $(git rev-parse ...)\n" "\n" -"当 \"$br\" 空白时一个40ä½åå…进制的引用将被创建。请检查这些引用,\n" -"å¯èƒ½éœ€è¦åˆ 除它们。用 \"git config advice.objectNameWarning false\"\n" -"命令关闿œ¬æ¶ˆæ¯é€šçŸ¥ã€‚" +"当 \"$br\" æŸç§åŽŸå› ç©ºç™½æ—¶ï¼Œä¸€ä¸ª40ä½åå…进制的引用将被创建。请检查这些\n" +"引用,å¯èƒ½éœ€è¦åˆ 除它们。è¿è¡Œ \"git config advice.objectNameWarning\n" +"false\" 命令关闿œ¬æ¶ˆæ¯é€šçŸ¥ã€‚" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte +#: strbuf.c:821 +#, c-format +msgid "%u.%2.2u GiB" +msgstr "%u.%2.2u GiB" + +#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second +#: strbuf.c:823 +#, c-format +msgid "%u.%2.2u GiB/s" +msgstr "%u.%2.2u GiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte +#: strbuf.c:831 +#, c-format +msgid "%u.%2.2u MiB" +msgstr "%u.%2.2u MiB" + +#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second +#: strbuf.c:833 +#, c-format +msgid "%u.%2.2u MiB/s" +msgstr "%u.%2.2u MiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte +#: strbuf.c:840 +#, c-format +msgid "%u.%2.2u KiB" +msgstr "%u.%2.2u KiB" + +#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second +#: strbuf.c:842 +#, c-format +msgid "%u.%2.2u KiB/s" +msgstr "%u.%2.2u KiB/s" + +#. TRANSLATORS: IEC 80000-13:2008 byte +#: strbuf.c:848 +#, c-format +msgid "%u byte" +msgid_plural "%u bytes" +msgstr[0] "%u å—节" +msgstr[1] "%u å—节" + +#. TRANSLATORS: IEC 80000-13:2008 byte/second +#: strbuf.c:850 +#, c-format +msgid "%u byte/s" +msgid_plural "%u bytes/s" +msgstr[0] "%u å—节/ç§’" +msgstr[1] "%u å—节/ç§’" #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" @@ -6974,7 +7133,7 @@ msgstr "è·¯å¾„è§„æ ¼ '%s' åœ¨åæ¨¡ç»„ '%.*s' ä¸" msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "忍¡ç»„æ¡ç›® '%s'(%s)是一个 %sï¼Œä¸æ˜¯ä¸€ä¸ªæäº¤" -#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988 +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 msgid "Failed to resolve HEAD as a valid ref." msgstr "æ— æ³•å°† HEAD è§£æžä¸ºæœ‰æ•ˆå¼•用。" @@ -7013,18 +7172,18 @@ msgstr "忍¡ç»„ '%s' 䏿œ‰è„索引" msgid "Submodule '%s' could not be updated." msgstr "忍¡ç»„ '%s' æ— æ³•è¢«æ›´æ–°ã€‚" -#: submodule.c:2008 +#: submodule.c:2007 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" msgstr "䏿”¯æŒå¯¹æœ‰å¤šä¸ªå·¥ä½œåŒºçš„忍¡ç»„ '%s' 执行 relocate_gitdir" -#: submodule.c:2020 submodule.c:2076 +#: submodule.c:2019 submodule.c:2074 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "ä¸èƒ½æŸ¥è¯¢å模组 '%s' çš„åç§°" -#: submodule.c:2027 +#: submodule.c:2026 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7035,16 +7194,16 @@ msgstr "" "'%s' è¿ç§»è‡³\n" "'%s'\n" -#: submodule.c:2111 +#: submodule.c:2109 #, c-format msgid "could not recurse into submodule '%s'" msgstr "æ— æ³•é€’å½’è¿›åæ¨¡ç»„路径 '%s'" -#: submodule.c:2155 +#: submodule.c:2153 msgid "could not start ls-files in .." msgstr "æ— æ³•åœ¨ .. ä¸å¯åЍ ls-files" -#: submodule.c:2194 +#: submodule.c:2192 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree 返回未知返回值 %d" @@ -7214,15 +7373,10 @@ msgstr "æ£åœ¨ç»ˆæ¢ã€‚" msgid "failed to push all needed submodules" msgstr "ä¸èƒ½æŽ¨é€å…¨éƒ¨éœ€è¦çš„忍¡ç»„" -#: transport.c:1326 transport-helper.c:645 +#: transport.c:1340 transport-helper.c:645 msgid "operation not supported by protocol" msgstr "åè®®ä¸æ”¯æŒè¯¥æ“作" -#: transport.c:1430 -#, c-format -msgid "invalid line while parsing alternate refs: %s" -msgstr "è§£æžå¤‡ç”¨å¼•ç”¨æ—¶æ— æ•ˆçš„è¡Œï¼š%s" - #: transport-helper.c:51 transport-helper.c:80 msgid "full write to remote helper failed" msgstr "完整写入远程助手失败" @@ -7265,7 +7419,7 @@ msgstr "ä¸èƒ½æ‰§è¡Œ fast-import" msgid "error while running fast-import" msgstr "执行 fast-import 出错" -#: transport-helper.c:533 transport-helper.c:1099 +#: transport-helper.c:533 transport-helper.c:1105 #, c-format msgid "could not read ref %s" msgstr "æ— æ³•è¯»å–引用 %s" @@ -7318,24 +7472,24 @@ msgstr "助手 %s 䏿”¯æŒ --signed=if-asked" msgid "helper %s does not support 'push-option'" msgstr "助手 %s 䏿”¯æŒ 'push-option'" -#: transport-helper.c:939 +#: transport-helper.c:945 msgid "remote-helper doesn't support push; refspec needed" msgstr "remote-heper 䏿”¯æŒ push,需è¦å¼•用表达å¼" -#: transport-helper.c:944 +#: transport-helper.c:950 #, c-format msgid "helper %s does not support 'force'" msgstr "助手 %s 䏿”¯æŒ 'force'" -#: transport-helper.c:991 +#: transport-helper.c:997 msgid "couldn't run fast-export" msgstr "æ— æ³•æ‰§è¡Œ fast-export" -#: transport-helper.c:996 +#: transport-helper.c:1002 msgid "error while running fast-export" msgstr "执行 fast-export 时出错" -#: transport-helper.c:1021 +#: transport-helper.c:1027 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7344,47 +7498,47 @@ msgstr "" "没有共åŒçš„引用并且也没有指定,什么也ä¸ä¼šåšã€‚\n" "å¯èƒ½æ‚¨åº”该指定一个分支如 'master'。\n" -#: transport-helper.c:1085 +#: transport-helper.c:1091 #, c-format msgid "malformed response in ref list: %s" msgstr "å¼•ç”¨åˆ—è¡¨ä¸æ ¼å¼é”™è¯¯çš„å“应:%s" -#: transport-helper.c:1238 +#: transport-helper.c:1244 #, c-format msgid "read(%s) failed" msgstr "读å–(%s)失败" -#: transport-helper.c:1265 +#: transport-helper.c:1271 #, c-format msgid "write(%s) failed" msgstr "写(%s)失败" -#: transport-helper.c:1314 +#: transport-helper.c:1320 #, c-format msgid "%s thread failed" msgstr "%s 线程失败" -#: transport-helper.c:1318 +#: transport-helper.c:1324 #, c-format msgid "%s thread failed to join: %s" msgstr "%s 线程ç‰å¾…失败:%s" -#: transport-helper.c:1337 transport-helper.c:1341 +#: transport-helper.c:1343 transport-helper.c:1347 #, c-format msgid "can't start thread for copying data: %s" msgstr "ä¸èƒ½å¯åŠ¨çº¿ç¨‹æ¥æ‹·è´æ•°æ®ï¼š%s" -#: transport-helper.c:1378 +#: transport-helper.c:1384 #, c-format msgid "%s process failed to wait" msgstr "%s 进程ç‰å¾…失败" -#: transport-helper.c:1382 +#: transport-helper.c:1388 #, c-format msgid "%s process failed" msgstr "%s 进程失败" -#: transport-helper.c:1400 transport-helper.c:1409 +#: transport-helper.c:1406 transport-helper.c:1415 msgid "can't start thread for copying data" msgstr "ä¸èƒ½å¯åŠ¨çº¿ç¨‹æ¥æ‹·è´æ•°æ®" @@ -7400,7 +7554,7 @@ msgstr "æ ‘å¯¹è±¡ä¸çš„æ¡ç›®æ¨¡å¼é”™è¯¯" msgid "empty filename in tree entry" msgstr "æ ‘å¯¹è±¡æ¡ç›®ä¸ç©ºçš„æ–‡ä»¶å" -#: tree-walk.c:116 +#: tree-walk.c:118 msgid "too-short tree file" msgstr "太çŸçš„æ ‘文件" @@ -7623,11 +7777,11 @@ msgstr "" #: unpack-trees.c:256 #, c-format msgid "Aborting\n" -msgstr "终æ¢ä¸\n" +msgstr "æ£åœ¨ç»ˆæ¢\n" #: unpack-trees.c:318 -msgid "Checking out files" -msgstr "æ£åœ¨æ£€å‡ºæ–‡ä»¶" +msgid "Updating files" +msgstr "æ£åœ¨æ›´æ–°æ–‡ä»¶" #: unpack-trees.c:350 msgid "" @@ -7667,32 +7821,32 @@ msgstr "æ— æ•ˆçš„ç«¯å£å·" msgid "invalid '..' path segment" msgstr "æ— æ•ˆçš„ '..' 路径片段" -#: worktree.c:255 builtin/am.c:2097 +#: worktree.c:258 builtin/am.c:2095 #, c-format msgid "failed to read '%s'" msgstr "è¯»å– '%s' 失败" -#: worktree.c:301 +#: worktree.c:304 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "在主工作区的 '%s' 䏿˜¯ä»“库目录" -#: worktree.c:312 +#: worktree.c:315 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "文件 '%s' ä¸åŒ…å«å·¥ä½œåŒºçš„ç»å¯¹è·¯å¾„" -#: worktree.c:324 +#: worktree.c:327 #, c-format msgid "'%s' does not exist" msgstr "'%s' ä¸å˜åœ¨" -#: worktree.c:330 +#: worktree.c:333 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' 䏿˜¯ä¸€ä¸ª .git 文件,错误ç %d" -#: worktree.c:338 +#: worktree.c:341 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' 没有指回到 '%s'" @@ -7711,162 +7865,167 @@ msgstr "ä¸èƒ½è®¿é—® '%s'" msgid "unable to get current working directory" msgstr "ä¸èƒ½èŽ·å–当å‰å·¥ä½œç›®å½•" -#: wt-status.c:156 +#: wt-status.c:158 msgid "Unmerged paths:" msgstr "未åˆå¹¶çš„路径:" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:183 wt-status.c:210 +#: wt-status.c:187 wt-status.c:219 +msgid " (use \"git restore --staged <file>...\" to unstage)" +msgstr " (使用 \"git restore --staged <文件>...\" 以喿¶ˆæš‚å˜ï¼‰" + +# 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ +#: wt-status.c:190 wt-status.c:222 #, c-format -msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr " (使用 \"git reset %s <文件>...\" 以喿¶ˆæš‚å˜ï¼‰" +msgid " (use \"git restore --source=%s --staged <file>...\" to unstage)" +msgstr " (使用 \"git restore --source=%s --staged <文件>...\" 以喿¶ˆæš‚å˜ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:185 wt-status.c:212 +#: wt-status.c:193 wt-status.c:225 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (使用 \"git rm --cached <文件>...\" 以喿¶ˆæš‚å˜ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:189 +#: wt-status.c:197 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (使用 \"git add <文件>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:191 wt-status.c:195 +#: wt-status.c:199 wt-status.c:203 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr " (酌情使用 \"git add/rm <文件>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:193 +#: wt-status.c:201 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (使用 \"git rm <文件>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" -#: wt-status.c:204 wt-status.c:1064 +#: wt-status.c:211 wt-status.c:1074 msgid "Changes to be committed:" msgstr "è¦æäº¤çš„å˜æ›´ï¼š" -#: wt-status.c:222 wt-status.c:1073 +#: wt-status.c:234 wt-status.c:1083 msgid "Changes not staged for commit:" msgstr "尚未暂å˜ä»¥å¤‡æäº¤çš„å˜æ›´ï¼š" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:226 +#: wt-status.c:238 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr " (使用 \"git add <文件>...\" æ›´æ–°è¦æäº¤çš„å†…å®¹ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:228 +#: wt-status.c:240 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr " (使用 \"git add/rm <文件>...\" æ›´æ–°è¦æäº¤çš„å†…å®¹ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:229 +#: wt-status.c:241 msgid "" -" (use \"git checkout -- <file>...\" to discard changes in working directory)" -msgstr " (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)" +" (use \"git restore <file>...\" to discard changes in working directory)" +msgstr " (使用 \"git restore <文件>...\" 丢弃工作区的改动)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:231 +#: wt-status.c:243 msgid " (commit or discard the untracked or modified content in submodules)" msgstr " (æäº¤æˆ–ä¸¢å¼ƒåæ¨¡ç»„䏿œªè·Ÿè¸ªæˆ–修改的内容)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:243 +#: wt-status.c:254 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr " (使用 \"git %s <文件>...\" 以包å«è¦æäº¤çš„内容)" -#: wt-status.c:258 +#: wt-status.c:268 msgid "both deleted:" msgstr "åŒæ–¹åˆ 除:" -#: wt-status.c:260 +#: wt-status.c:270 msgid "added by us:" msgstr "ç”±æˆ‘ä»¬æ·»åŠ ï¼š" -#: wt-status.c:262 +#: wt-status.c:272 msgid "deleted by them:" msgstr "ç”±ä»–ä»¬åˆ é™¤ï¼š" -#: wt-status.c:264 +#: wt-status.c:274 msgid "added by them:" msgstr "ç”±ä»–ä»¬æ·»åŠ ï¼š" -#: wt-status.c:266 +#: wt-status.c:276 msgid "deleted by us:" msgstr "ç”±æˆ‘ä»¬åˆ é™¤ï¼š" -#: wt-status.c:268 +#: wt-status.c:278 msgid "both added:" msgstr "åŒæ–¹æ·»åŠ ï¼š" -#: wt-status.c:270 +#: wt-status.c:280 msgid "both modified:" msgstr "åŒæ–¹ä¿®æ”¹ï¼š" -#: wt-status.c:280 +#: wt-status.c:290 msgid "new file:" msgstr "新文件:" -#: wt-status.c:282 +#: wt-status.c:292 msgid "copied:" msgstr "æ‹·è´ï¼š" -#: wt-status.c:284 +#: wt-status.c:294 msgid "deleted:" msgstr "åˆ é™¤ï¼š" -#: wt-status.c:286 +#: wt-status.c:296 msgid "modified:" msgstr "修改:" -#: wt-status.c:288 +#: wt-status.c:298 msgid "renamed:" msgstr "é‡å‘½å:" -#: wt-status.c:290 +#: wt-status.c:300 msgid "typechange:" msgstr "ç±»åž‹å˜æ›´ï¼š" -#: wt-status.c:292 +#: wt-status.c:302 msgid "unknown:" msgstr "未知:" -#: wt-status.c:294 +#: wt-status.c:304 msgid "unmerged:" msgstr "未åˆå¹¶ï¼š" # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚æžœç¿»è¯‘ä¸ºä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçްåŠä¸ªæ±‰å— -#: wt-status.c:374 +#: wt-status.c:384 msgid "new commits, " msgstr "æ–°æäº¤, " # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚æžœç¿»è¯‘ä¸ºä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçްåŠä¸ªæ±‰å— -#: wt-status.c:376 +#: wt-status.c:386 msgid "modified content, " msgstr "修改的内容, " # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚æžœç¿»è¯‘ä¸ºä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçްåŠä¸ªæ±‰å— -#: wt-status.c:378 +#: wt-status.c:388 msgid "untracked content, " msgstr "未跟踪的内容, " -#: wt-status.c:896 +#: wt-status.c:906 #, c-format msgid "Your stash currently has %d entry" msgid_plural "Your stash currently has %d entries" msgstr[0] "您的贮è—åŒºå½“å‰æœ‰ %d æ¡è®°å½•" msgstr[1] "您的贮è—åŒºå½“å‰æœ‰ %d æ¡è®°å½•" -#: wt-status.c:928 +#: wt-status.c:938 msgid "Submodules changed but not updated:" msgstr "忍¡ç»„已修改但尚未更新:" -#: wt-status.c:930 +#: wt-status.c:940 msgid "Submodule changes to be committed:" msgstr "è¦æäº¤çš„åæ¨¡ç»„å˜æ›´ï¼š" -#: wt-status.c:1012 +#: wt-status.c:1022 msgid "" "Do not modify or remove the line above.\n" "Everything below it will be ignored." @@ -7874,77 +8033,88 @@ msgstr "" "ä¸è¦æ”¹åŠ¨æˆ–åˆ é™¤ä¸Šé¢çš„一行。\n" "其下所有内容都将被忽略。" -#: wt-status.c:1119 +#: wt-status.c:1114 +#, c-format +msgid "" +"\n" +"It took %.2f seconds to compute the branch ahead/behind values.\n" +"You can use '--no-ahead-behind' to avoid this.\n" +msgstr "" +"\n" +"花了 %.2f ç§’æ‰è®¡ç®—出分支的领先/è½åŽèŒƒå›´ã€‚\n" +"为é¿å…,您å¯ä»¥ä½¿ç”¨ '--no-ahead-behind'。\n" + +#: wt-status.c:1144 msgid "You have unmerged paths." msgstr "您有尚未åˆå¹¶çš„路径。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1122 +#: wt-status.c:1147 msgid " (fix conflicts and run \"git commit\")" msgstr " (解决冲çªå¹¶è¿è¡Œ \"git commit\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1124 +#: wt-status.c:1149 msgid " (use \"git merge --abort\" to abort the merge)" msgstr " (使用 \"git merge --abort\" 终æ¢åˆå¹¶ï¼‰" -#: wt-status.c:1128 +#: wt-status.c:1153 msgid "All conflicts fixed but you are still merging." msgstr "所有冲çªå·²è§£å†³ä½†æ‚¨ä»å¤„于åˆå¹¶ä¸ã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1131 +#: wt-status.c:1156 msgid " (use \"git commit\" to conclude merge)" msgstr " (使用 \"git commit\" 结æŸåˆå¹¶ï¼‰" -#: wt-status.c:1140 +#: wt-status.c:1165 msgid "You are in the middle of an am session." msgstr "您æ£å¤„于 am æ“作过程ä¸ã€‚" -#: wt-status.c:1143 +#: wt-status.c:1168 msgid "The current patch is empty." msgstr "当å‰çš„è¡¥ä¸ä¸ºç©ºã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1147 +#: wt-status.c:1172 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (解决冲çªï¼Œç„¶åŽè¿è¡Œ \"git am --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1149 +#: wt-status.c:1174 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (使用 \"git am --skip\" 跳过æ¤è¡¥ä¸ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1151 +#: wt-status.c:1176 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (使用 \"git am --abort\" æ¢å¤åŽŸæœ‰åˆ†æ”¯ï¼‰" -#: wt-status.c:1284 +#: wt-status.c:1309 msgid "git-rebase-todo is missing." msgstr "git-rebase-todo 丢失。" -#: wt-status.c:1286 +#: wt-status.c:1311 msgid "No commands done." msgstr "没有命令被执行。" -#: wt-status.c:1289 +#: wt-status.c:1314 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" msgstr[0] "最åŽä¸€æ¡å‘½ä»¤å·²å®Œæˆï¼ˆ%d æ¡å‘½ä»¤è¢«æ‰§è¡Œï¼‰ï¼š" msgstr[1] "最åŽçš„命令已完æˆï¼ˆ%d æ¡å‘½ä»¤è¢«æ‰§è¡Œï¼‰ï¼š" -#: wt-status.c:1300 +#: wt-status.c:1325 #, c-format msgid " (see more in file %s)" msgstr " (更多å‚è§æ–‡ä»¶ %s)" -#: wt-status.c:1305 +#: wt-status.c:1330 msgid "No commands remaining." msgstr "未剩下任何命令。" -#: wt-status.c:1308 +#: wt-status.c:1333 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" @@ -7952,187 +8122,179 @@ msgstr[0] "接下æ¥è¦æ‰§è¡Œçš„命令(剩余 %d æ¡å‘½ä»¤ï¼‰ï¼š" msgstr[1] "接下æ¥è¦æ‰§è¡Œçš„命令(剩余 %d æ¡å‘½ä»¤ï¼‰ï¼š" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1316 +#: wt-status.c:1341 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (使用 \"git rebase --edit-todo\" æ¥æŸ¥çœ‹å’Œç¼–辑)" -#: wt-status.c:1328 +#: wt-status.c:1353 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "您在执行将分支 '%s' å˜åŸºåˆ° '%s' çš„æ“作。" -#: wt-status.c:1333 +#: wt-status.c:1358 msgid "You are currently rebasing." msgstr "您在执行å˜åŸºæ“作。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1346 +#: wt-status.c:1371 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (解决冲çªï¼Œç„¶åŽè¿è¡Œ \"git rebase --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1348 +#: wt-status.c:1373 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (使用 \"git rebase --skip\" 跳过æ¤è¡¥ä¸ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1350 +#: wt-status.c:1375 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (使用 \"git rebase --abort\" 以检出原有分支)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1357 +#: wt-status.c:1382 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šè¿è¡Œ \"git rebase --continue\")" -#: wt-status.c:1361 +#: wt-status.c:1386 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "您在执行将分支 '%s' å˜åŸºåˆ° '%s' çš„æ“作时拆分æäº¤ã€‚" -#: wt-status.c:1366 +#: wt-status.c:1391 msgid "You are currently splitting a commit during a rebase." msgstr "您在执行å˜åŸºæ“作时拆分æäº¤ã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1369 +#: wt-status.c:1394 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr " (一旦您工作目录æäº¤å¹²å‡€åŽï¼Œè¿è¡Œ \"git rebase --continue\")" -#: wt-status.c:1373 +#: wt-status.c:1398 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "您在执行将分支 '%s' å˜åŸºåˆ° '%s' çš„æ“作时编辑æäº¤ã€‚" -#: wt-status.c:1378 +#: wt-status.c:1403 msgid "You are currently editing a commit during a rebase." msgstr "您在执行å˜åŸºæ“作时编辑æäº¤ã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1381 +#: wt-status.c:1406 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (使用 \"git commit --amend\" ä¿®è¡¥å½“å‰æäº¤ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1383 +#: wt-status.c:1408 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr " (当您对您的修改满æ„åŽæ‰§è¡Œ \"git rebase --continue\")" -#: wt-status.c:1394 +#: wt-status.c:1419 msgid "Cherry-pick currently in progress." msgstr "拣选æ“作æ£åœ¨è¿›è¡Œä¸ã€‚" -#: wt-status.c:1397 +#: wt-status.c:1422 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "您在执行拣选æäº¤ %s çš„æ“作。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1404 +#: wt-status.c:1429 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (解决冲çªå¹¶è¿è¡Œ \"git cherry-pick --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1407 +#: wt-status.c:1432 msgid " (run \"git cherry-pick --continue\" to continue)" msgstr " (执行 \"git cherry-pick --continue\" 以继ç»ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1410 +#: wt-status.c:1435 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šè¿è¡Œ \"git cherry-pick --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1412 +#: wt-status.c:1437 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (使用 \"git cherry-pick --abort\" 以喿¶ˆæ‹£é€‰æ“作)" -#: wt-status.c:1422 +#: wt-status.c:1447 msgid "Revert currently in progress." msgstr "还原æ“作æ£åœ¨è¡Œä¸ã€‚" -#: wt-status.c:1425 +#: wt-status.c:1450 #, c-format msgid "You are currently reverting commit %s." msgstr "您在执行å转æäº¤ %s çš„æ“作。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1431 +#: wt-status.c:1456 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (解决冲çªå¹¶æ‰§è¡Œ \"git revert --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1434 +#: wt-status.c:1459 msgid " (run \"git revert --continue\" to continue)" msgstr " (执行 \"git revert --continue\" 以继ç»ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1437 +#: wt-status.c:1462 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šæ‰§è¡Œ \"git revert --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1439 +#: wt-status.c:1464 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (使用 \"git revert --abort\" 以喿¶ˆå转æäº¤æ“作)" -#: wt-status.c:1449 +#: wt-status.c:1474 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "您在执行从分支 '%s' 开始的二分查找æ“作。" -#: wt-status.c:1453 +#: wt-status.c:1478 msgid "You are currently bisecting." msgstr "您在执行二分查找æ“作。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1456 +#: wt-status.c:1481 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (使用 \"git bisect reset\" 以回到原有分支)" -#: wt-status.c:1665 +#: wt-status.c:1690 msgid "On branch " msgstr "ä½äºŽåˆ†æ”¯ " -#: wt-status.c:1672 +#: wt-status.c:1697 msgid "interactive rebase in progress; onto " msgstr "交互å¼å˜åŸºæ“作æ£åœ¨è¿›è¡Œä¸ï¼›è‡³ " -#: wt-status.c:1674 +#: wt-status.c:1699 msgid "rebase in progress; onto " msgstr "å˜åŸºæ“作æ£åœ¨è¿›è¡Œä¸ï¼›è‡³ " -#: wt-status.c:1679 -msgid "HEAD detached at " -msgstr "头指针分离于 " - -#: wt-status.c:1681 -msgid "HEAD detached from " -msgstr "头指针分离自 " - -#: wt-status.c:1684 +#: wt-status.c:1709 msgid "Not currently on any branch." msgstr "当å‰ä¸åœ¨ä»»ä½•分支上。" -#: wt-status.c:1701 +#: wt-status.c:1726 msgid "Initial commit" msgstr "åˆå§‹æäº¤" -#: wt-status.c:1702 +#: wt-status.c:1727 msgid "No commits yet" msgstr "å°šæ— æäº¤" -#: wt-status.c:1716 +#: wt-status.c:1741 msgid "Untracked files" msgstr "未跟踪的文件" -#: wt-status.c:1718 +#: wt-status.c:1743 msgid "Ignored files" msgstr "忽略的文件" -#: wt-status.c:1722 +#: wt-status.c:1747 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8142,97 +8304,97 @@ msgstr "" "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能æé«˜é€Ÿåº¦ï¼Œ\n" "但您需è¦å°å¿ƒä¸è¦å¿˜äº†æ·»åŠ æ–°æ–‡ä»¶ï¼ˆå‚è§ 'git help status')。" -#: wt-status.c:1728 +#: wt-status.c:1753 #, c-format msgid "Untracked files not listed%s" msgstr "未跟踪的文件没有列出%s" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1730 +#: wt-status.c:1755 msgid " (use -u option to show untracked files)" msgstr "(使用 -u 傿•°æ˜¾ç¤ºæœªè·Ÿè¸ªçš„æ–‡ä»¶ï¼‰" -#: wt-status.c:1736 +#: wt-status.c:1761 msgid "No changes" msgstr "没有修改" -#: wt-status.c:1741 +#: wt-status.c:1766 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "ä¿®æ”¹å°šæœªåŠ å…¥æäº¤ï¼ˆä½¿ç”¨ \"git add\" å’Œ/或 \"git commit -a\")\n" -#: wt-status.c:1744 +#: wt-status.c:1769 #, c-format msgid "no changes added to commit\n" msgstr "ä¿®æ”¹å°šæœªåŠ å…¥æäº¤\n" -#: wt-status.c:1747 +#: wt-status.c:1772 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "æäº¤ä¸ºç©ºï¼Œä½†æ˜¯å˜åœ¨å°šæœªè·Ÿè¸ªçš„æ–‡ä»¶ï¼ˆä½¿ç”¨ \"git add\" 建立跟踪)\n" -#: wt-status.c:1750 +#: wt-status.c:1775 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "æäº¤ä¸ºç©ºï¼Œä½†æ˜¯å˜åœ¨å°šæœªè·Ÿè¸ªçš„æ–‡ä»¶\n" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1753 +#: wt-status.c:1778 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "æ— æ–‡ä»¶è¦æäº¤ï¼ˆåˆ›å»º/æ‹·è´æ–‡ä»¶å¹¶ä½¿ç”¨ \"git add\" 建立跟踪)\n" -#: wt-status.c:1756 wt-status.c:1761 +#: wt-status.c:1781 wt-status.c:1786 #, c-format msgid "nothing to commit\n" msgstr "æ— æ–‡ä»¶è¦æäº¤\n" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1759 +#: wt-status.c:1784 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "æ— æ–‡ä»¶è¦æäº¤ï¼ˆä½¿ç”¨ -u 显示未跟踪的文件)\n" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1763 +#: wt-status.c:1788 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "æ— æ–‡ä»¶è¦æäº¤ï¼Œå¹²å‡€çš„å·¥ä½œåŒº\n" -#: wt-status.c:1876 +#: wt-status.c:1901 msgid "No commits yet on " msgstr "å°šæ— æäº¤åœ¨ " -#: wt-status.c:1880 +#: wt-status.c:1905 msgid "HEAD (no branch)" msgstr "HEAD(éžåˆ†æ”¯ï¼‰" -#: wt-status.c:1911 +#: wt-status.c:1936 msgid "different" msgstr "ä¸åŒ" # 译者:注æ„ä¿æŒå¥å°¾ç©ºæ ¼ -#: wt-status.c:1913 wt-status.c:1921 +#: wt-status.c:1938 wt-status.c:1946 msgid "behind " msgstr "è½åŽ " -#: wt-status.c:1916 wt-status.c:1919 +#: wt-status.c:1941 wt-status.c:1944 msgid "ahead " msgstr "领先 " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2443 +#: wt-status.c:2466 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "ä¸èƒ½%s:您有未暂å˜çš„å˜æ›´ã€‚" -#: wt-status.c:2449 +#: wt-status.c:2472 msgid "additionally, your index contains uncommitted changes." msgstr "å¦å¤–,您的索引ä¸åŒ…嫿œªæäº¤çš„å˜æ›´ã€‚" -#: wt-status.c:2451 +#: wt-status.c:2474 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "ä¸èƒ½%s:您的索引ä¸åŒ…嫿œªæäº¤çš„å˜æ›´ã€‚" @@ -8246,7 +8408,7 @@ msgstr "git add [<选项>] [--] <è·¯å¾„è§„æ ¼>..." msgid "unexpected diff status %c" msgstr "æ„å¤–çš„å·®å¼‚çŠ¶æ€ %c" -#: builtin/add.c:89 builtin/commit.c:285 +#: builtin/add.c:89 builtin/commit.c:288 msgid "updating files failed" msgstr "更新文件失败" @@ -8294,8 +8456,8 @@ msgstr "ä¸èƒ½åº”用 '%s'" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "ä¸‹åˆ—è·¯å¾„æ ¹æ®æ‚¨çš„一个 .gitignore 文件而被忽略:\n" -#: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560 +#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 msgid "dry run" msgstr "æ¼”ä¹ " @@ -8304,7 +8466,7 @@ msgstr "æ¼”ä¹ " msgid "interactive picking" msgstr "äº¤äº’å¼æ‹£é€‰" -#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306 +#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 msgid "select hunks interactively" msgstr "äº¤äº’å¼æŒ‘选数æ®å—" @@ -8470,7 +8632,7 @@ msgstr "æ— æ•ˆçš„æ—¶åŒºå移值" msgid "Patch format detection failed." msgstr "è¡¥ä¸æ ¼å¼æŽ¢æµ‹å¤±è´¥ã€‚" -#: builtin/am.c:949 builtin/clone.c:409 +#: builtin/am.c:949 builtin/clone.c:407 #, c-format msgid "failed to create directory '%s'" msgstr "创建目录 '%s' 失败" @@ -8479,7 +8641,7 @@ msgstr "创建目录 '%s' 失败" msgid "Failed to split patches." msgstr "拆分补ä¸å¤±è´¥ã€‚" -#: builtin/am.c:1084 builtin/commit.c:371 +#: builtin/am.c:1084 builtin/commit.c:374 msgid "unable to write index file" msgstr "æ— æ³•å†™å…¥ç´¢å¼•æ–‡ä»¶" @@ -8516,15 +8678,15 @@ msgstr "æ— æ•ˆçš„èº«ä»½æ ‡è¯†ï¼š%.*s" msgid "unable to parse commit %s" msgstr "ä¸èƒ½è§£æžæäº¤ %s" -#: builtin/am.c:1495 +#: builtin/am.c:1496 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "仓库缺ä¹å¿…è¦çš„æ•°æ®å¯¹è±¡ä»¥è¿›è¡Œä¸‰æ–¹åˆå¹¶ã€‚" -#: builtin/am.c:1497 +#: builtin/am.c:1498 msgid "Using index info to reconstruct a base tree..." msgstr "使用索引æ¥é‡å»ºä¸€ä¸ªï¼ˆä¸‰æ–¹åˆå¹¶çš„ï¼‰åŸºç¡€ç›®å½•æ ‘..." -#: builtin/am.c:1516 +#: builtin/am.c:1517 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8532,28 +8694,24 @@ msgstr "" "æ‚¨æ˜¯å¦æ›¾æ‰‹åŠ¨ç¼–è¾‘è¿‡æ‚¨çš„è¡¥ä¸ï¼Ÿ\n" "æ— æ³•åº”ç”¨è¡¥ä¸åˆ°ç´¢å¼•ä¸çš„æ•°æ®å¯¹è±¡ä¸Šã€‚" -#: builtin/am.c:1522 +#: builtin/am.c:1523 msgid "Falling back to patching base and 3-way merge..." msgstr "回è½åˆ°åŸºç¡€ç‰ˆæœ¬ä¸Šæ‰“è¡¥ä¸åŠè¿›è¡Œä¸‰æ–¹åˆå¹¶..." -#: builtin/am.c:1548 +#: builtin/am.c:1549 msgid "Failed to merge in the changes." msgstr "æ— æ³•åˆå¹¶å˜æ›´ã€‚" -#: builtin/am.c:1580 +#: builtin/am.c:1581 msgid "applying to an empty history" msgstr "æ£åº”用到一个空历å²ä¸Š" -#: builtin/am.c:1627 builtin/am.c:1631 +#: builtin/am.c:1628 builtin/am.c:1632 #, c-format msgid "cannot resume: %s does not exist." msgstr "æ— æ³•ç»§ç»ï¼š%s ä¸å˜åœ¨ã€‚" -#: builtin/am.c:1647 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "æ ‡å‡†è¾“å…¥æ²¡æœ‰å’Œç»ˆç«¯å…³è”,ä¸èƒ½è¿›è¡Œäº¤äº’弿“作。" - -#: builtin/am.c:1652 +#: builtin/am.c:1650 msgid "Commit Body is:" msgstr "æäº¤å†…容为:" @@ -8562,34 +8720,35 @@ msgstr "æäº¤å†…容为:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1662 +#: builtin/am.c:1660 +#, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "应用?是[y]/å¦[n]/编辑[e]/查看补ä¸[v]/应用所有[a]:" -#: builtin/am.c:1712 +#: builtin/am.c:1710 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "è„索引:ä¸èƒ½åº”用补ä¸ï¼ˆè„文件:%s)" -#: builtin/am.c:1752 builtin/am.c:1820 +#: builtin/am.c:1750 builtin/am.c:1818 #, c-format msgid "Applying: %.*s" msgstr "应用:%.*s" -#: builtin/am.c:1769 +#: builtin/am.c:1767 msgid "No changes -- Patch already applied." msgstr "æ²¡æœ‰å˜æ›´ —— è¡¥ä¸å·²ç»åº”用过。" -#: builtin/am.c:1775 +#: builtin/am.c:1773 #, c-format msgid "Patch failed at %s %.*s" msgstr "打补ä¸å¤±è´¥äºŽ %s %.*s" -#: builtin/am.c:1779 +#: builtin/am.c:1777 msgid "Use 'git am --show-current-patch' to see the failed patch" msgstr "用 'git am --show-current-patch' 命令查看失败的补ä¸" -#: builtin/am.c:1823 +#: builtin/am.c:1821 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8599,7 +8758,7 @@ msgstr "" "å¦‚æžœæ²¡æœ‰ä»€ä¹ˆè¦æ·»åŠ åˆ°æš‚å˜åŒºçš„,则很å¯èƒ½æ˜¯å…¶å®ƒæäº¤å·²ç»å¼•入了相åŒçš„å˜æ›´ã€‚\n" "您也许想è¦è·³è¿‡è¿™ä¸ªè¡¥ä¸ã€‚" -#: builtin/am.c:1830 +#: builtin/am.c:1828 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8610,159 +8769,159 @@ msgstr "" "您应该对已ç»å†²çªè§£å†³çš„æ¯ä¸€ä¸ªæ–‡ä»¶æ‰§è¡Œ 'git add' æ¥æ ‡è®°å·²ç»å®Œæˆã€‚ \n" "ä½ å¯ä»¥å¯¹ \"ç”±ä»–ä»¬åˆ é™¤\" 的文件执行 `git rm` 命令。" -#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329 +#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 #: builtin/reset.c:337 #, c-format msgid "Could not parse object '%s'." msgstr "ä¸èƒ½è§£æžå¯¹è±¡ '%s'。" -#: builtin/am.c:1989 +#: builtin/am.c:1987 msgid "failed to clean index" msgstr "清空索引失败" -#: builtin/am.c:2033 +#: builtin/am.c:2031 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "您好åƒåœ¨ä¸Šä¸€æ¬¡ 'am' 失败åŽç§»åŠ¨äº† HEAD。未回退至 ORIG_HEAD" -#: builtin/am.c:2130 +#: builtin/am.c:2128 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "æ— æ•ˆçš„ --patch-format 值:%s" -#: builtin/am.c:2166 +#: builtin/am.c:2164 msgid "git am [<options>] [(<mbox> | <Maildir>)...]" msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]" -#: builtin/am.c:2167 +#: builtin/am.c:2165 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<选项>] (--continue | --skip | --abort)" -#: builtin/am.c:2173 +#: builtin/am.c:2171 msgid "run interactively" msgstr "ä»¥äº¤äº’å¼æ–¹å¼è¿è¡Œ" -#: builtin/am.c:2175 +#: builtin/am.c:2173 msgid "historical option -- no-op" msgstr "è€çš„傿•° —— æ— ä½œç”¨" -#: builtin/am.c:2177 +#: builtin/am.c:2175 msgid "allow fall back on 3way merging if needed" msgstr "如果必è¦ï¼Œå…许使用三方åˆå¹¶ã€‚" -#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:306 builtin/stash.c:805 +#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:296 builtin/stash.c:806 msgid "be quiet" msgstr "é™é»˜æ¨¡å¼" -#: builtin/am.c:2180 +#: builtin/am.c:2178 msgid "add a Signed-off-by line to the commit message" msgstr "在æäº¤è¯´æ˜Žä¸æ·»åŠ ä¸€ä¸ª Signed-off-by ç¾å" -#: builtin/am.c:2183 +#: builtin/am.c:2181 msgid "recode into utf8 (default)" msgstr "使用 utf8 å—符集(默认)" -#: builtin/am.c:2185 +#: builtin/am.c:2183 msgid "pass -k flag to git-mailinfo" msgstr "å‘ git-mailinfo ä¼ é€’ -k 傿•°" -#: builtin/am.c:2187 +#: builtin/am.c:2185 msgid "pass -b flag to git-mailinfo" msgstr "å‘ git-mailinfo ä¼ é€’ -b 傿•°" -#: builtin/am.c:2189 +#: builtin/am.c:2187 msgid "pass -m flag to git-mailinfo" msgstr "å‘ git-mailinfo ä¼ é€’ -m 傿•°" -#: builtin/am.c:2191 +#: builtin/am.c:2189 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "针对 mbox æ ¼å¼ï¼Œå‘ git-mailsplit ä¼ é€’ --keep-cr 傿•°" -#: builtin/am.c:2194 +#: builtin/am.c:2192 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "ä¸å‘ git-mailsplit ä¼ é€’ --keep-cr 傿•°ï¼Œè¦†ç›– am.keepcr 的设置" -#: builtin/am.c:2197 +#: builtin/am.c:2195 msgid "strip everything before a scissors line" msgstr "丢弃è£åˆ‡çº¿å‰çš„æ‰€æœ‰å†…容" -#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208 -#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220 -#: builtin/am.c:2226 +#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 +#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 +#: builtin/am.c:2224 msgid "pass it through git-apply" msgstr "ä¼ é€’ç»™ git-apply" -#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247 -#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412 -#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323 -#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397 -#: parse-options.h:141 parse-options.h:162 parse-options.h:311 +#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 +#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 +#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 +#: parse-options.h:141 parse-options.h:162 parse-options.h:312 msgid "n" msgstr "n" -#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39 +#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "æ ¼å¼" -#: builtin/am.c:2223 +#: builtin/am.c:2221 msgid "format the patch(es) are in" msgstr "è¡¥ä¸çš„æ ¼å¼" -#: builtin/am.c:2229 +#: builtin/am.c:2227 msgid "override error message when patch failure occurs" msgstr "打补ä¸å¤±è´¥æ—¶æ˜¾ç¤ºçš„错误信æ¯" -#: builtin/am.c:2231 +#: builtin/am.c:2229 msgid "continue applying patches after resolving a conflict" msgstr "冲çªè§£å†³åŽç»§ç»åº”用补ä¸" -#: builtin/am.c:2234 +#: builtin/am.c:2232 msgid "synonyms for --continue" msgstr "å’Œ --continue åŒä¹‰" -#: builtin/am.c:2237 +#: builtin/am.c:2235 msgid "skip the current patch" msgstr "跳过当å‰è¡¥ä¸" -#: builtin/am.c:2240 +#: builtin/am.c:2238 msgid "restore the original branch and abort the patching operation." msgstr "æ¢å¤åŽŸå§‹åˆ†æ”¯å¹¶ç»ˆæ¢æ‰“è¡¥ä¸æ“作。" -#: builtin/am.c:2243 +#: builtin/am.c:2241 msgid "abort the patching operation but keep HEAD where it is." msgstr "终æ¢è¡¥ä¸æ“ä½œä½†ä¿æŒ HEAD ä¸å˜ã€‚" -#: builtin/am.c:2246 +#: builtin/am.c:2244 msgid "show the patch being applied." msgstr "显示æ£åœ¨åº”用的补ä¸ã€‚" -#: builtin/am.c:2250 +#: builtin/am.c:2248 msgid "lie about committer date" msgstr "将作者日期作为æäº¤æ—¥æœŸ" -#: builtin/am.c:2252 +#: builtin/am.c:2250 msgid "use current timestamp for author date" msgstr "ç”¨å½“å‰æ—¶é—´ä½œä¸ºä½œè€…日期" -#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491 -#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489 -#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412 +#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 +#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 +#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454 +#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 msgid "GPG-sign commits" msgstr "使用 GPG ç¾åæäº¤" -#: builtin/am.c:2258 +#: builtin/am.c:2256 msgid "(internal use for git-rebase)" msgstr "(内部使用,用于 git-rebase)" -#: builtin/am.c:2276 +#: builtin/am.c:2274 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." @@ -8770,16 +8929,16 @@ msgstr "" "傿•° -b/--binary å·²ç»å¾ˆé•¿æ—¶é—´ä¸åšä»»ä½•实质æ“作了,并且将被移除。\n" "请ä¸è¦å†ä½¿ç”¨å®ƒäº†ã€‚" -#: builtin/am.c:2283 +#: builtin/am.c:2281 msgid "failed to read the index" msgstr "读å–索引失败" -#: builtin/am.c:2298 +#: builtin/am.c:2296 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "之å‰çš„å˜åŸºç›®å½• %s ä»ç„¶å˜åœ¨ï¼Œä½†å´æä¾›äº† mbox。" -#: builtin/am.c:2322 +#: builtin/am.c:2320 #, c-format msgid "" "Stray %s directory found.\n" @@ -8788,10 +8947,14 @@ msgstr "" "å‘现了错误的 %s 目录。\n" "使用 \"git am --abort\" åˆ é™¤å®ƒã€‚" -#: builtin/am.c:2328 +#: builtin/am.c:2326 msgid "Resolve operation not in progress, we are not resuming." msgstr "解决æ“作未进行,我们ä¸ä¼šç»§ç»ã€‚" +#: builtin/am.c:2336 +msgid "interactive mode requires patches on the command line" +msgstr "äº¤äº’å¼æ¨¡å¼éœ€è¦å‘½ä»¤è¡Œä¸Šæä¾›è¡¥ä¸" + #: builtin/apply.c:8 msgid "git apply [<options>] [<patch>...]" msgstr "git apply [<选项>] [<è¡¥ä¸>...]" @@ -9017,79 +9180,84 @@ msgstr "ä¸ä¼šåœ¨åšäº† cg-seek çš„æ ‘ä¸ŠåšäºŒåˆ†æŸ¥æ‰¾" msgid "bad HEAD - strange symbolic ref" msgstr "åçš„ HEAD - 奇怪的符å·å¼•用" -#: builtin/bisect--helper.c:627 +#: builtin/bisect--helper.c:574 +#, c-format +msgid "invalid ref: '%s'" +msgstr "æ— æ•ˆçš„å¼•ç”¨ï¼š'%s'" + +#: builtin/bisect--helper.c:630 msgid "perform 'git bisect next'" msgstr "执行 'git bisect next'" -#: builtin/bisect--helper.c:629 +#: builtin/bisect--helper.c:632 msgid "write the terms to .git/BISECT_TERMS" msgstr "将术è¯å†™å…¥ .git/BISECT_TERMS" -#: builtin/bisect--helper.c:631 +#: builtin/bisect--helper.c:634 msgid "cleanup the bisection state" msgstr "清除二分查找状æ€" -#: builtin/bisect--helper.c:633 +#: builtin/bisect--helper.c:636 msgid "check for expected revs" msgstr "检查预期的版本" -#: builtin/bisect--helper.c:635 +#: builtin/bisect--helper.c:638 msgid "reset the bisection state" msgstr "清除二分查找状æ€" -#: builtin/bisect--helper.c:637 +#: builtin/bisect--helper.c:640 msgid "write out the bisection state in BISECT_LOG" msgstr "将二分查找的状æ€å†™å…¥ BISECT_LOG" -#: builtin/bisect--helper.c:639 +#: builtin/bisect--helper.c:642 msgid "check and set terms in a bisection state" msgstr "在一个二分查找状æ€ä¸æ£€æŸ¥å’Œè®¾ç½®æœ¯è¯" -#: builtin/bisect--helper.c:641 +#: builtin/bisect--helper.c:644 msgid "check whether bad or good terms exist" msgstr "检查åçš„æˆ–å¥½çš„æœ¯è¯æ˜¯å¦å˜åœ¨" -#: builtin/bisect--helper.c:643 +#: builtin/bisect--helper.c:646 msgid "print out the bisect terms" msgstr "打å°äºŒåˆ†æŸ¥æ‰¾æœ¯è¯" -#: builtin/bisect--helper.c:645 +#: builtin/bisect--helper.c:648 msgid "start the bisect session" msgstr "å¯åŠ¨äºŒåˆ†æŸ¥æ‰¾è¿‡ç¨‹" -#: builtin/bisect--helper.c:647 +#: builtin/bisect--helper.c:650 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "æ›´æ–° BISECT_HEAD è€Œéžæ£€å‡ºå½“å‰æäº¤" -#: builtin/bisect--helper.c:649 +#: builtin/bisect--helper.c:652 msgid "no log for BISECT_WRITE" msgstr "BISECT_WRITE æ— æ—¥å¿—" -#: builtin/bisect--helper.c:666 +#: builtin/bisect--helper.c:669 msgid "--write-terms requires two arguments" msgstr "--write-terms 需è¦ä¸¤ä¸ªå‚æ•°" -#: builtin/bisect--helper.c:670 +#: builtin/bisect--helper.c:673 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state ä¸å¸¦å‚æ•°" -#: builtin/bisect--helper.c:677 +#: builtin/bisect--helper.c:680 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset æ— éœ€å‚æ•°æˆ–者需è¦ä¸€ä¸ªæäº¤" -#: builtin/bisect--helper.c:681 +#: builtin/bisect--helper.c:684 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write éœ€è¦ 4 或 5 ä¸ªå‚æ•°" -#: builtin/bisect--helper.c:687 +#: builtin/bisect--helper.c:690 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms éœ€è¦ 3 ä¸ªå‚æ•°" -#: builtin/bisect--helper.c:693 +#: builtin/bisect--helper.c:696 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check éœ€è¦ 2 或 3 ä¸ªå‚æ•°" -#: builtin/bisect--helper.c:699 +#: builtin/bisect--helper.c:702 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms éœ€è¦ 0 或 1 ä¸ªå‚æ•°" @@ -9101,133 +9269,150 @@ msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>" msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<版本选项> 的文档记录在 git-rev-list(1) ä¸" -#: builtin/blame.c:407 +#: builtin/blame.c:410 #, c-format msgid "expecting a color: %s" msgstr "期望一个颜色:%s" -#: builtin/blame.c:414 +#: builtin/blame.c:417 msgid "must end with a color" msgstr "必须以一个颜色结尾" -#: builtin/blame.c:701 +#: builtin/blame.c:730 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "设置 color.blame.repeatedLines ä¸çš„æ— 效颜色 '%s'" -#: builtin/blame.c:719 +#: builtin/blame.c:748 msgid "invalid value for blame.coloring" msgstr "设置 blame.coloring ä¸çš„æ— 效å–值" -#: builtin/blame.c:794 +#: builtin/blame.c:823 +#, c-format +msgid "cannot find revision %s to ignore" +msgstr "ä¸èƒ½æ‰¾åˆ°è¦å¿½ç•¥çš„版本 %s" + +#: builtin/blame.c:845 msgid "Show blame entries as we find them, incrementally" msgstr "增é‡å¼åœ°æ˜¾ç¤ºå‘现的 blame æ¡ç›®" -#: builtin/blame.c:795 +#: builtin/blame.c:846 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "边界æäº¤æ˜¾ç¤ºç©ºçš„ SHA-1(默认:关é—)" -#: builtin/blame.c:796 +#: builtin/blame.c:847 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "ä¸æŠŠæ ¹æäº¤ä½œä¸ºè¾¹ç•Œï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:797 +#: builtin/blame.c:848 msgid "Show work cost statistics" msgstr "显示命令消耗统计" -#: builtin/blame.c:798 +#: builtin/blame.c:849 msgid "Force progress reporting" msgstr "强制进度显示" -#: builtin/blame.c:799 +#: builtin/blame.c:850 msgid "Show output score for blame entries" msgstr "æ˜¾ç¤ºåˆ¤æ– blame æ¡ç›®ä½ç§»çš„得分诊æ–ä¿¡æ¯" -#: builtin/blame.c:800 +#: builtin/blame.c:851 msgid "Show original filename (Default: auto)" msgstr "显示原始文件å(默认:自动)" -#: builtin/blame.c:801 +#: builtin/blame.c:852 msgid "Show original linenumber (Default: off)" msgstr "显示原始的行å·ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:802 +#: builtin/blame.c:853 msgid "Show in a format designed for machine consumption" msgstr "æ˜¾ç¤ºä¸ºä¸€ä¸ªé€‚åˆæœºå™¨è¯»å–çš„æ ¼å¼" -#: builtin/blame.c:803 +#: builtin/blame.c:854 msgid "Show porcelain format with per-line commit information" msgstr "为æ¯ä¸€è¡Œæ˜¾ç¤ºæœºå™¨é€‚用的æäº¤ä¿¡æ¯" -#: builtin/blame.c:804 +#: builtin/blame.c:855 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "使用和 git-annotate 相åŒçš„输出模å¼ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:805 +#: builtin/blame.c:856 msgid "Show raw timestamp (Default: off)" msgstr "显示原始时间戳(默认:关é—)" -#: builtin/blame.c:806 +#: builtin/blame.c:857 msgid "Show long commit SHA1 (Default: off)" msgstr "显示长的 SHA1 æäº¤å·ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:807 +#: builtin/blame.c:858 msgid "Suppress author name and timestamp (Default: off)" msgstr "éšè—作者åå—和时间戳(默认:关é—)" -#: builtin/blame.c:808 +#: builtin/blame.c:859 msgid "Show author email instead of name (Default: off)" msgstr "æ˜¾ç¤ºä½œè€…çš„é‚®ç®±è€Œä¸æ˜¯åå—(默认:关é—)" -#: builtin/blame.c:809 +#: builtin/blame.c:860 msgid "Ignore whitespace differences" msgstr "忽略空白差异" -#: builtin/blame.c:810 +#: builtin/blame.c:861 builtin/log.c:1629 +msgid "rev" +msgstr "版本" + +#: builtin/blame.c:861 +msgid "Ignore <rev> when blaming" +msgstr "在执行 blame æ“作时忽略 <版本>" + +#: builtin/blame.c:862 +msgid "Ignore revisions from <file>" +msgstr "忽略æ¥è‡ª <文件> ä¸çš„版本" + +#: builtin/blame.c:863 msgid "color redundant metadata from previous line differently" msgstr "使用颜色间隔输出与å‰ä¸€è¡Œä¸åŒçš„é‡å¤å…ƒä¿¡æ¯" -#: builtin/blame.c:811 +#: builtin/blame.c:864 msgid "color lines by age" msgstr "便®æ—¶é—´ç€è‰²" -#: builtin/blame.c:818 +#: builtin/blame.c:871 msgid "Use an experimental heuristic to improve diffs" msgstr "使用一个试验性的å¯å‘å¼ç®—法改进差异显示" -#: builtin/blame.c:820 +#: builtin/blame.c:873 msgid "Spend extra cycles to find better match" msgstr "花费é¢å¤–çš„å¾ªçŽ¯æ¥æ‰¾åˆ°æ›´å¥½çš„匹é…" -#: builtin/blame.c:821 +#: builtin/blame.c:874 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "使用æ¥è‡ª <文件> çš„ä¿®è®¢é›†è€Œä¸æ˜¯è°ƒç”¨ git-rev-list" -#: builtin/blame.c:822 +#: builtin/blame.c:875 msgid "Use <file>'s contents as the final image" msgstr "使用 <文件> 的内容作为最终的图片" -#: builtin/blame.c:823 builtin/blame.c:824 +#: builtin/blame.c:876 builtin/blame.c:877 msgid "score" msgstr "得分" -#: builtin/blame.c:823 +#: builtin/blame.c:876 msgid "Find line copies within and across files" msgstr "找到文件内åŠè·¨æ–‡ä»¶çš„行拷è´" -#: builtin/blame.c:824 +#: builtin/blame.c:877 msgid "Find line movements within and across files" msgstr "找到文件内åŠè·¨æ–‡ä»¶çš„行移动" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:825 +#: builtin/blame.c:878 msgid "Process only line range n,m, counting from 1" msgstr "åªå¤„ç†è¡ŒèŒƒå›´åœ¨ n å’Œ m 之间的,从 1 开始" -#: builtin/blame.c:876 +#: builtin/blame.c:929 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "--progress ä¸èƒ½å’Œ --incremental 或 --porcelain åŒæ—¶ä½¿ç”¨" @@ -9239,18 +9424,18 @@ msgstr "--progress ä¸èƒ½å’Œ --incremental 或 --porcelain åŒæ—¶ä½¿ç”¨" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:927 +#: builtin/blame.c:980 msgid "4 years, 11 months ago" msgstr "4 å¹´ 11 个月å‰" -#: builtin/blame.c:1031 +#: builtin/blame.c:1087 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "文件 %s åªæœ‰ %lu 行" msgstr[1] "文件 %s åªæœ‰ %lu 行" -#: builtin/blame.c:1077 +#: builtin/blame.c:1133 msgid "Blaming lines" msgstr "追踪代ç 行" @@ -9283,7 +9468,7 @@ msgid "git branch [<options>] [-r | -a] [--format]" msgstr "git branch [<选项>] [-r | -a] [--format]" # è¯‘è€…ï¼šä¿æŒåŽŸæ¢è¡Œæ ¼å¼ï¼Œåœ¨è¾“出时 %s 的替代内容会让å—符串å˜é•¿ -#: builtin/branch.c:151 +#: builtin/branch.c:154 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" @@ -9293,7 +9478,7 @@ msgstr "" " '%s',但未åˆå¹¶åˆ° HEAD。" # è¯‘è€…ï¼šä¿æŒåŽŸæ¢è¡Œæ ¼å¼ï¼Œåœ¨è¾“出时 %s 的替代内容会让å—符串å˜é•¿ -#: builtin/branch.c:155 +#: builtin/branch.c:158 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" @@ -9302,12 +9487,12 @@ msgstr "" "å¹¶æœªåˆ é™¤åˆ†æ”¯ '%s', 虽然它已ç»åˆå¹¶åˆ° HEAD,\n" " 然而å´å°šæœªè¢«åˆå¹¶åˆ°åˆ†æ”¯ '%s' 。" -#: builtin/branch.c:169 +#: builtin/branch.c:172 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "æ— æ³•æŸ¥è¯¢ '%s' 指å‘çš„æäº¤å¯¹è±¡" -#: builtin/branch.c:173 +#: builtin/branch.c:176 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -9316,121 +9501,121 @@ msgstr "" "分支 '%s' 没有完全åˆå¹¶ã€‚\n" "如果您确认è¦åˆ 除它,执行 'git branch -D %s'。" -#: builtin/branch.c:186 +#: builtin/branch.c:189 msgid "Update of config-file failed" msgstr "æ›´æ–°é…置文件失败" -#: builtin/branch.c:217 +#: builtin/branch.c:220 msgid "cannot use -a with -d" msgstr "ä¸èƒ½å°† -a å’Œ -d åŒæ—¶ä½¿ç”¨" -#: builtin/branch.c:223 +#: builtin/branch.c:226 msgid "Couldn't look up commit object for HEAD" msgstr "æ— æ³•æŸ¥è¯¢ HEAD 指å‘çš„æäº¤å¯¹è±¡" -#: builtin/branch.c:237 +#: builtin/branch.c:240 #, c-format msgid "Cannot delete branch '%s' checked out at '%s'" msgstr "æ— æ³•åˆ é™¤æ£€å‡ºäºŽ '%2$s' 的分支 '%1$s'。" -#: builtin/branch.c:252 +#: builtin/branch.c:255 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "未能找到远程跟踪分支 '%s'。" -#: builtin/branch.c:253 +#: builtin/branch.c:256 #, c-format msgid "branch '%s' not found." msgstr "分支 '%s' 未å‘现。" -#: builtin/branch.c:268 +#: builtin/branch.c:271 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "æ— æ³•åˆ é™¤è¿œç¨‹è·Ÿè¸ªåˆ†æ”¯ '%s'" -#: builtin/branch.c:269 +#: builtin/branch.c:272 #, c-format msgid "Error deleting branch '%s'" msgstr "æ— æ³•åˆ é™¤åˆ†æ”¯ '%s'" -#: builtin/branch.c:276 +#: builtin/branch.c:279 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "å·²åˆ é™¤è¿œç¨‹è·Ÿè¸ªåˆ†æ”¯ %s(曾为 %s)。\n" -#: builtin/branch.c:277 +#: builtin/branch.c:280 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "å·²åˆ é™¤åˆ†æ”¯ %s(曾为 %s)。\n" -#: builtin/branch.c:421 builtin/tag.c:60 +#: builtin/branch.c:429 builtin/tag.c:61 msgid "unable to parse format string" msgstr "ä¸èƒ½è§£æžæ ¼å¼åŒ–å—符串" -#: builtin/branch.c:452 +#: builtin/branch.c:460 msgid "could not resolve HEAD" msgstr "ä¸èƒ½è§£æž HEAD æäº¤" -#: builtin/branch.c:458 +#: builtin/branch.c:466 #, c-format msgid "HEAD (%s) points outside of refs/heads/" msgstr "HEAD (%s) æŒ‡å‘ refs/heads/ 之外" -#: builtin/branch.c:473 +#: builtin/branch.c:481 #, c-format msgid "Branch %s is being rebased at %s" msgstr "分支 %s æ£è¢«å˜åŸºåˆ° %s" -#: builtin/branch.c:477 +#: builtin/branch.c:485 #, c-format msgid "Branch %s is being bisected at %s" msgstr "分支 %s æ£è¢«äºŒåˆ†æŸ¥æ‰¾äºŽ %s" -#: builtin/branch.c:494 +#: builtin/branch.c:502 msgid "cannot copy the current branch while not on any." msgstr "æ— æ³•æ‹·è´å½“å‰åˆ†æ”¯å› 为ä¸å¤„于任何分支上。" -#: builtin/branch.c:496 +#: builtin/branch.c:504 msgid "cannot rename the current branch while not on any." msgstr "æ— æ³•é‡å‘½å当å‰åˆ†æ”¯å› 为ä¸å¤„于任何分支上。" -#: builtin/branch.c:507 +#: builtin/branch.c:515 #, c-format msgid "Invalid branch name: '%s'" msgstr "æ— æ•ˆçš„åˆ†æ”¯å:'%s'" -#: builtin/branch.c:534 +#: builtin/branch.c:542 msgid "Branch rename failed" msgstr "分支é‡å‘½å失败" -#: builtin/branch.c:536 +#: builtin/branch.c:544 msgid "Branch copy failed" msgstr "分支拷è´å¤±è´¥" -#: builtin/branch.c:540 +#: builtin/branch.c:548 #, c-format msgid "Created a copy of a misnamed branch '%s'" msgstr "已为错误命å的分支 '%s' 创建了一个副本" -#: builtin/branch.c:543 +#: builtin/branch.c:551 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "已将错误命å的分支 '%s' é‡å‘½å" -#: builtin/branch.c:549 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "分支é‡å‘½å为 %s,但 HEAD 没有更新ï¼" -#: builtin/branch.c:558 +#: builtin/branch.c:566 msgid "Branch is renamed, but update of config-file failed" msgstr "分支被é‡å‘½å,但更新é…置文件失败" -#: builtin/branch.c:560 +#: builtin/branch.c:568 msgid "Branch is copied, but update of config-file failed" msgstr "分支已拷è´ï¼Œä½†æ›´æ–°é…置文件失败" -#: builtin/branch.c:576 +#: builtin/branch.c:584 #, c-format msgid "" "Please edit the description for the branch\n" @@ -9441,213 +9626,217 @@ msgstr "" " %s\n" "以 '%c' 开头的行将被过滤。\n" -#: builtin/branch.c:610 +#: builtin/branch.c:618 msgid "Generic options" msgstr "通用选项" -#: builtin/branch.c:612 +#: builtin/branch.c:620 msgid "show hash and subject, give twice for upstream branch" msgstr "æ˜¾ç¤ºå“ˆå¸Œå€¼å’Œä¸»é¢˜ï¼Œè‹¥å‚æ•°å‡ºçŽ°ä¸¤æ¬¡åˆ™æ˜¾ç¤ºä¸Šæ¸¸åˆ†æ”¯" -#: builtin/branch.c:613 +#: builtin/branch.c:621 msgid "suppress informational messages" msgstr "䏿˜¾ç¤ºä¿¡æ¯" -#: builtin/branch.c:614 +#: builtin/branch.c:622 msgid "set up tracking mode (see git-pull(1))" msgstr "设置跟踪模å¼ï¼ˆå‚è§ git-pull(1))" -#: builtin/branch.c:616 +#: builtin/branch.c:624 msgid "do not use" msgstr "ä¸è¦ä½¿ç”¨" -#: builtin/branch.c:618 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:485 msgid "upstream" msgstr "上游" -#: builtin/branch.c:618 +#: builtin/branch.c:626 msgid "change the upstream info" msgstr "改å˜ä¸Šæ¸¸ä¿¡æ¯" -#: builtin/branch.c:619 +#: builtin/branch.c:627 msgid "Unset the upstream info" msgstr "å–æ¶ˆä¸Šæ¸¸ä¿¡æ¯çš„设置" -#: builtin/branch.c:620 +#: builtin/branch.c:628 msgid "use colored output" msgstr "使用彩色输出" -#: builtin/branch.c:621 +#: builtin/branch.c:629 msgid "act on remote-tracking branches" msgstr "作用于远程跟踪分支" -#: builtin/branch.c:623 builtin/branch.c:625 +#: builtin/branch.c:631 builtin/branch.c:633 msgid "print only branches that contain the commit" msgstr "åªæ‰“å°åŒ…å«è¯¥æäº¤çš„分支" -#: builtin/branch.c:624 builtin/branch.c:626 +#: builtin/branch.c:632 builtin/branch.c:634 msgid "print only branches that don't contain the commit" msgstr "åªæ‰“å°ä¸åŒ…å«è¯¥æäº¤çš„分支" -#: builtin/branch.c:629 +#: builtin/branch.c:637 msgid "Specific git-branch actions:" msgstr "具体的 git-branch 动作:" -#: builtin/branch.c:630 +#: builtin/branch.c:638 msgid "list both remote-tracking and local branches" msgstr "åˆ—å‡ºè¿œç¨‹è·Ÿè¸ªåŠæœ¬åœ°åˆ†æ”¯" -#: builtin/branch.c:632 +#: builtin/branch.c:640 msgid "delete fully merged branch" msgstr "åˆ é™¤å®Œå…¨åˆå¹¶çš„分支" -#: builtin/branch.c:633 +#: builtin/branch.c:641 msgid "delete branch (even if not merged)" msgstr "åˆ é™¤åˆ†æ”¯ï¼ˆå³ä½¿æ²¡æœ‰åˆå¹¶ï¼‰" -#: builtin/branch.c:634 +#: builtin/branch.c:642 msgid "move/rename a branch and its reflog" msgstr "移动/é‡å‘½å一个分支,以åŠå®ƒçš„引用日志" -#: builtin/branch.c:635 +#: builtin/branch.c:643 msgid "move/rename a branch, even if target exists" msgstr "移动/é‡å‘½å一个分支,å³ä½¿ç›®æ ‡å·²å˜åœ¨" -#: builtin/branch.c:636 +#: builtin/branch.c:644 msgid "copy a branch and its reflog" msgstr "æ‹·è´ä¸€ä¸ªåˆ†æ”¯å’Œå®ƒçš„引用日志" -#: builtin/branch.c:637 +#: builtin/branch.c:645 msgid "copy a branch, even if target exists" msgstr "æ‹·è´ä¸€ä¸ªåˆ†æ”¯ï¼Œå³ä½¿ç›®æ ‡å·²å˜åœ¨" -#: builtin/branch.c:638 +#: builtin/branch.c:646 msgid "list branch names" msgstr "列出分支å" -#: builtin/branch.c:639 +#: builtin/branch.c:647 msgid "show current branch name" msgstr "显示当å‰åˆ†æ”¯å" -#: builtin/branch.c:640 +#: builtin/branch.c:648 msgid "create the branch's reflog" msgstr "创建分支的引用日志" -#: builtin/branch.c:642 +#: builtin/branch.c:650 msgid "edit the description for the branch" msgstr "æ ‡è®°åˆ†æ”¯çš„æè¿°" -#: builtin/branch.c:643 +#: builtin/branch.c:651 msgid "force creation, move/rename, deletion" msgstr "强制创建ã€ç§»åЍ/é‡å‘½åã€åˆ 除" -#: builtin/branch.c:644 +#: builtin/branch.c:652 msgid "print only branches that are merged" msgstr "åªæ‰“å°å·²ç»åˆå¹¶çš„分支" -#: builtin/branch.c:645 +#: builtin/branch.c:653 msgid "print only branches that are not merged" msgstr "åªæ‰“å°å°šæœªåˆå¹¶çš„分支" -#: builtin/branch.c:646 +#: builtin/branch.c:654 msgid "list branches in columns" msgstr "ä»¥åˆ—çš„æ–¹å¼æ˜¾ç¤ºåˆ†æ”¯" -#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415 +#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584 -#: builtin/tag.c:427 +#: builtin/tag.c:433 msgid "object" msgstr "对象" -#: builtin/branch.c:650 +#: builtin/branch.c:658 msgid "print only branches of the object" msgstr "åªæ‰“å°æŒ‡å‘该对象的分支" -#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434 +#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440 msgid "sorting and filtering are case insensitive" msgstr "排åºå’Œè¿‡æ»¤å±žäºŽå¤§å°å†™ä¸æ•感" -#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432 -#: builtin/verify-tag.c:39 +#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438 +#: builtin/verify-tag.c:38 msgid "format to use for the output" msgstr "è¾“å‡ºæ ¼å¼" -#: builtin/branch.c:676 builtin/clone.c:748 +#: builtin/branch.c:684 builtin/clone.c:761 msgid "HEAD not found below refs/heads!" msgstr "HEAD 没有ä½äºŽ /refs/heads 之下ï¼" -#: builtin/branch.c:700 +#: builtin/branch.c:708 msgid "--column and --verbose are incompatible" msgstr "--column å’Œ --verbose ä¸å…¼å®¹" -#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778 +#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786 msgid "branch name required" msgstr "å¿…é¡»æä¾›åˆ†æ”¯å" -#: builtin/branch.c:745 +#: builtin/branch.c:753 msgid "Cannot give description to detached HEAD" msgstr "ä¸èƒ½å‘分离头指针æä¾›æè¿°" -#: builtin/branch.c:750 +#: builtin/branch.c:758 msgid "cannot edit description of more than one branch" msgstr "ä¸èƒ½ä¸ºä¸€ä¸ªä»¥ä¸Šçš„分支编辑æè¿°" -#: builtin/branch.c:757 +#: builtin/branch.c:765 #, c-format msgid "No commit on branch '%s' yet." msgstr "分支 '%s' å°šæ— æäº¤ã€‚" -#: builtin/branch.c:760 +#: builtin/branch.c:768 #, c-format msgid "No branch named '%s'." msgstr "没有分支 '%s'。" -#: builtin/branch.c:775 +#: builtin/branch.c:783 msgid "too many branches for a copy operation" msgstr "ä¸ºæ‹·è´æ“作æä¾›äº†å¤ªå¤šçš„分支å" -#: builtin/branch.c:784 +#: builtin/branch.c:792 msgid "too many arguments for a rename operation" msgstr "为é‡å‘½åæ“作æä¾›äº†å¤ªå¤šçš„傿•°" -#: builtin/branch.c:789 +#: builtin/branch.c:797 msgid "too many arguments to set new upstream" msgstr "为设置新上游æä¾›äº†å¤ªå¤šçš„傿•°" -#: builtin/branch.c:793 +#: builtin/branch.c:801 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "æ— æ³•è®¾ç½® HEAD 的上游为 %sï¼Œå› ä¸º HEAD 没有指å‘任何分支。" -#: builtin/branch.c:796 builtin/branch.c:819 +#: builtin/branch.c:804 builtin/branch.c:827 #, c-format msgid "no such branch '%s'" msgstr "没有æ¤åˆ†æ”¯ '%s'" -#: builtin/branch.c:800 +#: builtin/branch.c:808 #, c-format msgid "branch '%s' does not exist" msgstr "分支 '%s' ä¸å˜åœ¨" -#: builtin/branch.c:813 +#: builtin/branch.c:821 msgid "too many arguments to unset upstream" msgstr "ä¸ºå–æ¶ˆä¸Šæ¸¸è®¾ç½®æ“作æä¾›äº†å¤ªå¤šçš„傿•°" -#: builtin/branch.c:817 +#: builtin/branch.c:825 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "æ— æ³•å–æ¶ˆ HEAD çš„ä¸Šæ¸¸è®¾ç½®å› ä¸ºå®ƒæ²¡æœ‰æŒ‡å‘一个分支" -#: builtin/branch.c:823 +#: builtin/branch.c:831 #, c-format msgid "Branch '%s' has no upstream information" msgstr "分支 '%s' 没有上游信æ¯" -#: builtin/branch.c:833 -msgid "-a and -r options to 'git branch' do not make sense with a branch name" -msgstr "'git branch' çš„ -a å’Œ -r 选项带一个分支å傿•°æ²¡æœ‰æ„义" +#: builtin/branch.c:841 +msgid "" +"The -a, and -r, options to 'git branch' do not take a branch name.\n" +"Did you mean to use: -a|-r --list <pattern>?" +msgstr "" +"'git branch' çš„ -a å’Œ -r 选项ä¸å¸¦ä¸€ä¸ªåˆ†æ”¯å。\n" +"æ‚¨æ˜¯å¦æƒ³è¦ä½¿ç”¨ï¼š-a|-r --list <模å¼>?" -#: builtin/branch.c:836 +#: builtin/branch.c:845 msgid "" "the '--set-upstream' option is no longer supported. Please use '--track' or " "'--set-upstream-to' instead." @@ -9667,7 +9856,7 @@ msgstr "需è¦ä¸€ä¸ªä»“库æ¥åˆ›å»ºåŒ…。" msgid "Need a repository to unbundle." msgstr "需è¦ä¸€ä¸ªä»“库æ¥è§£åŒ…。" -#: builtin/cat-file.c:593 +#: builtin/cat-file.c:594 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <type> | --textconv | --filters) [--path=<path>] <object>" @@ -9675,7 +9864,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <类型> | --textconv | --filters) [--path=<路径>] <对象>" -#: builtin/cat-file.c:594 +#: builtin/cat-file.c:595 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9683,71 +9872,71 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:615 +#: builtin/cat-file.c:616 msgid "only one batch option may be specified" msgstr "åªèƒ½æŒ‡å®šä¸€ä¸ªæ‰¹å¤„ç†é€‰é¡¹" -#: builtin/cat-file.c:633 +#: builtin/cat-file.c:634 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<类型> å¯ä»¥æ˜¯å…¶ä¸ä¹‹ä¸€ï¼šblobã€treeã€commitã€tag" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid "show object type" msgstr "显示对象类型" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object size" msgstr "显示对象大å°" -#: builtin/cat-file.c:637 +#: builtin/cat-file.c:638 msgid "exit with zero when there's no error" msgstr "当没有错误时退出并返回零" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "pretty-print object's content" msgstr "美观地打å°å¯¹è±¡çš„内容" -#: builtin/cat-file.c:640 +#: builtin/cat-file.c:641 msgid "for blob objects, run textconv on object's content" msgstr "对于数æ®å¯¹è±¡ï¼Œå¯¹å…¶å†…å®¹åšæ–‡æœ¬è½¬æ¢" -#: builtin/cat-file.c:642 +#: builtin/cat-file.c:643 msgid "for blob objects, run filters on object's content" msgstr "对于数æ®å¯¹è±¡ï¼Œå¯¹å…¶å†…容åšè¿‡æ»¤" -#: builtin/cat-file.c:643 git-submodule.sh:936 +#: builtin/cat-file.c:644 git-submodule.sh:936 msgid "blob" msgstr "æ•°æ®å¯¹è±¡" -#: builtin/cat-file.c:644 +#: builtin/cat-file.c:645 msgid "use a specific path for --textconv/--filters" msgstr "对于 --textconv/--filters 使用一个特定的路径" -#: builtin/cat-file.c:646 +#: builtin/cat-file.c:647 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "å…许 -s å’Œ -t 对æŸå的对象生效" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "buffer --batch output" msgstr "缓冲 --batch 的输出" -#: builtin/cat-file.c:649 +#: builtin/cat-file.c:650 msgid "show info and content of objects fed from the standard input" msgstr "æ˜¾ç¤ºä»Žæ ‡å‡†è¾“å…¥æä¾›çš„对象的信æ¯å’Œå†…容" -#: builtin/cat-file.c:653 +#: builtin/cat-file.c:654 msgid "show info about objects fed from the standard input" msgstr "æ˜¾ç¤ºä»Žæ ‡å‡†è¾“å…¥æä¾›çš„对象的信æ¯" -#: builtin/cat-file.c:657 +#: builtin/cat-file.c:658 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "è·Ÿéšæ ‘内符å·é“¾æŽ¥ï¼ˆå’Œ --batch 或 --batch-check 共用)" -#: builtin/cat-file.c:659 +#: builtin/cat-file.c:660 msgid "show all objects with --batch or --batch-check" msgstr "使用 --batch 或 --batch-check 傿•°æ˜¾ç¤ºæ‰€æœ‰å¯¹è±¡" -#: builtin/cat-file.c:661 +#: builtin/cat-file.c:662 msgid "do not order --batch-all-objects output" msgstr "ä¸è¦å¯¹ --batch-all-objects 的输出排åº" @@ -9775,8 +9964,8 @@ msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å‡ºæ–‡ä»¶å" msgid "terminate input and output records by a NUL character" msgstr "输入和输出的记录使用 NUL å—符终结" -#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538 -#: builtin/worktree.c:499 +#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 +#: builtin/worktree.c:507 msgid "suppress progress reporting" msgstr "䏿˜¾ç¤ºè¿›åº¦æŠ¥å‘Š" @@ -9866,9 +10055,9 @@ msgid "write the content to temporary files" msgstr "将内容写入临时文件" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375 -#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856 -#: builtin/worktree.c:672 +#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 +#: builtin/worktree.c:680 msgid "string" msgstr "å—符串" @@ -9880,91 +10069,114 @@ msgstr "在创建文件时,在å‰é¢åŠ ä¸Š <å—符串>" msgid "copy out the files from named stage" msgstr "从指定暂å˜åŒºä¸æ‹·å‡ºæ–‡ä»¶" -#: builtin/checkout.c:32 +#: builtin/checkout.c:31 msgid "git checkout [<options>] <branch>" msgstr "git checkout [<选项>] <分支>" -#: builtin/checkout.c:33 +#: builtin/checkout.c:32 msgid "git checkout [<options>] [<branch>] -- <file>..." msgstr "git checkout [<选项>] [<分支>] -- <文件>..." -#: builtin/checkout.c:151 builtin/checkout.c:190 +#: builtin/checkout.c:37 +msgid "git switch [<options>] [<branch>]" +msgstr "git switch [<选项>] [<分支>]" + +#: builtin/checkout.c:42 +msgid "git restore [<options>] [--source=<branch>] <file>..." +msgstr "git restore [<选项>] [--source=<分支>] <文件>..." + +#: builtin/checkout.c:172 builtin/checkout.c:211 #, c-format msgid "path '%s' does not have our version" msgstr "路径 '%s' 没有我们的版本" -#: builtin/checkout.c:153 builtin/checkout.c:192 +#: builtin/checkout.c:174 builtin/checkout.c:213 #, c-format msgid "path '%s' does not have their version" msgstr "路径 '%s' 没有他们的版本" -#: builtin/checkout.c:169 +#: builtin/checkout.c:190 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "路径 '%s' 没有全部必需的版本" -#: builtin/checkout.c:219 +#: builtin/checkout.c:240 #, c-format msgid "path '%s' does not have necessary versions" msgstr "路径 '%s' 没有必需的版本" -#: builtin/checkout.c:237 +#: builtin/checkout.c:258 #, c-format msgid "path '%s': cannot merge" msgstr "path '%s'ï¼šæ— æ³•åˆå¹¶" -#: builtin/checkout.c:253 +#: builtin/checkout.c:274 #, c-format msgid "Unable to add merge result for '%s'" msgstr "æ— æ³•ä¸º '%s' æ·»åŠ åˆå¹¶ç»“æžœ" -#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337 -#: builtin/checkout.c:340 +#: builtin/checkout.c:374 +#, c-format +msgid "Recreated %d merge conflict" +msgid_plural "Recreated %d merge conflicts" +msgstr[0] "釿–°åˆ›å»ºäº† %d 个åˆå¹¶å†²çª" +msgstr[1] "釿–°åˆ›å»ºäº† %d 个åˆå¹¶å†²çª" + +#: builtin/checkout.c:379 +#, c-format +msgid "Updated %d path from %s" +msgid_plural "Updated %d paths from %s" +msgstr[0] "从 %2$s 更新了 %1$d 个路径" +msgstr[1] "从 %2$s 更新了 %1$d 个路径" + +#: builtin/checkout.c:386 +#, c-format +msgid "Updated %d path from the index" +msgid_plural "Updated %d paths from the index" +msgstr[0] "从索引区更新了 %d 个路径" +msgstr[1] "从索引区更新了 %d 个路径" + +#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 +#: builtin/checkout.c:419 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' ä¸èƒ½åœ¨æ›´æ–°è·¯å¾„时使用" -#: builtin/checkout.c:343 builtin/checkout.c:346 +#: builtin/checkout.c:422 builtin/checkout.c:425 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' ä¸èƒ½å’Œ %s åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:349 +#: builtin/checkout.c:429 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "ä¸èƒ½åŒæ—¶æ›´æ–°è·¯å¾„并切æ¢åˆ°åˆ†æ”¯'%s'。" -#: builtin/checkout.c:396 builtin/checkout.c:403 +#: builtin/checkout.c:433 #, c-format -msgid "path '%s' is unmerged" -msgstr "路径 '%s' 未åˆå¹¶" +msgid "neither '%s' or '%s' is specified" +msgstr "'%s' 或 '%s' 都没有指定" -#: builtin/checkout.c:442 +#: builtin/checkout.c:437 #, c-format -msgid "Recreated %d merge conflict" -msgid_plural "Recreated %d merge conflicts" -msgstr[0] "釿–°åˆ›å»ºäº† %d 个åˆå¹¶å†²çª" -msgstr[1] "釿–°åˆ›å»ºäº† %d 个åˆå¹¶å†²çª" +msgid "'%s' must be used when '%s' is not specified" +msgstr "未指定 '%2$s' 时,必须使用 '%1$s'" -#: builtin/checkout.c:447 +#: builtin/checkout.c:442 builtin/checkout.c:447 #, c-format -msgid "Updated %d path from %s" -msgid_plural "Updated %d paths from %s" -msgstr[0] "从 %2$s 更新了 %1$d 个路径" -msgstr[1] "从 %2$s 更新了 %1$d 个路径" +msgid "'%s' or '%s' cannot be used with %s" +msgstr "'%s' 或 '%s' ä¸èƒ½å’Œ %s 一起使用" -#: builtin/checkout.c:454 +#: builtin/checkout.c:506 builtin/checkout.c:513 #, c-format -msgid "Updated %d path from the index" -msgid_plural "Updated %d paths from the index" -msgstr[0] "从索引区更新了 %d 个路径" -msgstr[1] "从索引区更新了 %d 个路径" +msgid "path '%s' is unmerged" +msgstr "路径 '%s' 未åˆå¹¶" -#: builtin/checkout.c:695 +#: builtin/checkout.c:679 msgid "you need to resolve your current index first" msgstr "您需è¦å…ˆè§£å†³å½“å‰ç´¢å¼•的冲çª" -#: builtin/checkout.c:744 +#: builtin/checkout.c:729 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -9973,56 +10185,56 @@ msgstr "" "ä¸èƒ½ç»§ç»ï¼Œä¸‹åˆ—文件有暂å˜çš„修改:\n" "%s" -#: builtin/checkout.c:751 +#: builtin/checkout.c:736 #, c-format msgid "staged changes in the following files may be lost: %s" msgstr "下列文件暂å˜çš„修改å¯èƒ½ä¼šä¸¢å¤±ï¼š%s" -#: builtin/checkout.c:848 +#: builtin/checkout.c:833 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "ä¸èƒ½å¯¹ '%s' 执行 reflog æ“作:%s\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:875 msgid "HEAD is now at" msgstr "HEAD ç›®å‰ä½äºŽ" -#: builtin/checkout.c:894 builtin/clone.c:701 +#: builtin/checkout.c:879 builtin/clone.c:714 msgid "unable to update HEAD" msgstr "ä¸èƒ½æ›´æ–° HEAD" -#: builtin/checkout.c:898 +#: builtin/checkout.c:883 #, c-format msgid "Reset branch '%s'\n" msgstr "é‡ç½®åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:901 +#: builtin/checkout.c:886 #, c-format msgid "Already on '%s'\n" msgstr "å·²ç»ä½äºŽ '%s'\n" -#: builtin/checkout.c:905 +#: builtin/checkout.c:890 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "切æ¢å¹¶é‡ç½®åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:907 builtin/checkout.c:1283 +#: builtin/checkout.c:892 builtin/checkout.c:1289 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "切æ¢åˆ°ä¸€ä¸ªæ–°åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:909 +#: builtin/checkout.c:894 #, c-format msgid "Switched to branch '%s'\n" msgstr "切æ¢åˆ°åˆ†æ”¯ '%s'\n" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/checkout.c:960 +#: builtin/checkout.c:945 #, c-format msgid " ... and %d more.\n" msgstr " ... åŠå…¶å®ƒ %d 个。\n" -#: builtin/checkout.c:966 +#: builtin/checkout.c:951 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10043,7 +10255,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:985 +#: builtin/checkout.c:970 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10070,24 +10282,28 @@ msgstr[1] "" " git branch <新分支å> %s\n" "\n" -#: builtin/checkout.c:1017 +#: builtin/checkout.c:1005 msgid "internal error in revision walk" msgstr "在版本é历时é‡åˆ°å†…部错误" -#: builtin/checkout.c:1021 +#: builtin/checkout.c:1009 msgid "Previous HEAD position was" msgstr "之å‰çš„ HEAD ä½ç½®æ˜¯" -#: builtin/checkout.c:1052 builtin/checkout.c:1278 +#: builtin/checkout.c:1049 builtin/checkout.c:1284 msgid "You are on a branch yet to be born" msgstr "您ä½äºŽä¸€ä¸ªå°šæœªåˆå§‹åŒ–的分支" -#: builtin/checkout.c:1173 +#: builtin/checkout.c:1176 +msgid "only one reference expected" +msgstr "é¢„æœŸåªæœ‰ä¸€ä¸ªå¼•用" + +#: builtin/checkout.c:1193 #, c-format msgid "only one reference expected, %d given." msgstr "åº”åªæœ‰ä¸€ä¸ªå¼•用,å´ç»™å‡ºäº† %d 个" -#: builtin/checkout.c:1209 +#: builtin/checkout.c:1230 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10096,158 +10312,214 @@ msgstr "" "'%s' æ—¢å¯ä»¥æ˜¯ä¸€ä¸ªæœ¬åœ°æ–‡ä»¶ï¼Œä¹Ÿå¯ä»¥æ˜¯ä¸€ä¸ªè·Ÿè¸ªåˆ†æ”¯ã€‚\n" "请使用 --(和å¯é€‰çš„ --no-guessï¼‰æ¥æ¶ˆé™¤æ§ä¹‰" -#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448 +#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 #, c-format msgid "invalid reference: %s" msgstr "æ— æ•ˆå¼•ç”¨ï¼š%s" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1256 builtin/checkout.c:1618 #, c-format msgid "reference is not a tree: %s" msgstr "å¼•ç”¨ä¸æ˜¯ä¸€ä¸ªæ ‘:%s" -#: builtin/checkout.c:1292 +#: builtin/checkout.c:1303 +#, c-format +msgid "a branch is expected, got tag '%s'" +msgstr "æœŸæœ›ä¸€ä¸ªåˆ†æ”¯ï¼Œå¾—åˆ°æ ‡ç¾ '%s'" + +#: builtin/checkout.c:1305 +#, c-format +msgid "a branch is expected, got remote branch '%s'" +msgstr "期望一个分支,得到远程分支 '%s'" + +#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#, c-format +msgid "a branch is expected, got '%s'" +msgstr "期望一个分支,得到 '%s'" + +#: builtin/checkout.c:1309 +#, c-format +msgid "a branch is expected, got commit '%s'" +msgstr "期望一个分支,得到æäº¤ '%s'" + +#: builtin/checkout.c:1325 +msgid "" +"cannot switch branch while merging\n" +"Consider \"git merge --quit\" or \"git worktree add\"." +msgstr "" +"ä¸èƒ½åœ¨åˆå¹¶æ—¶åˆ‡æ¢åˆ†æ”¯\n" +"考虑使用 \"git merge --quit\" 或 \"git worktree add\"。" + +#: builtin/checkout.c:1329 +msgid "" +"cannot switch branch in the middle of an am session\n" +"Consider \"git am --quit\" or \"git worktree add\"." +msgstr "" +"ä¸èƒ½åœ¨ä¸€ä¸ª am ä¼šè¯æœŸé—´åˆ‡æ¢åˆ†æ”¯\n" +"考虑使用 \"git am --quit\" 或 \"git worktree add\"。" + +#: builtin/checkout.c:1333 +msgid "" +"cannot switch branch while rebasing\n" +"Consider \"git rebase --quit\" or \"git worktree add\"." +msgstr "" +"ä¸èƒ½åœ¨å˜åŸºæ—¶åˆ‡æ¢åˆ†æ”¯\n" +"考虑使用 \"git rebase --quit\" 或 \"git worktree add\"。" + +#: builtin/checkout.c:1337 +msgid "" +"cannot switch branch while cherry-picking\n" +"Consider \"git cherry-pick --quit\" or \"git worktree add\"." +msgstr "" +"ä¸èƒ½åœ¨æ‹£é€‰æ—¶åˆ‡æ¢åˆ†æ”¯\n" +"考虑使用 \"git cherry-pick --quit\" 或 \"git worktree add\"。" + +#: builtin/checkout.c:1341 +msgid "" +"cannot switch branch while reverting\n" +"Consider \"git revert --quit\" or \"git worktree add\"." +msgstr "" +"ä¸èƒ½åœ¨è¿˜åŽŸæ—¶åˆ‡æ¢åˆ†æ”¯\n" +"考虑使用 \"git revert --quit\" 或 \"git worktree add\"。" + +#: builtin/checkout.c:1345 +msgid "you are switching branch while bisecting" +msgstr "您在执行二分查找时切æ¢åˆ†æ”¯" + +#: builtin/checkout.c:1352 msgid "paths cannot be used with switching branches" msgstr "路径ä¸èƒ½å’Œåˆ‡æ¢åˆ†æ”¯åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303 +#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' ä¸èƒ½å’Œåˆ‡æ¢åˆ†æ”¯åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315 -#: builtin/checkout.c:1318 +#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 +#: builtin/checkout.c:1378 builtin/checkout.c:1383 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' ä¸èƒ½å’Œ '%s' åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1323 +#: builtin/checkout.c:1380 +#, c-format +msgid "'%s' cannot take <start-point>" +msgstr "'%s' ä¸å¸¦ <起始点>" + +#: builtin/checkout.c:1388 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "ä¸èƒ½åˆ‡æ¢åˆ†æ”¯åˆ°ä¸€ä¸ªéžæäº¤ '%s'" -#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118 -#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492 -#: builtin/worktree.c:494 -msgid "branch" -msgstr "分支" +#: builtin/checkout.c:1395 +msgid "missing branch or commit argument" +msgstr "缺少分支或æäº¤å‚æ•°" -#: builtin/checkout.c:1357 -msgid "create and checkout a new branch" -msgstr "创建并检出一个新的分支" +#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 +#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/send-pack.c:174 +msgid "force progress reporting" +msgstr "强制显示进度报告" -#: builtin/checkout.c:1359 -msgid "create/reset and checkout a branch" -msgstr "创建/é‡ç½®å¹¶æ£€å‡ºä¸€ä¸ªåˆ†æ”¯" +#: builtin/checkout.c:1438 +msgid "perform a 3-way merge with the new branch" +msgstr "和新的分支执行三方åˆå¹¶" -#: builtin/checkout.c:1360 -msgid "create reflog for new branch" -msgstr "为新的分支创建引用日志" +#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +msgid "style" +msgstr "é£Žæ ¼" -#: builtin/checkout.c:1361 builtin/worktree.c:496 +#: builtin/checkout.c:1440 +msgid "conflict style (merge or diff3)" +msgstr "冲çªè¾“å‡ºé£Žæ ¼ï¼ˆmerge 或 diff3)" + +#: builtin/checkout.c:1452 builtin/worktree.c:504 msgid "detach HEAD at named commit" msgstr "HEAD 从指定的æäº¤åˆ†ç¦»" -#: builtin/checkout.c:1362 +#: builtin/checkout.c:1453 msgid "set upstream info for new branch" msgstr "为新的分支设置上游信æ¯" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1455 +msgid "force checkout (throw away local modifications)" +msgstr "强制检出(丢弃本地修改)" + +#: builtin/checkout.c:1457 msgid "new-branch" msgstr "新分支" -#: builtin/checkout.c:1364 +#: builtin/checkout.c:1457 msgid "new unparented branch" msgstr "新的没有父æäº¤çš„分支" -#: builtin/checkout.c:1366 +#: builtin/checkout.c:1459 builtin/merge.c:288 +msgid "update ignored files (default)" +msgstr "更新忽略的文件(默认)" + +#: builtin/checkout.c:1462 +msgid "do not check if another worktree is holding the given ref" +msgstr "䏿£€æŸ¥æŒ‡å®šçš„引用是å¦è¢«å…¶ä»–工作区所å 用" + +#: builtin/checkout.c:1475 msgid "checkout our version for unmerged files" msgstr "对尚未åˆå¹¶çš„æ–‡ä»¶æ£€å‡ºæˆ‘们的版本" -#: builtin/checkout.c:1369 +#: builtin/checkout.c:1478 msgid "checkout their version for unmerged files" msgstr "对尚未åˆå¹¶çš„æ–‡ä»¶æ£€å‡ºä»–们的版本" -#: builtin/checkout.c:1371 -msgid "force checkout (throw away local modifications)" -msgstr "强制检出(丢弃本地修改)" - -#: builtin/checkout.c:1373 -msgid "perform a 3-way merge with the new branch" -msgstr "和新的分支执行三方åˆå¹¶" - -#: builtin/checkout.c:1375 builtin/merge.c:284 -msgid "update ignored files (default)" -msgstr "更新忽略的文件(默认)" - -#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317 -msgid "style" -msgstr "é£Žæ ¼" - -#: builtin/checkout.c:1378 -msgid "conflict style (merge or diff3)" -msgstr "冲çªè¾“å‡ºé£Žæ ¼ï¼ˆmerge 或 diff3)" - -#: builtin/checkout.c:1381 +#: builtin/checkout.c:1482 msgid "do not limit pathspecs to sparse entries only" msgstr "对路径ä¸åšç¨€ç–检出的é™åˆ¶" -#: builtin/checkout.c:1383 -msgid "do not second guess 'git checkout <no-such-branch>'" -msgstr "ä¸è¦äºŒæ¬¡çŒœæµ‹ 'git checkout <æ— æ¤åˆ†æ”¯>'" - -#: builtin/checkout.c:1385 -msgid "do not check if another worktree is holding the given ref" -msgstr "䏿£€æŸ¥æŒ‡å®šçš„引用是å¦è¢«å…¶ä»–工作区所å 用" - -#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141 -#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575 -#: builtin/send-pack.c:174 -msgid "force progress reporting" -msgstr "强制显示进度报告" - -#: builtin/checkout.c:1390 -msgid "use overlay mode (default)" -msgstr "使用å åŠ æ¨¡å¼ï¼ˆé»˜è®¤ï¼‰" - -#: builtin/checkout.c:1422 +#: builtin/checkout.c:1533 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-bã€-B å’Œ --orphan 是互斥的" -#: builtin/checkout.c:1425 +#: builtin/checkout.c:1536 msgid "-p and --overlay are mutually exclusive" msgstr "-p å’Œ --overlay 互斥" -#: builtin/checkout.c:1442 +#: builtin/checkout.c:1573 msgid "--track needs a branch name" msgstr "--track 需è¦ä¸€ä¸ªåˆ†æ”¯å" -#: builtin/checkout.c:1447 +#: builtin/checkout.c:1578 msgid "missing branch name; try -b" msgstr "缺少分支å,å°è¯• -b" -#: builtin/checkout.c:1484 +#: builtin/checkout.c:1611 +#, c-format +msgid "could not resolve %s" +msgstr "æ— æ³•è§£æž %s" + +#: builtin/checkout.c:1623 +msgid "you must specify path(s) to restore" +msgstr "æ‚¨å¿…é¡»æŒ‡å®šä¸€ä¸ªè¦æ¢å¤çš„路径" + +#: builtin/checkout.c:1631 msgid "invalid path specification" msgstr "æ— æ•ˆçš„è·¯å¾„è§„æ ¼" -#: builtin/checkout.c:1491 +#: builtin/checkout.c:1638 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "'%s' 䏿˜¯ä¸€ä¸ªæäº¤ï¼Œä¸èƒ½åŸºäºŽå®ƒåˆ›å»ºåˆ†æ”¯ '%s'" -#: builtin/checkout.c:1495 +#: builtin/checkout.c:1642 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout:--detach ä¸èƒ½æŽ¥æ”¶è·¯å¾„傿•° '%s'" -#: builtin/checkout.c:1499 +#: builtin/checkout.c:1646 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" "git checkout:在从索引检出时,--ours/--theirsã€--force å’Œ --merge ä¸å…¼å®¹ã€‚" -#: builtin/checkout.c:1519 +#: builtin/checkout.c:1666 #, c-format msgid "" "'%s' matched more than one remote tracking branch.\n" @@ -10275,6 +10547,68 @@ msgstr "" "如果您总是喜欢使用模糊的简çŸåˆ†æ”¯å <name>,而ä¸å–œæ¬¢å¦‚ 'origin' 的远程\n" "仓库å,å¯ä»¥åœ¨é…ç½®ä¸è®¾ç½® checkout.defaultRemote=origin。" +#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 +#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 +#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +msgid "branch" +msgstr "分支" + +#: builtin/checkout.c:1692 +msgid "create and checkout a new branch" +msgstr "创建并检出一个新的分支" + +#: builtin/checkout.c:1694 +msgid "create/reset and checkout a branch" +msgstr "创建/é‡ç½®å¹¶æ£€å‡ºä¸€ä¸ªåˆ†æ”¯" + +#: builtin/checkout.c:1695 +msgid "create reflog for new branch" +msgstr "为新的分支创建引用日志" + +#: builtin/checkout.c:1697 +msgid "second guess 'git checkout <no-such-branch>' (default)" +msgstr "二次猜测 'git checkout <æ— æ¤åˆ†æ”¯>'(默认)" + +#: builtin/checkout.c:1698 +msgid "use overlay mode (default)" +msgstr "使用å åŠ æ¨¡å¼ï¼ˆé»˜è®¤ï¼‰" + +#: builtin/checkout.c:1734 +msgid "create and switch to a new branch" +msgstr "创建并切æ¢ä¸€ä¸ªæ–°åˆ†æ”¯" + +#: builtin/checkout.c:1736 +msgid "create/reset and switch to a branch" +msgstr "创建/é‡ç½®å¹¶åˆ‡æ¢ä¸€ä¸ªåˆ†æ”¯" + +#: builtin/checkout.c:1738 +msgid "second guess 'git switch <no-such-branch>'" +msgstr "二次猜测 'git switch <æ— æ¤åˆ†æ”¯>'" + +#: builtin/checkout.c:1740 +msgid "throw away local modifications" +msgstr "丢弃本地修改" + +#: builtin/checkout.c:1772 +msgid "which tree-ish to checkout from" +msgstr "è¦æ£€å‡ºå“ªä¸€ä¸ªæ ‘" + +#: builtin/checkout.c:1774 +msgid "restore the index" +msgstr "æ¢å¤ç´¢å¼•" + +#: builtin/checkout.c:1776 +msgid "restore the working tree (default)" +msgstr "æ¢å¤å·¥ä½œåŒºï¼ˆé»˜è®¤ï¼‰" + +#: builtin/checkout.c:1778 +msgid "ignore unmerged entries" +msgstr "忽略未åˆå¹¶æ¡ç›®" + +#: builtin/checkout.c:1779 +msgid "use overlay mode" +msgstr "使用å åŠ æ¨¡å¼" + #: builtin/clean.c:28 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." @@ -10306,7 +10640,12 @@ msgstr "将忽略仓库 %s\n" msgid "failed to remove %s" msgstr "åˆ é™¤ %s 失败" -#: builtin/clean.c:299 git-add--interactive.perl:579 +#: builtin/clean.c:37 +#, c-format +msgid "could not lstat %s\n" +msgstr "ä¸èƒ½å¯¹ %s 调用 lstat\n" + +#: builtin/clean.c:300 git-add--interactive.perl:593 #, c-format msgid "" "Prompt help:\n" @@ -10319,7 +10658,7 @@ msgstr "" "foo - 通过唯一å‰ç¼€é€‰æ‹©ä¸€ä¸ªé€‰é¡¹\n" " - (空)什么也ä¸é€‰æ‹©\n" -#: builtin/clean.c:303 git-add--interactive.perl:588 +#: builtin/clean.c:304 git-add--interactive.perl:602 #, c-format msgid "" "Prompt help:\n" @@ -10340,38 +10679,38 @@ msgstr "" "* - 选择所有选项\n" " - (空)结æŸé€‰æ‹©\n" -#: builtin/clean.c:519 git-add--interactive.perl:554 -#: git-add--interactive.perl:559 +#: builtin/clean.c:520 git-add--interactive.perl:568 +#: git-add--interactive.perl:573 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "嗯(%s)?\n" -#: builtin/clean.c:661 +#: builtin/clean.c:662 #, c-format msgid "Input ignore patterns>> " msgstr "输入模版以排除æ¡ç›®>> " -#: builtin/clean.c:698 +#: builtin/clean.c:699 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "è¦å‘Šï¼šæ— 法找到和 %s 匹é…çš„æ¡ç›®" -#: builtin/clean.c:719 +#: builtin/clean.c:720 msgid "Select items to delete" msgstr "选择è¦åˆ 除的æ¡ç›®" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:760 +#: builtin/clean.c:761 #, c-format msgid "Remove %s [y/N]? " msgstr "åˆ é™¤ %s [y/N]?" -#: builtin/clean.c:785 git-add--interactive.perl:1717 +#: builtin/clean.c:786 git-add--interactive.perl:1763 #, c-format msgid "Bye.\n" msgstr "å†è§ã€‚\n" -#: builtin/clean.c:793 +#: builtin/clean.c:794 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10389,227 +10728,231 @@ msgstr "" "help - 显示本帮助\n" "? - 显示如何在æç¤ºç¬¦ä¸‹é€‰æ‹©çš„帮助" -#: builtin/clean.c:820 git-add--interactive.perl:1793 +#: builtin/clean.c:821 git-add--interactive.perl:1849 msgid "*** Commands ***" msgstr "*** 命令 ***" -#: builtin/clean.c:821 git-add--interactive.perl:1790 +#: builtin/clean.c:822 git-add--interactive.perl:1846 msgid "What now" msgstr "请选择" -#: builtin/clean.c:829 +#: builtin/clean.c:830 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "å°†åˆ é™¤å¦‚ä¸‹æ¡ç›®ï¼š" msgstr[1] "å°†åˆ é™¤å¦‚ä¸‹æ¡ç›®ï¼š" -#: builtin/clean.c:845 +#: builtin/clean.c:846 msgid "No more files to clean, exiting." msgstr "æ²¡æœ‰è¦æ¸…ç†çš„æ–‡ä»¶ï¼Œé€€å‡ºã€‚" -#: builtin/clean.c:907 +#: builtin/clean.c:908 msgid "do not print names of files removed" msgstr "䏿‰“å°åˆ 除文件的åç§°" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "force" msgstr "强制" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "interactive cleaning" msgstr "äº¤äº’å¼æ¸…除" -#: builtin/clean.c:912 +#: builtin/clean.c:913 msgid "remove whole directories" msgstr "åˆ é™¤æ•´ä¸ªç›®å½•" -#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173 -#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419 +#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 +#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 +#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 #: builtin/show-ref.c:179 msgid "pattern" msgstr "模å¼" -#: builtin/clean.c:914 +#: builtin/clean.c:915 msgid "add <pattern> to ignore rules" msgstr "æ·»åŠ <模å¼> 到忽略规则" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "remove ignored files, too" msgstr "ä¹Ÿåˆ é™¤å¿½ç•¥çš„æ–‡ä»¶" -#: builtin/clean.c:917 +#: builtin/clean.c:918 msgid "remove only ignored files" msgstr "åªåˆ 除忽略的文件" -#: builtin/clean.c:935 +#: builtin/clean.c:936 msgid "-x and -X cannot be used together" msgstr "-x å’Œ -X ä¸èƒ½åŒæ—¶ä½¿ç”¨" -#: builtin/clean.c:939 +#: builtin/clean.c:940 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" msgstr "" "clean.requireForce 设置为 true 且未æä¾› -iã€-n 或 -f é€‰é¡¹ï¼Œæ‹’ç»æ‰§è¡Œæ¸…ç†åŠ¨ä½œ" -#: builtin/clean.c:942 +#: builtin/clean.c:943 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" msgstr "" "clean.requireForce 默认为 true 且未æä¾› -iã€-n 或 -f é€‰é¡¹ï¼Œæ‹’ç»æ‰§è¡Œæ¸…ç†åŠ¨ä½œ" -#: builtin/clone.c:44 +#: builtin/clone.c:46 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<选项>] [--] <仓库> [<路径>]" -#: builtin/clone.c:90 +#: builtin/clone.c:93 msgid "don't create a checkout" msgstr "ä¸åˆ›å»ºä¸€ä¸ªæ£€å‡º" -#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489 +#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489 msgid "create a bare repository" msgstr "创建一个纯仓库" -#: builtin/clone.c:95 +#: builtin/clone.c:98 msgid "create a mirror repository (implies bare)" msgstr "创建一个镜åƒä»“库(也是纯仓库)" -#: builtin/clone.c:97 +#: builtin/clone.c:100 msgid "to clone from a local repository" msgstr "从本地仓库克隆" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "don't use local hardlinks, always copy" msgstr "ä¸ä½¿ç”¨æœ¬åœ°ç¡¬é“¾æŽ¥ï¼Œå§‹ç»ˆå¤åˆ¶" -#: builtin/clone.c:101 +#: builtin/clone.c:104 msgid "setup as shared repository" msgstr "设置为共享仓库" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "pathspec" msgstr "è·¯å¾„è§„æ ¼" -#: builtin/clone.c:104 +#: builtin/clone.c:107 msgid "initialize submodules in the clone" msgstr "在克隆时åˆå§‹åŒ–忍¡ç»„" -#: builtin/clone.c:107 +#: builtin/clone.c:110 msgid "number of submodules cloned in parallel" msgstr "å¹¶å‘å…‹éš†çš„åæ¨¡ç»„的数é‡" -#: builtin/clone.c:108 builtin/init-db.c:486 +#: builtin/clone.c:111 builtin/init-db.c:486 msgid "template-directory" msgstr "模æ¿ç›®å½•" -#: builtin/clone.c:109 builtin/init-db.c:487 +#: builtin/clone.c:112 builtin/init-db.c:487 msgid "directory from which templates will be used" msgstr "模æ¿ç›®å½•将被使用" -#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379 -#: builtin/submodule--helper.c:1859 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 +#: builtin/submodule--helper.c:1860 msgid "reference repository" msgstr "å‚考仓库" -#: builtin/clone.c:115 builtin/submodule--helper.c:1381 -#: builtin/submodule--helper.c:1861 +#: builtin/clone.c:118 builtin/submodule--helper.c:1382 +#: builtin/submodule--helper.c:1862 msgid "use --reference only while cloning" msgstr "仅在克隆时å‚考 --reference 指å‘的本地仓库" -#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3306 builtin/repack.c:329 +#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 +#: builtin/pack-objects.c:3314 builtin/repack.c:319 msgid "name" msgstr "åç§°" -#: builtin/clone.c:117 +#: builtin/clone.c:120 msgid "use <name> instead of 'origin' to track upstream" msgstr "使用 <åç§°> è€Œä¸æ˜¯ 'origin' 去跟踪上游" -#: builtin/clone.c:119 +#: builtin/clone.c:122 msgid "checkout <branch> instead of the remote's HEAD" msgstr "检出 <分支> è€Œä¸æ˜¯è¿œç¨‹ HEAD" -#: builtin/clone.c:121 +#: builtin/clone.c:124 msgid "path to git-upload-pack on the remote" msgstr "远程 git-upload-pack 路径" -#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836 -#: builtin/pull.c:225 +#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 +#: builtin/pull.c:226 msgid "depth" msgstr "深度" -#: builtin/clone.c:123 +#: builtin/clone.c:126 msgid "create a shallow clone of that depth" msgstr "创建一个指定深度的浅克隆" -#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295 +#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 msgid "time" msgstr "æ—¶é—´" -#: builtin/clone.c:125 +#: builtin/clone.c:128 msgid "create a shallow clone since a specific time" msgstr "从一个特定时间创建一个浅克隆" -#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169 -#: builtin/rebase.c:1389 +#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 +#: builtin/rebase.c:1395 msgid "revision" msgstr "版本" -#: builtin/clone.c:127 builtin/fetch.c:147 +#: builtin/clone.c:130 builtin/fetch.c:157 msgid "deepen history of shallow clone, excluding rev" msgstr "深化浅克隆的历å²ï¼Œé™¤äº†ç‰¹å®šç‰ˆæœ¬" -#: builtin/clone.c:129 +#: builtin/clone.c:132 msgid "clone only one branch, HEAD or --branch" msgstr "åªå…‹éš†ä¸€ä¸ªåˆ†æ”¯ã€HEAD 或 --branch" -#: builtin/clone.c:131 +#: builtin/clone.c:134 msgid "don't clone any tags, and make later fetches not to follow them" msgstr "ä¸è¦å…‹éš†ä»»ä½•æ ‡ç¾ï¼Œå¹¶ä¸”åŽç»èŽ·å–æ“作也ä¸ä¸‹è½½å®ƒä»¬" -#: builtin/clone.c:133 +#: builtin/clone.c:136 msgid "any cloned submodules will be shallow" msgstr "忍¡ç»„将以浅下载模å¼å…‹éš†" -#: builtin/clone.c:134 builtin/init-db.c:495 +#: builtin/clone.c:137 builtin/init-db.c:495 msgid "gitdir" msgstr "git目录" -#: builtin/clone.c:135 builtin/init-db.c:496 +#: builtin/clone.c:138 builtin/init-db.c:496 msgid "separate git dir from working tree" msgstr "git目录和工作区分离" -#: builtin/clone.c:136 +#: builtin/clone.c:139 msgid "key=value" msgstr "key=value" -#: builtin/clone.c:137 +#: builtin/clone.c:140 msgid "set config inside the new repository" msgstr "在新仓库ä¸è®¾ç½®é…置信æ¯" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:172 msgid "server-specific" msgstr "server-specific" -#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76 +#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 #: builtin/push.c:585 builtin/send-pack.c:173 msgid "option to transmit" msgstr "ä¼ è¾“é€‰é¡¹" -#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238 +#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 #: builtin/push.c:586 msgid "use IPv4 addresses only" msgstr "åªä½¿ç”¨ IPv4 地å€" -#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241 +#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 #: builtin/push.c:588 msgid "use IPv6 addresses only" msgstr "åªä½¿ç”¨ IPv6 地å€" -#: builtin/clone.c:280 +#: builtin/clone.c:149 +msgid "any cloned submodules will use their remote-tracking branch" +msgstr "ä»»ä½•å…‹éš†çš„åæ¨¡ç»„将使用它们的远程跟踪分支" + +#: builtin/clone.c:285 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10617,180 +10960,180 @@ msgstr "" "æ— æ³•çŒœåˆ°ç›®å½•å。\n" "请在命令行指定一个目录" -#: builtin/clone.c:333 +#: builtin/clone.c:338 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: ä¸èƒ½ä¸º '%s' æ·»åŠ ä¸€ä¸ªå¤‡ç”¨ï¼š%s\n" -#: builtin/clone.c:405 -#, c-format -msgid "failed to open '%s'" -msgstr "打开 '%s' 失败" - -#: builtin/clone.c:413 +#: builtin/clone.c:411 #, c-format msgid "%s exists and is not a directory" msgstr "%s å˜åœ¨ä¸”䏿˜¯ä¸€ä¸ªç›®å½•" -#: builtin/clone.c:427 +#: builtin/clone.c:428 #, c-format -msgid "failed to stat %s\n" -msgstr "对 %s 调用 stat 失败\n" +msgid "failed to start iterator over '%s'" +msgstr "æ— æ³•åœ¨ '%s' 上å¯åЍè¿ä»£å™¨" -#: builtin/clone.c:444 +#: builtin/clone.c:453 #, c-format msgid "failed to unlink '%s'" msgstr "åˆ é™¤ '%s' 失败" -#: builtin/clone.c:449 +#: builtin/clone.c:458 #, c-format msgid "failed to create link '%s'" msgstr "创建链接 '%s' 失败" -#: builtin/clone.c:453 +#: builtin/clone.c:462 #, c-format msgid "failed to copy file to '%s'" msgstr "æ‹·è´æ–‡ä»¶è‡³ '%s' 失败" -#: builtin/clone.c:479 +#: builtin/clone.c:467 +#, c-format +msgid "failed to iterate over '%s'" +msgstr "æ— æ³•åœ¨ '%s' 上è¿ä»£" + +#: builtin/clone.c:492 #, c-format msgid "done.\n" msgstr "完æˆã€‚\n" -#: builtin/clone.c:493 +#: builtin/clone.c:506 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" +"and retry with 'git restore --source=HEAD :/'\n" msgstr "" "克隆æˆåŠŸï¼Œä½†æ˜¯æ£€å‡ºå¤±è´¥ã€‚\n" "您å¯ä»¥é€šè¿‡ 'git status' 检查哪些已被检出,然åŽä½¿ç”¨å‘½ä»¤\n" -"'git checkout -f HEAD' é‡è¯•\n" +"'git restore --source=HEAD :/' é‡è¯•\n" -#: builtin/clone.c:570 +#: builtin/clone.c:583 #, c-format msgid "Could not find remote branch %s to clone." msgstr "ä¸èƒ½å‘现è¦å…‹éš†çš„远程分支 %s。" -#: builtin/clone.c:689 +#: builtin/clone.c:702 #, c-format msgid "unable to update %s" msgstr "ä¸èƒ½æ›´æ–° %s" -#: builtin/clone.c:739 +#: builtin/clone.c:752 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "远程 HEAD 指å‘一个ä¸å˜åœ¨çš„å¼•ç”¨ï¼Œæ— æ³•æ£€å‡ºã€‚\n" -#: builtin/clone.c:770 +#: builtin/clone.c:783 msgid "unable to checkout working tree" msgstr "ä¸èƒ½æ£€å‡ºå·¥ä½œåŒº" -#: builtin/clone.c:815 +#: builtin/clone.c:833 msgid "unable to write parameters to config file" msgstr "æ— æ³•å°†å‚æ•°å†™å…¥é…置文件" -#: builtin/clone.c:878 +#: builtin/clone.c:896 msgid "cannot repack to clean up" msgstr "æ— æ³•æ‰§è¡Œ repack æ¥æ¸…ç†" -#: builtin/clone.c:880 +#: builtin/clone.c:898 msgid "cannot unlink temporary alternates file" msgstr "æ— æ³•åˆ é™¤ä¸´æ—¶çš„ alternates 文件" -#: builtin/clone.c:920 builtin/receive-pack.c:1952 +#: builtin/clone.c:938 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "å¤ªå¤šå‚æ•°ã€‚" -#: builtin/clone.c:924 +#: builtin/clone.c:942 msgid "You must specify a repository to clone." msgstr "您必须指定一个仓库æ¥å…‹éš†ã€‚" -#: builtin/clone.c:937 +#: builtin/clone.c:955 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare å’Œ --origin %s 选项ä¸å…¼å®¹ã€‚" -#: builtin/clone.c:940 +#: builtin/clone.c:958 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare å’Œ --separate-git-dir 选项ä¸å…¼å®¹ã€‚" -#: builtin/clone.c:953 +#: builtin/clone.c:971 #, c-format msgid "repository '%s' does not exist" msgstr "仓库 '%s' ä¸å˜åœ¨" -#: builtin/clone.c:959 builtin/fetch.c:1610 +#: builtin/clone.c:977 builtin/fetch.c:1660 #, c-format msgid "depth %s is not a positive number" msgstr "深度 %s 䏿˜¯ä¸€ä¸ªæ£æ•°" -#: builtin/clone.c:969 +#: builtin/clone.c:987 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "ç›®æ ‡è·¯å¾„ '%s' å·²ç»å˜åœ¨ï¼Œå¹¶ä¸”䏿˜¯ä¸€ä¸ªç©ºç›®å½•。" -#: builtin/clone.c:979 +#: builtin/clone.c:997 #, c-format msgid "working tree '%s' already exists." msgstr "工作区 '%s' å·²ç»å˜åœ¨ã€‚" -#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264 -#: builtin/worktree.c:296 builtin/worktree.c:328 +#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 +#: builtin/worktree.c:303 builtin/worktree.c:335 #, c-format msgid "could not create leading directories of '%s'" msgstr "ä¸èƒ½ä¸º '%s' 创建先导目录" -#: builtin/clone.c:999 +#: builtin/clone.c:1017 #, c-format msgid "could not create work tree dir '%s'" msgstr "ä¸èƒ½åˆ›å»ºå·¥ä½œåŒºç›®å½• '%s'" -#: builtin/clone.c:1019 +#: builtin/clone.c:1037 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "克隆到纯仓库 '%s'...\n" -#: builtin/clone.c:1021 +#: builtin/clone.c:1039 #, c-format msgid "Cloning into '%s'...\n" msgstr "æ£å…‹éš†åˆ° '%s'...\n" -#: builtin/clone.c:1045 +#: builtin/clone.c:1063 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" msgstr "clone --recursive å’Œ --reference ä»¥åŠ --reference-if-able ä¸å…¼å®¹" -#: builtin/clone.c:1106 +#: builtin/clone.c:1124 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth 在本地克隆时被忽略,请改用 file:// å议。" -#: builtin/clone.c:1108 +#: builtin/clone.c:1126 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// å议。" -#: builtin/clone.c:1110 +#: builtin/clone.c:1128 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// å议。" -#: builtin/clone.c:1112 +#: builtin/clone.c:1130 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter 在本地克隆时被忽略,请改用 file:// å议。" -#: builtin/clone.c:1115 +#: builtin/clone.c:1133 msgid "source repository is shallow, ignoring --local" msgstr "æºä»“库是浅克隆,忽略 --local" -#: builtin/clone.c:1120 +#: builtin/clone.c:1138 msgid "--local is ignored" msgstr "--local 被忽略" -#: builtin/clone.c:1197 builtin/clone.c:1205 +#: builtin/clone.c:1215 builtin/clone.c:1223 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "远程分支 %s 在上游 %s 未å‘现" -#: builtin/clone.c:1208 +#: builtin/clone.c:1226 msgid "You appear to have cloned an empty repository." msgstr "您似乎克隆了一个空仓库。" @@ -10839,7 +11182,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "忽略é‡å¤çš„父æäº¤ %s" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 #, c-format msgid "not a valid object name %s" msgstr "䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象å %s" @@ -10867,13 +11210,13 @@ msgstr "父æäº¤" msgid "id of a parent commit object" msgstr "父æäº¤å¯¹è±¡ ID" -#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473 -#: builtin/tag.c:406 +#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/tag.c:412 msgid "message" msgstr "说明" -#: builtin/commit-tree.c:115 builtin/commit.c:1480 +#: builtin/commit-tree.c:115 builtin/commit.c:1500 msgid "commit message" msgstr "æäº¤è¯´æ˜Ž" @@ -10881,8 +11224,8 @@ msgstr "æäº¤è¯´æ˜Ž" msgid "read commit log message from file" msgstr "从文件ä¸è¯»å–æäº¤è¯´æ˜Ž" -#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283 -#: builtin/pull.c:193 builtin/revert.c:117 +#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 +#: builtin/pull.c:194 builtin/revert.c:118 msgid "GPG sign commit" msgstr "GPG æäº¤ç¾å" @@ -10926,117 +11269,122 @@ msgstr "" "\n" #: builtin/commit.c:63 -msgid "Otherwise, please use 'git reset'\n" -msgstr "å¦åˆ™ï¼Œè¯·ä½¿ç”¨å‘½ä»¤ 'git reset'\n" +msgid "Otherwise, please use 'git cherry-pick --skip'\n" +msgstr "å¦åˆ™ï¼Œè¯·ä½¿ç”¨ 'git cherry-pick --skip'\n" #: builtin/commit.c:66 msgid "" +"and then use:\n" +"\n" +" git cherry-pick --continue\n" +"\n" +"to resume cherry-picking the remaining commits.\n" "If you wish to skip this commit, use:\n" "\n" -" git reset\n" +" git cherry-pick --skip\n" "\n" -"Then \"git cherry-pick --continue\" will resume cherry-picking\n" -"the remaining commits.\n" msgstr "" -"如果您想跳过这个æäº¤ï¼Œä½¿ç”¨å‘½ä»¤ï¼š\n" +"ç„¶åŽä½¿ç”¨ï¼š\n" "\n" -" git reset\n" +" git cherry-pick --continue\n" +"\n" +"æ¥ç»§ç»æ‹£é€‰å‰©ä½™æäº¤ã€‚å¦‚æžœæ‚¨æƒ³è·³è¿‡æ¤æäº¤ï¼Œä½¿ç”¨ï¼š\n" +"\n" +" git cherry-pick --skip\n" "\n" -"ç„¶åŽæ‰§è¡Œ \"git cherry-pick --continue\" ç»§ç»å¯¹å…¶ä½™æäº¤æ‰§è¡Œæ‹£é€‰\n" -"æ“作。\n" -#: builtin/commit.c:312 +#: builtin/commit.c:315 msgid "failed to unpack HEAD tree object" msgstr "解包 HEAD æ ‘å¯¹è±¡å¤±è´¥" -#: builtin/commit.c:353 +#: builtin/commit.c:356 msgid "unable to create temporary index" msgstr "ä¸èƒ½åˆ›å»ºä¸´æ—¶ç´¢å¼•" -#: builtin/commit.c:359 +#: builtin/commit.c:362 msgid "interactive add failed" msgstr "äº¤äº’å¼æ·»åŠ å¤±è´¥" -#: builtin/commit.c:373 +#: builtin/commit.c:376 msgid "unable to update temporary index" msgstr "æ— æ³•æ›´æ–°ä¸´æ—¶ç´¢å¼•" -#: builtin/commit.c:375 +#: builtin/commit.c:378 msgid "Failed to update main cache tree" msgstr "ä¸èƒ½æ›´æ–°æ ‘的主缓å˜" -#: builtin/commit.c:400 builtin/commit.c:423 builtin/commit.c:469 +#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 msgid "unable to write new_index file" msgstr "æ— æ³•å†™ new_index 文件" -#: builtin/commit.c:452 +#: builtin/commit.c:455 msgid "cannot do a partial commit during a merge." msgstr "在åˆå¹¶è¿‡ç¨‹ä¸ä¸èƒ½åšéƒ¨åˆ†æäº¤ã€‚" -#: builtin/commit.c:454 +#: builtin/commit.c:457 msgid "cannot do a partial commit during a cherry-pick." msgstr "在拣选过程ä¸ä¸èƒ½åšéƒ¨åˆ†æäº¤ã€‚" -#: builtin/commit.c:462 +#: builtin/commit.c:465 msgid "cannot read the index" msgstr "æ— æ³•è¯»å–索引" -#: builtin/commit.c:481 +#: builtin/commit.c:484 msgid "unable to write temporary index file" msgstr "æ— æ³•å†™ä¸´æ—¶ç´¢å¼•æ–‡ä»¶" -#: builtin/commit.c:579 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' lacks author header" msgstr "æäº¤ '%s' 缺少作者信æ¯" -#: builtin/commit.c:581 +#: builtin/commit.c:584 #, c-format msgid "commit '%s' has malformed author line" msgstr "æäº¤ '%s' æœ‰æ ¼å¼é”™è¯¯çš„作者信æ¯" -#: builtin/commit.c:600 +#: builtin/commit.c:603 msgid "malformed --author parameter" msgstr "æ ¼å¼é”™è¯¯çš„ --author 傿•°" -#: 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" msgstr "æ— æ³•é€‰æ‹©ä¸€ä¸ªæœªè¢«å½“å‰æäº¤è¯´æ˜Žä½¿ç”¨çš„æ³¨é‡Šå—符" -#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069 +#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 #, c-format msgid "could not lookup commit %s" msgstr "ä¸èƒ½æŸ¥è¯¢æäº¤ %s" -#: builtin/commit.c:703 builtin/shortlog.c:319 +#: builtin/commit.c:706 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(æ£ä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å–日志信æ¯ï¼‰\n" -#: builtin/commit.c:705 +#: builtin/commit.c:708 msgid "could not read log from standard input" msgstr "ä¸èƒ½ä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å–日志信æ¯" -#: builtin/commit.c:709 +#: builtin/commit.c:712 #, c-format msgid "could not read log file '%s'" msgstr "ä¸èƒ½è¯»å–日志文件 '%s'" -#: builtin/commit.c:740 builtin/commit.c:756 +#: builtin/commit.c:743 builtin/commit.c:759 msgid "could not read SQUASH_MSG" msgstr "ä¸èƒ½è¯»å– SQUASH_MSG" -#: builtin/commit.c:747 +#: builtin/commit.c:750 msgid "could not read MERGE_MSG" msgstr "ä¸èƒ½è¯»å– MERGE_MSG" -#: builtin/commit.c:807 +#: builtin/commit.c:810 msgid "could not write commit template" msgstr "ä¸èƒ½å†™æäº¤æ¨¡ç‰ˆ" -#: builtin/commit.c:826 +#: builtin/commit.c:829 #, c-format msgid "" "\n" @@ -11050,7 +11398,7 @@ msgstr "" "\t%s\n" "ç„¶åŽé‡è¯•。\n" -#: builtin/commit.c:831 +#: builtin/commit.c:834 #, c-format msgid "" "\n" @@ -11064,7 +11412,7 @@ msgstr "" "\t%s\n" "ç„¶åŽé‡è¯•。\n" -#: builtin/commit.c:844 +#: builtin/commit.c:847 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11073,7 +11421,7 @@ msgstr "" "è¯·ä¸ºæ‚¨çš„å˜æ›´è¾“å…¥æäº¤è¯´æ˜Žã€‚以 '%c' 开始的行将被忽略,而一个空的æäº¤\n" "è¯´æ˜Žå°†ä¼šç»ˆæ¢æäº¤ã€‚\n" -#: builtin/commit.c:852 +#: builtin/commit.c:855 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11084,385 +11432,399 @@ msgstr "" "也å¯ä»¥åˆ 除它们。一个空的æäº¤è¯´æ˜Žå°†ä¼šç»ˆæ¢æäº¤ã€‚\n" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: builtin/commit.c:869 +#: builtin/commit.c:872 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%s作者: %.*s <%.*s>" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: builtin/commit.c:877 +#: builtin/commit.c:880 #, c-format msgid "%sDate: %s" msgstr "%s日期: %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: builtin/commit.c:884 +#: builtin/commit.c:887 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sæäº¤è€…:%.*s <%.*s>" -#: builtin/commit.c:902 +#: builtin/commit.c:905 msgid "Cannot read index" msgstr "æ— æ³•è¯»å–索引" -#: builtin/commit.c:969 +#: builtin/commit.c:972 msgid "Error building trees" msgstr "æ— æ³•åˆ›å»ºæ ‘å¯¹è±¡" -#: builtin/commit.c:983 builtin/tag.c:269 +#: builtin/commit.c:986 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "请使用 -m 或 -F 选项æä¾›æäº¤è¯´æ˜Žã€‚\n" -#: builtin/commit.c:1027 +#: builtin/commit.c:1030 #, c-format msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "--author '%s' 䏿˜¯ 'å§“å <邮箱>' æ ¼å¼ï¼Œä¸”æœªèƒ½åœ¨çŽ°æœ‰ä½œè€…ä¸æ‰¾åˆ°åŒ¹é…" -#: builtin/commit.c:1041 +#: builtin/commit.c:1044 #, c-format msgid "Invalid ignored mode '%s'" msgstr "æ— æ•ˆçš„å¿½ç•¥æ¨¡å¼ '%s'" -#: builtin/commit.c:1059 builtin/commit.c:1284 +#: builtin/commit.c:1062 builtin/commit.c:1304 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "æ— æ•ˆçš„æœªè¿½è¸ªæ–‡ä»¶å‚æ•° '%s'" -#: builtin/commit.c:1097 +#: builtin/commit.c:1102 msgid "--long and -z are incompatible" msgstr "--long å’Œ -z 选项ä¸å…¼å®¹" -#: builtin/commit.c:1130 +#: builtin/commit.c:1146 msgid "Using both --reset-author and --author does not make sense" msgstr "åŒæ—¶ä½¿ç”¨ --reset-author å’Œ --author 没有æ„义" -#: builtin/commit.c:1139 +#: builtin/commit.c:1155 msgid "You have nothing to amend." msgstr "您没有å¯ä¿®è¡¥çš„æäº¤ã€‚" -#: builtin/commit.c:1142 +#: builtin/commit.c:1158 msgid "You are in the middle of a merge -- cannot amend." msgstr "您æ£å¤„于一个åˆå¹¶è¿‡ç¨‹ä¸ -- æ— æ³•ä¿®è¡¥æäº¤ã€‚" -#: builtin/commit.c:1144 +#: builtin/commit.c:1160 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "您æ£å¤„äºŽä¸€ä¸ªæ‹£é€‰è¿‡ç¨‹ä¸ -- æ— æ³•ä¿®è¡¥æäº¤ã€‚" -#: builtin/commit.c:1147 +#: builtin/commit.c:1163 msgid "Options --squash and --fixup cannot be used together" msgstr "选项 --squash å’Œ --fixup ä¸èƒ½åŒæ—¶ä½¿ç”¨" -#: builtin/commit.c:1157 +#: builtin/commit.c:1173 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "åªèƒ½ç”¨ä¸€ä¸ª -c/-C/-F/--fixup 选项。" -#: builtin/commit.c:1159 +#: builtin/commit.c:1175 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "选项 -m ä¸èƒ½å’Œ -c/-C/-F åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/commit.c:1167 +#: builtin/commit.c:1183 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author åªèƒ½å’Œ -Cã€-c 或 --amend åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/commit.c:1184 +#: builtin/commit.c:1200 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "åªèƒ½ç”¨ä¸€ä¸ª --include/--only/--all/--interactive/--patch 选项。" -#: builtin/commit.c:1186 +#: builtin/commit.c:1202 msgid "No paths with --include/--only does not make sense." msgstr "傿•° --include/--only ä¸è·Ÿè·¯å¾„没有æ„义。" -#: builtin/commit.c:1192 +#: builtin/commit.c:1208 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "路径 '%s ...' å’Œ -a é€‰é¡¹åŒæ—¶ä½¿ç”¨æ²¡æœ‰æ„义" -#: builtin/commit.c:1319 builtin/commit.c:1503 +#: builtin/commit.c:1339 builtin/commit.c:1523 msgid "show status concisely" msgstr "以简æ´çš„æ ¼å¼æ˜¾ç¤ºçжæ€" -#: builtin/commit.c:1321 builtin/commit.c:1505 +#: builtin/commit.c:1341 builtin/commit.c:1525 msgid "show branch information" msgstr "显示分支信æ¯" -#: builtin/commit.c:1323 +#: builtin/commit.c:1343 msgid "show stash information" msgstr "显示贮è—区信æ¯" -#: builtin/commit.c:1325 builtin/commit.c:1507 +#: builtin/commit.c:1345 builtin/commit.c:1527 msgid "compute full ahead/behind values" msgstr "计算完整的领先/è½åŽå€¼" -#: builtin/commit.c:1327 +#: builtin/commit.c:1347 msgid "version" msgstr "版本" -#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561 -#: builtin/worktree.c:643 +#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 +#: builtin/worktree.c:651 msgid "machine-readable output" msgstr "机器å¯è¯»çš„输出" -#: builtin/commit.c:1330 builtin/commit.c:1511 +#: builtin/commit.c:1350 builtin/commit.c:1531 msgid "show status in long format (default)" msgstr "ä»¥é•¿æ ¼å¼æ˜¾ç¤ºçжæ€ï¼ˆé»˜è®¤ï¼‰" -#: builtin/commit.c:1333 builtin/commit.c:1514 +#: builtin/commit.c:1353 builtin/commit.c:1534 msgid "terminate entries with NUL" msgstr "æ¡ç›®ä»¥ NUL å—符结尾" -#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517 -#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465 -#: parse-options.h:331 +#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 +#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 +#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 msgid "mode" msgstr "模å¼" -#: builtin/commit.c:1336 builtin/commit.c:1517 +#: builtin/commit.c:1356 builtin/commit.c:1537 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "显示未跟踪的文件,“模å¼â€çš„å¯é€‰å‚数:allã€normalã€no。(默认:all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1360 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" msgstr "" "显示已忽略的文件,å¯é€‰æ¨¡å¼ï¼štraditionalã€matchingã€no。(默认:traditional)" -#: builtin/commit.c:1342 parse-options.h:179 +#: builtin/commit.c:1362 parse-options.h:179 msgid "when" msgstr "何时" -#: builtin/commit.c:1343 +#: builtin/commit.c:1363 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" msgstr "" "å¿½ç•¥åæ¨¡ç»„的更改,“何时â€çš„å¯é€‰å‚数:allã€dirtyã€untracked。(默认:all)" -#: builtin/commit.c:1345 +#: builtin/commit.c:1365 msgid "list untracked files in columns" msgstr "ä»¥åˆ—çš„æ–¹å¼æ˜¾ç¤ºæœªè·Ÿè¸ªçš„æ–‡ä»¶" -#: builtin/commit.c:1346 +#: builtin/commit.c:1366 msgid "do not detect renames" msgstr "䏿£€æµ‹é‡å‘½å" -#: builtin/commit.c:1348 +#: builtin/commit.c:1368 msgid "detect renames, optionally set similarity index" msgstr "检测é‡å‘½å,å¯ä»¥è®¾ç½®ç´¢å¼•相似度" -#: builtin/commit.c:1368 +#: builtin/commit.c:1388 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "䏿”¯æŒå·²å¿½ç•¥å’Œæœªè·Ÿè¸ªæ–‡ä»¶å‚数的组åˆ" -#: builtin/commit.c:1473 +#: builtin/commit.c:1493 msgid "suppress summary after successful commit" msgstr "æäº¤æˆåŠŸåŽä¸æ˜¾ç¤ºæ¦‚è¿°ä¿¡æ¯" -#: builtin/commit.c:1474 +#: builtin/commit.c:1494 msgid "show diff in commit message template" msgstr "在æäº¤è¯´æ˜Žæ¨¡æ¿é‡Œæ˜¾ç¤ºå·®å¼‚" -#: builtin/commit.c:1476 +#: builtin/commit.c:1496 msgid "Commit message options" msgstr "æäº¤è¯´æ˜Žé€‰é¡¹" -#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408 +#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 msgid "read message from file" msgstr "从文件ä¸è¯»å–æäº¤è¯´æ˜Ž" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "author" msgstr "作者" -#: builtin/commit.c:1478 +#: builtin/commit.c:1498 msgid "override author for commit" msgstr "æäº¤æ—¶è¦†ç›–作者" -#: builtin/commit.c:1479 builtin/gc.c:539 +#: builtin/commit.c:1499 builtin/gc.c:539 msgid "date" msgstr "日期" -#: builtin/commit.c:1479 +#: builtin/commit.c:1499 msgid "override date for commit" msgstr "æäº¤æ—¶è¦†ç›–日期" -#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483 -#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92 +#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 +#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 msgid "commit" msgstr "æäº¤" -#: builtin/commit.c:1481 +#: builtin/commit.c:1501 msgid "reuse and edit message from specified commit" msgstr "é‡ç”¨å¹¶ç¼–辑指定æäº¤çš„æäº¤è¯´æ˜Ž" -#: builtin/commit.c:1482 +#: builtin/commit.c:1502 msgid "reuse message from specified commit" msgstr "é‡ç”¨æŒ‡å®šæäº¤çš„æäº¤è¯´æ˜Ž" -#: builtin/commit.c:1483 +#: builtin/commit.c:1503 msgid "use autosquash formatted message to fixup specified commit" msgstr "使用 autosquash æ ¼å¼çš„æäº¤è¯´æ˜Žç”¨ä»¥ä¿®æ£æŒ‡å®šçš„æäº¤" -#: builtin/commit.c:1484 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to squash specified commit" msgstr "使用 autosquash æ ¼å¼çš„æäº¤è¯´æ˜Žç”¨ä»¥åŽ‹ç¼©è‡³æŒ‡å®šçš„æäº¤" -#: builtin/commit.c:1485 +#: builtin/commit.c:1505 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "现在将该æäº¤çš„作者改为我(和 -C/-c/--amend 傿•°å…±ç”¨ï¼‰" -#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285 -#: builtin/pull.c:162 builtin/revert.c:109 +#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 +#: builtin/pull.c:163 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "æ·»åŠ Signed-off-by: ç¾å" -#: builtin/commit.c:1487 +#: builtin/commit.c:1507 msgid "use specified template file" msgstr "ä½¿ç”¨æŒ‡å®šçš„æ¨¡æ¿æ–‡ä»¶" -#: builtin/commit.c:1488 +#: builtin/commit.c:1508 msgid "force edit of commit" msgstr "强制编辑æäº¤" -#: builtin/commit.c:1490 +#: builtin/commit.c:1510 msgid "include status in commit message template" msgstr "在æäº¤è¯´æ˜Žæ¨¡æ¿é‡ŒåŒ…å«çжæ€ä¿¡æ¯" -#: builtin/commit.c:1495 +#: builtin/commit.c:1515 msgid "Commit contents options" msgstr "æäº¤å†…容选项" -#: builtin/commit.c:1496 +#: builtin/commit.c:1516 msgid "commit all changed files" msgstr "æäº¤æ‰€æœ‰æ”¹åŠ¨çš„æ–‡ä»¶" -#: builtin/commit.c:1497 +#: builtin/commit.c:1517 msgid "add specified files to index for commit" msgstr "æ·»åŠ æŒ‡å®šçš„æ–‡ä»¶åˆ°ç´¢å¼•åŒºç‰å¾…æäº¤" -#: builtin/commit.c:1498 +#: builtin/commit.c:1518 msgid "interactively add files" msgstr "äº¤äº’å¼æ·»åŠ æ–‡ä»¶" -#: builtin/commit.c:1499 +#: builtin/commit.c:1519 msgid "interactively add changes" msgstr "äº¤äº’å¼æ·»åŠ å˜æ›´" -#: builtin/commit.c:1500 +#: builtin/commit.c:1520 msgid "commit only specified files" msgstr "åªæäº¤æŒ‡å®šçš„æ–‡ä»¶" -#: builtin/commit.c:1501 +#: builtin/commit.c:1521 msgid "bypass pre-commit and commit-msg hooks" msgstr "绕过 pre-commit å’Œ commit-msg é’©å" -#: builtin/commit.c:1502 +#: builtin/commit.c:1522 msgid "show what would be committed" msgstr "æ˜¾ç¤ºå°†è¦æäº¤çš„å†…å®¹" -#: builtin/commit.c:1515 +#: builtin/commit.c:1535 msgid "amend previous commit" msgstr "修改先å‰çš„æäº¤" -#: builtin/commit.c:1516 +#: builtin/commit.c:1536 msgid "bypass post-rewrite hook" msgstr "绕过 post-rewrite é’©å" -#: builtin/commit.c:1521 +#: builtin/commit.c:1541 msgid "ok to record an empty change" msgstr "å…许一个空æäº¤" -#: builtin/commit.c:1523 +#: builtin/commit.c:1543 msgid "ok to record a change with an empty message" msgstr "å…许空的æäº¤è¯´æ˜Ž" -#: builtin/commit.c:1596 +#: builtin/commit.c:1616 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "æŸåçš„ MERGE_HEAD 文件(%s)" -#: builtin/commit.c:1603 +#: builtin/commit.c:1623 msgid "could not read MERGE_MODE" msgstr "ä¸èƒ½è¯»å– MERGE_MODE" -#: builtin/commit.c:1622 +#: builtin/commit.c:1642 #, c-format msgid "could not read commit message: %s" msgstr "ä¸èƒ½è¯»å–æäº¤è¯´æ˜Žï¼š%s" -#: builtin/commit.c:1629 +#: builtin/commit.c:1649 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "ç»ˆæ¢æäº¤å› ä¸ºæäº¤è¯´æ˜Žä¸ºç©ºã€‚\n" -#: builtin/commit.c:1634 +#: builtin/commit.c:1654 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "ç»ˆæ¢æäº¤ï¼›æ‚¨æœªæ›´æ”¹æ¥è‡ªæ¨¡ç‰ˆçš„æäº¤è¯´æ˜Žã€‚\n" -#: builtin/commit.c:1668 +#: builtin/commit.c:1688 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"not exceeded, and then \"git restore --staged :/\" to recover." msgstr "" -"ä»“åº“å·²æ›´æ–°ï¼Œä½†æ— æ³•å†™ new_index 文件。检查是å¦ç£ç›˜å·²æ»¡\n" -"或ç£ç›˜é…é¢å·²è€—å°½ï¼Œç„¶åŽæ‰§è¡Œ \"git reset HEAD\" æ¢å¤ã€‚" +"ä»“åº“å·²æ›´æ–°ï¼Œä½†æ— æ³•å†™ new_index 文件。检查是å¦ç£ç›˜å·²æ»¡æˆ–\n" +"ç£ç›˜é…é¢å·²è€—å°½ï¼Œç„¶åŽæ‰§è¡Œ \"git restore --staged :/\" æ¢å¤ã€‚" -#: builtin/commit-graph.c:10 +#: builtin/commit-graph.c:11 msgid "git commit-graph [--object-dir <objdir>]" msgstr "git commit-graph [--object-dir <对象目录>]" -#: builtin/commit-graph.c:11 builtin/commit-graph.c:23 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 msgid "git commit-graph read [--object-dir <objdir>]" msgstr "git commit-graph read [--object-dir <对象目录>]" -#: builtin/commit-graph.c:12 builtin/commit-graph.c:18 -msgid "git commit-graph verify [--object-dir <objdir>]" -msgstr "git commit-graph verify [--object-dir <对象目录>]" +#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 +msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]" +msgstr "git commit-graph verify [--object-dir <对象目录>] [--shallow]" -#: builtin/commit-graph.c:13 builtin/commit-graph.c:28 +#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 msgid "" -"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" -msgstr "" -"git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--" -"stdin-packs|--stdin-commits]" +"git commit-graph write [--object-dir <objdir>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] <split options>" +msgstr "git commit-graph write [--object-dir <对象目录>] [--append|--split] [--reachable|--stdin-packs|--stdin-commits] <split options>" -#: builtin/commit-graph.c:51 builtin/commit-graph.c:89 -#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153 -#: builtin/log.c:1561 +#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 +#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 +#: builtin/log.c:1584 msgid "dir" msgstr "目录" -#: builtin/commit-graph.c:52 builtin/commit-graph.c:90 -#: builtin/commit-graph.c:148 builtin/commit-graph.c:206 +#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 +#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 msgid "The object directory to store the graph" msgstr "ä¿å˜å›¾å½¢çš„对象目录" -#: builtin/commit-graph.c:68 builtin/commit-graph.c:105 +#: builtin/commit-graph.c:57 +msgid "if the commit-graph is split, only verify the tip file" +msgstr "如果æäº¤å›¾å½¢è¢«æ‹†åˆ†ï¼ŒåªéªŒè¯å¤´ä¸€ä¸ªæ–‡ä»¶" + +#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 #, c-format msgid "Could not open commit-graph '%s'" msgstr "æ— æ³•æ‰“å¼€æäº¤å›¾å½¢ '%s'" -#: builtin/commit-graph.c:150 +#: builtin/commit-graph.c:164 msgid "start walk at all refs" msgstr "开始é历所有引用" -#: builtin/commit-graph.c:152 +#: builtin/commit-graph.c:166 msgid "scan pack-indexes listed by stdin for commits" msgstr "ä»Žæ ‡å‡†è¾“å…¥ä¸çš„åŒ…ç´¢å¼•æ–‡ä»¶åˆ—è¡¨ä¸æ‰«ææäº¤" -#: builtin/commit-graph.c:154 +#: builtin/commit-graph.c:168 msgid "start walk at commits listed by stdin" msgstr "ä»Žæ ‡å‡†è¾“å…¥ä¸çš„æäº¤å¼€å§‹æ‰«æ" -#: builtin/commit-graph.c:156 +#: builtin/commit-graph.c:170 msgid "include all commits already in the commit-graph file" msgstr "åŒ…å« commit-graph 文件ä¸å·²æœ‰æ‰€æœ‰æäº¤" -#: builtin/commit-graph.c:165 +#: builtin/commit-graph.c:172 +msgid "allow writing an incremental commit-graph file" +msgstr "å…è®¸å†™ä¸€ä¸ªå¢žé‡æäº¤å›¾å½¢æ–‡ä»¶" + +#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +msgid "maximum number of commits in a non-base split commit-graph" +msgstr "在éžåŸºæœ¬æ‹†åˆ†æäº¤å›¾å½¢ä¸çš„æœ€å¤§æäº¤æ•°" + +#: builtin/commit-graph.c:176 +msgid "maximum ratio between two levels of a split commit-graph" +msgstr "一个拆分æäº¤å›¾å½¢çš„两个级别之间的最大比率" + +#: builtin/commit-graph.c:191 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ --reachableã€--stdin-commits 或 --stdin-packs" @@ -11470,7 +11832,7 @@ msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ --reachableã€--stdin-commits 或 --stdin-packs" msgid "git config [<options>]" msgstr "git config [<选项>]" -#: builtin/config.c:103 +#: builtin/config.c:103 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "未能识别的 --type 傿•°ï¼Œ%s" @@ -11575,7 +11937,7 @@ msgstr "获得颜色设置:é…ç½® [stdout-is-tty]" msgid "Type" msgstr "类型" -#: builtin/config.c:147 +#: builtin/config.c:147 builtin/env--helper.c:38 msgid "value is given this type" msgstr "å–值为该类型" @@ -11619,7 +11981,7 @@ msgstr "查询时å‚ç…§ include 指令递归查找" msgid "show origin of config (file, standard input, blob, command line)" msgstr "显示é…ç½®çš„æ¥æºï¼ˆæ–‡ä»¶ã€æ ‡å‡†è¾“å…¥ã€æ•°æ®å¯¹è±¡ï¼Œæˆ–命令行)" -#: builtin/config.c:158 +#: builtin/config.c:158 builtin/env--helper.c:40 msgid "value" msgstr "å–值" @@ -11911,7 +12273,7 @@ msgstr "åªè€ƒè™‘åŒ¹é… <模å¼> çš„æ ‡ç¾" msgid "do not consider tags matching <pattern>" msgstr "ä¸è€ƒè™‘åŒ¹é… <模å¼> çš„æ ‡ç¾" -#: builtin/describe.c:551 builtin/name-rev.c:426 +#: builtin/describe.c:551 builtin/name-rev.c:422 msgid "show abbreviated commit object as fallback" msgstr "显示简写的æäº¤å·ä½œä¸ºåŽå¤‡" @@ -12084,252 +12446,313 @@ msgstr "没有为 --tool=<工具> 傿•°æä¾› <工具>" msgid "no <cmd> given for --extcmd=<cmd>" msgstr "没有为 --extcmd=<命令> 傿•°æä¾› <命令>" +#: builtin/env--helper.c:6 +msgid "git env--helper --type=[bool|ulong] <options> <env-var>" +msgstr "git env--helper --type=[bool|ulong] <选项> <环境å˜é‡>" + +#: builtin/env--helper.c:37 builtin/hash-object.c:98 +msgid "type" +msgstr "类型" + +#: builtin/env--helper.c:41 +msgid "default for git_env_*(...) to fall back on" +msgstr "git_env_*(...) 的默认值" + +#: builtin/env--helper.c:43 +msgid "be quiet only use git_env_*() value as exit code" +msgstr "安陿¨¡å¼ï¼Œåªä½¿ç”¨ git_env_*() 的值作为退出ç " + +#: builtin/env--helper.c:62 +#, c-format +msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`" +msgstr "选项 `--default' å’Œ `type=bool` æœŸæœ›ä¸€ä¸ªå¸ƒå°”å€¼ï¼Œä¸æ˜¯ `%s`" + +#: builtin/env--helper.c:77 +#, c-format +msgid "" +"option `--default' expects an unsigned long value with `--type=ulong`, not `" +"%s`" +msgstr "选项 `--default' å’Œ `type=ulong` æœŸæœ›ä¸€ä¸ªæ— ç¬¦å·é•¿æ•´åž‹ï¼Œä¸æ˜¯ `%s`" + #: builtin/fast-export.c:29 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:1084 +#: builtin/fast-export.c:1124 msgid "show progress after <n> objects" msgstr "在 <n> ä¸ªå¯¹è±¡ä¹‹åŽæ˜¾ç¤ºè¿›åº¦" -#: builtin/fast-export.c:1086 +#: builtin/fast-export.c:1126 msgid "select handling of signed tags" msgstr "选择如何处ç†ç¾åæ ‡ç¾" -#: builtin/fast-export.c:1089 +#: builtin/fast-export.c:1129 msgid "select handling of tags that tag filtered objects" msgstr "é€‰æ‹©å½“æ ‡ç¾æŒ‡å‘è¢«è¿‡æ»¤å¯¹è±¡æ—¶è¯¥æ ‡ç¾çš„å¤„ç†æ–¹å¼" -#: builtin/fast-export.c:1092 +#: builtin/fast-export.c:1132 +msgid "select handling of commit messages in an alternate encoding" +msgstr "选择使用备用编ç å¤„ç†æäº¤è¯´æ˜Ž" + +#: builtin/fast-export.c:1135 msgid "Dump marks to this file" msgstr "æŠŠæ ‡è®°å˜å‚¨åˆ°è¿™ä¸ªæ–‡ä»¶" -#: builtin/fast-export.c:1094 +#: builtin/fast-export.c:1137 msgid "Import marks from this file" msgstr "ä»Žè¿™ä¸ªæ–‡ä»¶å¯¼å…¥æ ‡è®°" -#: builtin/fast-export.c:1096 +#: builtin/fast-export.c:1139 msgid "Fake a tagger when tags lack one" msgstr "å½“æ ‡ç¾ç¼ºå°‘æ ‡è®°è€…å—æ®µæ—¶ï¼Œå‡è£…æä¾›ä¸€ä¸ª" -#: builtin/fast-export.c:1098 +#: builtin/fast-export.c:1141 msgid "Output full tree for each commit" msgstr "æ¯æ¬¡æäº¤éƒ½è¾“å‡ºæ•´ä¸ªæ ‘" -#: builtin/fast-export.c:1100 +#: builtin/fast-export.c:1143 msgid "Use the done feature to terminate the stream" msgstr "使用 done 功能æ¥ç»ˆæ¢æµ" -#: builtin/fast-export.c:1101 +#: builtin/fast-export.c:1144 msgid "Skip output of blob data" msgstr "跳过数æ®å¯¹è±¡çš„输出" -#: builtin/fast-export.c:1102 builtin/log.c:1609 +#: builtin/fast-export.c:1145 builtin/log.c:1632 msgid "refspec" msgstr "å¼•ç”¨è§„æ ¼" -#: builtin/fast-export.c:1103 +#: builtin/fast-export.c:1146 msgid "Apply refspec to exported refs" msgstr "å¯¹å¯¼å‡ºçš„å¼•ç”¨åº”ç”¨å¼•ç”¨è§„æ ¼" -#: builtin/fast-export.c:1104 +#: builtin/fast-export.c:1147 msgid "anonymize output" msgstr "匿å输出" -#: builtin/fast-export.c:1106 +#: builtin/fast-export.c:1149 msgid "Reference parents which are not in fast-export stream by object id" msgstr "引用父对象 ID ä¸åœ¨ fast-export æµä¸" -#: builtin/fast-export.c:1108 +#: builtin/fast-export.c:1151 msgid "Show original object ids of blobs/commits" msgstr "显示数æ®å¯¹è±¡/æäº¤çš„原始对象 ID" -#: builtin/fetch.c:28 +#: builtin/fetch.c:30 msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "git fetch [<选项>] [<仓库> [<å¼•ç”¨è§„æ ¼>...]]" -#: builtin/fetch.c:29 +#: builtin/fetch.c:31 msgid "git fetch [<options>] <group>" msgstr "git fetch [<选项>] <组>" -#: builtin/fetch.c:30 +#: builtin/fetch.c:32 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:33 msgid "git fetch --all [<options>]" msgstr "git fetch --all [<选项>]" -#: builtin/fetch.c:115 builtin/pull.c:202 +#: builtin/fetch.c:125 builtin/pull.c:203 msgid "fetch from all remotes" msgstr "从所有的远程抓å–" -#: builtin/fetch.c:117 builtin/pull.c:205 +#: builtin/fetch.c:127 builtin/pull.c:206 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "è¿½åŠ åˆ° .git/FETCH_HEAD è€Œä¸æ˜¯è¦†ç›–它" -#: builtin/fetch.c:119 builtin/pull.c:208 +#: builtin/fetch.c:129 builtin/pull.c:209 msgid "path to upload pack on remote end" msgstr "ä¸Šä¼ åŒ…åˆ°è¿œç¨‹çš„è·¯å¾„" -#: builtin/fetch.c:120 +#: builtin/fetch.c:130 msgid "force overwrite of local reference" msgstr "强制覆盖本地引用" -#: builtin/fetch.c:122 +#: builtin/fetch.c:132 msgid "fetch from multiple remotes" msgstr "从多个远程抓å–" -#: builtin/fetch.c:124 builtin/pull.c:212 +#: builtin/fetch.c:134 builtin/pull.c:213 msgid "fetch all tags and associated objects" msgstr "æŠ“å–æ‰€æœ‰çš„æ ‡ç¾å’Œå…³è”对象" -#: builtin/fetch.c:126 +#: builtin/fetch.c:136 msgid "do not fetch all tags (--no-tags)" msgstr "䏿Гå–ä»»ä½•æ ‡ç¾(--no-tags)" -#: builtin/fetch.c:128 +#: builtin/fetch.c:138 msgid "number of submodules fetched in parallel" msgstr "忍¡ç»„获å–çš„å¹¶å‘æ•°" -#: builtin/fetch.c:130 builtin/pull.c:215 +#: builtin/fetch.c:140 builtin/pull.c:216 msgid "prune remote-tracking branches no longer on remote" msgstr "清除远程已ç»ä¸å˜åœ¨çš„分支的跟踪分支" -#: builtin/fetch.c:132 +#: builtin/fetch.c:142 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "清除远程ä¸å˜åœ¨çš„æœ¬åœ°æ ‡ç¾ï¼Œå¹¶ä¸”替æ¢å˜æ›´æ ‡ç¾" # 译者:å¯é€‰å€¼ï¼Œä¸èƒ½ç¿»è¯‘ -#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139 +#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:134 +#: builtin/fetch.c:144 msgid "control recursive fetching of submodules" msgstr "æŽ§åˆ¶åæ¨¡ç»„的递归抓å–" -#: builtin/fetch.c:138 builtin/pull.c:223 +#: builtin/fetch.c:148 builtin/pull.c:224 msgid "keep downloaded pack" msgstr "ä¿æŒä¸‹è½½åŒ…" -#: builtin/fetch.c:140 +#: builtin/fetch.c:150 msgid "allow updating of HEAD ref" msgstr "å…许更新 HEAD 引用" -#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226 +#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 msgid "deepen history of shallow clone" msgstr "深化浅克隆的历å²" -#: builtin/fetch.c:145 +#: builtin/fetch.c:155 msgid "deepen history of shallow repository based on time" msgstr "åŸºäºŽæ—¶é—´æ¥æ·±åŒ–浅克隆的历å²" -#: builtin/fetch.c:151 builtin/pull.c:229 +#: builtin/fetch.c:161 builtin/pull.c:230 msgid "convert to a complete repository" msgstr "转æ¢ä¸ºä¸€ä¸ªå®Œæ•´çš„仓库" -#: builtin/fetch.c:154 +#: builtin/fetch.c:164 msgid "prepend this to submodule path output" msgstr "åœ¨åæ¨¡ç»„路径输出的å‰é¢åŠ ä¸Šæ¤ç›®å½•" -#: builtin/fetch.c:157 +#: builtin/fetch.c:167 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" msgstr "递归获å–忍¡ç»„的缺çœå€¼ï¼ˆæ¯”é…置文件优先级低)" -#: builtin/fetch.c:161 builtin/pull.c:232 +#: builtin/fetch.c:171 builtin/pull.c:233 msgid "accept refs that update .git/shallow" msgstr "æŽ¥å—æ›´æ–° .git/shallow 的引用" -#: builtin/fetch.c:162 builtin/pull.c:234 +#: builtin/fetch.c:172 builtin/pull.c:235 msgid "refmap" msgstr "å¼•ç”¨æ˜ å°„" -#: builtin/fetch.c:163 builtin/pull.c:235 +#: builtin/fetch.c:173 builtin/pull.c:236 msgid "specify fetch refmap" msgstr "æŒ‡å®šèŽ·å–æ“ä½œçš„å¼•ç”¨æ˜ å°„" -#: builtin/fetch.c:170 +#: builtin/fetch.c:180 msgid "report that we have only objects reachable from this object" msgstr "æŠ¥å‘Šæˆ‘ä»¬åªæ‹¥æœ‰ä»Žè¯¥å¯¹è±¡å¼€å§‹å¯è¾¾çš„对象" -#: builtin/fetch.c:469 +#: builtin/fetch.c:183 +msgid "run 'gc --auto' after fetching" +msgstr "获å–åŽæ‰§è¡Œ 'gc --auto'" + +#: builtin/fetch.c:185 builtin/pull.c:245 +msgid "check for forced-updates on all updated branches" +msgstr "在所有更新分支上检查强制更新" + +#: builtin/fetch.c:491 msgid "Couldn't find remote ref HEAD" msgstr "æ— æ³•å‘现远程 HEAD 引用" -#: builtin/fetch.c:608 +#: builtin/fetch.c:630 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "é…ç½®å˜é‡ fetch.output åŒ…å«æ— 效值 %s" -#: builtin/fetch.c:705 +#: builtin/fetch.c:728 #, c-format msgid "object %s not found" msgstr "对象 %s 未å‘现" -#: builtin/fetch.c:709 +#: builtin/fetch.c:732 msgid "[up to date]" msgstr "[最新]" -#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801 +#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 msgid "[rejected]" msgstr "[已拒ç»]" -#: builtin/fetch.c:723 +#: builtin/fetch.c:746 msgid "can't fetch in current branch" msgstr "当å‰åˆ†æ”¯ä¸‹ä¸èƒ½æ‰§è¡ŒèŽ·å–æ“作" -#: builtin/fetch.c:733 +#: builtin/fetch.c:756 msgid "[tag update]" msgstr "[æ ‡ç¾æ›´æ–°]" -#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784 -#: builtin/fetch.c:796 +#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 +#: builtin/fetch.c:828 msgid "unable to update local ref" msgstr "ä¸èƒ½æ›´æ–°æœ¬åœ°å¼•用" -#: builtin/fetch.c:738 +#: builtin/fetch.c:761 msgid "would clobber existing tag" msgstr "ä¼šç ´åçŽ°æœ‰çš„æ ‡ç¾" -#: builtin/fetch.c:760 +#: builtin/fetch.c:783 msgid "[new tag]" msgstr "[æ–°æ ‡ç¾]" -#: builtin/fetch.c:763 +#: builtin/fetch.c:786 msgid "[new branch]" msgstr "[新分支]" -#: builtin/fetch.c:766 +#: builtin/fetch.c:789 msgid "[new ref]" msgstr "[新引用]" -#: builtin/fetch.c:796 +#: builtin/fetch.c:828 msgid "forced update" msgstr "强制更新" -#: builtin/fetch.c:801 +#: builtin/fetch.c:833 msgid "non-fast-forward" msgstr "éžå¿«è¿›" -#: builtin/fetch.c:847 +#: builtin/fetch.c:854 +msgid "" +"Fetch normally indicates which branches had a forced update,\n" +"but that check has been disabled. To re-enable, use '--show-forced-updates'\n" +"flag or run 'git config fetch.showForcedUpdates true'." +msgstr "" +"èŽ·å–æ“作通常显示哪些分支å‘生了强制更新,但该检查已被ç¦ç”¨ã€‚\n" +"è¦é‡æ–°å¯ç”¨ï¼Œè¯·ä½¿ç”¨ '--show-forced-updates' 选项或è¿è¡Œ\n" +"'git config fetch.showForcedUpdates true'。" + +#: builtin/fetch.c:858 +#, c-format +msgid "" +"It took %.2f seconds to check forced updates. You can use\n" +"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates " +"false'\n" +" to avoid this check.\n" +msgstr "" +"花了 %.2f ç§’æ¥æ£€æŸ¥å¼ºåˆ¶æ›´æ–°ã€‚您å¯ä»¥ä½¿ç”¨ '--no-show-forced-updates'\n" +"或è¿è¡Œ 'git config fetch.showForcedUpdates false' 以é¿å…æ¤é¡¹æ£€æŸ¥ã€‚\n" + +#: builtin/fetch.c:888 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s 未å‘逿‰€æœ‰å¿…需的对象\n" -#: builtin/fetch.c:868 +#: builtin/fetch.c:909 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "æ‹’ç» %s å› ä¸ºæµ…å…‹éš†ä¸å…许被更新" -#: builtin/fetch.c:959 builtin/fetch.c:1081 +#: builtin/fetch.c:1000 builtin/fetch.c:1131 #, c-format msgid "From %.*s\n" msgstr "æ¥è‡ª %.*s\n" -#: builtin/fetch.c:970 +#: builtin/fetch.c:1011 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12339,100 +12762,100 @@ msgstr "" " 'git remote prune %s' æ¥åˆ é™¤æ—§çš„ã€æœ‰å†²çªçš„分支" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/fetch.c:1051 +#: builtin/fetch.c:1101 #, c-format msgid " (%s will become dangling)" msgstr " (%s å°†æˆä¸ºæ‚¬ç©ºçжæ€ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/fetch.c:1052 +#: builtin/fetch.c:1102 #, c-format msgid " (%s has become dangling)" msgstr " (%s å·²æˆä¸ºæ‚¬ç©ºçжæ€ï¼‰" -#: builtin/fetch.c:1084 +#: builtin/fetch.c:1134 msgid "[deleted]" msgstr "[å·²åˆ é™¤]" -#: builtin/fetch.c:1085 builtin/remote.c:1036 +#: builtin/fetch.c:1135 builtin/remote.c:1036 msgid "(none)" msgstr "ï¼ˆæ— ï¼‰" -#: builtin/fetch.c:1108 +#: builtin/fetch.c:1158 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "æ‹’ç»èŽ·å–到éžçº¯ä»“库的当å‰åˆ†æ”¯ %s" -#: builtin/fetch.c:1127 +#: builtin/fetch.c:1177 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s æ˜¯æ— æ•ˆçš„" -#: builtin/fetch.c:1130 +#: builtin/fetch.c:1180 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "选项 \"%s\" 为 %s 所忽略\n" -#: builtin/fetch.c:1434 +#: builtin/fetch.c:1484 #, c-format msgid "Fetching %s\n" msgstr "æ£åœ¨èŽ·å– %s\n" -#: builtin/fetch.c:1436 builtin/remote.c:100 +#: builtin/fetch.c:1486 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "ä¸èƒ½èŽ·å– %s" -#: builtin/fetch.c:1482 +#: builtin/fetch.c:1532 msgid "" "--filter can only be used with the remote configured in extensions." "partialClone" msgstr "åªå¯ä»¥å°† --filter 用于在 extensions.partialClone ä¸é…置的远程仓库" -#: builtin/fetch.c:1506 +#: builtin/fetch.c:1556 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "未指定远程仓库。请通过一个 URL æˆ–è¿œç¨‹ä»“åº“åæŒ‡å®šï¼Œç”¨ä»¥èŽ·å–æ–°æäº¤ã€‚" -#: builtin/fetch.c:1543 +#: builtin/fetch.c:1593 msgid "You need to specify a tag name." msgstr "æ‚¨éœ€è¦æŒ‡å®šä¸€ä¸ªæ ‡ç¾å称。" -#: builtin/fetch.c:1594 +#: builtin/fetch.c:1644 msgid "Negative depth in --deepen is not supported" msgstr "--deepen 䏿”¯æŒè´Ÿæ•°æ·±åº¦" -#: builtin/fetch.c:1596 +#: builtin/fetch.c:1646 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen å’Œ --depth 是互斥的" -#: builtin/fetch.c:1601 +#: builtin/fetch.c:1651 msgid "--depth and --unshallow cannot be used together" msgstr "--depth å’Œ --unshallow ä¸èƒ½åŒæ—¶ä½¿ç”¨" -#: builtin/fetch.c:1603 +#: builtin/fetch.c:1653 msgid "--unshallow on a complete repository does not make sense" msgstr "å¯¹äºŽä¸€ä¸ªå®Œæ•´çš„ä»“åº“ï¼Œå‚æ•° --unshallow 没有æ„义" -#: builtin/fetch.c:1619 +#: builtin/fetch.c:1669 msgid "fetch --all does not take a repository argument" msgstr "fetch --all ä¸èƒ½å¸¦ä¸€ä¸ªä»“åº“å‚æ•°" -#: builtin/fetch.c:1621 +#: builtin/fetch.c:1671 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all å¸¦å¼•ç”¨è§„æ ¼æ²¡æœ‰ä»»ä½•æ„义" -#: builtin/fetch.c:1630 +#: builtin/fetch.c:1680 #, c-format msgid "No such remote or remote group: %s" msgstr "æ²¡æœ‰è¿™æ ·çš„è¿œç¨‹æˆ–è¿œç¨‹ç»„ï¼š%s" -#: builtin/fetch.c:1637 +#: builtin/fetch.c:1687 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "获å–ç»„å¹¶æŒ‡å®šå¼•ç”¨è§„æ ¼æ²¡æœ‰æ„义" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1703 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12499,7 +12922,7 @@ msgstr "引用å ä½ç¬¦é€‚用于 Tcl" msgid "show only <n> matched refs" msgstr "åªæ˜¾ç¤º <n> 个匹é…的引用" -#: builtin/for-each-ref.c:39 builtin/tag.c:433 +#: builtin/for-each-ref.c:39 builtin/tag.c:439 msgid "respect format colors" msgstr "éµç…§æ ¼å¼ä¸çš„颜色输出" @@ -12667,7 +13090,7 @@ msgstr "æ£åœ¨æ£€æŸ¥å¯¹è±¡ç›®å½•" msgid "Checking %s link" msgstr "æ£åœ¨æ£€æŸ¥ %s 链接" -#: builtin/fsck.c:705 builtin/index-pack.c:841 +#: builtin/fsck.c:705 builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "æ— æ•ˆçš„ %s" @@ -12752,7 +13175,7 @@ msgstr "显示进度" msgid "show verbose names for reachable objects" msgstr "显示å¯è¾¾å¯¹è±¡çš„详细åç§°" -#: builtin/fsck.c:859 builtin/index-pack.c:224 +#: builtin/fsck.c:859 builtin/index-pack.c:225 msgid "Checking objects" msgstr "æ£åœ¨æ£€æŸ¥å¯¹è±¡" @@ -12785,7 +13208,7 @@ msgstr "æ— æ³•è§£æž '%s' 值 '%s'" msgid "cannot stat '%s'" msgstr "ä¸èƒ½å¯¹ '%s' 调用 stat" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519 +#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "ä¸èƒ½è¯»å– '%s'" @@ -12856,7 +13279,7 @@ msgid "" msgstr "" "å·²ç»æœ‰ä¸€ä¸ª gc æ£è¿è¡Œåœ¨æœºå™¨ '%s' pid %<PRIuMAX>ï¼ˆå¦‚æžœä¸æ˜¯ï¼Œä½¿ç”¨ --force)" -#: builtin/gc.c:693 +#: builtin/gc.c:695 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "有太多ä¸å¯è¾¾çš„æ¾æ•£å¯¹è±¡ï¼Œè¿è¡Œ 'git prune' åˆ é™¤å®ƒä»¬ã€‚" @@ -12879,259 +13302,259 @@ msgstr "为 %2$s 设定的线程数 (%1$d) æ— æ•ˆ" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705 -#: builtin/pack-objects.c:2720 +#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 +#: builtin/pack-objects.c:2728 #, c-format msgid "no threads support, ignoring %s" msgstr "没有线程支æŒï¼Œå¿½ç•¥ %s" -#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631 +#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 #, c-format msgid "unable to read tree (%s)" msgstr "æ— æ³•è¯»å–æ ‘(%s)" -#: builtin/grep.c:646 +#: builtin/grep.c:648 #, c-format msgid "unable to grep from object of type %s" msgstr "æ— æ³•æŠ“å–æ¥è‡ªäºŽ %s 类型的对象" -#: builtin/grep.c:712 +#: builtin/grep.c:714 #, c-format msgid "switch `%c' expects a numerical value" msgstr "开关 `%c' 期望一个数å—值" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "search in index instead of in the work tree" msgstr "在索引区æœç´¢è€Œä¸æ˜¯åœ¨å·¥ä½œåŒº" -#: builtin/grep.c:813 +#: builtin/grep.c:815 msgid "find in contents not managed by git" msgstr "在未被 git 管ç†çš„内容䏿Ÿ¥æ‰¾" # è¯‘è€…ï¼šä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: builtin/grep.c:815 +#: builtin/grep.c:817 msgid "search in both tracked and untracked files" msgstr "åœ¨è·Ÿè¸ªå’Œæœªè·Ÿè¸ªçš„æ–‡ä»¶ä¸æœç´¢" -#: builtin/grep.c:817 +#: builtin/grep.c:819 msgid "ignore files specified via '.gitignore'" msgstr "忽略 '.gitignore' 包å«çš„æ–‡ä»¶" -#: builtin/grep.c:819 +#: builtin/grep.c:821 msgid "recursively search in each submodule" msgstr "在æ¯ä¸€ä¸ªå模组ä¸é€’å½’æœç´¢" -#: builtin/grep.c:822 +#: builtin/grep.c:824 msgid "show non-matching lines" msgstr "显示未匹é…的行" -#: builtin/grep.c:824 +#: builtin/grep.c:826 msgid "case insensitive matching" msgstr "ä¸åŒºåˆ†å¤§å°å†™åŒ¹é…" -#: builtin/grep.c:826 +#: builtin/grep.c:828 msgid "match patterns only at word boundaries" msgstr "åªåœ¨å•è¯è¾¹ç•ŒåŒ¹é…模å¼" -#: builtin/grep.c:828 +#: builtin/grep.c:830 msgid "process binary files as text" msgstr "æŠŠäºŒè¿›åˆ¶æ–‡ä»¶å½“åšæ–‡æœ¬å¤„ç†" -#: builtin/grep.c:830 +#: builtin/grep.c:832 msgid "don't match patterns in binary files" msgstr "ä¸åœ¨äºŒè¿›åˆ¶æ–‡ä»¶ä¸åŒ¹é…模å¼" -#: builtin/grep.c:833 +#: builtin/grep.c:835 msgid "process binary files with textconv filters" msgstr "用 textconv 过滤器处ç†äºŒè¿›åˆ¶æ–‡ä»¶" -#: builtin/grep.c:835 +#: builtin/grep.c:837 msgid "search in subdirectories (default)" msgstr "在å目录ä¸å¯»æ‰¾ï¼ˆé»˜è®¤ï¼‰" -#: builtin/grep.c:837 +#: builtin/grep.c:839 msgid "descend at most <depth> levels" msgstr "最多以指定的深度å‘下寻找" -#: builtin/grep.c:841 +#: builtin/grep.c:843 msgid "use extended POSIX regular expressions" msgstr "使用扩展的 POSIX æ£åˆ™è¡¨è¾¾å¼" -#: builtin/grep.c:844 +#: builtin/grep.c:846 msgid "use basic POSIX regular expressions (default)" msgstr "使用基本的 POSIX æ£åˆ™è¡¨è¾¾å¼ï¼ˆé»˜è®¤ï¼‰" -#: builtin/grep.c:847 +#: builtin/grep.c:849 msgid "interpret patterns as fixed strings" msgstr "把模å¼è§£æžä¸ºå›ºå®šçš„å—符串" -#: builtin/grep.c:850 +#: builtin/grep.c:852 msgid "use Perl-compatible regular expressions" msgstr "使用 Perl 兼容的æ£åˆ™è¡¨è¾¾å¼" -#: builtin/grep.c:853 +#: builtin/grep.c:855 msgid "show line numbers" msgstr "显示行å·" -#: builtin/grep.c:854 +#: builtin/grep.c:856 msgid "show column number of first match" msgstr "显示第一个匹é…的列å·" -#: builtin/grep.c:855 +#: builtin/grep.c:857 msgid "don't show filenames" msgstr "䏿˜¾ç¤ºæ–‡ä»¶å" -#: builtin/grep.c:856 +#: builtin/grep.c:858 msgid "show filenames" msgstr "显示文件å" -#: builtin/grep.c:858 +#: builtin/grep.c:860 msgid "show filenames relative to top directory" msgstr "显示相对于顶级目录的文件å" -#: builtin/grep.c:860 +#: builtin/grep.c:862 msgid "show only filenames instead of matching lines" msgstr "åªæ˜¾ç¤ºæ–‡ä»¶åè€Œä¸æ˜¾ç¤ºåŒ¹é…的行" -#: builtin/grep.c:862 +#: builtin/grep.c:864 msgid "synonym for --files-with-matches" msgstr "å’Œ --files-with-matches åŒä¹‰" -#: builtin/grep.c:865 +#: builtin/grep.c:867 msgid "show only the names of files without match" msgstr "åªæ˜¾ç¤ºæœªåŒ¹é…的文件å" -#: builtin/grep.c:867 +#: builtin/grep.c:869 msgid "print NUL after filenames" msgstr "在文件ååŽè¾“出 NUL å—符" -#: builtin/grep.c:870 +#: builtin/grep.c:872 msgid "show only matching parts of a line" msgstr "åªæ˜¾ç¤ºè¡Œä¸çš„匹é…的部分" -#: builtin/grep.c:872 +#: builtin/grep.c:874 msgid "show the number of matches instead of matching lines" msgstr "显示总匹é…è¡Œæ•°ï¼Œè€Œä¸æ˜¾ç¤ºåŒ¹é…的行" -#: builtin/grep.c:873 +#: builtin/grep.c:875 msgid "highlight matches" msgstr "高亮显示匹é…项" -#: builtin/grep.c:875 +#: builtin/grep.c:877 msgid "print empty line between matches from different files" msgstr "在ä¸åŒæ–‡ä»¶çš„匹é…项之间打å°ç©ºè¡Œ" -#: builtin/grep.c:877 +#: builtin/grep.c:879 msgid "show filename only once above matches from same file" msgstr "åªåœ¨åŒä¸€æ–‡ä»¶çš„匹é…é¡¹çš„ä¸Šé¢æ˜¾ç¤ºä¸€æ¬¡æ–‡ä»¶å" -#: builtin/grep.c:880 +#: builtin/grep.c:882 msgid "show <n> context lines before and after matches" msgstr "显示匹é…项å‰åŽçš„ <n> 行上下文" -#: builtin/grep.c:883 +#: builtin/grep.c:885 msgid "show <n> context lines before matches" msgstr "显示匹é…é¡¹å‰ <n> 行上下文" -#: builtin/grep.c:885 +#: builtin/grep.c:887 msgid "show <n> context lines after matches" msgstr "显示匹é…é¡¹åŽ <n> 行上下文" -#: builtin/grep.c:887 +#: builtin/grep.c:889 msgid "use <n> worker threads" msgstr "使用 <n> 个工作线程" -#: builtin/grep.c:888 +#: builtin/grep.c:890 msgid "shortcut for -C NUM" msgstr "å¿«æ·é”® -C æ•°å—" -#: builtin/grep.c:891 +#: builtin/grep.c:893 msgid "show a line with the function name before matches" msgstr "在匹é…çš„å‰é¢æ˜¾ç¤ºä¸€è¡Œå‡½æ•°å" -#: builtin/grep.c:893 +#: builtin/grep.c:895 msgid "show the surrounding function" msgstr "显示所在函数的å‰åŽå†…容" -#: builtin/grep.c:896 +#: builtin/grep.c:898 msgid "read patterns from file" msgstr "ä»Žæ–‡ä»¶è¯»å–æ¨¡å¼" -#: builtin/grep.c:898 +#: builtin/grep.c:900 msgid "match <pattern>" msgstr "åŒ¹é… <模å¼>" -#: builtin/grep.c:900 +#: builtin/grep.c:902 msgid "combine patterns specified with -e" msgstr "组åˆç”¨ -e 傿•°è®¾å®šçš„æ¨¡å¼" -#: builtin/grep.c:912 +#: builtin/grep.c:914 msgid "indicate hit with exit status without output" msgstr "ä¸è¾“å‡ºï¼Œè€Œç”¨é€€å‡ºç æ ‡è¯†å‘½ä¸çжæ€" -#: builtin/grep.c:914 +#: builtin/grep.c:916 msgid "show only matches from files that match all patterns" msgstr "åªæ˜¾ç¤ºåŒ¹é…所有模å¼çš„æ–‡ä»¶ä¸çš„匹é…" -#: builtin/grep.c:916 +#: builtin/grep.c:918 msgid "show parse tree for grep expression" msgstr "显示 grep 表达å¼çš„è§£æžæ ‘" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "pager" msgstr "分页" -#: builtin/grep.c:920 +#: builtin/grep.c:922 msgid "show matching files in the pager" msgstr "分页显示匹é…的文件" -#: builtin/grep.c:924 +#: builtin/grep.c:926 msgid "allow calling of grep(1) (ignored by this build)" msgstr "å…许调用 grep(1)(本次构建忽略)" -#: builtin/grep.c:988 +#: builtin/grep.c:990 msgid "no pattern given" msgstr "未æä¾›åŒ¹é…模å¼" -#: builtin/grep.c:1024 +#: builtin/grep.c:1026 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index 或 --untracked ä¸èƒ½å’Œç‰ˆæœ¬åŒæ—¶ä½¿ç”¨" -#: builtin/grep.c:1032 +#: builtin/grep.c:1034 #, c-format msgid "unable to resolve revision: %s" msgstr "ä¸èƒ½è§£æžç‰ˆæœ¬ï¼š%s" -#: builtin/grep.c:1063 +#: builtin/grep.c:1065 msgid "invalid option combination, ignoring --threads" msgstr "æ— æ•ˆçš„é€‰é¡¹ç»„åˆï¼Œå¿½ç•¥ --threads" -#: builtin/grep.c:1066 builtin/pack-objects.c:3403 +#: builtin/grep.c:1068 builtin/pack-objects.c:3416 msgid "no threads support, ignoring --threads" msgstr "没有线程支æŒï¼Œå¿½ç•¥ --threads" -#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717 +#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 #, c-format msgid "invalid number of threads specified (%d)" msgstr "æŒ‡å®šçš„çº¿ç¨‹æ•°æ— æ•ˆï¼ˆ%d)" -#: builtin/grep.c:1092 +#: builtin/grep.c:1094 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager 仅用于工作区" -#: builtin/grep.c:1115 +#: builtin/grep.c:1117 msgid "option not supported with --recurse-submodules" msgstr "选项䏿”¯æŒå’Œ --recurse-submodules 共用" -#: builtin/grep.c:1121 +#: builtin/grep.c:1123 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached 或 --untracked ä¸èƒ½ä¸Ž --no-index åŒæ—¶ä½¿ç”¨" -#: builtin/grep.c:1127 +#: builtin/grep.c:1129 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard ä¸èƒ½ç”¨äºŽå·²è·Ÿè¸ªå†…容" -#: builtin/grep.c:1135 +#: builtin/grep.c:1137 msgid "both --cached and trees are given" msgstr "åŒæ—¶ç»™å‡ºäº† --cached å’Œæ ‘å¯¹è±¡" @@ -13148,10 +13571,6 @@ msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" #: builtin/hash-object.c:98 -msgid "type" -msgstr "类型" - -#: builtin/hash-object.c:98 msgid "object type" msgstr "对象类型" @@ -13266,12 +13685,12 @@ msgstr "没有 man æŸ¥çœ‹å™¨å¤„ç†æ¤è¯·æ±‚" msgid "no info viewer handled the request" msgstr "没有 info æŸ¥çœ‹å™¨å¤„ç†æ¤è¯·æ±‚" -#: builtin/help.c:434 builtin/help.c:445 git.c:335 +#: builtin/help.c:434 builtin/help.c:445 git.c:336 #, c-format msgid "'%s' is aliased to '%s'" msgstr "'%s' 是 '%s' 的别å" -#: builtin/help.c:448 git.c:364 +#: builtin/help.c:448 git.c:365 #, c-format msgid "bad alias.%s string: %s" msgstr "åçš„ alias.%s å—符串:%s" @@ -13285,290 +13704,285 @@ msgstr "用法:%s%s" msgid "'git help config' for more information" msgstr "'git help config' èŽ·å–æ›´å¤šä¿¡æ¯" -#: builtin/index-pack.c:184 +#: builtin/index-pack.c:185 #, c-format msgid "object type mismatch at %s" msgstr "%s 的对象类型ä¸åŒ¹é…" -#: builtin/index-pack.c:204 +#: builtin/index-pack.c:205 #, c-format msgid "did not receive expected object %s" msgstr "未能获å–预期的对象 %s" -#: builtin/index-pack.c:207 +#: builtin/index-pack.c:208 #, c-format msgid "object %s: expected type %s, found %s" msgstr "对象 %s:应为类型 %sï¼Œå´æ˜¯ %s" -#: builtin/index-pack.c:257 +#: builtin/index-pack.c:258 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "æ— æ³•å¡«å…… %d å—节" msgstr[1] "æ— æ³•å¡«å…… %d å—节" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 msgid "early EOF" msgstr "过早的文件结æŸç¬¦ï¼ˆEOF)" -#: builtin/index-pack.c:268 +#: builtin/index-pack.c:269 msgid "read error on input" msgstr "输入上的读错误" -#: builtin/index-pack.c:280 +#: builtin/index-pack.c:281 msgid "used more bytes than were available" msgstr "用掉了超过å¯ç”¨çš„å—节" -#: builtin/index-pack.c:287 builtin/pack-objects.c:600 +#: builtin/index-pack.c:288 builtin/pack-objects.c:604 msgid "pack too large for current definition of off_t" msgstr "åŒ…å¤ªå¤§è¶…è¿‡äº†å½“å‰ off_t 的定义" -#: builtin/index-pack.c:290 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 msgid "pack exceeds maximum allowed size" msgstr "包超过了最大å…许值" -#: builtin/index-pack.c:305 builtin/repack.c:250 -#, c-format -msgid "unable to create '%s'" -msgstr "ä¸èƒ½åˆ›å»º '%s'" - -#: builtin/index-pack.c:311 +#: builtin/index-pack.c:312 #, c-format msgid "cannot open packfile '%s'" msgstr "æ— æ³•æ‰“å¼€åŒ…æ–‡ä»¶ '%s'" -#: builtin/index-pack.c:325 +#: builtin/index-pack.c:326 msgid "pack signature mismatch" msgstr "包ç¾åä¸åŒ¹é…" -#: builtin/index-pack.c:327 +#: builtin/index-pack.c:328 #, c-format msgid "pack version %<PRIu32> unsupported" msgstr "䏿”¯æŒåŒ…版本 %<PRIu32>" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:346 #, c-format msgid "pack has bad object at offset %<PRIuMAX>: %s" msgstr "åŒ…ä¸æœ‰é”™è¯¯çš„对象ä½äºŽåç§»é‡ %<PRIuMAX>:%s" -#: builtin/index-pack.c:465 +#: builtin/index-pack.c:466 #, c-format msgid "inflate returned %d" msgstr "解压缩返回 %d" -#: builtin/index-pack.c:514 +#: builtin/index-pack.c:515 msgid "offset value overflow for delta base object" msgstr "å移值覆盖了 delta 基准对象" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:523 msgid "delta base offset is out of bound" msgstr "delta 基准å移越界" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:531 #, c-format msgid "unknown object type %d" msgstr "未知对象类型 %d" -#: builtin/index-pack.c:561 +#: builtin/index-pack.c:562 msgid "cannot pread pack file" msgstr "æ— æ³•è¯»å–包文件" -#: builtin/index-pack.c:563 +#: builtin/index-pack.c:564 #, c-format msgid "premature end of pack file, %<PRIuMAX> byte missing" msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing" msgstr[0] "包文件过早结æŸï¼Œç¼ºå°‘ %<PRIuMAX> å—节" msgstr[1] "包文件过早结æŸï¼Œç¼ºå°‘ %<PRIuMAX> å—节" -#: builtin/index-pack.c:589 +#: builtin/index-pack.c:590 msgid "serious inflate inconsistency" msgstr "解压缩严é‡çš„ä¸ä¸€è‡´" -#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763 -#: builtin/index-pack.c:802 builtin/index-pack.c:811 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 +#: builtin/index-pack.c:803 builtin/index-pack.c:812 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "å‘现 %s 出现 SHA1 冲çªï¼" -#: builtin/index-pack.c:737 builtin/pack-objects.c:153 -#: builtin/pack-objects.c:213 builtin/pack-objects.c:307 +#: builtin/index-pack.c:738 builtin/pack-objects.c:157 +#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 #, c-format msgid "unable to read %s" msgstr "ä¸èƒ½è¯» %s" -#: builtin/index-pack.c:800 +#: builtin/index-pack.c:801 #, c-format msgid "cannot read existing object info %s" msgstr "ä¸èƒ½è¯»å–现å˜å¯¹è±¡ä¿¡æ¯ %s" -#: builtin/index-pack.c:808 +#: builtin/index-pack.c:809 #, c-format msgid "cannot read existing object %s" msgstr "ä¸èƒ½è¯»å–现å˜å¯¹è±¡ %s" -#: builtin/index-pack.c:822 +#: builtin/index-pack.c:823 #, c-format msgid "invalid blob object %s" msgstr "æ— æ•ˆçš„æ•°æ®å¯¹è±¡ %s" -#: builtin/index-pack.c:825 builtin/index-pack.c:844 +#: builtin/index-pack.c:826 builtin/index-pack.c:845 msgid "fsck error in packed object" msgstr "对打包对象 fsck 检查出错" -#: builtin/index-pack.c:846 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "%s 的所有å对象并éžéƒ½å¯è¾¾" -#: builtin/index-pack.c:918 builtin/index-pack.c:949 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "应用 delta 失败" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Receiving objects" msgstr "接收对象ä¸" -#: builtin/index-pack.c:1117 +#: builtin/index-pack.c:1118 msgid "Indexing objects" msgstr "索引对象ä¸" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "包冲çªï¼ˆSHA1 ä¸åŒ¹é…)" -#: builtin/index-pack.c:1156 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "ä¸èƒ½å¯¹åŒ…文件调用 fstat" -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "包的结尾有垃圾数æ®" -#: builtin/index-pack.c:1171 +#: builtin/index-pack.c:1172 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "parse_pack_objects() ä¸é‡åˆ°ä¸å¯ç†å–»çš„问题" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1195 msgid "Resolving deltas" msgstr "å¤„ç† delta ä¸" -#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489 +#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 #, c-format msgid "unable to create thread: %s" msgstr "ä¸èƒ½åˆ›å»ºçº¿ç¨‹ï¼š%s" -#: builtin/index-pack.c:1245 +#: builtin/index-pack.c:1246 msgid "confusion beyond insanity" msgstr "ä¸å¯ç†å–»" -#: builtin/index-pack.c:1251 +#: builtin/index-pack.c:1252 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "å®Œæˆ %d 个本地对象" msgstr[1] "å®Œæˆ %d 个本地对象" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1264 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "对 %s çš„å°¾éƒ¨æ ¡éªŒå‡ºçŽ°æ„外(ç£ç›˜æŸå?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1268 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "包有 %d 个未解决的 delta" msgstr[1] "包有 %d 个未解决的 delta" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1292 #, c-format msgid "unable to deflate appended object (%d)" msgstr "ä¸èƒ½åŽ‹ç¼©é™„åŠ å¯¹è±¡ï¼ˆ%d)" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1388 #, c-format msgid "local object %s is corrupt" msgstr "本地对象 %s å·²æŸå" -#: builtin/index-pack.c:1382 +#: builtin/index-pack.c:1402 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "包文件å '%s' 没有以 '.pack' 结尾" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1427 #, c-format msgid "cannot write %s file '%s'" msgstr "æ— æ³•å†™å…¥ %s 文件 '%s'" -#: builtin/index-pack.c:1415 +#: builtin/index-pack.c:1435 #, c-format msgid "cannot close written %s file '%s'" msgstr "æ— æ³•å…³é—已写入的 %s 文件 '%s'" -#: builtin/index-pack.c:1439 +#: builtin/index-pack.c:1459 msgid "error while closing pack file" msgstr "å…³é—包文件时出错" -#: builtin/index-pack.c:1453 +#: builtin/index-pack.c:1473 msgid "cannot store pack file" msgstr "æ— æ³•å˜å‚¨åŒ…文件" -#: builtin/index-pack.c:1461 +#: builtin/index-pack.c:1481 msgid "cannot store index file" msgstr "æ— æ³•å˜å‚¨ç´¢å¼•文件" -#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728 +#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "åçš„ pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1573 +#: builtin/index-pack.c:1593 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "æ— æ³•æ‰“å¼€çŽ°å˜åŒ…文件 '%s'" -#: builtin/index-pack.c:1575 +#: builtin/index-pack.c:1595 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "æ— æ³•ä¸º %s 打开包索引文件" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1643 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "éž delta:%d 个对象" msgstr[1] "éž delta:%d 个对象" -#: builtin/index-pack.c:1630 +#: builtin/index-pack.c:1650 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "链长 = %d: %lu 对象" msgstr[1] "链长 = %d: %lu 对象" -#: builtin/index-pack.c:1667 +#: builtin/index-pack.c:1689 msgid "Cannot come back to cwd" msgstr "æ— æ³•è¿”å›žå½“å‰å·¥ä½œç›®å½•" -#: builtin/index-pack.c:1716 builtin/index-pack.c:1719 -#: builtin/index-pack.c:1735 builtin/index-pack.c:1739 +#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 +#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 #, c-format msgid "bad %s" msgstr "错误选项 %s" -#: builtin/index-pack.c:1755 +#: builtin/index-pack.c:1777 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin ä¸èƒ½å’Œ --stdin åŒæ—¶ä½¿ç”¨" -#: builtin/index-pack.c:1757 +#: builtin/index-pack.c:1779 msgid "--stdin requires a git repository" msgstr "--stdin 需è¦ä¸€ä¸ª git 仓库" -#: builtin/index-pack.c:1763 +#: builtin/index-pack.c:1785 msgid "--verify with no packfile name given" msgstr "--verify 没有æä¾›åŒ…文件å傿•°" -#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 msgid "fsck error in pack objects" msgstr "åœ¨æ‰“åŒ…å¯¹è±¡ä¸ fsck 检查出错" @@ -13663,29 +14077,29 @@ msgstr "æƒé™" msgid "specify that the git repository is to be shared amongst several users" msgstr "指定 git 仓库是多个用户之间共享的" -#: builtin/init-db.c:526 builtin/init-db.c:531 +#: builtin/init-db.c:529 builtin/init-db.c:534 #, c-format msgid "cannot mkdir %s" msgstr "ä¸èƒ½åˆ›å»ºç›®å½• %s" -#: builtin/init-db.c:535 +#: builtin/init-db.c:538 #, c-format msgid "cannot chdir to %s" msgstr "ä¸èƒ½åˆ‡æ¢ç›®å½•到 %s" -#: builtin/init-db.c:556 +#: builtin/init-db.c:559 #, c-format msgid "" "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" "dir=<directory>)" msgstr "ä¸å…许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)" -#: builtin/init-db.c:584 +#: builtin/init-db.c:587 #, c-format msgid "Cannot access work tree '%s'" msgstr "ä¸èƒ½è®¿é—®å·¥ä½œåŒº '%s'" -#: builtin/interpret-trailers.c:15 +#: builtin/interpret-trailers.c:16 msgid "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<token>[(=|:)<value>])...] [<file>...]" @@ -13693,59 +14107,59 @@ msgstr "" "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <é”®>[(=|:)<值" ">])...] [<文件>...]" -#: builtin/interpret-trailers.c:94 +#: builtin/interpret-trailers.c:95 msgid "edit files in place" msgstr "在原ä½ç¼–辑文件" -#: builtin/interpret-trailers.c:95 +#: builtin/interpret-trailers.c:96 msgid "trim empty trailers" msgstr "åˆ é™¤ç©ºçš„å°¾éƒ¨ç½²å" -#: builtin/interpret-trailers.c:98 +#: builtin/interpret-trailers.c:99 msgid "where to place the new trailer" msgstr "在哪里放置新的尾部署å" -#: builtin/interpret-trailers.c:100 +#: builtin/interpret-trailers.c:101 msgid "action if trailer already exists" msgstr "当尾部署åå·²ç»å˜åœ¨æ—¶æ‰€é‡‡å–的动作" -#: builtin/interpret-trailers.c:102 +#: builtin/interpret-trailers.c:103 msgid "action if trailer is missing" msgstr "当尾部署å缺失时所采å–的动作" -#: builtin/interpret-trailers.c:104 +#: builtin/interpret-trailers.c:105 msgid "output only the trailers" msgstr "åªè¾“出尾部署å" -#: builtin/interpret-trailers.c:105 +#: builtin/interpret-trailers.c:106 msgid "do not apply config rules" msgstr "ä¸è¦åº”用é…置规则" -#: builtin/interpret-trailers.c:106 +#: builtin/interpret-trailers.c:107 msgid "join whitespace-continued values" msgstr "连接空白折行的值" -#: builtin/interpret-trailers.c:107 +#: builtin/interpret-trailers.c:108 msgid "set parsing options" msgstr "设置解æžé€‰é¡¹" -#: builtin/interpret-trailers.c:109 +#: builtin/interpret-trailers.c:110 msgid "do not treat --- specially" msgstr "ä¸è¦å¯¹ --- 特殊处ç†" -#: builtin/interpret-trailers.c:110 +#: builtin/interpret-trailers.c:111 msgid "trailer" msgstr "尾部署å" -#: builtin/interpret-trailers.c:111 +#: builtin/interpret-trailers.c:112 msgid "trailer(s) to add" msgstr "è¦æ·»åŠ çš„å°¾éƒ¨ç½²å" -#: builtin/interpret-trailers.c:120 +#: builtin/interpret-trailers.c:123 msgid "--trailer with --only-input does not make sense" msgstr "--trailer å’Œ --only-input åŒæ—¶ä½¿ç”¨æ²¡æœ‰æ„义" -#: builtin/interpret-trailers.c:130 +#: builtin/interpret-trailers.c:133 msgid "no input file given for in-place editing" msgstr "没有给出è¦åŽŸä½ç¼–辑的文件" @@ -13757,113 +14171,113 @@ msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]" msgid "git show [<options>] <object>..." msgstr "git show [<选项>] <对象>..." -#: builtin/log.c:104 +#: builtin/log.c:109 #, c-format msgid "invalid --decorate option: %s" msgstr "æ— æ•ˆçš„ --decorate 选项:%s" -#: builtin/log.c:168 +#: builtin/log.c:173 msgid "show source" msgstr "显示æº" -#: builtin/log.c:169 +#: builtin/log.c:174 msgid "Use mail map file" msgstr "ä½¿ç”¨é‚®ä»¶æ˜ å°„æ–‡ä»¶" -#: builtin/log.c:171 +#: builtin/log.c:176 msgid "only decorate refs that match <pattern>" msgstr "åªä¿®é¥°ä¸Ž <模å¼> 匹é…的引用" -#: builtin/log.c:173 +#: builtin/log.c:178 msgid "do not decorate refs that match <pattern>" msgstr "ä¸ä¿®é¥°å’Œ <模å¼> 匹é…的引用" -#: builtin/log.c:174 +#: builtin/log.c:179 msgid "decorate options" msgstr "修饰选项" -#: builtin/log.c:177 +#: builtin/log.c:182 msgid "Process line range n,m in file, counting from 1" msgstr "å¤„ç†æ–‡ä»¶ä¸ç¬¬ n 到 m 之间的行,从 1 开始" -#: builtin/log.c:275 +#: builtin/log.c:280 #, c-format msgid "Final output: %d %s\n" msgstr "最终输出:%d %s\n" -#: builtin/log.c:529 +#: builtin/log.c:534 #, c-format msgid "git show %s: bad file" msgstr "git show %s: æŸå的文件" -#: builtin/log.c:544 builtin/log.c:638 +#: builtin/log.c:549 builtin/log.c:643 #, c-format msgid "could not read object %s" msgstr "ä¸èƒ½è¯»å–对象 %s" -#: builtin/log.c:663 +#: builtin/log.c:668 #, c-format msgid "unknown type: %d" msgstr "未知类型:%d" -#: builtin/log.c:784 +#: builtin/log.c:791 msgid "format.headers without value" msgstr "format.headers 没有值" -#: builtin/log.c:885 +#: builtin/log.c:908 msgid "name of output directory is too long" msgstr "输出目录å太长" -#: builtin/log.c:901 +#: builtin/log.c:924 #, c-format msgid "cannot open patch file %s" msgstr "æ— æ³•æ‰“å¼€è¡¥ä¸æ–‡ä»¶ %s" -#: builtin/log.c:918 +#: builtin/log.c:941 msgid "need exactly one range" msgstr "åªéœ€è¦ä¸€ä¸ªèŒƒå›´" -#: builtin/log.c:928 +#: builtin/log.c:951 msgid "not a range" msgstr "䏿˜¯ä¸€ä¸ªèŒƒå›´" -#: builtin/log.c:1051 +#: builtin/log.c:1074 msgid "cover letter needs email format" msgstr "附函需è¦é‚®ä»¶åœ°å€æ ¼å¼" -#: builtin/log.c:1057 +#: builtin/log.c:1080 msgid "failed to create cover-letter file" msgstr "æ— æ³•åˆ›å»ºé™„å‡½æ–‡ä»¶" -#: builtin/log.c:1136 +#: builtin/log.c:1159 #, c-format msgid "insane in-reply-to: %s" msgstr "䏿£å¸¸çš„ in-reply-to:%s" -#: builtin/log.c:1163 +#: builtin/log.c:1186 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<选项>] [<从> | <版本范围>]" -#: builtin/log.c:1221 +#: builtin/log.c:1244 msgid "two output directories?" msgstr "两个输出目录?" -#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090 +#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 #, c-format msgid "unknown commit %s" msgstr "未知æäº¤ %s" -#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "æ— æ³•å°† '%s' è§£æžä¸ºä¸€ä¸ªæœ‰æ•ˆå¼•用" -#: builtin/log.c:1347 +#: builtin/log.c:1370 msgid "could not find exact merge base" msgstr "ä¸èƒ½æ‰¾åˆ°å‡†ç¡®çš„åˆå¹¶åŸºçº¿" -#: builtin/log.c:1351 +#: builtin/log.c:1374 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" @@ -13873,271 +14287,267 @@ msgstr "" "git branch --set-upstream-to æ¥è·Ÿè¸ªä¸€ä¸ªè¿œç¨‹åˆ†æ”¯ã€‚æˆ–è€…ä½ å¯ä»¥é€šè¿‡\n" "傿•° --base=<基线æäº¤> 手动指定一个基线æäº¤" -#: builtin/log.c:1371 +#: builtin/log.c:1394 msgid "failed to find exact merge base" msgstr "æ— æ³•æ‰¾åˆ°å‡†ç¡®çš„åˆå¹¶åŸºçº¿" -#: builtin/log.c:1382 +#: builtin/log.c:1405 msgid "base commit should be the ancestor of revision list" msgstr "基线æäº¤åº”该是版本列表的祖先" -#: builtin/log.c:1386 +#: builtin/log.c:1409 msgid "base commit shouldn't be in revision list" msgstr "基线æäº¤ä¸åº”该出现在版本列表ä¸" -#: builtin/log.c:1439 +#: builtin/log.c:1462 msgid "cannot get patch id" msgstr "æ— æ³•å¾—åˆ°è¡¥ä¸ id" -#: builtin/log.c:1491 +#: builtin/log.c:1514 msgid "failed to infer range-diff ranges" msgstr "æ— æ³•æŽ¨æ– range-diff 范围" -#: builtin/log.c:1536 +#: builtin/log.c:1559 msgid "use [PATCH n/m] even with a single patch" msgstr "使用 [PATCH n/m],å³ä½¿åªæœ‰ä¸€ä¸ªè¡¥ä¸" -#: builtin/log.c:1539 +#: builtin/log.c:1562 msgid "use [PATCH] even with multiple patches" msgstr "使用 [PATCH],å³ä½¿æœ‰å¤šä¸ªè¡¥ä¸" -#: builtin/log.c:1543 +#: builtin/log.c:1566 msgid "print patches to standard out" msgstr "打å°è¡¥ä¸åˆ°æ ‡å‡†è¾“出" -#: builtin/log.c:1545 +#: builtin/log.c:1568 msgid "generate a cover letter" msgstr "生æˆä¸€å°é™„函" -#: builtin/log.c:1547 +#: builtin/log.c:1570 msgid "use simple number sequence for output file names" msgstr "使用简å•的数å—åºåˆ—作为输出文件å" -#: builtin/log.c:1548 +#: builtin/log.c:1571 msgid "sfx" msgstr "åŽç¼€" -#: builtin/log.c:1549 +#: builtin/log.c:1572 msgid "use <sfx> instead of '.patch'" msgstr "使用 <åŽç¼€> 代替 '.patch'" -#: builtin/log.c:1551 +#: builtin/log.c:1574 msgid "start numbering patches at <n> instead of 1" msgstr "è¡¥ä¸ä»¥ <n> 开始编å·ï¼Œè€Œä¸æ˜¯1" -#: builtin/log.c:1553 +#: builtin/log.c:1576 msgid "mark the series as Nth re-roll" msgstr "æ ‡è®°è¡¥ä¸ç³»åˆ—æ˜¯ç¬¬å‡ æ¬¡é‡åˆ¶" -#: builtin/log.c:1555 +#: builtin/log.c:1578 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "使用 [RFC PATCH] 代替 [PATCH]" -#: builtin/log.c:1558 +#: builtin/log.c:1581 msgid "Use [<prefix>] instead of [PATCH]" msgstr "使用 [<å‰ç¼€>] 代替 [PATCH]" -#: builtin/log.c:1561 +#: builtin/log.c:1584 msgid "store resulting files in <dir>" msgstr "把结果文件å˜å‚¨åœ¨ <目录>" -#: builtin/log.c:1564 +#: builtin/log.c:1587 msgid "don't strip/add [PATCH]" msgstr "ä¸åˆ 除/æ·»åŠ [PATCH]" -#: builtin/log.c:1567 +#: builtin/log.c:1590 msgid "don't output binary diffs" msgstr "ä¸è¾“出二进制差异" -#: builtin/log.c:1569 +#: builtin/log.c:1592 msgid "output all-zero hash in From header" msgstr "在 From 头信æ¯ä¸è¾“出全为零的哈希值" -#: builtin/log.c:1571 +#: builtin/log.c:1594 msgid "don't include a patch matching a commit upstream" msgstr "ä¸åŒ…å«å·²åœ¨ä¸Šæ¸¸æäº¤ä¸çš„è¡¥ä¸" -#: builtin/log.c:1573 +#: builtin/log.c:1596 msgid "show patch format instead of default (patch + stat)" msgstr "æ˜¾ç¤ºçº¯è¡¥ä¸æ ¼å¼è€Œéžé»˜è®¤çš„(补ä¸+状æ€ï¼‰" -#: builtin/log.c:1575 +#: builtin/log.c:1598 msgid "Messaging" msgstr "邮件å‘é€" -#: builtin/log.c:1576 +#: builtin/log.c:1599 msgid "header" msgstr "header" -#: builtin/log.c:1577 +#: builtin/log.c:1600 msgid "add email header" msgstr "æ·»åŠ é‚®ä»¶å¤´" -#: builtin/log.c:1578 builtin/log.c:1580 +#: builtin/log.c:1601 builtin/log.c:1603 msgid "email" msgstr "邮件地å€" -#: builtin/log.c:1578 +#: builtin/log.c:1601 msgid "add To: header" msgstr "æ·»åŠ æ”¶ä»¶äºº" -#: builtin/log.c:1580 +#: builtin/log.c:1603 msgid "add Cc: header" msgstr "æ·»åŠ æŠ„é€" -#: builtin/log.c:1582 +#: builtin/log.c:1605 msgid "ident" msgstr "æ ‡è¯†" -#: builtin/log.c:1583 +#: builtin/log.c:1606 msgid "set From address to <ident> (or committer ident if absent)" msgstr "å°† From 地å€è®¾ç½®ä¸º <æ ‡è¯†>ï¼ˆå¦‚è‹¥ä¸æä¾›ï¼Œåˆ™ç”¨æäº¤è€… ID åšä¸ºåœ°å€ï¼‰" -#: builtin/log.c:1585 +#: builtin/log.c:1608 msgid "message-id" msgstr "é‚®ä»¶æ ‡è¯†" -#: builtin/log.c:1586 +#: builtin/log.c:1609 msgid "make first mail a reply to <message-id>" msgstr "使第一å°é‚®ä»¶ä½œä¸ºå¯¹ <é‚®ä»¶æ ‡è¯†> 的回å¤" -#: builtin/log.c:1587 builtin/log.c:1590 +#: builtin/log.c:1610 builtin/log.c:1613 msgid "boundary" msgstr "边界" -#: builtin/log.c:1588 +#: builtin/log.c:1611 msgid "attach the patch" msgstr "é™„ä»¶æ–¹å¼æ·»åŠ è¡¥ä¸" -#: builtin/log.c:1591 +#: builtin/log.c:1614 msgid "inline the patch" msgstr "å†…è”æ˜¾ç¤ºè¡¥ä¸" -#: builtin/log.c:1595 +#: builtin/log.c:1618 msgid "enable message threading, styles: shallow, deep" msgstr "å¯ç”¨é‚®ä»¶çº¿ç´¢ï¼Œé£Žæ ¼ï¼šæµ…,深" -#: builtin/log.c:1597 +#: builtin/log.c:1620 msgid "signature" msgstr "ç¾å" -#: builtin/log.c:1598 +#: builtin/log.c:1621 msgid "add a signature" msgstr "æ·»åŠ ä¸€ä¸ªç¾å" -#: builtin/log.c:1599 +#: builtin/log.c:1622 msgid "base-commit" msgstr "基线æäº¤" -#: builtin/log.c:1600 +#: builtin/log.c:1623 msgid "add prerequisite tree info to the patch series" msgstr "为补ä¸åˆ—è¡¨æ·»åŠ å‰ç½®æ ‘ä¿¡æ¯" -#: builtin/log.c:1602 +#: builtin/log.c:1625 msgid "add a signature from a file" msgstr "ä»Žæ–‡ä»¶æ·»åŠ ä¸€ä¸ªç¾å" -#: builtin/log.c:1603 +#: builtin/log.c:1626 msgid "don't print the patch filenames" msgstr "ä¸è¦æ‰“å°è¡¥ä¸æ–‡ä»¶å" -#: builtin/log.c:1605 +#: builtin/log.c:1628 msgid "show progress while generating patches" msgstr "在生æˆè¡¥ä¸æ—¶æ˜¾ç¤ºè¿›åº¦" -#: builtin/log.c:1606 -msgid "rev" -msgstr "版本" - -#: builtin/log.c:1607 +#: builtin/log.c:1630 msgid "show changes against <rev> in cover letter or single patch" msgstr "在附函或å•个补ä¸ä¸æ˜¾ç¤ºå’Œ <rev> 的差异" -#: builtin/log.c:1610 +#: builtin/log.c:1633 msgid "show changes against <refspec> in cover letter or single patch" msgstr "在附函或å•个补ä¸ä¸æ˜¾ç¤ºå’Œ <refspec> 的差异" -#: builtin/log.c:1612 +#: builtin/log.c:1635 msgid "percentage by which creation is weighted" msgstr "创建æƒé‡çš„百分比" -#: builtin/log.c:1687 +#: builtin/log.c:1710 #, c-format msgid "invalid ident line: %s" msgstr "åŒ…å«æ— æ•ˆçš„èº«ä»½æ ‡è¯†ï¼š%s" -#: builtin/log.c:1702 +#: builtin/log.c:1725 msgid "-n and -k are mutually exclusive" msgstr "-n å’Œ -k 互斥" -#: builtin/log.c:1704 +#: builtin/log.c:1727 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc å’Œ -k 互斥" -#: builtin/log.c:1712 +#: builtin/log.c:1735 msgid "--name-only does not make sense" msgstr "--name-only æ— æ„义" -#: builtin/log.c:1714 +#: builtin/log.c:1737 msgid "--name-status does not make sense" msgstr "--name-status æ— æ„义" -#: builtin/log.c:1716 +#: builtin/log.c:1739 msgid "--check does not make sense" msgstr "--check æ— æ„义" -#: builtin/log.c:1748 +#: builtin/log.c:1771 msgid "standard output, or directory, which one?" msgstr "æ ‡å‡†è¾“å‡ºæˆ–ç›®å½•ï¼Œå“ªä¸€ä¸ªï¼Ÿ" -#: builtin/log.c:1837 +#: builtin/log.c:1860 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff éœ€è¦ --cover-letter 或å•一补ä¸" -#: builtin/log.c:1841 +#: builtin/log.c:1864 msgid "Interdiff:" msgstr "版本间差异:" -#: builtin/log.c:1842 +#: builtin/log.c:1865 #, c-format msgid "Interdiff against v%d:" msgstr "对 v%d 的版本差异:" -#: builtin/log.c:1848 +#: builtin/log.c:1871 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor éœ€è¦ --range-diff" -#: builtin/log.c:1852 +#: builtin/log.c:1875 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff éœ€è¦ --cover-letter 或å•一补ä¸" -#: builtin/log.c:1860 +#: builtin/log.c:1883 msgid "Range-diff:" msgstr "范围差异:" -#: builtin/log.c:1861 +#: builtin/log.c:1884 #, c-format msgid "Range-diff against v%d:" msgstr "对 v%d 的范围差异:" -#: builtin/log.c:1872 +#: builtin/log.c:1895 #, c-format msgid "unable to read signature file '%s'" msgstr "æ— æ³•è¯»å–ç¾å文件 '%s'" -#: builtin/log.c:1908 +#: builtin/log.c:1931 msgid "Generating patches" msgstr "生æˆè¡¥ä¸" -#: builtin/log.c:1952 +#: builtin/log.c:1975 msgid "failed to create output files" msgstr "æ— æ³•åˆ›å»ºè¾“å‡ºæ–‡ä»¶" -#: builtin/log.c:2011 +#: builtin/log.c:2034 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<上游> [<头> [<é™åˆ¶>]]]" -#: builtin/log.c:2065 +#: builtin/log.c:2088 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -14261,7 +14671,7 @@ msgstr "" msgid "do not print remote URL" msgstr "䏿‰“å°è¿œç¨‹ URL" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 msgid "exec" msgstr "exec" @@ -14334,186 +14744,191 @@ msgstr "åˆ—å‡ºæ•´ä¸ªæ ‘ï¼›ä¸ä»…仅当å‰ç›®å½•(éšå« --full-name)" msgid "empty mbox: '%s'" msgstr "空的 mbox:'%s'" -#: builtin/merge.c:54 +#: builtin/merge.c:55 msgid "git merge [<options>] [<commit>...]" msgstr "git merge [<选项>] [<æäº¤>...]" -#: builtin/merge.c:55 +#: builtin/merge.c:56 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:56 +#: builtin/merge.c:57 msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:116 +#: builtin/merge.c:118 msgid "switch `m' requires a value" msgstr "开关 `m' 需è¦ä¸€ä¸ªå€¼" -#: builtin/merge.c:139 +#: builtin/merge.c:141 #, c-format msgid "option `%s' requires a value" msgstr "选项 `%s' 需è¦ä¸€ä¸ªå€¼" -#: builtin/merge.c:185 +#: builtin/merge.c:187 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "ä¸èƒ½æ‰¾åˆ°åˆå¹¶ç–ç•¥ '%s'。\n" -#: builtin/merge.c:186 +#: builtin/merge.c:188 #, c-format msgid "Available strategies are:" msgstr "å¯ç”¨çš„ç–略有:" -#: builtin/merge.c:191 +#: builtin/merge.c:193 #, c-format msgid "Available custom strategies are:" msgstr "å¯ç”¨çš„自定义ç–略有:" -#: builtin/merge.c:242 builtin/pull.c:150 +#: builtin/merge.c:244 builtin/pull.c:151 msgid "do not show a diffstat at the end of the merge" msgstr "在åˆå¹¶çš„æœ€åŽä¸æ˜¾ç¤ºå·®å¼‚统计" -#: builtin/merge.c:245 builtin/pull.c:153 +#: builtin/merge.c:247 builtin/pull.c:154 msgid "show a diffstat at the end of the merge" msgstr "在åˆå¹¶çš„æœ€åŽæ˜¾ç¤ºå·®å¼‚统计" -#: builtin/merge.c:246 builtin/pull.c:156 +#: builtin/merge.c:248 builtin/pull.c:157 msgid "(synonym to --stat)" msgstr "(和 --stat åŒä¹‰ï¼‰" -#: builtin/merge.c:248 builtin/pull.c:159 +#: builtin/merge.c:250 builtin/pull.c:160 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "在åˆå¹¶æäº¤ä¿¡æ¯ä¸æ·»åŠ ï¼ˆæœ€å¤š <n> æ¡ï¼‰ç²¾ç®€æäº¤è®°å½•" -#: builtin/merge.c:251 builtin/pull.c:165 +#: builtin/merge.c:253 builtin/pull.c:166 msgid "create a single commit instead of doing a merge" msgstr "创建一个å•独的æäº¤è€Œä¸æ˜¯åšä¸€æ¬¡åˆå¹¶" -#: builtin/merge.c:253 builtin/pull.c:168 +#: builtin/merge.c:255 builtin/pull.c:169 msgid "perform a commit if the merge succeeds (default)" msgstr "如果åˆå¹¶æˆåŠŸï¼Œæ‰§è¡Œä¸€æ¬¡æäº¤ï¼ˆé»˜è®¤ï¼‰" -#: builtin/merge.c:255 builtin/pull.c:171 +#: builtin/merge.c:257 builtin/pull.c:172 msgid "edit message before committing" msgstr "在æäº¤å‰ç¼–辑æäº¤è¯´æ˜Ž" -#: builtin/merge.c:257 +#: builtin/merge.c:259 msgid "allow fast-forward (default)" msgstr "å…许快进(默认)" -#: builtin/merge.c:259 builtin/pull.c:178 +#: builtin/merge.c:261 builtin/pull.c:179 msgid "abort if fast-forward is not possible" msgstr "如果ä¸èƒ½å¿«è¿›å°±æ”¾å¼ƒåˆå¹¶" -#: builtin/merge.c:263 builtin/pull.c:181 +#: builtin/merge.c:265 builtin/pull.c:182 msgid "verify that the named commit has a valid GPG signature" msgstr "éªŒè¯æŒ‡å®šçš„æäº¤æ˜¯å¦åŒ…å«ä¸€ä¸ªæœ‰æ•ˆçš„ GPG ç¾å" -#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185 -#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113 +#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 +#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 msgid "strategy" msgstr "ç–ç•¥" -#: builtin/merge.c:265 builtin/pull.c:186 +#: builtin/merge.c:267 builtin/pull.c:187 msgid "merge strategy to use" msgstr "è¦ä½¿ç”¨çš„åˆå¹¶ç–ç•¥" -#: builtin/merge.c:266 builtin/pull.c:189 +#: builtin/merge.c:268 builtin/pull.c:190 msgid "option=value" msgstr "option=value" -#: builtin/merge.c:267 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:191 msgid "option for selected merge strategy" msgstr "所选的åˆå¹¶ç–略的选项" -#: builtin/merge.c:269 +#: builtin/merge.c:271 msgid "merge commit message (for a non-fast-forward merge)" msgstr "åˆå¹¶çš„æäº¤è¯´æ˜Žï¼ˆé’ˆå¯¹éžå¿«è¿›å¼åˆå¹¶ï¼‰" -#: builtin/merge.c:276 +#: builtin/merge.c:278 msgid "abort the current in-progress merge" msgstr "æ”¾å¼ƒå½“å‰æ£åœ¨è¿›è¡Œçš„åˆå¹¶" -#: builtin/merge.c:278 +# +#: builtin/merge.c:280 +msgid "--abort but leave index and working tree alone" +msgstr "--abort,但是ä¿ç•™ç´¢å¼•和工作区" + +#: builtin/merge.c:282 msgid "continue the current in-progress merge" msgstr "ç»§ç»å½“剿£åœ¨è¿›è¡Œçš„åˆå¹¶" -#: builtin/merge.c:280 builtin/pull.c:197 +#: builtin/merge.c:284 builtin/pull.c:198 msgid "allow merging unrelated histories" msgstr "å…许åˆå¹¶ä¸ç›¸å…³çš„历å²" -#: builtin/merge.c:286 +#: builtin/merge.c:290 msgid "verify commit-msg hook" msgstr "æ ¡éªŒ commit-msg é’©å" -#: builtin/merge.c:311 +#: builtin/merge.c:307 msgid "could not run stash." msgstr "ä¸èƒ½è¿è¡Œè´®è—。" -#: builtin/merge.c:316 +#: builtin/merge.c:312 msgid "stash failed" msgstr "è´®è—失败" -#: builtin/merge.c:321 +#: builtin/merge.c:317 #, c-format msgid "not a valid object: %s" msgstr "䏿˜¯ä¸€ä¸ªæœ‰æ•ˆå¯¹è±¡ï¼š%s" -#: builtin/merge.c:343 builtin/merge.c:360 +#: builtin/merge.c:339 builtin/merge.c:356 msgid "read-tree failed" msgstr "è¯»å–æ ‘失败" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/merge.c:390 +#: builtin/merge.c:386 msgid " (nothing to squash)" msgstr " ï¼ˆæ— å¯åŽ‹ç¼©ï¼‰" -#: builtin/merge.c:401 +#: builtin/merge.c:397 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "压缩æäº¤ -- 未更新 HEAD\n" -#: builtin/merge.c:451 +#: builtin/merge.c:447 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "æ— åˆå¹¶ä¿¡æ¯ -- 未更新 HEAD\n" -#: builtin/merge.c:502 +#: builtin/merge.c:498 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' 没有指å‘一个æäº¤" -#: builtin/merge.c:589 +#: builtin/merge.c:585 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "åçš„ branch.%s.mergeoptions å—符串:%s" -#: builtin/merge.c:712 +#: builtin/merge.c:708 msgid "Not handling anything other than two heads merge." msgstr "未处ç†ä¸¤ä¸ªå¤´åˆå¹¶ä¹‹å¤–的任何æ“作。" -#: builtin/merge.c:726 +#: builtin/merge.c:722 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "merge-recursive 的未知选项:-X%s" -#: builtin/merge.c:741 +#: builtin/merge.c:737 #, c-format msgid "unable to write %s" msgstr "ä¸èƒ½å†™ %s" -#: builtin/merge.c:793 +#: builtin/merge.c:789 #, c-format msgid "Could not read from '%s'" msgstr "ä¸èƒ½ä»Ž '%s' 读å–" -#: builtin/merge.c:802 +#: builtin/merge.c:798 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "未æäº¤åˆå¹¶ï¼Œä½¿ç”¨ 'git commit' å®Œæˆæ¤æ¬¡åˆå¹¶ã€‚\n" -#: builtin/merge.c:808 +#: builtin/merge.c:804 msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" @@ -14523,79 +14938,83 @@ msgstr "" "åˆå¹¶åˆ°ä¸»é¢˜åˆ†æ”¯ã€‚\n" "\n" -#: builtin/merge.c:813 +#: builtin/merge.c:809 msgid "An empty message aborts the commit.\n" msgstr "空的æäº¤è¯´æ˜Žä¼šç»ˆæ¢æäº¤ã€‚\n" -#: builtin/merge.c:816 +#: builtin/merge.c:812 #, c-format msgid "" "Lines starting with '%c' will be ignored, and an empty message aborts\n" "the commit.\n" msgstr "以 '%c' 开始的行将被忽略,而空的æäº¤è¯´æ˜Žå°†ç»ˆæ¢æäº¤ã€‚\n" -#: builtin/merge.c:857 +#: builtin/merge.c:853 msgid "Empty commit message." msgstr "空æäº¤ä¿¡æ¯ã€‚" -#: builtin/merge.c:876 +#: builtin/merge.c:872 #, c-format msgid "Wonderful.\n" msgstr "太棒了。\n" -#: builtin/merge.c:936 +#: builtin/merge.c:933 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "自动åˆå¹¶å¤±è´¥ï¼Œä¿®æ£å†²çªç„¶åŽæäº¤ä¿®æ£çš„结果。\n" -#: builtin/merge.c:975 +#: builtin/merge.c:972 msgid "No current branch." msgstr "没有当å‰åˆ†æ”¯ã€‚" -#: builtin/merge.c:977 +#: builtin/merge.c:974 msgid "No remote for the current branch." msgstr "当å‰åˆ†æ”¯æ²¡æœ‰å¯¹åº”的远程仓库。" -#: builtin/merge.c:979 +#: builtin/merge.c:976 msgid "No default upstream defined for the current branch." msgstr "当å‰åˆ†æ”¯æ²¡æœ‰å®šä¹‰é»˜è®¤çš„上游分支。" -#: builtin/merge.c:984 +#: builtin/merge.c:981 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "对于 %s 没有æ¥è‡ª %s 的远程跟踪分支" -#: builtin/merge.c:1041 +#: builtin/merge.c:1038 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "环境 '%2$s' ä¸å˜åœ¨åçš„å–值 '%1$s'" -#: builtin/merge.c:1144 +#: builtin/merge.c:1141 #, c-format msgid "not something we can merge in %s: %s" msgstr "ä¸èƒ½åœ¨ %s ä¸åˆå¹¶ï¼š%s" -#: builtin/merge.c:1178 +#: builtin/merge.c:1175 msgid "not something we can merge" msgstr "ä¸èƒ½åˆå¹¶" -#: builtin/merge.c:1281 +#: builtin/merge.c:1278 msgid "--abort expects no arguments" msgstr "--abort ä¸å¸¦å‚æ•°" -#: builtin/merge.c:1285 +#: builtin/merge.c:1282 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "没有è¦ç»ˆæ¢çš„åˆå¹¶ï¼ˆMERGE_HEAD 丢失)。" -#: builtin/merge.c:1297 +#: builtin/merge.c:1291 +msgid "--quit expects no arguments" +msgstr "--quit ä¸å¸¦å‚æ•°" + +#: builtin/merge.c:1304 msgid "--continue expects no arguments" msgstr "--continue ä¸å¸¦å‚æ•°" -#: builtin/merge.c:1301 +#: builtin/merge.c:1308 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "没有进行ä¸çš„åˆå¹¶ï¼ˆMERGE_HEAD 丢失)。" -#: builtin/merge.c:1317 +#: builtin/merge.c:1324 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14603,7 +15022,7 @@ msgstr "" "æ‚¨å°šæœªç»“æŸæ‚¨çš„åˆå¹¶ï¼ˆå˜åœ¨ MERGE_HEAD)。\n" "请在åˆå¹¶å‰å…ˆæäº¤æ‚¨çš„修改。" -#: builtin/merge.c:1324 +#: builtin/merge.c:1331 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -14611,92 +15030,96 @@ msgstr "" "æ‚¨å°šæœªç»“æŸæ‚¨çš„æ‹£é€‰ï¼ˆå˜åœ¨ CHERRY_PICK_HEAD)。\n" "请在åˆå¹¶å‰å…ˆæäº¤æ‚¨çš„修改。" -#: builtin/merge.c:1327 +#: builtin/merge.c:1334 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "æ‚¨å°šæœªç»“æŸæ‚¨çš„æ‹£é€‰ï¼ˆå˜åœ¨ CHERRY_PICK_HEAD)。" -#: builtin/merge.c:1341 +#: builtin/merge.c:1348 msgid "You cannot combine --squash with --no-ff." -msgstr "您ä¸èƒ½å°† --squash 与 --no-ff åŒæ—¶ä½¿ç”¨ã€‚" +msgstr "您ä¸èƒ½å°† --squash å’Œ --no-ff 组åˆä½¿ç”¨ã€‚" + +#: builtin/merge.c:1350 +msgid "You cannot combine --squash with --commit." +msgstr "您ä¸èƒ½å°† --squash å’Œ --commit 组åˆä½¿ç”¨ã€‚" -#: builtin/merge.c:1349 +#: builtin/merge.c:1366 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "未指定æäº¤å¹¶ä¸” merge.defaultToUpstream 未设置。" -#: builtin/merge.c:1366 +#: builtin/merge.c:1383 msgid "Squash commit into empty head not supported yet" msgstr "å°šä¸æ”¯æŒåˆ°ç©ºåˆ†æ”¯çš„压缩æäº¤" -#: builtin/merge.c:1368 +#: builtin/merge.c:1385 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "到空分支的éžå¿«è¿›å¼æäº¤æ²¡æœ‰æ„义" -#: builtin/merge.c:1373 +#: builtin/merge.c:1390 #, c-format msgid "%s - not something we can merge" msgstr "%s - ä¸èƒ½è¢«åˆå¹¶" -#: builtin/merge.c:1375 +#: builtin/merge.c:1392 msgid "Can merge only exactly one commit into empty head" msgstr "åªèƒ½å°†ä¸€ä¸ªæäº¤åˆå¹¶åˆ°ç©ºåˆ†æ”¯ä¸Š" -#: builtin/merge.c:1454 +#: builtin/merge.c:1471 msgid "refusing to merge unrelated histories" msgstr "æ‹’ç»åˆå¹¶æ— 关的历å²" -#: builtin/merge.c:1463 +#: builtin/merge.c:1480 msgid "Already up to date." msgstr "å·²ç»æ˜¯æœ€æ–°çš„。" -#: builtin/merge.c:1473 +#: builtin/merge.c:1490 #, c-format msgid "Updating %s..%s\n" msgstr "æ›´æ–° %s..%s\n" -#: builtin/merge.c:1515 +#: builtin/merge.c:1532 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "å°è¯•éžå¸¸å°çš„索引内åˆå¹¶...\n" -#: builtin/merge.c:1522 +#: builtin/merge.c:1539 #, c-format msgid "Nope.\n" msgstr "æ— ã€‚\n" -#: builtin/merge.c:1547 +#: builtin/merge.c:1564 msgid "Already up to date. Yeeah!" msgstr "å·²ç»æ˜¯æœ€æ–°çš„。耶ï¼" -#: builtin/merge.c:1553 +#: builtin/merge.c:1570 msgid "Not possible to fast-forward, aborting." msgstr "æ— æ³•å¿«è¿›ï¼Œç»ˆæ¢ã€‚" -#: builtin/merge.c:1576 builtin/merge.c:1655 +#: builtin/merge.c:1593 builtin/merge.c:1658 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "å°†æ ‘å›žæ»šè‡³åŽŸå§‹çŠ¶æ€...\n" -#: builtin/merge.c:1580 +#: builtin/merge.c:1597 #, c-format msgid "Trying merge strategy %s...\n" msgstr "å°è¯•åˆå¹¶ç–ç•¥ %s...\n" -#: builtin/merge.c:1646 +#: builtin/merge.c:1649 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "没有åˆå¹¶ç–ç•¥å¤„ç†æ¤åˆå¹¶ã€‚\n" -#: builtin/merge.c:1648 +#: builtin/merge.c:1651 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "使用ç–ç•¥ %s åˆå¹¶å¤±è´¥ã€‚\n" -#: builtin/merge.c:1657 +#: builtin/merge.c:1660 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "使用 %s 以准备手工解决。\n" -#: builtin/merge.c:1669 +#: builtin/merge.c:1672 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "自动åˆå¹¶è¿›å±•é¡ºåˆ©ï¼ŒæŒ‰è¦æ±‚在æäº¤å‰åœæ¢\n" @@ -14829,21 +15252,35 @@ msgid "allow creation of more than one tree" msgstr "å…è®¸åˆ›å»ºä¸€ä¸ªä»¥ä¸Šçš„æ ‘" #: builtin/multi-pack-index.c:9 -msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)" -msgstr "git multi-pack-index [--object-dir=<目录>] (write|verify)" +msgid "" +"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --" +"batch-size=<size>)" +msgstr "" +"git multi-pack-index [--object-dir=<目录>] (write|verify|expire|repack --" +"batch-size=<大å°>)" -#: builtin/multi-pack-index.c:22 +#: builtin/multi-pack-index.c:23 msgid "object directory containing set of packfile and pack-index pairs" msgstr "åŒ…å«æˆå¯¹åŒ…文件和包索引的对象目录" -#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:25 +msgid "" +"during repack, collect pack-files of smaller size into a batch that is " +"larger than this size" +msgstr "在 repack 期间,将较å°å°ºå¯¸çš„包文件收集到大于æ¤å¤§å°çš„æ‰¹æ¬¡ä¸" + +#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "å¤ªå¤šå‚æ•°" -#: builtin/multi-pack-index.c:51 +#: builtin/multi-pack-index.c:52 +msgid "--batch-size option is only for 'repack' subcommand" +msgstr "--batch-size 选项仅用于 'repack' å命令" + +#: builtin/multi-pack-index.c:61 #, c-format -msgid "unrecognized verb: %s" -msgstr "未能识别的动作:%s" +msgid "unrecognized subcommand: %s" +msgstr "未识别的å命令:%s" #: builtin/mv.c:18 msgid "git mv [<options>] <source>... <destination>" @@ -14932,52 +15369,52 @@ msgstr "%s,æº=%sï¼Œç›®æ ‡=%s" msgid "Renaming %s to %s\n" msgstr "é‡å‘½å %s 至 %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516 +#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 #, c-format msgid "renaming '%s' failed" msgstr "é‡å‘½å '%s' 失败" -#: builtin/name-rev.c:355 +#: builtin/name-rev.c:352 msgid "git name-rev [<options>] <commit>..." msgstr "git name-rev [<选项>] <æäº¤>..." -#: builtin/name-rev.c:356 +#: builtin/name-rev.c:353 msgid "git name-rev [<options>] --all" msgstr "git name-rev [<选项>] --all" -#: builtin/name-rev.c:357 +#: builtin/name-rev.c:354 msgid "git name-rev [<options>] --stdin" msgstr "git name-rev [<选项>] --stdin" -#: builtin/name-rev.c:415 +#: builtin/name-rev.c:411 msgid "print only names (no SHA-1)" msgstr "åªæ‰“å°åç§°ï¼ˆæ— SHA-1)" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:412 msgid "only use tags to name the commits" msgstr "åªä½¿ç”¨æ ‡ç¾æ¥å‘½åæäº¤" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:414 msgid "only use refs matching <pattern>" msgstr "åªä½¿ç”¨å’Œ <模å¼> 相匹é…的引用" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:416 msgid "ignore refs matching <pattern>" msgstr "忽略和 <模å¼> 相匹é…的引用" -#: builtin/name-rev.c:422 +#: builtin/name-rev.c:418 msgid "list all commits reachable from all refs" msgstr "列出å¯ä»¥ä»Žæ‰€æœ‰å¼•用访问的æäº¤" -#: builtin/name-rev.c:423 +#: builtin/name-rev.c:419 msgid "read from stdin" msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å–" -#: builtin/name-rev.c:424 +#: builtin/name-rev.c:420 msgid "allow to print `undefined` names (default)" msgstr "å…è®¸æ‰“å° `未定义` çš„å称(默认)" -#: builtin/name-rev.c:430 +#: builtin/name-rev.c:426 msgid "dereference tags in the input (internal use)" msgstr "åå‘è§£æžè¾“å…¥ä¸çš„æ ‡ç¾ï¼ˆå†…部使用)" @@ -15121,7 +15558,7 @@ msgstr "ä¸èƒ½å†™æ³¨è§£å¯¹è±¡" msgid "the note contents have been left in %s" msgstr "注解内容被留在 %s ä¸" -#: builtin/notes.c:242 builtin/tag.c:522 +#: builtin/notes.c:242 builtin/tag.c:532 #, c-format msgid "could not open or read '%s'" msgstr "ä¸èƒ½æ‰“å¼€æˆ–è¯»å– '%s'" @@ -15346,7 +15783,7 @@ msgstr "" "自动åˆå¹¶è¯´æ˜Žå¤±è´¥ã€‚修改 %s ä¸çš„冲çªå¹¶ä¸”使用命令 'git notes merge --commit' æ" "交结果,或者使用命令 'git notes merge --abort' 终æ¢åˆå¹¶ã€‚\n" -#: builtin/notes.c:897 builtin/tag.c:535 +#: builtin/notes.c:897 builtin/tag.c:545 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "æ— æ³•è§£æž '%s' 为一个有效引用。" @@ -15380,7 +15817,7 @@ msgstr "注解引用" msgid "use notes from <notes-ref>" msgstr "从 <注解引用> 使用注解" -#: builtin/notes.c:1034 builtin/stash.c:1611 +#: builtin/notes.c:1034 builtin/stash.c:1598 #, c-format msgid "unknown subcommand: %s" msgstr "未知å命令:%s" @@ -15395,124 +15832,124 @@ msgid "" "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" msgstr "git pack-objects [<选项>...] <å‰ç¼€åç§°> [< <引用列表> | < <对象列表>]" -#: builtin/pack-objects.c:424 +#: builtin/pack-objects.c:428 #, c-format msgid "bad packed object CRC for %s" msgstr "%s 错的包对象 CRC" -#: builtin/pack-objects.c:435 +#: builtin/pack-objects.c:439 #, c-format msgid "corrupt packed object for %s" msgstr "%s æŸå的包对象" -#: builtin/pack-objects.c:566 +#: builtin/pack-objects.c:570 #, c-format msgid "recursive delta detected for object %s" msgstr "å‘现对象 %s 递归 delta" -#: builtin/pack-objects.c:777 +#: builtin/pack-objects.c:781 #, c-format msgid "ordered %u objects, expected %<PRIu32>" msgstr "排åºäº† %u 个对象,预期 %<PRIu32> 个" -#: builtin/pack-objects.c:790 +#: builtin/pack-objects.c:794 #, c-format msgid "packfile is invalid: %s" msgstr "æ— æ•ˆçš„åŒ…æ–‡ä»¶ï¼š%s" -#: builtin/pack-objects.c:794 +#: builtin/pack-objects.c:798 #, c-format msgid "unable to open packfile for reuse: %s" msgstr "æ— æ³•ä¸ºé‡ç”¨æ‰“开包文件:%s" -#: builtin/pack-objects.c:798 +#: builtin/pack-objects.c:802 msgid "unable to seek in reused packfile" msgstr "æ— æ³•åœ¨é‡ç”¨çš„åŒ…æ–‡ä»¶ä¸æŸ¥æ‰¾" -#: builtin/pack-objects.c:809 +#: builtin/pack-objects.c:813 msgid "unable to read from reused packfile" msgstr "æ— æ³•è¯»å–索引文件" -#: builtin/pack-objects.c:837 +#: builtin/pack-objects.c:841 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "ç¦ç”¨ bitmap å†™å…¥ï¼Œå› ä¸º pack.packSizeLimit 设置使得包被切分为多个" -#: builtin/pack-objects.c:850 +#: builtin/pack-objects.c:854 msgid "Writing objects" msgstr "写入对象ä¸" -#: builtin/pack-objects.c:912 builtin/update-index.c:89 +#: builtin/pack-objects.c:917 builtin/update-index.c:89 #, c-format msgid "failed to stat %s" msgstr "对 %s 调用 stat 失败" -#: builtin/pack-objects.c:965 +#: builtin/pack-objects.c:970 #, c-format msgid "wrote %<PRIu32> objects while expecting %<PRIu32>" msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个" -#: builtin/pack-objects.c:1161 +#: builtin/pack-objects.c:1166 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "ç¦ç”¨ bitmap å†™å…¥ï¼Œå› ä¸ºä¸€äº›å¯¹è±¡å°†ä¸ä¼šè¢«æ‰“包" -#: builtin/pack-objects.c:1589 +#: builtin/pack-objects.c:1597 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "%s åŽ‹ç¼©ä¸ delta 基准å移越界" -#: builtin/pack-objects.c:1598 +#: builtin/pack-objects.c:1606 #, c-format msgid "delta base offset out of bound for %s" msgstr "%s çš„ delta 基准å移越界" -#: builtin/pack-objects.c:1867 +#: builtin/pack-objects.c:1875 msgid "Counting objects" msgstr "对象计数ä¸" -#: builtin/pack-objects.c:1997 +#: builtin/pack-objects.c:2005 #, c-format msgid "unable to get size of %s" msgstr "ä¸èƒ½å¾—到 %s 的大å°" -#: builtin/pack-objects.c:2012 +#: builtin/pack-objects.c:2020 #, c-format msgid "unable to parse object header of %s" msgstr "æ— æ³•è§£æžå¯¹è±¡ %s 头信æ¯" -#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098 -#: builtin/pack-objects.c:2108 +#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 +#: builtin/pack-objects.c:2116 #, c-format msgid "object %s cannot be read" msgstr "对象 %s æ— æ³•è¯»å–" -#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112 +#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 #, c-format msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)" msgstr "对象 %s ä¸ä¸€è‡´çš„对象长度(%<PRIuMAX> vs %<PRIuMAX>)" -#: builtin/pack-objects.c:2122 +#: builtin/pack-objects.c:2130 msgid "suboptimal pack - out of memory" msgstr "次优(suboptimal)打包 - 内å˜ä¸è¶³" -#: builtin/pack-objects.c:2448 +#: builtin/pack-objects.c:2456 #, c-format msgid "Delta compression using up to %d threads" msgstr "使用 %d 个线程进行压缩" -#: builtin/pack-objects.c:2580 +#: builtin/pack-objects.c:2588 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "æ— æ³•ä¸ºæ ‡ç¾ %s 压缩对象" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2675 msgid "Compressing objects" msgstr "压缩对象ä¸" -#: builtin/pack-objects.c:2673 +#: builtin/pack-objects.c:2681 msgid "inconsistency with delta count" msgstr "ä¸ä¸€è‡´çš„差异计数" -#: builtin/pack-objects.c:2754 +#: builtin/pack-objects.c:2762 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15521,7 +15958,7 @@ msgstr "" "预期边界对象(edge object)ID,å´å¾—到垃圾数æ®ï¼š\n" " %s" -#: builtin/pack-objects.c:2760 +#: builtin/pack-objects.c:2768 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15530,238 +15967,242 @@ msgstr "" "预期对象 ID,å´å¾—到垃圾数æ®ï¼š\n" " %s" -#: builtin/pack-objects.c:2858 +#: builtin/pack-objects.c:2866 msgid "invalid value for --missing" msgstr "选项 --missing çš„å€¼æ— æ•ˆ" -#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025 +#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 msgid "cannot open pack index" msgstr "æ— æ³•æ‰“å¼€åŒ…æ–‡ä»¶ç´¢å¼•" -#: builtin/pack-objects.c:2948 +#: builtin/pack-objects.c:2956 #, c-format msgid "loose object at %s could not be examined" msgstr "æ— æ³•æ£€æŸ¥ %s å¤„çš„æ¾æ•£å¯¹è±¡" -#: builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3041 msgid "unable to force loose object" msgstr "æ— æ³•å¼ºåˆ¶æ¾æ•£å¯¹è±¡" -#: builtin/pack-objects.c:3125 +#: builtin/pack-objects.c:3133 #, c-format msgid "not a rev '%s'" msgstr "䏿˜¯ä¸€ä¸ªç‰ˆæœ¬ '%s'" -#: builtin/pack-objects.c:3128 +#: builtin/pack-objects.c:3136 #, c-format msgid "bad revision '%s'" msgstr "å的版本 '%s'" -#: builtin/pack-objects.c:3153 +#: builtin/pack-objects.c:3161 msgid "unable to add recent objects" msgstr "æ— æ³•æ·»åŠ æœ€è¿‘çš„å¯¹è±¡" -#: builtin/pack-objects.c:3206 +#: builtin/pack-objects.c:3214 #, c-format msgid "unsupported index version %s" msgstr "䏿”¯æŒçš„索引版本 %s" -#: builtin/pack-objects.c:3210 +#: builtin/pack-objects.c:3218 #, c-format msgid "bad index version '%s'" msgstr "å的索引版本 '%s'" -#: builtin/pack-objects.c:3240 +#: builtin/pack-objects.c:3248 msgid "do not show progress meter" msgstr "䏿˜¾ç¤ºè¿›åº¦è¡¨" -#: builtin/pack-objects.c:3242 +#: builtin/pack-objects.c:3250 msgid "show progress meter" msgstr "显示进度表" -#: builtin/pack-objects.c:3244 +#: builtin/pack-objects.c:3252 msgid "show progress meter during object writing phase" msgstr "在对象写入阶段显示进度表" -#: builtin/pack-objects.c:3247 +#: builtin/pack-objects.c:3255 msgid "similar to --all-progress when progress meter is shown" msgstr "当进度表显示时类似于 --all-progress" -#: builtin/pack-objects.c:3248 +#: builtin/pack-objects.c:3256 msgid "<version>[,<offset>]" msgstr "<版本>[,<åç§»>]" -#: builtin/pack-objects.c:3249 +#: builtin/pack-objects.c:3257 msgid "write the pack index file in the specified idx format version" msgstr "用指定的 idx æ ¼å¼ç‰ˆæœ¬æ¥å†™åŒ…索引文件" -#: builtin/pack-objects.c:3252 +#: builtin/pack-objects.c:3260 msgid "maximum size of each output pack file" msgstr "æ¯ä¸ªè¾“出包的最大尺寸" -#: builtin/pack-objects.c:3254 +#: builtin/pack-objects.c:3262 msgid "ignore borrowed objects from alternate object store" msgstr "忽略从备用对象å˜å‚¨é‡Œå€Ÿç”¨å¯¹è±¡" -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3264 msgid "ignore packed objects" msgstr "忽略包对象" -#: builtin/pack-objects.c:3258 +#: builtin/pack-objects.c:3266 msgid "limit pack window by objects" msgstr "é™åˆ¶æ‰“包窗å£çš„对象数" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3268 msgid "limit pack window by memory in addition to object limit" msgstr "除对象数é‡é™åˆ¶å¤–设置打包窗å£çš„内å˜é™åˆ¶" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3270 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "打包å…许的 delta 链的最大长度" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3272 msgid "reuse existing deltas" msgstr "é‡ç”¨å·²å˜åœ¨çš„ deltas" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3274 msgid "reuse existing objects" msgstr "é‡ç”¨å·²å˜åœ¨çš„对象" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3276 msgid "use OFS_DELTA objects" msgstr "使用 OFS_DELTA 对象" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3278 msgid "use threads when searching for best delta matches" msgstr "使用线程查询最佳 delta 匹é…" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3280 msgid "do not create an empty pack output" msgstr "ä¸åˆ›å»ºç©ºçš„包输出" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3282 msgid "read revision arguments from standard input" msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å–版本å·å‚æ•°" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3284 msgid "limit the objects to those that are not yet packed" msgstr "é™åˆ¶é‚£äº›å°šæœªæ‰“包的对象" -#: builtin/pack-objects.c:3279 +#: builtin/pack-objects.c:3287 msgid "include objects reachable from any reference" msgstr "包括å¯ä»¥ä»Žä»»ä½•引用访问到的对象" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3290 msgid "include objects referred by reflog entries" msgstr "包括被引用日志引用到的对象" -#: builtin/pack-objects.c:3285 +#: builtin/pack-objects.c:3293 msgid "include objects referred to by the index" msgstr "包括被索引引用到的对象" -#: builtin/pack-objects.c:3288 +#: builtin/pack-objects.c:3296 msgid "output pack to stdout" msgstr "è¾“å‡ºåŒ…åˆ°æ ‡å‡†è¾“å‡º" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3298 msgid "include tag objects that refer to objects to be packed" msgstr "åŒ…æ‹¬é‚£äº›å¼•ç”¨äº†å¾…æ‰“åŒ…å¯¹è±¡çš„æ ‡ç¾å¯¹è±¡" -#: builtin/pack-objects.c:3292 +#: builtin/pack-objects.c:3300 msgid "keep unreachable objects" msgstr "ç»´æŒä¸å¯è¾¾çš„对象" -#: builtin/pack-objects.c:3294 +#: builtin/pack-objects.c:3302 msgid "pack loose unreachable objects" msgstr "æ‰“åŒ…æ¾æ•£çš„ä¸å¯è¾¾å¯¹è±¡" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3304 msgid "unpack unreachable objects newer than <time>" msgstr "将比给定 <æ—¶é—´> æ–°çš„æ— æ³•è®¿é—®çš„å¯¹è±¡è§£åŒ…" -#: builtin/pack-objects.c:3299 +#: builtin/pack-objects.c:3307 msgid "use the sparse reachability algorithm" msgstr "使用稀ç–å¯è¾¾æ€§ç®—法" -#: builtin/pack-objects.c:3301 +#: builtin/pack-objects.c:3309 msgid "create thin packs" msgstr "创建精简包" -#: builtin/pack-objects.c:3303 +#: builtin/pack-objects.c:3311 msgid "create packs suitable for shallow fetches" msgstr "åˆ›å»ºé€‚åˆæµ…克隆仓库获å–的包" -#: builtin/pack-objects.c:3305 +#: builtin/pack-objects.c:3313 msgid "ignore packs that have companion .keep file" msgstr "å¿½ç•¥é…æœ‰ .keep 文件的包" -#: builtin/pack-objects.c:3307 +#: builtin/pack-objects.c:3315 msgid "ignore this pack" msgstr "忽略该 pack" -#: builtin/pack-objects.c:3309 +#: builtin/pack-objects.c:3317 msgid "pack compression level" msgstr "打包压缩级别" -#: builtin/pack-objects.c:3311 +#: builtin/pack-objects.c:3319 msgid "do not hide commits by grafts" msgstr "显示被移æ¤éšè—çš„æäº¤" -#: builtin/pack-objects.c:3313 +#: builtin/pack-objects.c:3321 msgid "use a bitmap index if available to speed up counting objects" msgstr "使用 bitmap 索引(如果有的è¯ï¼‰ä»¥æé«˜å¯¹è±¡è®¡æ•°æ—¶çš„速度" -#: builtin/pack-objects.c:3315 +#: builtin/pack-objects.c:3323 msgid "write a bitmap index together with the pack index" msgstr "åœ¨å»ºç«‹åŒ…ç´¢å¼•çš„åŒæ—¶åˆ›å»º bitmap 索引" -#: builtin/pack-objects.c:3318 +#: builtin/pack-objects.c:3327 +msgid "write a bitmap index if possible" +msgstr "如果å¯èƒ½ï¼Œå†™ bitmap 索引" + +#: builtin/pack-objects.c:3331 msgid "handling for missing objects" msgstr "处ç†ä¸¢å¤±çš„对象" -#: builtin/pack-objects.c:3321 +#: builtin/pack-objects.c:3334 msgid "do not pack objects in promisor packfiles" msgstr "ä¸è¦æ‰“包 promisor 包文件ä¸çš„对象" -#: builtin/pack-objects.c:3323 +#: builtin/pack-objects.c:3336 msgid "respect islands during delta compression" msgstr "在增é‡åŽ‹ç¼©æ—¶å‚考数æ®å²›" -#: builtin/pack-objects.c:3348 +#: builtin/pack-objects.c:3361 #, c-format msgid "delta chain depth %d is too deep, forcing %d" msgstr "增é‡é“¾æ·±åº¦ %d 太深了,强制为 %d" -#: builtin/pack-objects.c:3353 +#: builtin/pack-objects.c:3366 #, c-format msgid "pack.deltaCacheLimit is too high, forcing %d" msgstr "é…ç½® pack.deltaCacheLimit 太高了,强制为 %d" -#: builtin/pack-objects.c:3407 +#: builtin/pack-objects.c:3420 msgid "--max-pack-size cannot be used to build a pack for transfer" msgstr "ä¸èƒ½ä½¿ç”¨ --max-pack-size æ¥æž„å»ºä¼ è¾“ç”¨çš„åŒ…æ–‡ä»¶" -#: builtin/pack-objects.c:3409 +#: builtin/pack-objects.c:3422 msgid "minimum pack size limit is 1 MiB" msgstr "最å°çš„åŒ…æ–‡ä»¶å¤§å°æ˜¯ 1 MiB" -#: builtin/pack-objects.c:3414 +#: builtin/pack-objects.c:3427 msgid "--thin cannot be used to build an indexable pack" msgstr "--thin ä¸èƒ½ç”¨äºŽåˆ›å»ºä¸€ä¸ªå¯ç´¢å¼•包" -#: builtin/pack-objects.c:3417 +#: builtin/pack-objects.c:3430 msgid "--keep-unreachable and --unpack-unreachable are incompatible" msgstr "--keep-unreachable å’Œ --unpack-unreachable ä¸å…¼å®¹" -#: builtin/pack-objects.c:3423 +#: builtin/pack-objects.c:3436 msgid "cannot use --filter without --stdout" msgstr "ä¸èƒ½åœ¨æ²¡æœ‰ --stdout 的情况下使用 --filter" -#: builtin/pack-objects.c:3484 +#: builtin/pack-objects.c:3497 msgid "Enumerating objects" msgstr "枚举对象" -#: builtin/pack-objects.c:3514 +#: builtin/pack-objects.c:3527 #, c-format msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)" msgstr "总共 %<PRIu32> (差异 %<PRIu32>),å¤ç”¨ %<PRIu32> (差异 %<PRIu32>)" @@ -15815,61 +16256,61 @@ msgstr "%s çš„å€¼æ— æ•ˆï¼š%s" msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<选项>] [<仓库> [<å¼•ç”¨è§„æ ¼>...]]" -#: builtin/pull.c:140 +#: builtin/pull.c:141 msgid "control for recursive fetching of submodules" msgstr "æŽ§åˆ¶åæ¨¡ç»„的递归获å–" -#: builtin/pull.c:144 +#: builtin/pull.c:145 msgid "Options related to merging" msgstr "å’Œåˆå¹¶ç›¸å…³çš„选项" -#: builtin/pull.c:147 +#: builtin/pull.c:148 msgid "incorporate changes by rebasing rather than merging" msgstr "使用å˜åŸºæ“作å–代åˆå¹¶æ“作以åˆå…¥ä¿®æ”¹" -#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125 +#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126 msgid "allow fast-forward" msgstr "å…许快进å¼" -#: builtin/pull.c:184 +#: builtin/pull.c:185 msgid "automatically stash/stash pop before and after rebase" msgstr "å˜åŸºæ“作å‰åŽæ‰§è¡Œè‡ªåŠ¨è´®è—和弹出贮è—" -#: builtin/pull.c:200 +#: builtin/pull.c:201 msgid "Options related to fetching" msgstr "和获å–ç›¸å…³çš„å‚æ•°" -#: builtin/pull.c:210 +#: builtin/pull.c:211 msgid "force overwrite of local branch" msgstr "强制覆盖本地分支" -#: builtin/pull.c:218 +#: builtin/pull.c:219 msgid "number of submodules pulled in parallel" msgstr "并呿‹‰å–çš„åæ¨¡ç»„的数é‡" -#: builtin/pull.c:313 +#: builtin/pull.c:316 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "pull.ff çš„å–å€¼æ— æ•ˆï¼š%s" -#: builtin/pull.c:430 +#: builtin/pull.c:433 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "在您刚刚获å–åˆ°çš„å¼•ç”¨ä¸æ²¡æœ‰å˜åŸºæ“作的候选。" -#: builtin/pull.c:432 +#: builtin/pull.c:435 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "在您刚刚获å–åˆ°çš„å¼•ç”¨ä¸æ²¡æœ‰åˆå¹¶æ“作的候选。" -#: builtin/pull.c:433 +#: builtin/pull.c:436 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." msgstr "通常这æ„å‘³ç€æ‚¨æä¾›äº†ä¸€ä¸ªé€šé…ç¬¦å¼•ç”¨è§„æ ¼ä½†æœªèƒ½å’Œè¿œç«¯åŒ¹é…。" -#: builtin/pull.c:436 +#: builtin/pull.c:439 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -15879,42 +16320,42 @@ msgstr "" "æ‚¨è¦æ±‚从远程 '%s' 拉å–ï¼Œä½†æ˜¯æœªæŒ‡å®šä¸€ä¸ªåˆ†æ”¯ã€‚å› ä¸ºè¿™ä¸æ˜¯å½“å‰\n" "åˆ†æ”¯é»˜è®¤çš„è¿œç¨‹ä»“åº“ï¼Œæ‚¨å¿…é¡»åœ¨å‘½ä»¤è¡Œä¸æŒ‡å®šä¸€ä¸ªåˆ†æ”¯å。" -#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73 +#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73 msgid "You are not currently on a branch." msgstr "您当å‰ä¸åœ¨ä¸€ä¸ªåˆ†æ”¯ä¸Šã€‚" -#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79 +#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79 msgid "Please specify which branch you want to rebase against." msgstr "请指定您è¦å˜åŸºåˆ°å“ªä¸€ä¸ªåˆ†æ”¯ã€‚" -#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82 +#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82 msgid "Please specify which branch you want to merge with." msgstr "请指定您è¦åˆå¹¶å“ªä¸€ä¸ªåˆ†æ”¯ã€‚" -#: builtin/pull.c:446 builtin/pull.c:461 +#: builtin/pull.c:449 builtin/pull.c:464 msgid "See git-pull(1) for details." msgstr "è¯¦è§ git-pull(1)。" -#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463 -#: builtin/rebase.c:1327 git-parse-remote.sh:64 +#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466 +#: builtin/rebase.c:1332 git-parse-remote.sh:64 msgid "<remote>" msgstr "<远程>" -#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468 +#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471 #: git-parse-remote.sh:65 msgid "<branch>" msgstr "<分支>" -#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75 +#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75 msgid "There is no tracking information for the current branch." msgstr "当å‰åˆ†æ”¯æ²¡æœ‰è·Ÿè¸ªä¿¡æ¯ã€‚" -#: builtin/pull.c:465 git-parse-remote.sh:95 +#: builtin/pull.c:468 git-parse-remote.sh:95 msgid "" "If you wish to set tracking information for this branch you can do so with:" msgstr "如果您想è¦ä¸ºæ¤åˆ†æ”¯åˆ›å»ºè·Ÿè¸ªä¿¡æ¯ï¼Œæ‚¨å¯ä»¥æ‰§è¡Œï¼š" -#: builtin/pull.c:470 +#: builtin/pull.c:473 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -15923,32 +16364,32 @@ msgstr "" "您的é…ç½®ä¸æŒ‡å®šè¦åˆå¹¶è¿œç¨‹çš„引用 '%s',\n" "但是没有获å–到这个引用。" -#: builtin/pull.c:574 +#: builtin/pull.c:581 #, c-format msgid "unable to access commit %s" msgstr "æ— æ³•è®¿é—®æäº¤ %s" -#: builtin/pull.c:854 +#: builtin/pull.c:861 msgid "ignoring --verify-signatures for rebase" msgstr "为å˜åŸºæ“作忽略 --verify-signatures" -#: builtin/pull.c:909 +#: builtin/pull.c:916 msgid "--[no-]autostash option is only valid with --rebase." msgstr "--[no-]autostash 选项åªåœ¨ä½¿ç”¨ --rebase 时有效。" -#: builtin/pull.c:917 +#: builtin/pull.c:924 msgid "Updating an unborn branch with changes added to the index." msgstr "æ›´æ–°å°šæœªè¯žç”Ÿçš„åˆ†æ”¯ï¼Œå˜æ›´æ·»åŠ è‡³ç´¢å¼•ã€‚" -#: builtin/pull.c:921 +#: builtin/pull.c:928 msgid "pull with rebase" msgstr "å˜åŸºå¼æ‹‰å–" -#: builtin/pull.c:922 +#: builtin/pull.c:929 msgid "please commit or stash them." msgstr "请æäº¤æˆ–è´®è—它们。" -#: builtin/pull.c:947 +#: builtin/pull.c:954 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -15958,7 +16399,7 @@ msgstr "" "fetch 更新了当å‰çš„分支。快进您的工作区\n" "至æäº¤ %s。" -#: builtin/pull.c:953 +#: builtin/pull.c:960 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -15975,15 +16416,15 @@ msgstr "" "$ git reset --hard\n" "æ¢å¤ä¹‹å‰çš„状æ€ã€‚" -#: builtin/pull.c:968 +#: builtin/pull.c:975 msgid "Cannot merge multiple branches into empty head." msgstr "æ— æ³•å°†å¤šä¸ªåˆ†æ”¯åˆå¹¶åˆ°ç©ºåˆ†æ”¯ã€‚" -#: builtin/pull.c:972 +#: builtin/pull.c:979 msgid "Cannot rebase onto multiple branches." msgstr "æ— æ³•å˜åŸºåˆ°å¤šä¸ªåˆ†æ”¯ã€‚" -#: builtin/pull.c:979 +#: builtin/pull.c:986 msgid "cannot rebase with locally recorded submodule modifications" msgstr "æœ¬åœ°åæ¨¡ç»„䏿œ‰ä¿®æ”¹ï¼Œæ— 法å˜åŸº" @@ -16430,7 +16871,7 @@ msgstr "git rebase--interactive [<选项>]" msgid "keep empty commits" msgstr "ä¿æŒç©ºæäº¤" -#: builtin/rebase.c:451 builtin/revert.c:127 +#: builtin/rebase.c:451 builtin/revert.c:128 msgid "allow commits with empty messages" msgstr "å…许æäº¤è¯´æ˜Žä¸ºç©º" @@ -16450,7 +16891,7 @@ msgstr "移动以 squash!/fixup! 开头的æäº¤" msgid "sign commits" msgstr "ç¾åæäº¤" -#: builtin/rebase.c:459 builtin/rebase.c:1397 +#: builtin/rebase.c:459 builtin/rebase.c:1403 msgid "display a diffstat of what changed upstream" msgstr "显示上游å˜åŒ–的差异统计" @@ -16558,7 +16999,7 @@ msgstr "cmd" msgid "the command to run" msgstr "è¦æ‰§è¡Œçš„命令" -#: builtin/rebase.c:502 builtin/rebase.c:1480 +#: builtin/rebase.c:502 builtin/rebase.c:1486 msgid "automatically re-schedule any `exec` that fails" msgstr "è‡ªåŠ¨é‡æ–°å®‰æŽ’任何失败的 `exec`" @@ -16566,7 +17007,7 @@ msgstr "è‡ªåŠ¨é‡æ–°å®‰æŽ’任何失败的 `exec`" msgid "--[no-]rebase-cousins has no effect without --rebase-merges" msgstr "ä¸ä½¿ç”¨ --rebase-merges,则 --[no-]rebase-cousins 没有效果" -#: builtin/rebase.c:534 builtin/rebase.c:1787 +#: builtin/rebase.c:534 #, c-format msgid "%s requires an interactive rebase" msgstr "%s 需è¦äº¤äº’å¼å˜åŸº" @@ -16596,11 +17037,11 @@ msgstr "ä¸èƒ½è¯»å– '%s'" msgid "Cannot store %s" msgstr "ä¸èƒ½å˜å‚¨ %s" -#: builtin/rebase.c:817 +#: builtin/rebase.c:827 msgid "could not determine HEAD revision" msgstr "ä¸èƒ½ç¡®å®š HEAD 版本" -#: builtin/rebase.c:940 +#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81 msgid "" "Resolve all conflicts manually, mark them as resolved with\n" "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n" @@ -16613,7 +17054,7 @@ msgstr "" "\"git rebase --skip\" 命令跳过这个æäº¤ã€‚如果想è¦ç»ˆæ¢æ‰§è¡Œå¹¶å›žåˆ°\n" "\"git rebase\" 执行之å‰çš„状æ€ï¼Œæ‰§è¡Œ \"git rebase --abort\"。" -#: builtin/rebase.c:1021 +#: builtin/rebase.c:1031 #, c-format msgid "" "\n" @@ -16631,7 +17072,7 @@ msgstr "" "\n" "å› æ¤ git æ— æ³•å¯¹å…¶å˜åŸºã€‚" -#: builtin/rebase.c:1313 +#: builtin/rebase.c:1318 #, c-format msgid "" "%s\n" @@ -16648,7 +17089,7 @@ msgstr "" " git rebase '<branch>'\n" "\n" -#: builtin/rebase.c:1329 +#: builtin/rebase.c:1334 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -16661,128 +17102,128 @@ msgstr "" " git branch --set-upstream-to=%s/<branch> %s\n" "\n" -#: builtin/rebase.c:1359 +#: builtin/rebase.c:1364 msgid "exec commands cannot contain newlines" msgstr "exec 命令ä¸èƒ½åŒ…嫿¢è¡Œç¬¦" -#: builtin/rebase.c:1363 +#: builtin/rebase.c:1368 msgid "empty exec command" msgstr "空的 exec 命令" -#: builtin/rebase.c:1390 +#: builtin/rebase.c:1396 msgid "rebase onto given branch instead of upstream" msgstr "å˜åŸºåˆ°ç»™å®šçš„分支而éžä¸Šæ¸¸" -#: builtin/rebase.c:1392 +#: builtin/rebase.c:1398 msgid "allow pre-rebase hook to run" msgstr "å…许执行 pre-rebase é’©å" -#: builtin/rebase.c:1394 +#: builtin/rebase.c:1400 msgid "be quiet. implies --no-stat" msgstr "安é™ã€‚暗示 --no-stat" -#: builtin/rebase.c:1400 +#: builtin/rebase.c:1406 msgid "do not show diffstat of what changed upstream" msgstr "䏿˜¾ç¤ºä¸Šæ¸¸å˜åŒ–的差异统计" -#: builtin/rebase.c:1403 +#: builtin/rebase.c:1409 msgid "add a Signed-off-by: line to each commit" msgstr "为æ¯ä¸€ä¸ªæäº¤æ·»åŠ ä¸€ä¸ª Signed-off-by: ç¾å" -#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411 +#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417 msgid "passed to 'git am'" msgstr "ä¼ é€’ç»™ 'git am'" -#: builtin/rebase.c:1413 builtin/rebase.c:1415 +#: builtin/rebase.c:1419 builtin/rebase.c:1421 msgid "passed to 'git apply'" msgstr "ä¼ é€’ç»™ 'git apply'" -#: builtin/rebase.c:1417 builtin/rebase.c:1420 +#: builtin/rebase.c:1423 builtin/rebase.c:1426 msgid "cherry-pick all commits, even if unchanged" msgstr "拣选所有æäº¤ï¼Œå³ä½¿æœªä¿®æ”¹" -#: builtin/rebase.c:1422 +#: builtin/rebase.c:1428 msgid "continue" msgstr "ç»§ç»" -#: builtin/rebase.c:1425 +#: builtin/rebase.c:1431 msgid "skip current patch and continue" msgstr "跳过当å‰è¡¥ä¸å¹¶ç»§ç»" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/rebase.c:1427 +#: builtin/rebase.c:1433 msgid "abort and check out the original branch" msgstr "终æ¢å¹¶æ£€å‡ºåŽŸæœ‰åˆ†æ”¯" -#: builtin/rebase.c:1430 +#: builtin/rebase.c:1436 msgid "abort but keep HEAD where it is" msgstr "终æ¢ä½†ä¿æŒ HEAD ä¸å˜" -#: builtin/rebase.c:1431 +#: builtin/rebase.c:1437 msgid "edit the todo list during an interactive rebase" msgstr "在交互å¼å˜åŸºä¸ç¼–辑待办列表" -#: builtin/rebase.c:1434 +#: builtin/rebase.c:1440 msgid "show the patch file being applied or merged" msgstr "显示æ£åœ¨åº”用或åˆå¹¶çš„è¡¥ä¸æ–‡ä»¶" -#: builtin/rebase.c:1437 +#: builtin/rebase.c:1443 msgid "use merging strategies to rebase" msgstr "使用åˆå¹¶ç–略进行å˜åŸº" -#: builtin/rebase.c:1441 +#: builtin/rebase.c:1447 msgid "let the user edit the list of commits to rebase" msgstr "让用户编辑è¦å˜åŸºçš„æäº¤åˆ—表" -#: builtin/rebase.c:1445 +#: builtin/rebase.c:1451 msgid "(DEPRECATED) try to recreate merges instead of ignoring them" msgstr "(已弃用)å°è¯•é‡å»ºåˆå¹¶æäº¤è€Œéžå¿½ç•¥å®ƒä»¬" -#: builtin/rebase.c:1449 +#: builtin/rebase.c:1455 msgid "preserve empty commits during rebase" msgstr "å˜åŸºæ—¶ä¿ç•™ç©ºæäº¤" -#: builtin/rebase.c:1451 +#: builtin/rebase.c:1457 msgid "move commits that begin with squash!/fixup! under -i" msgstr "在 -i 交互模å¼ä¸‹ï¼Œç§»åЍ以 squash!/fixup! 开头的æäº¤" -#: builtin/rebase.c:1457 +#: builtin/rebase.c:1463 msgid "automatically stash/stash pop before and after" msgstr "在æ“作å‰åŽæ‰§è¡Œè‡ªåŠ¨è´®è—和弹出贮è—" -#: builtin/rebase.c:1459 +#: builtin/rebase.c:1465 msgid "add exec lines after each commit of the editable list" msgstr "å¯ç¼–辑列表的æ¯ä¸€ä¸ªæäº¤ä¸‹é¢å¢žåŠ ä¸€è¡Œ exec" -#: builtin/rebase.c:1463 +#: builtin/rebase.c:1469 msgid "allow rebasing commits with empty messages" msgstr "å…许针对空æäº¤è¯´æ˜Žçš„æäº¤å˜åŸº" -#: builtin/rebase.c:1466 +#: builtin/rebase.c:1472 msgid "try to rebase merges instead of skipping them" msgstr "å°è¯•对åˆå¹¶æäº¤å˜åŸºè€Œä¸æ˜¯å¿½ç•¥å®ƒä»¬" -#: builtin/rebase.c:1469 +#: builtin/rebase.c:1475 msgid "use 'merge-base --fork-point' to refine upstream" msgstr "使用 'merge-base --fork-point' æ¥ä¼˜åŒ–上游" -#: builtin/rebase.c:1471 +#: builtin/rebase.c:1477 msgid "use the given merge strategy" msgstr "使用给定的åˆå¹¶ç–ç•¥" -#: builtin/rebase.c:1473 builtin/revert.c:114 +#: builtin/rebase.c:1479 builtin/revert.c:115 msgid "option" msgstr "选项" -#: builtin/rebase.c:1474 +#: builtin/rebase.c:1480 msgid "pass the argument through to the merge strategy" msgstr "将傿•°ä¼ 递给åˆå¹¶ç–ç•¥" -#: builtin/rebase.c:1477 +#: builtin/rebase.c:1483 msgid "rebase all reachable commits up to the root(s)" msgstr "将所有å¯è¾¾çš„æäº¤å˜åŸºåˆ°æ ¹æäº¤" -#: builtin/rebase.c:1498 +#: builtin/rebase.c:1500 msgid "" "the rebase.useBuiltin support has been removed!\n" "See its entry in 'git help config' for details." @@ -16790,28 +17231,28 @@ msgstr "" "对 rebase.useBuiltin 的支æŒå·²è¢«åˆ 除ï¼\n" "è¯¦è§ 'git help config' ä¸çš„æ¡ç›®ã€‚" -#: builtin/rebase.c:1504 +#: builtin/rebase.c:1506 msgid "It looks like 'git am' is in progress. Cannot rebase." msgstr "çœ‹èµ·æ¥ 'git-am' æ£åœ¨æ‰§è¡Œä¸ã€‚æ— æ³•å˜åŸºã€‚" -#: builtin/rebase.c:1545 +#: builtin/rebase.c:1547 msgid "" "git rebase --preserve-merges is deprecated. Use --rebase-merges instead." msgstr "git rebase --preserve-merges 被弃用。用 --rebase-merges 代替。" -#: builtin/rebase.c:1549 +#: builtin/rebase.c:1551 msgid "No rebase in progress?" msgstr "没有æ£åœ¨è¿›è¡Œçš„å˜åŸºï¼Ÿ" -#: builtin/rebase.c:1553 +#: builtin/rebase.c:1555 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "动作 --edit-todo åªèƒ½ç”¨åœ¨äº¤äº’å¼å˜åŸºè¿‡ç¨‹ä¸ã€‚" -#: builtin/rebase.c:1576 +#: builtin/rebase.c:1578 msgid "Cannot read HEAD" msgstr "ä¸èƒ½è¯»å– HEAD" -#: builtin/rebase.c:1588 +#: builtin/rebase.c:1590 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -16819,21 +17260,16 @@ msgstr "" "您必须编辑所有的åˆå¹¶å†²çªï¼Œç„¶åŽé€šè¿‡ git add\n" "å‘½ä»¤å°†å®ƒä»¬æ ‡è®°ä¸ºå·²è§£å†³" -#: builtin/rebase.c:1607 +#: builtin/rebase.c:1609 msgid "could not discard worktree changes" msgstr "æ— æ³•ä¸¢å¼ƒå·¥ä½œåŒºå˜æ›´" -#: builtin/rebase.c:1626 +#: builtin/rebase.c:1628 #, c-format msgid "could not move back to %s" msgstr "æ— æ³•ç§»å›ž %s" -#: builtin/rebase.c:1637 builtin/rm.c:369 -#, c-format -msgid "could not remove '%s'" -msgstr "æ— æ³•åˆ é™¤ '%s'" - -#: builtin/rebase.c:1663 +#: builtin/rebase.c:1673 #, c-format msgid "" "It seems that there is already a %s directory, and\n" @@ -16852,168 +17288,172 @@ msgstr "" "\t%s\n" "ç„¶åŽå†é‡æ–°æ‰§è¡Œã€‚ 为é¿å…丢失é‡è¦æ•°æ®ï¼Œæˆ‘å·²ç»åœæ¢å½“剿“作。\n" -#: builtin/rebase.c:1684 +#: builtin/rebase.c:1694 msgid "switch `C' expects a numerical value" msgstr "开关 `C' 期望一个数å—值" -#: builtin/rebase.c:1725 +#: builtin/rebase.c:1735 #, c-format msgid "Unknown mode: %s" msgstr "未知模å¼ï¼š%s" -#: builtin/rebase.c:1747 +#: builtin/rebase.c:1757 msgid "--strategy requires --merge or --interactive" msgstr "--strategy éœ€è¦ --merge 或 --interactive" -#: builtin/rebase.c:1796 +#: builtin/rebase.c:1797 +msgid "--reschedule-failed-exec requires --exec or --interactive" +msgstr "--reschedule-failed-exec éœ€è¦ --exec 或 --interactive" + +#: builtin/rebase.c:1809 msgid "cannot combine am options with either interactive or merge options" msgstr "ä¸èƒ½å°† am 选项与交互或åˆå¹¶é€‰é¡¹åŒæ—¶ä½¿ç”¨" -#: builtin/rebase.c:1815 +#: builtin/rebase.c:1828 msgid "cannot combine '--preserve-merges' with '--rebase-merges'" msgstr "ä¸èƒ½å°† '--preserve-merges' å’Œ '--rebase-merges' åŒæ—¶ä½¿ç”¨" -#: builtin/rebase.c:1819 +#: builtin/rebase.c:1832 msgid "" "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'" msgstr "" "错误:ä¸èƒ½å°† '--preserve-merges' å’Œ '--reschedule-failed-exec' åŒæ—¶ä½¿ç”¨" -#: builtin/rebase.c:1825 +#: builtin/rebase.c:1838 msgid "cannot combine '--rebase-merges' with '--strategy-option'" msgstr "ä¸èƒ½å°† '--rebase-merges' å’Œ '--strategy-option' åŒæ—¶ä½¿ç”¨" -#: builtin/rebase.c:1828 +#: builtin/rebase.c:1841 msgid "cannot combine '--rebase-merges' with '--strategy'" msgstr "ä¸èƒ½å°† '--rebase-merges' å’Œ '--strategy' åŒæ—¶ä½¿ç”¨" -#: builtin/rebase.c:1852 +#: builtin/rebase.c:1865 #, c-format msgid "invalid upstream '%s'" msgstr "æ— æ•ˆçš„ä¸Šæ¸¸ '%s'" -#: builtin/rebase.c:1858 +#: builtin/rebase.c:1871 msgid "Could not create new root commit" msgstr "ä¸èƒ½åˆ›å»ºæ–°çš„æ ¹æäº¤" -#: builtin/rebase.c:1876 +#: builtin/rebase.c:1889 #, c-format msgid "'%s': need exactly one merge base" msgstr "'%s':åªéœ€è¦ä¸€ä¸ªåˆå¹¶åŸºçº¿" -#: builtin/rebase.c:1883 +#: builtin/rebase.c:1896 #, c-format msgid "Does not point to a valid commit '%s'" msgstr "没有指å‘一个有效的æäº¤ '%s'" -#: builtin/rebase.c:1908 +#: builtin/rebase.c:1921 #, c-format msgid "fatal: no such branch/commit '%s'" msgstr "è‡´å‘½é”™è¯¯ï¼šæ— æ¤åˆ†æ”¯/æäº¤ '%s'" -#: builtin/rebase.c:1916 builtin/submodule--helper.c:38 -#: builtin/submodule--helper.c:1933 +#: builtin/rebase.c:1929 builtin/submodule--helper.c:38 +#: builtin/submodule--helper.c:1934 #, c-format msgid "No such ref: %s" msgstr "æ²¡æœ‰è¿™æ ·çš„å¼•ç”¨ï¼š%s" -#: builtin/rebase.c:1927 +#: builtin/rebase.c:1940 msgid "Could not resolve HEAD to a revision" msgstr "æ— æ³•å°† HEAD è§£æžä¸ºä¸€ä¸ªç‰ˆæœ¬" -#: builtin/rebase.c:1968 +#: builtin/rebase.c:1981 msgid "Cannot autostash" msgstr "æ— æ³• autostash" -#: builtin/rebase.c:1971 +#: builtin/rebase.c:1984 #, c-format msgid "Unexpected stash response: '%s'" msgstr "æ„外的 stash å“应:'%s'" -#: builtin/rebase.c:1977 +#: builtin/rebase.c:1990 #, c-format msgid "Could not create directory for '%s'" msgstr "ä¸èƒ½ä¸º '%s' 创建目录" -#: builtin/rebase.c:1980 +#: builtin/rebase.c:1993 #, c-format msgid "Created autostash: %s\n" msgstr "创建了 autostash:%s\n" -#: builtin/rebase.c:1983 +#: builtin/rebase.c:1996 msgid "could not reset --hard" msgstr "æ— æ³• reset --hard" -#: builtin/rebase.c:1984 builtin/reset.c:114 +#: builtin/rebase.c:1997 builtin/reset.c:114 #, c-format msgid "HEAD is now at %s" msgstr "HEAD 现在ä½äºŽ %s" -#: builtin/rebase.c:2000 +#: builtin/rebase.c:2013 msgid "Please commit or stash them." msgstr "请æäº¤æˆ–è´®è—修改。" -#: builtin/rebase.c:2027 +#: builtin/rebase.c:2040 #, c-format msgid "could not parse '%s'" msgstr "æ— æ³•è§£æž '%s'" -#: builtin/rebase.c:2040 +#: builtin/rebase.c:2053 #, c-format msgid "could not switch to %s" msgstr "æ— æ³•åˆ‡æ¢åˆ° %s" -#: builtin/rebase.c:2051 +#: builtin/rebase.c:2064 msgid "HEAD is up to date." msgstr "HEAD 是最新的。" -#: builtin/rebase.c:2053 +#: builtin/rebase.c:2066 #, c-format msgid "Current branch %s is up to date.\n" msgstr "当å‰åˆ†æ”¯ %s 是最新的。\n" -#: builtin/rebase.c:2061 +#: builtin/rebase.c:2074 msgid "HEAD is up to date, rebase forced." msgstr "HEAD 是最新的,强制å˜åŸºã€‚" -#: builtin/rebase.c:2063 +#: builtin/rebase.c:2076 #, c-format msgid "Current branch %s is up to date, rebase forced.\n" msgstr "当å‰åˆ†æ”¯ %s 是最新的,强制å˜åŸºã€‚\n" -#: builtin/rebase.c:2071 +#: builtin/rebase.c:2084 msgid "The pre-rebase hook refused to rebase." msgstr "pre-rebase é’©åæ‹’ç»äº†å˜åŸºæ“作。" -#: builtin/rebase.c:2078 +#: builtin/rebase.c:2091 #, c-format msgid "Changes to %s:\n" msgstr "到 %s çš„å˜æ›´ï¼š\n" -#: builtin/rebase.c:2081 +#: builtin/rebase.c:2094 #, c-format msgid "Changes from %s to %s:\n" msgstr "从 %s 到 %s çš„å˜æ›´ï¼š\n" -#: builtin/rebase.c:2106 +#: builtin/rebase.c:2119 #, c-format msgid "First, rewinding head to replay your work on top of it...\n" msgstr "é¦–å…ˆï¼Œå›žé€€å¤´æŒ‡é’ˆä»¥ä¾¿åœ¨å…¶ä¸Šé‡æ”¾æ‚¨çš„工作...\n" -#: builtin/rebase.c:2115 +#: builtin/rebase.c:2128 msgid "Could not detach HEAD" msgstr "æ— æ³•åˆ†ç¦»å¤´æŒ‡é’ˆ" -#: builtin/rebase.c:2124 +#: builtin/rebase.c:2137 #, c-format msgid "Fast-forwarded %s to %s.\n" msgstr "å¿«è¿› %s 到 %s。\n" -#: builtin/receive-pack.c:33 +#: builtin/receive-pack.c:32 msgid "git receive-pack <git-dir>" msgstr "git receive-pack <仓库目录>" -#: builtin/receive-pack.c:833 +#: builtin/receive-pack.c:832 msgid "" "By default, updating the current branch in a non-bare repository\n" "is denied, because it will make the index and work tree inconsistent\n" @@ -17039,7 +17479,7 @@ msgstr "" "è‹¥è¦å±è”½æ¤ä¿¡æ¯ä¸”ä¿æŒé»˜è®¤è¡Œä¸ºï¼Œè®¾ç½® 'receive.denyCurrentBranch'\n" "é…ç½®å˜é‡ä¸º 'refuse'。" -#: builtin/receive-pack.c:853 +#: builtin/receive-pack.c:852 msgid "" "By default, deleting the current branch is denied, because the next\n" "'git clone' won't result in any file checked out, causing confusion.\n" @@ -17058,11 +17498,11 @@ msgstr "" "\n" "è‹¥è¦å±è”½æ¤ä¿¡æ¯ï¼Œæ‚¨å¯ä»¥è®¾ç½®å®ƒä¸º 'refuse'。" -#: builtin/receive-pack.c:1940 +#: builtin/receive-pack.c:1938 msgid "quiet" msgstr "é™é»˜æ¨¡å¼" -#: builtin/receive-pack.c:1954 +#: builtin/receive-pack.c:1952 msgid "You must specify a directory." msgstr "您必须指定一个目录。" @@ -17643,111 +18083,111 @@ msgstr "" "å¢žé‡ repack å’Œ bitmap 索引ä¸å…¼å®¹ã€‚ 使用 --no-write-bitmap-index\n" "或ç¦ç”¨ pack.writebitmaps é…置。" -#: builtin/repack.c:200 +#: builtin/repack.c:190 msgid "could not start pack-objects to repack promisor objects" msgstr "æ— æ³•å¼€å§‹ pack-objects æ¥é‡æ–°æ‰“包 promisor 对象" -#: builtin/repack.c:239 builtin/repack.c:414 +#: builtin/repack.c:229 builtin/repack.c:408 msgid "repack: Expecting full hex object ID lines only from pack-objects." msgstr "repack:期望æ¥è‡ª pack-objects 的完整åå…进制对象 ID。" -#: builtin/repack.c:256 +#: builtin/repack.c:246 msgid "could not finish pack-objects to repack promisor objects" msgstr "æ— æ³•å®Œæˆ pack-objects æ¥é‡æ–°æ‰“包 promisor 对象" -#: builtin/repack.c:294 +#: builtin/repack.c:284 msgid "pack everything in a single pack" msgstr "所有内容打包到一个包文件ä¸" -#: builtin/repack.c:296 +#: builtin/repack.c:286 msgid "same as -a, and turn unreachable objects loose" msgstr "å’Œ -a 相åŒï¼Œå¹¶å°†ä¸å¯è¾¾çš„å¯¹è±¡è®¾ä¸ºæ¾æ•£å¯¹è±¡" -#: builtin/repack.c:299 +#: builtin/repack.c:289 msgid "remove redundant packs, and run git-prune-packed" msgstr "åˆ é™¤å¤šä½™çš„åŒ…ï¼Œè¿è¡Œ git-prune-packed" -#: builtin/repack.c:301 +#: builtin/repack.c:291 msgid "pass --no-reuse-delta to git-pack-objects" msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --no-reuse-delta" -#: builtin/repack.c:303 +#: builtin/repack.c:293 msgid "pass --no-reuse-object to git-pack-objects" msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --no-reuse-object" -#: builtin/repack.c:305 +#: builtin/repack.c:295 msgid "do not run git-update-server-info" msgstr "ä¸è¿è¡Œ git-update-server-info" -#: builtin/repack.c:308 +#: builtin/repack.c:298 msgid "pass --local to git-pack-objects" msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --local" -#: builtin/repack.c:310 +#: builtin/repack.c:300 msgid "write bitmap index" msgstr "写 bitmap 索引" -#: builtin/repack.c:312 +#: builtin/repack.c:302 msgid "pass --delta-islands to git-pack-objects" msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --delta-islands" -#: builtin/repack.c:313 +#: builtin/repack.c:303 msgid "approxidate" msgstr "近似日期" -#: builtin/repack.c:314 +#: builtin/repack.c:304 msgid "with -A, do not loosen objects older than this" msgstr "使用 -A,ä¸è¦å°†æ—©äºŽç»™å®šæ—¶é—´çš„对象过期" -#: builtin/repack.c:316 +#: builtin/repack.c:306 msgid "with -a, repack unreachable objects" msgstr "使用 -a ï¼Œé‡æ–°å¯¹ä¸å¯è¾¾å¯¹è±¡æ‰“包" -#: builtin/repack.c:318 +#: builtin/repack.c:308 msgid "size of the window used for delta compression" msgstr "用于增é‡åŽ‹ç¼©çš„çª—å£å€¼" -#: builtin/repack.c:319 builtin/repack.c:325 +#: builtin/repack.c:309 builtin/repack.c:315 msgid "bytes" msgstr "å—节" -#: builtin/repack.c:320 +#: builtin/repack.c:310 msgid "same as the above, but limit memory size instead of entries count" msgstr "和上é¢çš„相似,但é™åˆ¶å†…å˜å¤§å°è€Œéžæ¡ç›®æ•°" -#: builtin/repack.c:322 +#: builtin/repack.c:312 msgid "limits the maximum delta depth" msgstr "é™åˆ¶æœ€å¤§å¢žé‡æ·±åº¦" -#: builtin/repack.c:324 +#: builtin/repack.c:314 msgid "limits the maximum number of threads" msgstr "é™åˆ¶æœ€å¤§çº¿ç¨‹æ•°" -#: builtin/repack.c:326 +#: builtin/repack.c:316 msgid "maximum size of each packfile" msgstr "æ¯ä¸ªåŒ…文件的最大尺寸" -#: builtin/repack.c:328 +#: builtin/repack.c:318 msgid "repack objects in packs marked with .keep" msgstr "å¯¹æ ‡è®°ä¸º .keep 的包ä¸çš„å¯¹è±¡é‡æ–°æ‰“包" -#: builtin/repack.c:330 +#: builtin/repack.c:320 msgid "do not repack this pack" msgstr "ä¸è¦å¯¹è¯¥åŒ…æ–‡ä»¶é‡æ–°æ‰“包" -#: builtin/repack.c:340 +#: builtin/repack.c:330 msgid "cannot delete packs in a precious-objects repo" msgstr "ä¸èƒ½åˆ 除çå“仓库ä¸çš„æ‰“包文件" -#: builtin/repack.c:344 +#: builtin/repack.c:334 msgid "--keep-unreachable and -A are incompatible" msgstr "--keep-unreachable å’Œ -A ä¸å…¼å®¹" -#: builtin/repack.c:423 +#: builtin/repack.c:417 msgid "Nothing new to pack." msgstr "æ²¡æœ‰æ–°çš„è¦æ‰“包。" -#: builtin/repack.c:484 +#: builtin/repack.c:478 #, c-format msgid "" "WARNING: Some packs in use have been renamed by\n" @@ -17763,7 +18203,7 @@ msgstr "" "è¦å‘Šï¼šå¹¶ä¸”å°è¯•é‡å‘½å改回原有文件åçš„æ“作也失败。\n" "è¦å‘Šï¼šè¯·æ‰‹åЍ将 %s 下的这些文件é‡å‘½å:\n" -#: builtin/repack.c:532 +#: builtin/repack.c:526 #, c-format msgid "failed to remove '%s'" msgstr "åˆ é™¤ '%s' 失败" @@ -18167,24 +18607,24 @@ msgstr "ä¸èƒ½é‡ç½®ç´¢å¼•文件至版本 '%s'。" msgid "Could not write new index file." msgstr "ä¸èƒ½å†™å…¥æ–°çš„索引文件。" -#: builtin/rev-list.c:405 +#: builtin/rev-list.c:412 msgid "cannot combine --exclude-promisor-objects and --missing" msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ --exclude-promisor-objects å’Œ --missing 选项" -#: builtin/rev-list.c:466 +#: builtin/rev-list.c:473 msgid "object filtering requires --objects" msgstr "å¯¹è±¡è¿‡æ»¤éœ€è¦ --objects" -#: builtin/rev-list.c:469 +#: builtin/rev-list.c:476 #, c-format msgid "invalid sparse value '%s'" msgstr "æ— æ•ˆçš„ç¨€ç–值 '%s'" -#: builtin/rev-list.c:510 +#: builtin/rev-list.c:527 msgid "rev-list does not support display of notes" msgstr "rev-list 䏿”¯æŒæ˜¾ç¤ºæ³¨è§£" -#: builtin/rev-list.c:513 +#: builtin/rev-list.c:530 msgid "cannot combine --use-bitmap-index with object filtering" msgstr "ä¸èƒ½å°† --use-bitmap-index 和对象过滤组åˆä½¿ç”¨" @@ -18256,47 +18696,51 @@ msgstr "ç»§ç»å转或拣选æ“作" msgid "cancel revert or cherry-pick sequence" msgstr "å–æ¶ˆå转或拣选æ“作" -#: builtin/revert.c:106 +#: builtin/revert.c:105 +msgid "skip current commit and continue" +msgstr "è·³è¿‡å½“å‰æäº¤å¹¶ç»§ç»" + +#: builtin/revert.c:107 msgid "don't automatically commit" msgstr "ä¸è¦è‡ªåЍæäº¤" -#: builtin/revert.c:107 +#: builtin/revert.c:108 msgid "edit the commit message" msgstr "编辑æäº¤è¯´æ˜Ž" -#: builtin/revert.c:110 +#: builtin/revert.c:111 msgid "parent-number" msgstr "父编å·" -#: builtin/revert.c:111 +#: builtin/revert.c:112 msgid "select mainline parent" msgstr "选择主干父æäº¤ç¼–å·" -#: builtin/revert.c:113 +#: builtin/revert.c:114 msgid "merge strategy" msgstr "åˆå¹¶ç–ç•¥" -#: builtin/revert.c:115 +#: builtin/revert.c:116 msgid "option for merge strategy" msgstr "åˆå¹¶ç–略的选项" -#: builtin/revert.c:124 +#: builtin/revert.c:125 msgid "append commit name" msgstr "è¿½åŠ æäº¤åç§°" -#: builtin/revert.c:126 +#: builtin/revert.c:127 msgid "preserve initially empty commits" msgstr "ä¿ç•™åˆå§‹åŒ–的空æäº¤" -#: builtin/revert.c:128 +#: builtin/revert.c:129 msgid "keep redundant, empty commits" msgstr "ä¿æŒå¤šä½™çš„ã€ç©ºçš„æäº¤" -#: builtin/revert.c:227 +#: builtin/revert.c:232 msgid "revert failed" msgstr "还原失败" -#: builtin/revert.c:240 +#: builtin/revert.c:245 msgid "cherry-pick failed" msgstr "拣选失败" @@ -18462,113 +18906,113 @@ msgid_plural "ignoring %s; cannot handle more than %d refs" msgstr[0] "忽略 %sï¼Œæ— æ³•å¤„ç† %d 个以上的引用" msgstr[1] "忽略 %sï¼Œæ— æ³•å¤„ç† %d 个以上的引用" -#: builtin/show-branch.c:549 +#: builtin/show-branch.c:548 #, c-format msgid "no matching refs with %s" msgstr "没有和 %s 匹é…的引用" -#: builtin/show-branch.c:646 +#: builtin/show-branch.c:645 msgid "show remote-tracking and local branches" msgstr "显示远程跟踪的和本地的分支" -#: builtin/show-branch.c:648 +#: builtin/show-branch.c:647 msgid "show remote-tracking branches" msgstr "显示远程跟踪的分支" -#: builtin/show-branch.c:650 +#: builtin/show-branch.c:649 msgid "color '*!+-' corresponding to the branch" msgstr "ç€è‰² '*!+-' 到相应的分支" -#: builtin/show-branch.c:652 +#: builtin/show-branch.c:651 msgid "show <n> more commits after the common ancestor" msgstr "显示共åŒç¥–å…ˆåŽçš„ <n> 个æäº¤" -#: builtin/show-branch.c:654 +#: builtin/show-branch.c:653 msgid "synonym to more=-1" msgstr "å’Œ more=-1 åŒä¹‰" -#: builtin/show-branch.c:655 +#: builtin/show-branch.c:654 msgid "suppress naming strings" msgstr "䏿˜¾ç¤ºå—符串命å" -#: builtin/show-branch.c:657 +#: builtin/show-branch.c:656 msgid "include the current branch" msgstr "包括当å‰åˆ†æ”¯" -#: builtin/show-branch.c:659 +#: builtin/show-branch.c:658 msgid "name commits with their object names" msgstr "以对象åå—命åæäº¤" -#: builtin/show-branch.c:661 +#: builtin/show-branch.c:660 msgid "show possible merge bases" msgstr "显示å¯èƒ½åˆå¹¶çš„基线" -#: builtin/show-branch.c:663 +#: builtin/show-branch.c:662 msgid "show refs unreachable from any other ref" msgstr "显示没有任何引用的的引用" -#: builtin/show-branch.c:665 +#: builtin/show-branch.c:664 msgid "show commits in topological order" msgstr "ä»¥æ‹“æ‰‘é¡ºåºæ˜¾ç¤ºæäº¤" -#: builtin/show-branch.c:668 +#: builtin/show-branch.c:667 msgid "show only commits not on the first branch" msgstr "åªæ˜¾ç¤ºä¸åœ¨ç¬¬ä¸€ä¸ªåˆ†æ”¯ä¸Šçš„æäº¤" -#: builtin/show-branch.c:670 +#: builtin/show-branch.c:669 msgid "show merges reachable from only one tip" msgstr "显示仅一个分支å¯è®¿é—®çš„åˆå¹¶æäº¤" -#: builtin/show-branch.c:672 +#: builtin/show-branch.c:671 msgid "topologically sort, maintaining date order where possible" msgstr "æ‹“æ‰‘æ–¹å¼æŽ’åºï¼Œå¹¶å°½å¯èƒ½åœ°ä¿æŒæ—¥æœŸé¡ºåº" -#: builtin/show-branch.c:675 +#: builtin/show-branch.c:674 msgid "<n>[,<base>]" msgstr "<n>[,<base>]" -#: builtin/show-branch.c:676 +#: builtin/show-branch.c:675 msgid "show <n> most recent ref-log entries starting at base" msgstr "显示从起始点开始的 <n> æ¡æœ€è¿‘的引用日志记录" -#: builtin/show-branch.c:712 +#: builtin/show-branch.c:711 msgid "" "--reflog is incompatible with --all, --remotes, --independent or --merge-base" msgstr "--reflog å’Œ --allã€--remotesã€--independent 或 --merge-base ä¸å…¼å®¹" -#: builtin/show-branch.c:736 +#: builtin/show-branch.c:735 msgid "no branches given, and HEAD is not valid" msgstr "未æä¾›åˆ†æ”¯ï¼Œä¸” HEAD æ— æ•ˆ" -#: builtin/show-branch.c:739 +#: builtin/show-branch.c:738 msgid "--reflog option needs one branch name" msgstr "选项 --reflog 需è¦ä¸€ä¸ªåˆ†æ”¯å" -#: builtin/show-branch.c:742 +#: builtin/show-branch.c:741 #, c-format msgid "only %d entry can be shown at one time." msgid_plural "only %d entries can be shown at one time." msgstr[0] "一次åªèƒ½æ˜¾ç¤º %d 个æ¡ç›®ã€‚" msgstr[1] "一次åªèƒ½æ˜¾ç¤º %d 个æ¡ç›®ã€‚" -#: builtin/show-branch.c:746 +#: builtin/show-branch.c:745 #, c-format msgid "no such ref %s" msgstr "æ— æ¤å¼•用 %s" -#: builtin/show-branch.c:832 +#: builtin/show-branch.c:831 #, c-format msgid "cannot handle more than %d rev." msgid_plural "cannot handle more than %d revs." msgstr[0] "ä¸èƒ½å¤„ç† %d 个以上的版本。" msgstr[1] "ä¸èƒ½å¤„ç† %d 个以上的版本。" -#: builtin/show-branch.c:836 +#: builtin/show-branch.c:835 #, c-format msgid "'%s' is not a valid ref." msgstr "'%s' 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„引用。" -#: builtin/show-branch.c:839 +#: builtin/show-branch.c:838 #, c-format msgid "cannot find commit %s (%s)" msgstr "ä¸èƒ½æ‰¾åˆ°æäº¤ %s(%s)" @@ -18751,94 +19195,94 @@ msgstr "è´®è—æ¡ç›®è¢«ä¿ç•™ä»¥å¤‡æ‚¨å†æ¬¡éœ€è¦ã€‚" msgid "No branch name specified" msgstr "未指定分支å" -#: builtin/stash.c:789 builtin/stash.c:826 +#: builtin/stash.c:790 builtin/stash.c:827 #, c-format msgid "Cannot update %s with %s" msgstr "æ— æ³•ç”¨ %2$s æ›´æ–° %1$s" -#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510 +#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497 msgid "stash message" msgstr "è´®è—说明" -#: builtin/stash.c:817 +#: builtin/stash.c:818 msgid "\"git stash store\" requires one <commit> argument" msgstr "\"git stash store\" 需è¦ä¸€ä¸ª <æäº¤> 傿•°" -#: builtin/stash.c:1039 git-legacy-stash.sh:217 +#: builtin/stash.c:1040 git-legacy-stash.sh:217 msgid "No changes selected" msgstr "æ²¡æœ‰é€‰æ‹©å˜æ›´" -#: builtin/stash.c:1135 git-legacy-stash.sh:150 +#: builtin/stash.c:1136 git-legacy-stash.sh:150 msgid "You do not have the initial commit yet" msgstr "您尚未建立åˆå§‹æäº¤" -#: builtin/stash.c:1162 git-legacy-stash.sh:165 +#: builtin/stash.c:1163 git-legacy-stash.sh:165 msgid "Cannot save the current index state" msgstr "æ— æ³•ä¿å˜å½“å‰ç´¢å¼•状æ€" -#: builtin/stash.c:1171 git-legacy-stash.sh:180 +#: builtin/stash.c:1172 git-legacy-stash.sh:180 msgid "Cannot save the untracked files" msgstr "æ— æ³•ä¿å˜æœªè·Ÿè¸ªæ–‡ä»¶" -#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200 +#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200 #: git-legacy-stash.sh:213 msgid "Cannot save the current worktree state" msgstr "æ— æ³•ä¿å˜å½“å‰å·¥ä½œåŒºçжæ€" -#: builtin/stash.c:1219 git-legacy-stash.sh:233 +#: builtin/stash.c:1220 git-legacy-stash.sh:233 msgid "Cannot record working tree state" msgstr "ä¸èƒ½è®°å½•工作区状æ€" -#: builtin/stash.c:1268 git-legacy-stash.sh:337 +#: builtin/stash.c:1269 git-legacy-stash.sh:337 msgid "Can't use --patch and --include-untracked or --all at the same time" msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨å‚æ•° --patch å’Œ --include-untracked 或 --all" -#: builtin/stash.c:1284 +#: builtin/stash.c:1285 msgid "Did you forget to 'git add'?" msgstr "您是å¦å¿˜äº†æ‰§è¡Œ 'git add'?" -#: builtin/stash.c:1299 git-legacy-stash.sh:345 +#: builtin/stash.c:1300 git-legacy-stash.sh:345 msgid "No local changes to save" msgstr "没有è¦ä¿å˜çš„æœ¬åœ°ä¿®æ”¹" -#: builtin/stash.c:1306 git-legacy-stash.sh:350 +#: builtin/stash.c:1307 git-legacy-stash.sh:350 msgid "Cannot initialize stash" msgstr "æ— æ³•åˆå§‹åŒ–è´®è—" -#: builtin/stash.c:1321 git-legacy-stash.sh:354 +#: builtin/stash.c:1322 git-legacy-stash.sh:354 msgid "Cannot save the current status" msgstr "æ— æ³•ä¿å˜å½“å‰çжæ€" -#: builtin/stash.c:1326 +#: builtin/stash.c:1327 #, c-format msgid "Saved working directory and index state %s" msgstr "ä¿å˜å·¥ä½œç›®å½•å’Œç´¢å¼•çŠ¶æ€ %s" -#: builtin/stash.c:1430 git-legacy-stash.sh:384 +#: builtin/stash.c:1417 git-legacy-stash.sh:384 msgid "Cannot remove worktree changes" msgstr "æ— æ³•åˆ é™¤å·¥ä½œåŒºå˜æ›´" -#: builtin/stash.c:1465 builtin/stash.c:1501 +#: builtin/stash.c:1452 builtin/stash.c:1488 msgid "keep index" msgstr "ä¿æŒç´¢å¼•" -#: builtin/stash.c:1467 builtin/stash.c:1503 +#: builtin/stash.c:1454 builtin/stash.c:1490 msgid "stash in patch mode" msgstr "ä»¥è¡¥ä¸æ¨¡å¼è´®è—" -#: builtin/stash.c:1468 builtin/stash.c:1504 +#: builtin/stash.c:1455 builtin/stash.c:1491 msgid "quiet mode" msgstr "é™é»˜æ¨¡å¼" -#: builtin/stash.c:1470 builtin/stash.c:1506 +#: builtin/stash.c:1457 builtin/stash.c:1493 msgid "include untracked files in stash" msgstr "è´®è—ä¸åŒ…嫿œªè·Ÿè¸ªæ–‡ä»¶" -#: builtin/stash.c:1472 builtin/stash.c:1508 +#: builtin/stash.c:1459 builtin/stash.c:1495 msgid "include ignore files" msgstr "包å«å¿½ç•¥çš„æ–‡ä»¶" -#: builtin/stash.c:1568 +#: builtin/stash.c:1555 #, c-format msgid "could not exec %s" msgstr "ä¸èƒ½æ‰§è¡Œ %s" @@ -18859,7 +19303,7 @@ msgstr "跳过和移除所有的注释行" msgid "prepend comment character and space to each line" msgstr "为æ¯ä¸€è¡Œçš„è¡Œé¦–æ·»åŠ æ³¨é‡Šç¬¦å’Œç©ºæ ¼" -#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942 +#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943 #, c-format msgid "Expecting a full ref name, got %s" msgstr "期望一个完整的引用å称,å´å¾—到 %s" @@ -18873,7 +19317,7 @@ msgstr "submodule--helper print-default-remote ä¸å¸¦å‚æ•°" msgid "cannot strip one component off url '%s'" msgstr "æ— æ³•ä»Ž url '%s' 剥离一个组件" -#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1367 +#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368 msgid "alternative anchor for relative paths" msgstr "相对路径的替代锚记(anchor)" @@ -18881,8 +19325,8 @@ msgstr "相对路径的替代锚记(anchor)" msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]" -#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627 -#: builtin/submodule--helper.c:650 +#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628 +#: builtin/submodule--helper.c:651 #, c-format msgid "No url found for submodule path '%s' in .gitmodules" msgstr "在 .gitmodules 䏿œªæ‰¾åˆ°å模组 '%s' çš„ url" @@ -18901,7 +19345,7 @@ msgstr "" "对 %s 执行 run_command 返回éžé›¶å€¼ã€‚\n" "." -#: builtin/submodule--helper.c:546 +#: builtin/submodule--helper.c:547 #, c-format msgid "" "run_command returned non-zero status while recursing in the nested " @@ -18911,119 +19355,119 @@ msgstr "" "在递归 %s çš„åæ¨¡ç»„执行 run_command 时返回éžé›¶å€¼ã€‚\n" "." -#: builtin/submodule--helper.c:562 +#: builtin/submodule--helper.c:563 msgid "Suppress output of entering each submodule command" msgstr "阻æ¢è¿›å…¥æ¯ä¸€ä¸ªå模组命令的输出" -#: builtin/submodule--helper.c:564 builtin/submodule--helper.c:1049 +#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050 msgid "Recurse into nested submodules" msgstr "é€’å½’è¿›å…¥åµŒå¥—åæ¨¡ç»„ä¸" -#: builtin/submodule--helper.c:569 +#: builtin/submodule--helper.c:570 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>" msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <命令>" -#: builtin/submodule--helper.c:596 +#: builtin/submodule--helper.c:597 #, c-format msgid "" "could not look up configuration '%s'. Assuming this repository is its own " "authoritative upstream." msgstr "æ— æ³•æ‰¾åˆ°é…ç½® '%s'。å‡å®šè¿™ä¸ªä»“库是其自身的官方上游。" -#: builtin/submodule--helper.c:664 +#: builtin/submodule--helper.c:665 #, c-format msgid "Failed to register url for submodule path '%s'" msgstr "æ— æ³•ä¸ºåæ¨¡ç»„ '%s' 注册 url" -#: builtin/submodule--helper.c:668 +#: builtin/submodule--helper.c:669 #, c-format msgid "Submodule '%s' (%s) registered for path '%s'\n" msgstr "忍¡ç»„ '%s'(%s)已对路径 '%s' 注册\n" -#: builtin/submodule--helper.c:678 +#: builtin/submodule--helper.c:679 #, c-format msgid "warning: command update mode suggested for submodule '%s'\n" msgstr "è¦å‘Šï¼šå»ºè®®å模组 '%s' 使用命令更新模å¼\n" -#: builtin/submodule--helper.c:685 +#: builtin/submodule--helper.c:686 #, c-format msgid "Failed to register update mode for submodule path '%s'" msgstr "æ— æ³•ä¸ºåæ¨¡ç»„ '%s' 注册更新模å¼" -#: builtin/submodule--helper.c:707 +#: builtin/submodule--helper.c:708 msgid "Suppress output for initializing a submodule" msgstr "阻æ¢å模组åˆå§‹åŒ–的输出" -#: builtin/submodule--helper.c:712 +#: builtin/submodule--helper.c:713 msgid "git submodule--helper init [<options>] [<path>]" msgstr "git submodule--helper init [<选项>] [<路径>]" -#: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910 +#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "在 .gitmodules 䏿²¡æœ‰å‘现路径 '%s' çš„åæ¨¡ç»„æ˜ å°„" -#: builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:824 #, c-format msgid "could not resolve HEAD ref inside the submodule '%s'" msgstr "æ— æ³•è§£æžå模组 '%s' çš„ HEAD 引用" -#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1019 +#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020 #, c-format msgid "failed to recurse into submodule '%s'" msgstr "递归忍¡ç»„ '%s' 失败" -#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1185 +#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186 msgid "Suppress submodule status output" msgstr "阻æ¢å模组状æ€è¾“出" -#: builtin/submodule--helper.c:875 +#: builtin/submodule--helper.c:876 msgid "" "Use commit stored in the index instead of the one stored in the submodule " "HEAD" msgstr "使用å˜å‚¨åœ¨ç´¢å¼•ä¸çš„æäº¤ï¼Œè€Œéžå˜å‚¨åœ¨å模组 HEAD ä¸çš„æäº¤" -#: builtin/submodule--helper.c:876 +#: builtin/submodule--helper.c:877 msgid "recurse into nested submodules" msgstr "é€’å½’è¿›å…¥åµŒå¥—åæ¨¡ç»„ä¸" -#: builtin/submodule--helper.c:881 +#: builtin/submodule--helper.c:882 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]" msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]" -#: builtin/submodule--helper.c:905 +#: builtin/submodule--helper.c:906 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <路径>" -#: builtin/submodule--helper.c:969 +#: builtin/submodule--helper.c:970 #, c-format msgid "Synchronizing submodule url for '%s'\n" msgstr "为 '%s' åŒæ¥å模组 url\n" -#: builtin/submodule--helper.c:975 +#: builtin/submodule--helper.c:976 #, c-format msgid "failed to register url for submodule path '%s'" msgstr "æ— æ³•ä¸ºåæ¨¡ç»„路径 '%s' 注册 url" -#: builtin/submodule--helper.c:989 +#: builtin/submodule--helper.c:990 #, c-format msgid "failed to get the default remote for submodule '%s'" msgstr "æ— æ³•å¾—åˆ°åæ¨¡ç»„ '%s' 的默认远程关è”" -#: builtin/submodule--helper.c:1000 +#: builtin/submodule--helper.c:1001 #, c-format msgid "failed to update remote for submodule '%s'" msgstr "æ— æ³•ä¸ºåæ¨¡ç»„ '%s' 更新远程关è”" -#: builtin/submodule--helper.c:1047 +#: builtin/submodule--helper.c:1048 msgid "Suppress output of synchronizing submodule url" msgstr "阻æ¢å模组 url åŒæ¥çš„输出" -#: builtin/submodule--helper.c:1054 +#: builtin/submodule--helper.c:1055 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]" msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]" -#: builtin/submodule--helper.c:1108 +#: builtin/submodule--helper.c:1109 #, c-format msgid "" "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you " @@ -19032,87 +19476,87 @@ msgstr "" "忍¡ç»„工作区 '%s' 包å«ä¸€ä¸ª .git ç›®å½•ï¼ˆå¦‚æžœæ‚¨ç¡®éœ€åˆ é™¤å®ƒåŠå…¶å…¨éƒ¨åކå²ï¼Œä½¿ç”¨ 'rm " "-rf' 命令)" -#: builtin/submodule--helper.c:1120 +#: builtin/submodule--helper.c:1121 #, c-format msgid "" "Submodule work tree '%s' contains local modifications; use '-f' to discard " "them" msgstr "忍¡ç»„工作区 '%s' åŒ…å«æœ¬åœ°ä¿®æ”¹ï¼›ä½¿ç”¨ '-f' 丢弃它们" -#: builtin/submodule--helper.c:1128 +#: builtin/submodule--helper.c:1129 #, c-format msgid "Cleared directory '%s'\n" msgstr "已清除目录 '%s'\n" -#: builtin/submodule--helper.c:1130 +#: builtin/submodule--helper.c:1131 #, c-format msgid "Could not remove submodule work tree '%s'\n" msgstr "æ— æ³•ç§»é™¤åæ¨¡ç»„工作区 '%s'\n" -#: builtin/submodule--helper.c:1141 +#: builtin/submodule--helper.c:1142 #, c-format msgid "could not create empty submodule directory %s" msgstr "ä¸èƒ½åˆ›å»ºç©ºçš„忍¡ç»„目录 %s" -#: builtin/submodule--helper.c:1157 +#: builtin/submodule--helper.c:1158 #, c-format msgid "Submodule '%s' (%s) unregistered for path '%s'\n" msgstr "忍¡ç»„ '%s'(%s)未对路径 '%s' 注册\n" -#: builtin/submodule--helper.c:1186 +#: builtin/submodule--helper.c:1187 msgid "Remove submodule working trees even if they contain local changes" msgstr "åˆ é™¤åæ¨¡ç»„工作区,å³ä½¿åŒ…嫿œ¬åœ°ä¿®æ”¹" -#: builtin/submodule--helper.c:1187 +#: builtin/submodule--helper.c:1188 msgid "Unregister all submodules" msgstr "å°†æ‰€æœ‰åæ¨¡ç»„å–æ¶ˆæ³¨å†Œ" -#: builtin/submodule--helper.c:1192 +#: builtin/submodule--helper.c:1193 msgid "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]" msgstr "" "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]" -#: builtin/submodule--helper.c:1206 +#: builtin/submodule--helper.c:1207 msgid "Use '--all' if you really want to deinitialize all submodules" msgstr "如果您确实想è¦å¯¹æ‰€æœ‰åæ¨¡ç»„æ‰§è¡Œå–æ¶ˆåˆå§‹åŒ–,请使用 '--all'" -#: builtin/submodule--helper.c:1301 builtin/submodule--helper.c:1304 +#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305 #, c-format msgid "submodule '%s' cannot add alternate: %s" msgstr "忍¡ç»„ '%s' ä¸èƒ½æ·»åŠ ä»“åº“å¤‡é€‰ï¼š%s" -#: builtin/submodule--helper.c:1340 +#: builtin/submodule--helper.c:1341 #, c-format msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized" msgstr "ä¸èƒ½è¯†åˆ« submodule.alternateErrorStrategy çš„å–值 '%s'" -#: builtin/submodule--helper.c:1347 +#: builtin/submodule--helper.c:1348 #, c-format msgid "Value '%s' for submodule.alternateLocation is not recognized" msgstr "ä¸èƒ½è¯†åˆ« submodule.alternateLocaion çš„å–值 '%s'" -#: builtin/submodule--helper.c:1370 +#: builtin/submodule--helper.c:1371 msgid "where the new submodule will be cloned to" msgstr "æ–°çš„åæ¨¡ç»„å°†è¦å…‹éš†çš„路径" -#: builtin/submodule--helper.c:1373 +#: builtin/submodule--helper.c:1374 msgid "name of the new submodule" msgstr "æ–°åæ¨¡ç»„çš„åç§°" -#: builtin/submodule--helper.c:1376 +#: builtin/submodule--helper.c:1377 msgid "url where to clone the submodule from" msgstr "å…‹éš†åæ¨¡ç»„çš„ url 地å€" -#: builtin/submodule--helper.c:1384 +#: builtin/submodule--helper.c:1385 msgid "depth for shallow clones" msgstr "浅克隆的深度" -#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871 +#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872 msgid "force cloning progress" msgstr "强制显示克隆进度" -#: builtin/submodule--helper.c:1392 +#: builtin/submodule--helper.c:1393 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>" @@ -19120,108 +19564,108 @@ msgstr "" "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] " "[--name <åå—>] [--depth <深度>] --url <url> --path <路径>" -#: builtin/submodule--helper.c:1423 +#: builtin/submodule--helper.c:1424 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "æ— æ³•å…‹éš† '%s' åˆ°åæ¨¡ç»„路径 '%s'" -#: builtin/submodule--helper.c:1437 +#: builtin/submodule--helper.c:1438 #, c-format msgid "could not get submodule directory for '%s'" msgstr "æ— æ³•å¾—åˆ° '%s' çš„åæ¨¡ç»„目录" -#: builtin/submodule--helper.c:1473 +#: builtin/submodule--helper.c:1474 #, c-format msgid "Invalid update mode '%s' for submodule path '%s'" msgstr "忍¡ç»„ '%2$s' çš„æ›´æ–°æ¨¡å¼ '%1$s' æ— æ•ˆ" -#: builtin/submodule--helper.c:1477 +#: builtin/submodule--helper.c:1478 #, c-format msgid "Invalid update mode '%s' configured for submodule path '%s'" msgstr "ä¸ºåæ¨¡ç»„ '%2$s' é…ç½®çš„æ›´æ–°æ¨¡å¼ '%1$s' æ— æ•ˆ" -#: builtin/submodule--helper.c:1570 +#: builtin/submodule--helper.c:1571 #, c-format msgid "Submodule path '%s' not initialized" msgstr "忍¡ç»„ '%s' 尚未åˆå§‹åŒ–" -#: builtin/submodule--helper.c:1574 +#: builtin/submodule--helper.c:1575 msgid "Maybe you want to use 'update --init'?" msgstr "ä¹Ÿè®¸æ‚¨æƒ³è¦æ‰§è¡Œ 'update --init'?" -#: builtin/submodule--helper.c:1604 +#: builtin/submodule--helper.c:1605 #, c-format msgid "Skipping unmerged submodule %s" msgstr "略过未åˆå¹¶çš„忍¡ç»„ %s" -#: builtin/submodule--helper.c:1633 +#: builtin/submodule--helper.c:1634 #, c-format msgid "Skipping submodule '%s'" msgstr "ç•¥è¿‡åæ¨¡ç»„ '%s'" -#: builtin/submodule--helper.c:1777 +#: builtin/submodule--helper.c:1778 #, c-format msgid "Failed to clone '%s'. Retry scheduled" msgstr "克隆 '%s' 失败。按计划é‡è¯•" -#: builtin/submodule--helper.c:1788 +#: builtin/submodule--helper.c:1789 #, c-format msgid "Failed to clone '%s' a second time, aborting" msgstr "第二次å°è¯•克隆 '%s' 失败,退出" -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092 +#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093 msgid "path into the working tree" msgstr "到工作区的路径" -#: builtin/submodule--helper.c:1853 +#: builtin/submodule--helper.c:1854 msgid "path into the working tree, across nested submodule boundaries" msgstr "工作区ä¸çš„è·¯å¾„ï¼Œé€’å½’åµŒå¥—åæ¨¡ç»„" -#: builtin/submodule--helper.c:1857 +#: builtin/submodule--helper.c:1858 msgid "rebase, merge, checkout or none" msgstr "rebaseã€mergeã€checkout 或 none" -#: builtin/submodule--helper.c:1863 +#: builtin/submodule--helper.c:1864 msgid "Create a shallow clone truncated to the specified number of revisions" msgstr "创建一个指定深度的浅克隆" -#: builtin/submodule--helper.c:1866 +#: builtin/submodule--helper.c:1867 msgid "parallel jobs" msgstr "å¹¶å‘任务" -#: builtin/submodule--helper.c:1868 +#: builtin/submodule--helper.c:1869 msgid "whether the initial clone should follow the shallow recommendation" msgstr "åˆå§‹å…‹éš†æ˜¯å¦åº”该éµå®ˆæŽ¨è的浅克隆选项" -#: builtin/submodule--helper.c:1869 +#: builtin/submodule--helper.c:1870 msgid "don't print cloning progress" msgstr "ä¸è¦è¾“出克隆进度" -#: builtin/submodule--helper.c:1876 +#: builtin/submodule--helper.c:1877 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]" msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]" -#: builtin/submodule--helper.c:1889 +#: builtin/submodule--helper.c:1890 msgid "bad value for update parameter" msgstr "update 傿•°å–值错误" -#: builtin/submodule--helper.c:1937 +#: builtin/submodule--helper.c:1938 #, c-format msgid "" "Submodule (%s) branch configured to inherit branch from superproject, but " "the superproject is not on any branch" msgstr "忍¡ç»„(%s)的分支é…置为继承上级项目的分支,但是上级项目ä¸åœ¨ä»»ä½•分支上" -#: builtin/submodule--helper.c:2060 +#: builtin/submodule--helper.c:2061 #, c-format msgid "could not get a repository handle for submodule '%s'" msgstr "æ— æ³•èŽ·å¾—åæ¨¡ç»„ '%s' çš„ä»“åº“å¥æŸ„" -#: builtin/submodule--helper.c:2093 +#: builtin/submodule--helper.c:2094 msgid "recurse into submodules" msgstr "åœ¨åæ¨¡ç»„ä¸é€’å½’" -#: builtin/submodule--helper.c:2099 +#: builtin/submodule--helper.c:2100 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]" msgstr "git submodule--helper absorb-git-dirs [<选项>] [<路径>...]" @@ -19250,7 +19694,7 @@ msgstr "git submodule--helper config --check-writeable" msgid "please make sure that the .gitmodules file is in the working tree" msgstr "请确认 .gitmodules 文件在工作区里" -#: builtin/submodule--helper.c:2235 git.c:433 git.c:685 +#: builtin/submodule--helper.c:2235 git.c:434 git.c:684 #, c-format msgid "%s doesn't support --super-prefix" msgstr "%s 䏿”¯æŒ --super-prefix" @@ -19314,17 +19758,17 @@ msgstr "" msgid "git tag -v [--format=<format>] <tagname>..." msgstr "git tag -v [--format=<æ ¼å¼>] <æ ‡ç¾å>..." -#: builtin/tag.c:88 +#: builtin/tag.c:89 #, c-format msgid "tag '%s' not found." msgstr "未å‘çŽ°æ ‡ç¾ '%s'。" -#: builtin/tag.c:104 +#: builtin/tag.c:105 #, c-format msgid "Deleted tag '%s' (was %s)\n" msgstr "å·²åˆ é™¤æ ‡ç¾ '%s'(曾为 %s)\n" -#: builtin/tag.c:134 +#: builtin/tag.c:135 #, c-format msgid "" "\n" @@ -19337,7 +19781,7 @@ msgstr "" " %s\n" "以 '%c' 开头的行将被忽略。\n" -#: builtin/tag.c:138 +#: builtin/tag.c:139 #, c-format msgid "" "\n" @@ -19351,15 +19795,15 @@ msgstr "" " %s\n" "以 '%c' 开头的行将被ä¿ç•™ï¼Œå¦‚果您愿æ„也å¯ä»¥åˆ 除它们。\n" -#: builtin/tag.c:192 +#: builtin/tag.c:198 msgid "unable to sign the tag" msgstr "æ— æ³•ç¾ç½²æ ‡ç¾" -#: builtin/tag.c:194 +#: builtin/tag.c:200 msgid "unable to write tag file" msgstr "æ— æ³•å†™æ ‡ç¾æ–‡ä»¶" -#: builtin/tag.c:210 +#: builtin/tag.c:216 #, c-format msgid "" "You have created a nested tag. The object referred to by your new tag is\n" @@ -19372,138 +19816,138 @@ msgstr "" "\n" "\tgit tag -f %s %s^{}" -#: builtin/tag.c:226 +#: builtin/tag.c:232 msgid "bad object type." msgstr "å的对象类型。" -#: builtin/tag.c:278 +#: builtin/tag.c:284 msgid "no tag message?" msgstr "æ— æ ‡ç¾è¯´æ˜Žï¼Ÿ" -#: builtin/tag.c:285 +#: builtin/tag.c:291 #, c-format msgid "The tag message has been left in %s\n" msgstr "æ ‡ç¾è¯´æ˜Žè¢«ä¿ç•™åœ¨ %s\n" -#: builtin/tag.c:396 +#: builtin/tag.c:402 msgid "list tag names" msgstr "åˆ—å‡ºæ ‡ç¾åç§°" -#: builtin/tag.c:398 +#: builtin/tag.c:404 msgid "print <n> lines of each tag message" msgstr "æ¯ä¸ªæ ‡ç¾ä¿¡æ¯æ‰“å° <n> 行" -#: builtin/tag.c:400 +#: builtin/tag.c:406 msgid "delete tags" msgstr "åˆ é™¤æ ‡ç¾" -#: builtin/tag.c:401 +#: builtin/tag.c:407 msgid "verify tags" msgstr "éªŒè¯æ ‡ç¾" -#: builtin/tag.c:403 +#: builtin/tag.c:409 msgid "Tag creation options" msgstr "æ ‡ç¾åˆ›å»ºé€‰é¡¹" -#: builtin/tag.c:405 +#: builtin/tag.c:411 msgid "annotated tag, needs a message" msgstr "é™„æ³¨æ ‡ç¾ï¼Œéœ€è¦ä¸€ä¸ªè¯´æ˜Ž" -#: builtin/tag.c:407 +#: builtin/tag.c:413 msgid "tag message" msgstr "æ ‡ç¾è¯´æ˜Ž" -#: builtin/tag.c:409 +#: builtin/tag.c:415 msgid "force edit of tag message" msgstr "å¼ºåˆ¶ç¼–è¾‘æ ‡ç¾è¯´æ˜Ž" -#: builtin/tag.c:410 +#: builtin/tag.c:416 msgid "annotated and GPG-signed tag" msgstr "é™„æ³¨å¹¶é™„åŠ GPG ç¾åçš„æ ‡ç¾" -#: builtin/tag.c:413 +#: builtin/tag.c:419 msgid "use another key to sign the tag" msgstr "使用å¦å¤–çš„ç§é’¥ç¾åè¯¥æ ‡ç¾" -#: builtin/tag.c:414 +#: builtin/tag.c:420 msgid "replace the tag if exists" msgstr "如果å˜åœ¨ï¼Œæ›¿æ¢çŽ°æœ‰çš„æ ‡ç¾" -#: builtin/tag.c:415 builtin/update-ref.c:369 +#: builtin/tag.c:421 builtin/update-ref.c:369 msgid "create a reflog" msgstr "创建引用日志" -#: builtin/tag.c:417 +#: builtin/tag.c:423 msgid "Tag listing options" msgstr "æ ‡ç¾åˆ—表选项" -#: builtin/tag.c:418 +#: builtin/tag.c:424 msgid "show tag list in columns" msgstr "ä»¥åˆ—çš„æ–¹å¼æ˜¾ç¤ºæ ‡ç¾åˆ—表" -#: builtin/tag.c:419 builtin/tag.c:421 +#: builtin/tag.c:425 builtin/tag.c:427 msgid "print only tags that contain the commit" msgstr "åªæ‰“å°åŒ…å«è¯¥æäº¤çš„æ ‡ç¾" -#: builtin/tag.c:420 builtin/tag.c:422 +#: builtin/tag.c:426 builtin/tag.c:428 msgid "print only tags that don't contain the commit" msgstr "åªæ‰“å°ä¸åŒ…å«è¯¥æäº¤çš„æ ‡ç¾" -#: builtin/tag.c:423 +#: builtin/tag.c:429 msgid "print only tags that are merged" msgstr "åªæ‰“å°å·²ç»åˆå¹¶çš„æ ‡ç¾" -#: builtin/tag.c:424 +#: builtin/tag.c:430 msgid "print only tags that are not merged" msgstr "åªæ‰“å°å°šæœªåˆå¹¶çš„æ ‡ç¾" -#: builtin/tag.c:428 +#: builtin/tag.c:434 msgid "print only tags of the object" msgstr "åªæ‰“å°æŒ‡å‘è¯¥å¯¹è±¡çš„æ ‡ç¾" -#: builtin/tag.c:472 +#: builtin/tag.c:482 msgid "--column and -n are incompatible" msgstr "--column å’Œ -n ä¸å…¼å®¹" -#: builtin/tag.c:494 +#: builtin/tag.c:504 msgid "-n option is only allowed in list mode" msgstr "-n 选项åªå…许用在列表显示模å¼" -#: builtin/tag.c:496 +#: builtin/tag.c:506 msgid "--contains option is only allowed in list mode" msgstr "--contains 选项åªå…许用在列表显示模å¼" -#: builtin/tag.c:498 +#: builtin/tag.c:508 msgid "--no-contains option is only allowed in list mode" msgstr "--no-contains 选项åªå…许用在列表显示模å¼" -#: builtin/tag.c:500 +#: builtin/tag.c:510 msgid "--points-at option is only allowed in list mode" msgstr "--points-at 选项åªå…许用在列表显示模å¼" -#: builtin/tag.c:502 +#: builtin/tag.c:512 msgid "--merged and --no-merged options are only allowed in list mode" msgstr "--merged å’Œ --no-merged 选项åªå…许用在列表显示模å¼" -#: builtin/tag.c:513 +#: builtin/tag.c:523 msgid "only one -F or -m option is allowed." msgstr "åªå…许一个 -F 或 -m 选项。" -#: builtin/tag.c:532 +#: builtin/tag.c:542 msgid "too many params" msgstr "å¤ªå¤šå‚æ•°" -#: builtin/tag.c:538 +#: builtin/tag.c:548 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„æ ‡ç¾å称。" -#: builtin/tag.c:543 +#: builtin/tag.c:553 #, c-format msgid "tag '%s' already exists" msgstr "æ ‡ç¾ '%s' å·²å˜åœ¨" -#: builtin/tag.c:574 +#: builtin/tag.c:584 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "å·²æ›´æ–°æ ‡ç¾ '%s'(曾为 %s)\n" @@ -19813,15 +20257,15 @@ msgstr "如果 <目录> 䏿˜¯ä¸€ä¸ª Git 目录,ä¸è¦å°è¯• <目录>/.git/" msgid "interrupt transfer after <n> seconds of inactivity" msgstr "䏿´»åЍ <n> ç§’é’ŸåŽç»ˆæ¢ä¼ 输" -#: builtin/verify-commit.c:20 +#: builtin/verify-commit.c:19 msgid "git verify-commit [-v | --verbose] <commit>..." msgstr "git verify-commit [-v | --verbose] <æäº¤>..." -#: builtin/verify-commit.c:76 +#: builtin/verify-commit.c:68 msgid "print commit contents" msgstr "æ‰“å°æäº¤å†…å®¹" -#: builtin/verify-commit.c:77 builtin/verify-tag.c:38 +#: builtin/verify-commit.c:69 builtin/verify-tag.c:37 msgid "print raw gpg status output" msgstr "打å°åŽŸå§‹ gpg 状æ€è¾“出" @@ -19837,11 +20281,11 @@ msgstr "冗长输出" msgid "show statistics only" msgstr "åªæ˜¾ç¤ºç»Ÿè®¡" -#: builtin/verify-tag.c:19 +#: builtin/verify-tag.c:18 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..." msgstr "git verify-tag [-v | --verbose] [--format=<æ ¼å¼>] <æ ‡ç¾>..." -#: builtin/verify-tag.c:37 +#: builtin/verify-tag.c:36 msgid "print tag contents" msgstr "æ‰“å°æ ‡ç¾å†…容" @@ -19873,7 +20317,7 @@ msgstr "git worktree remove [<选项>] <工作区>" msgid "git worktree unlock <path>" msgstr "git worktree unlock <路径>" -#: builtin/worktree.c:61 builtin/worktree.c:891 +#: builtin/worktree.c:61 builtin/worktree.c:899 #, c-format msgid "failed to delete '%s'" msgstr "åˆ é™¤ '%s' 失败" @@ -19946,120 +20390,120 @@ msgstr "" "'%s' æ˜¯ä¸€ä¸ªä¸¢å¤±ä½†å·²ç»æ³¨å†Œçš„工作区,使用\n" "'add -f' 覆盖,或 'prune' 或 'remove' 清除" -#: builtin/worktree.c:302 +#: builtin/worktree.c:309 #, c-format msgid "could not create directory of '%s'" msgstr "ä¸èƒ½åˆ›å»ºç›®å½• '%s'" -#: builtin/worktree.c:432 builtin/worktree.c:438 +#: builtin/worktree.c:440 builtin/worktree.c:446 #, c-format msgid "Preparing worktree (new branch '%s')" msgstr "准备工作区(新分支 '%s')" -#: builtin/worktree.c:434 +#: builtin/worktree.c:442 #, c-format msgid "Preparing worktree (resetting branch '%s'; was at %s)" msgstr "准备工作区(é‡ç½®åˆ†æ”¯ '%s',之å‰ä¸º %s)" -#: builtin/worktree.c:443 +#: builtin/worktree.c:451 #, c-format msgid "Preparing worktree (checking out '%s')" msgstr "准备工作区(检出 '%s')" -#: builtin/worktree.c:449 +#: builtin/worktree.c:457 #, c-format msgid "Preparing worktree (detached HEAD %s)" msgstr "准备工作区(分离头指针 %s)" -#: builtin/worktree.c:490 +#: builtin/worktree.c:498 msgid "checkout <branch> even if already checked out in other worktree" msgstr "检出 <分支>,å³ä½¿å·²ç»è¢«æ£€å‡ºåˆ°å…¶å®ƒå·¥ä½œåŒº" -#: builtin/worktree.c:493 +#: builtin/worktree.c:501 msgid "create a new branch" msgstr "创建一个新分支" -#: builtin/worktree.c:495 +#: builtin/worktree.c:503 msgid "create or reset a branch" msgstr "创建或é‡ç½®ä¸€ä¸ªåˆ†æ”¯" -#: builtin/worktree.c:497 +#: builtin/worktree.c:505 msgid "populate the new working tree" msgstr "ç”Ÿæˆæ–°çš„工作区" -#: builtin/worktree.c:498 +#: builtin/worktree.c:506 msgid "keep the new working tree locked" msgstr "é”定新工作区" -#: builtin/worktree.c:501 +#: builtin/worktree.c:509 msgid "set up tracking mode (see git-branch(1))" msgstr "设置跟踪模å¼ï¼ˆå‚è§ git-branch(1))" -#: builtin/worktree.c:504 +#: builtin/worktree.c:512 msgid "try to match the new branch name with a remote-tracking branch" msgstr "å°è¯•为新分支å匹é…一个远程跟踪分支" -#: builtin/worktree.c:512 +#: builtin/worktree.c:520 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-bã€-B å’Œ --detach 是互斥的" -#: builtin/worktree.c:573 +#: builtin/worktree.c:581 msgid "--[no-]track can only be used if a new branch is created" msgstr "åªèƒ½åœ¨åˆ›å»ºæ–°åˆ†æ”¯æ—¶ä½¿ç”¨é€‰é¡¹ --[no-]track " -#: builtin/worktree.c:673 +#: builtin/worktree.c:681 msgid "reason for locking" msgstr "é”å®šåŽŸå› " -#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792 -#: builtin/worktree.c:919 +#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800 +#: builtin/worktree.c:927 #, c-format msgid "'%s' is not a working tree" msgstr "'%s' 䏿˜¯ä¸€ä¸ªå·¥ä½œåŒº" -#: builtin/worktree.c:687 builtin/worktree.c:720 +#: builtin/worktree.c:695 builtin/worktree.c:728 msgid "The main working tree cannot be locked or unlocked" msgstr "ä¸»å·¥ä½œåŒºæ— æ³•è¢«åŠ é”æˆ–è§£é”" -#: builtin/worktree.c:692 +#: builtin/worktree.c:700 #, c-format msgid "'%s' is already locked, reason: %s" msgstr "'%s' 已被é”å®šï¼ŒåŽŸå› ï¼š%s" -#: builtin/worktree.c:694 +#: builtin/worktree.c:702 #, c-format msgid "'%s' is already locked" msgstr "'%s' 已被é”定" -#: builtin/worktree.c:722 +#: builtin/worktree.c:730 #, c-format msgid "'%s' is not locked" msgstr "'%s' 未被é”定" -#: builtin/worktree.c:763 +#: builtin/worktree.c:771 msgid "working trees containing submodules cannot be moved or removed" msgstr "ä¸èƒ½ç§»åŠ¨æˆ–åˆ é™¤åŒ…å«å模组的工作区" -#: builtin/worktree.c:771 +#: builtin/worktree.c:779 msgid "force move even if worktree is dirty or locked" msgstr "强制移动,å³ä½¿å·¥ä½œåŒºæ˜¯è„的或已é”定" -#: builtin/worktree.c:794 builtin/worktree.c:921 +#: builtin/worktree.c:802 builtin/worktree.c:929 #, c-format msgid "'%s' is a main working tree" msgstr "'%s' 是一个主工作区" -#: builtin/worktree.c:799 +#: builtin/worktree.c:807 #, c-format msgid "could not figure out destination name from '%s'" msgstr "æ— æ³•ä»Ž '%s' ç®—å‡ºç›®æ ‡åç§°" -#: builtin/worktree.c:805 +#: builtin/worktree.c:813 #, c-format msgid "target '%s' already exists" msgstr "ç›®æ ‡ '%s' å·²å˜åœ¨" -#: builtin/worktree.c:813 +#: builtin/worktree.c:821 #, c-format msgid "" "cannot move a locked working tree, lock reason: %s\n" @@ -20068,7 +20512,7 @@ msgstr "" "æ— æ³•ç§»åŠ¨ä¸€ä¸ªé”定的工作区,é”å®šåŽŸå› ï¼š%s\n" "使用 'move -f -f' 覆盖或先解é”" -#: builtin/worktree.c:815 +#: builtin/worktree.c:823 msgid "" "cannot move a locked working tree;\n" "use 'move -f -f' to override or unlock first" @@ -20076,36 +20520,36 @@ msgstr "" "æ— æ³•ç§»åŠ¨ä¸€ä¸ªé”定的工作区,\n" "使用 'move -f -f' 覆盖或先解é”" -#: builtin/worktree.c:818 +#: builtin/worktree.c:826 #, c-format msgid "validation failed, cannot move working tree: %s" msgstr "验è¯å¤±è´¥ï¼Œæ— 法移动工作区:%s" -#: builtin/worktree.c:823 +#: builtin/worktree.c:831 #, c-format msgid "failed to move '%s' to '%s'" msgstr "移动 '%s' 到 '%s' 失败" -#: builtin/worktree.c:871 +#: builtin/worktree.c:879 #, c-format msgid "failed to run 'git status' on '%s'" msgstr "在 '%s' 䏿‰§è¡Œ 'git status' 失败" -#: builtin/worktree.c:875 +#: builtin/worktree.c:883 #, c-format msgid "'%s' is dirty, use --force to delete it" msgstr "'%s' 是è„的,使用 --force åˆ é™¤" -#: builtin/worktree.c:880 +#: builtin/worktree.c:888 #, c-format msgid "failed to run 'git status' on '%s', code %d" msgstr "在 '%s' 䏿‰§è¡Œ 'git status' 失败,退出ç %d" -#: builtin/worktree.c:903 +#: builtin/worktree.c:911 msgid "force removal even if worktree is dirty or locked" msgstr "å¼ºåˆ¶åˆ é™¤ï¼Œå³ä½¿å·¥ä½œåŒºæ˜¯è„的或已é”定" -#: builtin/worktree.c:926 +#: builtin/worktree.c:934 #, c-format msgid "" "cannot remove a locked working tree, lock reason: %s\n" @@ -20114,7 +20558,7 @@ msgstr "" "æ— æ³•åˆ é™¤ä¸€ä¸ªé”定的工作区,é”å®šåŽŸå› ï¼š%s\n" "使用 'remove -f -f' 覆盖或先解é”" -#: builtin/worktree.c:928 +#: builtin/worktree.c:936 msgid "" "cannot remove a locked working tree;\n" "use 'remove -f -f' to override or unlock first" @@ -20122,7 +20566,7 @@ msgstr "" "æ— æ³•åˆ é™¤ä¸€ä¸ªé”定的工作区,\n" "使用 'remove -f -f' 覆盖或先解é”" -#: builtin/worktree.c:931 +#: builtin/worktree.c:939 #, c-format msgid "validation failed, cannot remove working tree: %s" msgstr "验è¯å¤±è´¥ï¼Œæ— æ³•åˆ é™¤å·¥ä½œåŒºï¼š%s" @@ -20197,53 +20641,55 @@ msgstr "" msgid "" "'git help -a' and 'git help -g' list available subcommands and some\n" "concept guides. See 'git help <command>' or 'git help <concept>'\n" -"to read about a specific subcommand or concept." +"to read about a specific subcommand or concept.\n" +"See 'git help git' for an overview of the system." msgstr "" "命令 'git help -a' å’Œ 'git help -g' 显示å¯ç”¨çš„å命令和一些概念帮助。\n" "查看 'git help <命令>' 或 'git help <概念>' 以获å–给定å命令或概念的\n" -"帮助。" +"帮助。\n" +"有关系统的概述,查看 'git help git'。" -#: git.c:185 +#: git.c:186 #, c-format msgid "no directory given for --git-dir\n" msgstr "没有为 --git-dir æä¾›ç›®å½•\n" -#: git.c:199 +#: git.c:200 #, c-format msgid "no namespace given for --namespace\n" msgstr "没有为 --namespace æä¾›å‘½å空间\n" -#: git.c:213 +#: git.c:214 #, c-format msgid "no directory given for --work-tree\n" msgstr "没有为 --work-tree æä¾›ç›®å½•\n" -#: git.c:227 +#: git.c:228 #, c-format msgid "no prefix given for --super-prefix\n" msgstr "没有为 --super-prefix æä¾›å‰ç¼€\n" -#: git.c:249 +#: git.c:250 #, c-format msgid "-c expects a configuration string\n" msgstr "应为 -c æä¾›ä¸€ä¸ªé…ç½®å—符串\n" -#: git.c:287 +#: git.c:288 #, c-format msgid "no directory given for -C\n" msgstr "没有为 -C æä¾›ç›®å½•\n" -#: git.c:313 +#: git.c:314 #, c-format msgid "unknown option: %s\n" msgstr "未知选项:%s\n" -#: git.c:359 +#: git.c:360 #, c-format msgid "while expanding alias '%s': '%s'" msgstr "在扩展别å '%s' 时:'%s'" -#: git.c:368 +#: git.c:369 #, c-format msgid "" "alias '%s' changes environment variables.\n" @@ -20252,39 +20698,39 @@ msgstr "" "别å '%s' 修改环境å˜é‡ã€‚您å¯ä»¥ä½¿ç”¨åœ¨åˆ«åä¸\n" "使用 '!git'" -#: git.c:376 +#: git.c:377 #, c-format msgid "empty alias for %s" msgstr "%s 的空别å" -#: git.c:379 +#: git.c:380 #, c-format msgid "recursive alias: %s" msgstr "递归的别å:%s" -#: git.c:459 +#: git.c:460 msgid "write failure on standard output" msgstr "åœ¨æ ‡å‡†è¾“å‡ºå†™å…¥å¤±è´¥" -#: git.c:461 +#: git.c:462 msgid "unknown write failure on standard output" msgstr "åˆ°æ ‡å‡†è¾“å‡ºçš„æœªçŸ¥å†™å…¥é”™è¯¯" -#: git.c:463 +#: git.c:464 msgid "close failed on standard output" msgstr "æ ‡å‡†è¾“å‡ºå…³é—失败" -#: git.c:797 +#: git.c:793 #, c-format msgid "alias loop detected: expansion of '%s' does not terminate:%s" msgstr "检测到别å循环:'%s'的扩展未终æ¢ï¼š%s" -#: git.c:847 +#: git.c:843 #, c-format msgid "cannot handle %s as a builtin" msgstr "ä¸èƒ½ä½œä¸ºå†…ç½®å‘½ä»¤å¤„ç† %s" -#: git.c:860 +#: git.c:856 #, c-format msgid "" "usage: %s\n" @@ -20293,12 +20739,12 @@ msgstr "" "用法:%s\n" "\n" -#: git.c:880 +#: git.c:876 #, c-format msgid "expansion of alias '%s' failed; '%s' is not a git command\n" msgstr "展开别å命令 '%s' 失败,'%s' 䏿˜¯ä¸€ä¸ª git 命令\n" -#: git.c:892 +#: git.c:888 #, c-format msgid "failed to run command '%s': %s\n" msgstr "è¿è¡Œå‘½ä»¤ '%s' 失败:%s\n" @@ -20475,19 +20921,19 @@ msgstr "到期时间" msgid "no-op (backward compatibility)" msgstr "空æ“作(å‘åŽå…¼å®¹ï¼‰" -#: parse-options.h:304 +#: parse-options.h:305 msgid "be more verbose" msgstr "æ›´åŠ è¯¦ç»†" -#: parse-options.h:306 +#: parse-options.h:307 msgid "be more quiet" msgstr "æ›´åŠ å®‰é™" -#: parse-options.h:312 +#: parse-options.h:313 msgid "use <n> digits to display SHA-1s" msgstr "用 <n> 使•°å—显示 SHA-1 哈希值" -#: parse-options.h:331 +#: parse-options.h:332 msgid "how to strip spaces and #comments from message" msgstr "è®¾ç½®å¦‚ä½•åˆ é™¤æäº¤è¯´æ˜Žé‡Œçš„ç©ºæ ¼å’Œ#注释" @@ -20503,6 +20949,14 @@ msgstr "排åºçš„å—æ®µå" msgid "update the index with reused conflict resolution if possible" msgstr "如果å¯èƒ½ï¼Œé‡ç”¨å†²çªè§£å†³æ›´æ–°ç´¢å¼•" +#: wt-status.h:67 +msgid "HEAD detached at " +msgstr "头指针分离于 " + +#: wt-status.h:68 +msgid "HEAD detached from " +msgstr "头指针分离自 " + #: command-list.h:50 msgid "Add file contents to the index" msgstr "æ·»åŠ æ–‡ä»¶å†…å®¹è‡³ç´¢å¼•" @@ -20929,214 +21383,222 @@ msgid "Reset current HEAD to the specified state" msgstr "é‡ç½®å½“å‰ HEAD 到指定状æ€" #: command-list.h:156 +msgid "Restore working tree files" +msgstr "æ¢å¤å·¥ä½œåŒºæ–‡ä»¶" + +#: command-list.h:157 msgid "Revert some existing commits" msgstr "å›žé€€ä¸€äº›çŽ°å˜æäº¤" -#: command-list.h:157 +#: command-list.h:158 msgid "Lists commit objects in reverse chronological order" msgstr "按时间顺åºåˆ—出æäº¤å¯¹è±¡" -#: command-list.h:158 +#: command-list.h:159 msgid "Pick out and massage parameters" msgstr "选出并处ç†å‚æ•°" -#: command-list.h:159 +#: command-list.h:160 msgid "Remove files from the working tree and from the index" msgstr "从工作区和索引ä¸åˆ 除文件" -#: command-list.h:160 +#: command-list.h:161 msgid "Send a collection of patches as emails" msgstr "通过电å邮件å‘é€ä¸€ç»„è¡¥ä¸" -#: command-list.h:161 +#: command-list.h:162 msgid "Push objects over Git protocol to another repository" msgstr "使用 Git å议推é€å¯¹è±¡åˆ°å¦ä¸€ä¸ªä»“库" -#: command-list.h:162 +#: command-list.h:163 msgid "Restricted login shell for Git-only SSH access" msgstr "åªå…许 Git SSH 访问的å—é™ç™»å½•shell" -#: command-list.h:163 +#: command-list.h:164 msgid "Summarize 'git log' output" msgstr "'git log' 输出摘è¦" -#: command-list.h:164 +#: command-list.h:165 msgid "Show various types of objects" msgstr "显示å„ç§ç±»åž‹çš„对象" -#: command-list.h:165 +#: command-list.h:166 msgid "Show branches and their commits" msgstr "显示分支和æäº¤" -#: command-list.h:166 +#: command-list.h:167 msgid "Show packed archive index" msgstr "显示打包归档索引" -#: command-list.h:167 +#: command-list.h:168 msgid "List references in a local repository" msgstr "显示本地仓库ä¸çš„引用" -#: command-list.h:168 +#: command-list.h:169 msgid "Git's i18n setup code for shell scripts" msgstr "为 shell 脚本准备的 Git 国际化设置代ç " -#: command-list.h:169 +#: command-list.h:170 msgid "Common Git shell script setup code" msgstr "常用的 Git shell 脚本设置代ç " -#: command-list.h:170 +#: command-list.h:171 msgid "Stash the changes in a dirty working directory away" msgstr "è´®è—è„工作区ä¸çš„修改" -#: command-list.h:171 +#: command-list.h:172 msgid "Add file contents to the staging area" msgstr "å°†æ–‡ä»¶å†…å®¹æ·»åŠ åˆ°ç´¢å¼•" -#: command-list.h:172 +#: command-list.h:173 msgid "Show the working tree status" msgstr "显示工作区状æ€" -#: command-list.h:173 +#: command-list.h:174 msgid "Remove unnecessary whitespace" msgstr "åˆ é™¤ä¸å¿…è¦çš„空白å—符" -#: command-list.h:174 +#: command-list.h:175 msgid "Initialize, update or inspect submodules" msgstr "åˆå§‹åŒ–ã€æ›´æ–°æˆ–æ£€æŸ¥åæ¨¡ç»„" -#: command-list.h:175 +#: command-list.h:176 msgid "Bidirectional operation between a Subversion repository and Git" msgstr "Subersion 仓库和 Git 之间的åŒå‘æ“作" -#: command-list.h:176 +#: command-list.h:177 +msgid "Switch branches" +msgstr "切æ¢åˆ†æ”¯" + +#: command-list.h:178 msgid "Read, modify and delete symbolic refs" msgstr "读å–ã€ä¿®æ”¹å’Œåˆ 除符å·å¼•用" -#: command-list.h:177 +#: command-list.h:179 msgid "Create, list, delete or verify a tag object signed with GPG" msgstr "创建ã€åˆ—出ã€åˆ é™¤æˆ–æ ¡éªŒä¸€ä¸ª GPG ç¾åçš„æ ‡ç¾å¯¹è±¡" -#: command-list.h:178 +#: command-list.h:180 msgid "Creates a temporary file with a blob's contents" msgstr "用 blob æ•°æ®å¯¹è±¡çš„内容创建一个临时文件" -#: command-list.h:179 +#: command-list.h:181 msgid "Unpack objects from a packed archive" msgstr "从打包文件ä¸è§£åŽ‹ç¼©å¯¹è±¡" -#: command-list.h:180 +#: command-list.h:182 msgid "Register file contents in the working tree to the index" msgstr "将工作区的文件内容注册到索引" -#: command-list.h:181 +#: command-list.h:183 msgid "Update the object name stored in a ref safely" msgstr "安全地更新å˜å‚¨äºŽå¼•用ä¸çš„对象åç§°" -#: command-list.h:182 +#: command-list.h:184 msgid "Update auxiliary info file to help dumb servers" msgstr "æ›´æ–°è¾…åŠ©ä¿¡æ¯æ–‡ä»¶ä»¥å¸®åЩ哑åè®®æœåŠ¡" -#: command-list.h:183 +#: command-list.h:185 msgid "Send archive back to git-archive" msgstr "å°†å˜æ¡£å‘é€å›ž git-archive" -#: command-list.h:184 +#: command-list.h:186 msgid "Send objects packed back to git-fetch-pack" msgstr "将对象压缩包å‘é€å›ž git-fetch-pack" -#: command-list.h:185 +#: command-list.h:187 msgid "Show a Git logical variable" msgstr "显示一个Git逻辑å˜é‡" -#: command-list.h:186 +#: command-list.h:188 msgid "Check the GPG signature of commits" msgstr "检查 GPG æäº¤ç¾å" -#: command-list.h:187 +#: command-list.h:189 msgid "Validate packed Git archive files" msgstr "æ ¡éªŒæ‰“åŒ…çš„Gitå˜ä»“文件" -#: command-list.h:188 +#: command-list.h:190 msgid "Check the GPG signature of tags" msgstr "æ£€æŸ¥æ ‡ç¾çš„ GPG ç¾å" -#: command-list.h:189 +#: command-list.h:191 msgid "Git web interface (web frontend to Git repositories)" msgstr "Git web 界é¢ï¼ˆGit 仓库的 web å‰ç«¯ï¼‰" -#: command-list.h:190 +#: command-list.h:192 msgid "Show logs with difference each commit introduces" msgstr "显示æ¯ä¸€ä¸ªæäº¤å¼•入的差异日志" -#: command-list.h:191 +#: command-list.h:193 msgid "Manage multiple working trees" msgstr "管ç†å¤šä¸ªå·¥ä½œåŒº" -#: command-list.h:192 +#: command-list.h:194 msgid "Create a tree object from the current index" msgstr "从当å‰ç´¢å¼•åˆ›å»ºä¸€ä¸ªæ ‘å¯¹è±¡" -#: command-list.h:193 +#: command-list.h:195 msgid "Defining attributes per path" msgstr "定义路径的属性" -#: command-list.h:194 +#: command-list.h:196 msgid "Git command-line interface and conventions" msgstr "Git 命令行界é¢å’Œçº¦å®š" -#: command-list.h:195 +#: command-list.h:197 msgid "A Git core tutorial for developers" msgstr "é¢å‘å¼€å‘人员的 Git æ ¸å¿ƒæ•™ç¨‹" -#: command-list.h:196 +#: command-list.h:198 msgid "Git for CVS users" msgstr "é€‚åˆ CVS 用户的 Git 帮助" -#: command-list.h:197 +#: command-list.h:199 msgid "Tweaking diff output" msgstr "调整差异输出" -#: command-list.h:198 +#: command-list.h:200 msgid "A useful minimum set of commands for Everyday Git" msgstr "æ¯ä¸€å¤© Git 的一组有用的最å°å‘½ä»¤é›†åˆ" -#: command-list.h:199 +#: command-list.h:201 msgid "A Git Glossary" msgstr "Git è¯æ±‡è¡¨" -#: command-list.h:200 +#: command-list.h:202 msgid "Hooks used by Git" msgstr "Git 使用的钩å" -#: command-list.h:201 +#: command-list.h:203 msgid "Specifies intentionally untracked files to ignore" msgstr "忽略指定的未跟踪文件" -#: command-list.h:202 +#: command-list.h:204 msgid "Defining submodule properties" msgstr "å®šä¹‰åæ¨¡ç»„属性" -#: command-list.h:203 +#: command-list.h:205 msgid "Git namespaces" msgstr "Git åå—空间" -#: command-list.h:204 +#: command-list.h:206 msgid "Git Repository Layout" msgstr "Git 仓库布局" -#: command-list.h:205 +#: command-list.h:207 msgid "Specifying revisions and ranges for Git" msgstr "指定 Git 的版本和版本范围" -#: command-list.h:206 +#: command-list.h:208 msgid "A tutorial introduction to Git: part two" msgstr "一个 Git 教程:第二部分" -#: command-list.h:207 +#: command-list.h:209 msgid "A tutorial introduction to Git" msgstr "一个 Git 教程" -#: command-list.h:208 +#: command-list.h:210 msgid "An overview of recommended workflows with Git" msgstr "Git 推èçš„å·¥ä½œæµæ¦‚览" @@ -21538,12 +22000,21 @@ msgstr " è¦å‘Šï¼š$display_name æœªåŒ…å«æäº¤ $sha1_src å’Œ $sha1_dst" msgid "See git-${cmd}(1) for details." msgstr "è¯¦è§ git-${cmd}(1)。" -#: git-rebase--preserve-merges.sh:136 +#: git-rebase--preserve-merges.sh:109 +msgid "Applied autostash." +msgstr "已应用 autostash。" + +#: git-rebase--preserve-merges.sh:112 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "ä¸èƒ½å˜å‚¨ $stash_sha1" + +#: git-rebase--preserve-merges.sh:191 #, sh-format msgid "Rebasing ($new_count/$total)" msgstr "å˜åŸºä¸ï¼ˆ$new_count/$total)" -#: git-rebase--preserve-merges.sh:152 +#: git-rebase--preserve-merges.sh:207 msgid "" "\n" "Commands:\n" @@ -21581,7 +22052,7 @@ msgstr "" "\n" "å¯ä»¥å¯¹è¿™äº›è¡Œé‡æ–°æŽ’åºï¼Œå°†ä»Žä¸Šè‡³ä¸‹æ‰§è¡Œã€‚\n" -#: git-rebase--preserve-merges.sh:215 +#: git-rebase--preserve-merges.sh:270 #, sh-format msgid "" "You can amend the commit now, with\n" @@ -21600,83 +22071,83 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:240 +#: git-rebase--preserve-merges.sh:295 #, sh-format msgid "$sha1: not a commit that can be picked" msgstr "$sha1ï¼šä¸æ˜¯ä¸€ä¸ªå¯ä»¥è¢«æ‹£é€‰çš„æäº¤" -#: git-rebase--preserve-merges.sh:279 +#: git-rebase--preserve-merges.sh:334 #, sh-format msgid "Invalid commit name: $sha1" msgstr "æ— æ•ˆçš„æäº¤å:$sha1" -#: git-rebase--preserve-merges.sh:309 +#: git-rebase--preserve-merges.sh:364 msgid "Cannot write current commit's replacement sha1" msgstr "ä¸èƒ½å†™å…¥å½“å‰æäº¤çš„æ›¿ä»£ sha1" -#: git-rebase--preserve-merges.sh:360 +#: git-rebase--preserve-merges.sh:415 #, sh-format msgid "Fast-forward to $sha1" msgstr "快进到 $sha1" -#: git-rebase--preserve-merges.sh:362 +#: git-rebase--preserve-merges.sh:417 #, sh-format msgid "Cannot fast-forward to $sha1" msgstr "ä¸èƒ½å¿«è¿›åˆ° $sha1" -#: git-rebase--preserve-merges.sh:371 +#: git-rebase--preserve-merges.sh:426 #, sh-format msgid "Cannot move HEAD to $first_parent" msgstr "ä¸èƒ½ç§»åЍ HEAD 到 $first_parent" -#: git-rebase--preserve-merges.sh:376 +#: git-rebase--preserve-merges.sh:431 #, sh-format msgid "Refusing to squash a merge: $sha1" msgstr "æ‹’ç»åŽ‹ç¼©ä¸€ä¸ªåˆå¹¶ï¼š$sha1" -#: git-rebase--preserve-merges.sh:394 +#: git-rebase--preserve-merges.sh:449 #, sh-format msgid "Error redoing merge $sha1" msgstr "æ— æ³•é‡åšåˆå¹¶ $sha1" -#: git-rebase--preserve-merges.sh:403 +#: git-rebase--preserve-merges.sh:458 #, sh-format msgid "Could not pick $sha1" msgstr "ä¸èƒ½æ‹£é€‰ $sha1" -#: git-rebase--preserve-merges.sh:412 +#: git-rebase--preserve-merges.sh:467 #, sh-format msgid "This is the commit message #${n}:" msgstr "这是æäº¤è¯´æ˜Ž #${n}:" -#: git-rebase--preserve-merges.sh:417 +#: git-rebase--preserve-merges.sh:472 #, sh-format msgid "The commit message #${n} will be skipped:" msgstr "æäº¤è¯´æ˜Ž #${n} 将被跳过:" -#: git-rebase--preserve-merges.sh:428 +#: git-rebase--preserve-merges.sh:483 #, sh-format msgid "This is a combination of $count commit." msgid_plural "This is a combination of $count commits." msgstr[0] "这是一个 $count 个æäº¤çš„组åˆã€‚" msgstr[1] "这是一个 $count 个æäº¤çš„组åˆã€‚" -#: git-rebase--preserve-merges.sh:437 +#: git-rebase--preserve-merges.sh:492 #, sh-format msgid "Cannot write $fixup_msg" msgstr "ä¸èƒ½å†™å…¥ $fixup_msg" -#: git-rebase--preserve-merges.sh:440 +#: git-rebase--preserve-merges.sh:495 msgid "This is a combination of 2 commits." msgstr "这是一个 2 个æäº¤çš„组åˆã€‚" -#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524 -#: git-rebase--preserve-merges.sh:527 +#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579 +#: git-rebase--preserve-merges.sh:582 #, sh-format msgid "Could not apply $sha1... $rest" msgstr "ä¸èƒ½åº”用 $sha1... $rest" -#: git-rebase--preserve-merges.sh:556 +#: git-rebase--preserve-merges.sh:611 #, sh-format msgid "" "Could not amend commit after successfully picking $sha1... $rest\n" @@ -21689,32 +22160,32 @@ msgstr "" "è¿™é€šå¸¸æ˜¯å› ä¸ºç©ºçš„æäº¤è¯´æ˜Žï¼Œæˆ–者 pre-commit 钩忉§è¡Œå¤±è´¥ã€‚如果是 pre-commit\n" "钩忉§è¡Œå¤±è´¥ï¼Œä½ å¯èƒ½éœ€è¦åœ¨é‡å†™æäº¤è¯´æ˜Žå‰è§£å†³è¿™ä¸ªé—®é¢˜ã€‚" -#: git-rebase--preserve-merges.sh:571 +#: git-rebase--preserve-merges.sh:626 #, sh-format msgid "Stopped at $sha1_abbrev... $rest" msgstr "åœæ¢åœ¨ $sha1_abbrev... $rest" -#: git-rebase--preserve-merges.sh:586 +#: git-rebase--preserve-merges.sh:641 #, sh-format msgid "Cannot '$squash_style' without a previous commit" msgstr "没有父æäº¤çš„æƒ…况下ä¸èƒ½ '$squash_style'" -#: git-rebase--preserve-merges.sh:628 +#: git-rebase--preserve-merges.sh:683 #, sh-format msgid "Executing: $rest" msgstr "执行:$rest" -#: git-rebase--preserve-merges.sh:636 +#: git-rebase--preserve-merges.sh:691 #, sh-format msgid "Execution failed: $rest" msgstr "执行失败:$rest" -#: git-rebase--preserve-merges.sh:638 +#: git-rebase--preserve-merges.sh:693 msgid "and made changes to the index and/or the working tree" msgstr "并且修改索引和/或工作区" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: git-rebase--preserve-merges.sh:640 +#: git-rebase--preserve-merges.sh:695 msgid "" "You can fix the problem, and then run\n" "\n" @@ -21725,7 +22196,7 @@ msgstr "" "\tgit rebase --continue" #. TRANSLATORS: after these lines is a command to be issued by the user -#: git-rebase--preserve-merges.sh:653 +#: git-rebase--preserve-merges.sh:708 #, sh-format msgid "" "Execution succeeded: $rest\n" @@ -21739,25 +22210,25 @@ msgstr "" "\n" "\tgit rebase --continue" -#: git-rebase--preserve-merges.sh:664 +#: git-rebase--preserve-merges.sh:719 #, sh-format msgid "Unknown command: $command $sha1 $rest" msgstr "未知命令:$command $sha1 $rest" -#: git-rebase--preserve-merges.sh:665 +#: git-rebase--preserve-merges.sh:720 msgid "Please fix this using 'git rebase --edit-todo'." msgstr "è¦ä¿®æ”¹è¯·ä½¿ç”¨å‘½ä»¤ 'git rebase --edit-todo'。" -#: git-rebase--preserve-merges.sh:700 +#: git-rebase--preserve-merges.sh:755 #, sh-format msgid "Successfully rebased and updated $head_name." msgstr "æˆåŠŸå˜åŸºå¹¶æ›´æ–° $head_name。" -#: git-rebase--preserve-merges.sh:757 +#: git-rebase--preserve-merges.sh:812 msgid "Could not remove CHERRY_PICK_HEAD" msgstr "ä¸èƒ½åˆ 除 CHERRY_PICK_HEAD" -#: git-rebase--preserve-merges.sh:762 +#: git-rebase--preserve-merges.sh:817 #, sh-format msgid "" "You have staged changes in your working tree.\n" @@ -21786,51 +22257,51 @@ msgstr "" "\n" " git rebase --continue\n" -#: git-rebase--preserve-merges.sh:779 +#: git-rebase--preserve-merges.sh:834 msgid "Error trying to find the author identity to amend commit" msgstr "在修补æäº¤ä¸æŸ¥æ‰¾ä½œè€…ä¿¡æ¯æ—¶é‡åˆ°é”™è¯¯" -#: git-rebase--preserve-merges.sh:784 +#: git-rebase--preserve-merges.sh:839 msgid "" "You have uncommitted changes in your working tree. Please commit them\n" "first and then run 'git rebase --continue' again." msgstr "" "æ‚¨çš„å·¥ä½œåŒºä¸æœ‰æœªæäº¤çš„å˜æ›´ã€‚请先æäº¤ç„¶åŽå†æ¬¡è¿è¡Œ 'git rebase --continue'。" -#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793 +#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848 msgid "Could not commit staged changes." msgstr "ä¸èƒ½æäº¤æš‚å˜çš„修改。" -#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910 +#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965 msgid "Could not execute editor" msgstr "æ— æ³•è¿è¡Œç¼–辑器" -#: git-rebase--preserve-merges.sh:845 +#: git-rebase--preserve-merges.sh:900 #, sh-format msgid "Could not checkout $switch_to" msgstr "ä¸èƒ½æ£€å‡º $switch_to" -#: git-rebase--preserve-merges.sh:852 +#: git-rebase--preserve-merges.sh:907 msgid "No HEAD?" msgstr "没有 HEAD?" -#: git-rebase--preserve-merges.sh:853 +#: git-rebase--preserve-merges.sh:908 #, sh-format msgid "Could not create temporary $state_dir" msgstr "ä¸èƒ½åˆ›å»ºä¸´æ—¶ $state_dir" -#: git-rebase--preserve-merges.sh:856 +#: git-rebase--preserve-merges.sh:911 msgid "Could not mark as interactive" msgstr "ä¸èƒ½æ ‡è®°ä¸ºäº¤äº’å¼" -#: git-rebase--preserve-merges.sh:888 +#: git-rebase--preserve-merges.sh:943 #, sh-format msgid "Rebase $shortrevisions onto $shortonto ($todocount command)" msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)" msgstr[0] "å˜åŸº $shortrevisions 到 $shortonto($todocount 个æäº¤ï¼‰" msgstr[1] "å˜åŸº $shortrevisions 到 $shortonto($todocount 个æäº¤ï¼‰" -#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947 +#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002 msgid "Could not init rewritten commits" msgstr "ä¸èƒ½å¯¹é‡å†™æäº¤è¿›è¡Œåˆå§‹åŒ–" @@ -21892,120 +22363,122 @@ msgid "Unable to determine absolute path of git directory" msgstr "ä¸èƒ½ç¡®å®š git 目录的ç»å¯¹è·¯å¾„" #. TRANSLATORS: you can adjust this to align "git add -i" status menu -#: git-add--interactive.perl:196 +#: git-add--interactive.perl:210 #, perl-format msgid "%12s %12s %s" msgstr "%12s %12s %s" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "staged" msgstr "缓å˜" -#: git-add--interactive.perl:197 +#: git-add--interactive.perl:211 msgid "unstaged" msgstr "未缓å˜" -#: git-add--interactive.perl:253 git-add--interactive.perl:278 +#: git-add--interactive.perl:267 git-add--interactive.perl:292 msgid "binary" msgstr "二进制" -#: git-add--interactive.perl:262 git-add--interactive.perl:316 +#: git-add--interactive.perl:276 git-add--interactive.perl:330 msgid "nothing" msgstr "æ— " -#: git-add--interactive.perl:298 git-add--interactive.perl:313 +#: git-add--interactive.perl:312 git-add--interactive.perl:327 msgid "unchanged" msgstr "没有修改" -#: git-add--interactive.perl:609 +#: git-add--interactive.perl:623 #, perl-format msgid "added %d path\n" msgid_plural "added %d paths\n" msgstr[0] "å¢žåŠ äº† %d 个路径\n" msgstr[1] "å¢žåŠ äº† %d 个路径\n" -#: git-add--interactive.perl:612 +#: git-add--interactive.perl:626 #, perl-format msgid "updated %d path\n" msgid_plural "updated %d paths\n" msgstr[0] "更新了 %d 个路径\n" msgstr[1] "更新了 %d 个路径\n" -#: git-add--interactive.perl:615 +#: git-add--interactive.perl:629 #, perl-format msgid "reverted %d path\n" msgid_plural "reverted %d paths\n" msgstr[0] "还原了 %d 个路径\n" msgstr[1] "还原了 %d 个路径\n" -#: git-add--interactive.perl:618 +#: git-add--interactive.perl:632 #, perl-format msgid "touched %d path\n" msgid_plural "touched %d paths\n" msgstr[0] "触碰了 %d 个路径\n" msgstr[1] "触碰了 %d 个路径\n" -#: git-add--interactive.perl:627 +#: git-add--interactive.perl:641 msgid "Update" msgstr "æ›´æ–°" -#: git-add--interactive.perl:639 +#: git-add--interactive.perl:653 msgid "Revert" msgstr "还原" -#: git-add--interactive.perl:662 +#: git-add--interactive.perl:676 #, perl-format msgid "note: %s is untracked now.\n" msgstr "说明:%s 现已æˆä¸ºæœªè·Ÿè¸ªçš„。\n" -#: git-add--interactive.perl:673 +#: git-add--interactive.perl:687 msgid "Add untracked" msgstr "æ·»åŠ æœªè·Ÿè¸ªçš„" -#: git-add--interactive.perl:679 +#: git-add--interactive.perl:693 msgid "No untracked files.\n" msgstr "没有未跟踪的文件。\n" -#: git-add--interactive.perl:1033 +#: git-add--interactive.perl:1051 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for staging." msgstr "如果补ä¸èƒ½å¹²å‡€åœ°åº”用,编辑å—å°†ç«‹å³æ ‡è®°ä¸ºæš‚å˜ã€‚" -#: git-add--interactive.perl:1036 +#: git-add--interactive.perl:1054 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for stashing." msgstr "如果补ä¸èƒ½å¹²å‡€åœ°åº”用,编辑å—å°†ç«‹å³æ ‡è®°ä¸ºè´®è—。" -#: git-add--interactive.perl:1039 +#: git-add--interactive.perl:1057 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for unstaging." msgstr "如果补ä¸èƒ½å¹²å‡€åœ°åº”用,编辑å—å°†ç«‹å³æ ‡è®°ä¸ºæœªæš‚å˜ã€‚" -#: git-add--interactive.perl:1042 git-add--interactive.perl:1051 +#: git-add--interactive.perl:1060 git-add--interactive.perl:1069 +#: git-add--interactive.perl:1075 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for applying." msgstr "如果补ä¸èƒ½å¹²å‡€åœ°åº”用,编辑å—å°†ç«‹å³æ ‡è®°ä¸ºåº”用。" -#: git-add--interactive.perl:1045 git-add--interactive.perl:1048 +#: git-add--interactive.perl:1063 git-add--interactive.perl:1066 +#: git-add--interactive.perl:1072 msgid "" "If the patch applies cleanly, the edited hunk will immediately be\n" "marked for discarding." msgstr "如果补ä¸èƒ½å¹²å‡€åœ°åº”用,编辑å—å°†ç«‹å³æ ‡è®°ä¸ºä¸¢å¼ƒã€‚" -#: git-add--interactive.perl:1085 +#: git-add--interactive.perl:1109 #, perl-format msgid "failed to open hunk edit file for writing: %s" msgstr "为写入打开å—编辑文件失败:%s" -#: git-add--interactive.perl:1086 +#: git-add--interactive.perl:1110 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" msgstr "手动å—ç¼–è¾‘æ¨¡å¼ -- 查看底部的快速指å—。\n" -#: git-add--interactive.perl:1092 +#: git-add--interactive.perl:1116 #, perl-format msgid "" "---\n" @@ -22019,7 +22492,7 @@ msgstr "" "以 %s å¼€å§‹çš„è¡Œå°†è¢«åˆ é™¤ã€‚\n" #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. -#: git-add--interactive.perl:1100 +#: git-add--interactive.perl:1124 msgid "" "If it does not apply cleanly, you will be given an opportunity to\n" "edit again. If all lines of the hunk are removed, then the edit is\n" @@ -22028,7 +22501,7 @@ msgstr "" "如果ä¸èƒ½å¹²å‡€åœ°åº”ç”¨ï¼Œæ‚¨å°†æœ‰æœºä¼šé‡æ–°ç¼–辑。如果该å—çš„å…¨éƒ¨å†…å®¹åˆ é™¤ï¼Œåˆ™\n" "æ¤æ¬¡ç¼–辑被终æ¢ï¼Œè¯¥å—ä¸ä¼šè¢«ä¿®æ”¹ã€‚\n" -#: git-add--interactive.perl:1114 +#: git-add--interactive.perl:1138 #, perl-format msgid "failed to open hunk edit file for reading: %s" msgstr "æ— æ³•è¯»å–å—编辑文件:%s" @@ -22039,12 +22512,12 @@ msgstr "æ— æ³•è¯»å–å—编辑文件:%s" #. Consider translating (saying "no" discards!) as #. (saying "n" for "no" discards!) if the translation #. of the word "no" does not start with n. -#: git-add--interactive.perl:1213 +#: git-add--interactive.perl:1237 msgid "" "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " msgstr "您的编辑å—ä¸èƒ½è¢«åº”ç”¨ã€‚é‡æ–°ç¼–辑(选择 \"no\" 丢弃ï¼ï¼‰ [y/n]? " -#: git-add--interactive.perl:1222 +#: git-add--interactive.perl:1246 msgid "" "y - stage this hunk\n" "n - do not stage this hunk\n" @@ -22058,7 +22531,7 @@ msgstr "" "a - æš‚å˜è¯¥å—和本文件ä¸åŽé¢çš„全部å—\n" "d - 䏿š‚å˜è¯¥å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1228 +#: git-add--interactive.perl:1252 msgid "" "y - stash this hunk\n" "n - do not stash this hunk\n" @@ -22072,7 +22545,7 @@ msgstr "" "a - è´®è—该å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è´®è—该å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1234 +#: git-add--interactive.perl:1258 msgid "" "y - unstage this hunk\n" "n - do not unstage this hunk\n" @@ -22086,7 +22559,7 @@ msgstr "" "a - 䏿š‚å˜è¯¥å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è¦ä¸æš‚å˜è¯¥å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1240 +#: git-add--interactive.perl:1264 msgid "" "y - apply this hunk to index\n" "n - do not apply this hunk to index\n" @@ -22100,7 +22573,7 @@ msgstr "" "a - 应用该å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è¦åº”用该å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1246 +#: git-add--interactive.perl:1270 git-add--interactive.perl:1288 msgid "" "y - discard this hunk from worktree\n" "n - do not discard this hunk from worktree\n" @@ -22114,7 +22587,7 @@ msgstr "" "a - 丢弃该å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è¦ä¸¢å¼ƒè¯¥å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1252 +#: git-add--interactive.perl:1276 msgid "" "y - discard this hunk from index and worktree\n" "n - do not discard this hunk from index and worktree\n" @@ -22128,7 +22601,7 @@ msgstr "" "a - 丢弃该å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è¦ä¸¢å¼ƒè¯¥å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1258 +#: git-add--interactive.perl:1282 msgid "" "y - apply this hunk to index and worktree\n" "n - do not apply this hunk to index and worktree\n" @@ -22142,7 +22615,21 @@ msgstr "" "a - 应用该å—和本文件ä¸åŽé¢çš„全部å—\n" "d - ä¸è¦åº”用该å—和本文件ä¸åŽé¢çš„全部å—" -#: git-add--interactive.perl:1273 +#: git-add--interactive.perl:1294 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file" +msgstr "" +"y - 在工作区ä¸åº”用该å—\n" +"n - ä¸è¦åœ¨å·¥ä½œåŒºä¸åº”用该å—\n" +"q - 退出。ä¸è¦åº”用该å—åŠåŽé¢çš„全部å—\n" +"a - 应用该å—和本文件ä¸åŽé¢çš„全部å—\n" +"d - ä¸è¦åº”用该å—和本文件ä¸åŽé¢çš„全部å—" + +#: git-add--interactive.perl:1309 msgid "" "g - select a hunk to go to\n" "/ - search for a hunk matching the given regex\n" @@ -22164,211 +22651,226 @@ msgstr "" "e - 手动编辑当å‰å—\n" "? - 显示帮助\n" -#: git-add--interactive.perl:1304 +#: git-add--interactive.perl:1340 msgid "The selected hunks do not apply to the index!\n" msgstr "选ä¸çš„å—ä¸èƒ½åº”用到索引ï¼\n" -#: git-add--interactive.perl:1305 +#: git-add--interactive.perl:1341 msgid "Apply them to the worktree anyway? " msgstr "æ— è®ºå¦‚ä½•éƒ½è¦åº”用到工作区么?" -#: git-add--interactive.perl:1308 +#: git-add--interactive.perl:1344 msgid "Nothing was applied.\n" msgstr "未应用。\n" -#: git-add--interactive.perl:1319 +#: git-add--interactive.perl:1355 #, perl-format msgid "ignoring unmerged: %s\n" msgstr "忽略未åˆå…¥çš„:%s\n" -#: git-add--interactive.perl:1328 +#: git-add--interactive.perl:1364 msgid "Only binary files changed.\n" msgstr "åªæœ‰äºŒè¿›åˆ¶æ–‡ä»¶è¢«ä¿®æ”¹ã€‚\n" -#: git-add--interactive.perl:1330 +#: git-add--interactive.perl:1366 msgid "No changes.\n" msgstr "没有修改。\n" -#: git-add--interactive.perl:1338 +#: git-add--interactive.perl:1374 msgid "Patch update" msgstr "è¡¥ä¸æ›´æ–°" -#: git-add--interactive.perl:1390 +#: git-add--interactive.perl:1426 #, perl-format msgid "Stage mode change [y,n,q,a,d%s,?]? " msgstr "æš‚å˜æ¨¡å¼å˜æ›´ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1391 +#: git-add--interactive.perl:1427 #, perl-format msgid "Stage deletion [y,n,q,a,d%s,?]? " msgstr "æš‚å˜åˆ 除动作 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1392 +#: git-add--interactive.perl:1428 #, perl-format msgid "Stage this hunk [y,n,q,a,d%s,?]? " msgstr "æš‚å˜è¯¥å— [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1395 +#: git-add--interactive.perl:1431 #, perl-format msgid "Stash mode change [y,n,q,a,d%s,?]? " msgstr "è´®è—æ¨¡å¼å˜æ›´ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1396 +#: git-add--interactive.perl:1432 #, perl-format msgid "Stash deletion [y,n,q,a,d%s,?]? " msgstr "è´®è—åˆ é™¤åŠ¨ä½œ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1397 +#: git-add--interactive.perl:1433 #, perl-format msgid "Stash this hunk [y,n,q,a,d%s,?]? " msgstr "è´®è—è¯¥å— [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1400 +#: git-add--interactive.perl:1436 #, perl-format msgid "Unstage mode change [y,n,q,a,d%s,?]? " msgstr "å–æ¶ˆæš‚å˜æ¨¡å¼å˜æ›´ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1401 +#: git-add--interactive.perl:1437 #, perl-format msgid "Unstage deletion [y,n,q,a,d%s,?]? " msgstr "å–æ¶ˆæš‚å˜åˆ 除动作 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1402 +#: git-add--interactive.perl:1438 #, perl-format msgid "Unstage this hunk [y,n,q,a,d%s,?]? " msgstr "å–æ¶ˆæš‚å˜è¯¥å— [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1405 +#: git-add--interactive.perl:1441 #, perl-format msgid "Apply mode change to index [y,n,q,a,d%s,?]? " msgstr "将模å¼å˜æ›´åº”用到索引 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1406 +#: git-add--interactive.perl:1442 #, perl-format msgid "Apply deletion to index [y,n,q,a,d%s,?]? " -msgstr "å°†åˆ é™¤åº”ç”¨åˆ°ç´¢å¼• [y,n,q,a,d%s,?]? " +msgstr "å°†åˆ é™¤æ“作应用到索引 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1407 +#: git-add--interactive.perl:1443 #, perl-format msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " msgstr "将该å—应用到索引 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1410 +#: git-add--interactive.perl:1446 git-add--interactive.perl:1461 #, perl-format msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " msgstr "从工作区ä¸ä¸¢å¼ƒæ¨¡å¼å˜æ›´ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1411 +#: git-add--interactive.perl:1447 git-add--interactive.perl:1462 #, perl-format msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " msgstr "从工作区ä¸ä¸¢å¼ƒåˆ 除动作 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1412 +#: git-add--interactive.perl:1448 git-add--interactive.perl:1463 #, perl-format msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " msgstr "从工作区ä¸ä¸¢å¼ƒè¯¥å— [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1415 +#: git-add--interactive.perl:1451 #, perl-format msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " msgstr "从索引和工作区ä¸ä¸¢å¼ƒæ¨¡å¼å˜æ›´ [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1416 +#: git-add--interactive.perl:1452 #, perl-format msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " msgstr "从索引和工作区ä¸ä¸¢å¼ƒåˆ 除 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1417 +#: git-add--interactive.perl:1453 #, perl-format msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " msgstr "从索引和工作区ä¸ä¸¢å¼ƒè¯¥å— [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1420 +#: git-add--interactive.perl:1456 #, perl-format msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " msgstr "将模å¼å˜æ›´åº”用到索引和工作区 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1421 +#: git-add--interactive.perl:1457 #, perl-format msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " -msgstr "å°†åˆ é™¤åº”ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œåŒº [y,n,q,a,d%s,?]? " +msgstr "å°†åˆ é™¤æ“作应用到索引和工作区 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1422 +#: git-add--interactive.perl:1458 #, perl-format msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " msgstr "将该å—应用到索引和工作区 [y,n,q,a,d%s,?]? " -#: git-add--interactive.perl:1522 +#: git-add--interactive.perl:1466 +#, perl-format +msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? " +msgstr "将模å¼å˜æ›´åº”用到工作区 [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1467 +#, perl-format +msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? " +msgstr "å°†åˆ é™¤æ“作应用到工作区 [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1468 +#, perl-format +msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? " +msgstr "将该å—应用到工作区 [y,n,q,a,d%s,?]? " + +#: git-add--interactive.perl:1568 msgid "No other hunks to goto\n" msgstr "没有其它å¯ä¾›è·³è½¬çš„å—\n" -#: git-add--interactive.perl:1529 +#: git-add--interactive.perl:1575 msgid "go to which hunk (<ret> to see more)? " msgstr "跳转到哪个å—(<回车> 查看更多)? " -#: git-add--interactive.perl:1531 +#: git-add--interactive.perl:1577 msgid "go to which hunk? " msgstr "跳转到哪个å—?" -#: git-add--interactive.perl:1540 +#: git-add--interactive.perl:1586 #, perl-format msgid "Invalid number: '%s'\n" msgstr "æ— æ•ˆæ•°å—:'%s'\n" -#: git-add--interactive.perl:1545 +#: git-add--interactive.perl:1591 #, perl-format msgid "Sorry, only %d hunk available.\n" msgid_plural "Sorry, only %d hunks available.\n" msgstr[0] "对ä¸èµ·ï¼Œåªæœ‰ %d 个å¯ç”¨å—。\n" msgstr[1] "对ä¸èµ·ï¼Œåªæœ‰ %d 个å¯ç”¨å—。\n" -#: git-add--interactive.perl:1571 +#: git-add--interactive.perl:1617 msgid "No other hunks to search\n" msgstr "没有其它å¯ä¾›æŸ¥æ‰¾çš„å—\n" -#: git-add--interactive.perl:1575 +#: git-add--interactive.perl:1621 msgid "search for regex? " msgstr "使用æ£åˆ™è¡¨è¾¾å¼æœç´¢ï¼Ÿ" -#: git-add--interactive.perl:1588 +#: git-add--interactive.perl:1634 #, perl-format msgid "Malformed search regexp %s: %s\n" msgstr "错误的æ£åˆ™è¡¨è¾¾å¼ %s:%s\n" -#: git-add--interactive.perl:1598 +#: git-add--interactive.perl:1644 msgid "No hunk matches the given pattern\n" msgstr "没有和给定模å¼ç›¸åŒ¹é…的快\n" -#: git-add--interactive.perl:1610 git-add--interactive.perl:1632 +#: git-add--interactive.perl:1656 git-add--interactive.perl:1678 msgid "No previous hunk\n" msgstr "没有å‰ä¸€ä¸ªå—\n" -#: git-add--interactive.perl:1619 git-add--interactive.perl:1638 +#: git-add--interactive.perl:1665 git-add--interactive.perl:1684 msgid "No next hunk\n" msgstr "没有下一个å—\n" -#: git-add--interactive.perl:1644 +#: git-add--interactive.perl:1690 msgid "Sorry, cannot split this hunk\n" msgstr "对ä¸èµ·ï¼Œä¸èƒ½æ‹†åˆ†è¿™ä¸ªå—\n" -#: git-add--interactive.perl:1650 +#: git-add--interactive.perl:1696 #, perl-format msgid "Split into %d hunk.\n" msgid_plural "Split into %d hunks.\n" msgstr[0] "拆分为 %d å—。\n" msgstr[1] "拆分为 %d å—。\n" -#: git-add--interactive.perl:1660 +#: git-add--interactive.perl:1706 msgid "Sorry, cannot edit this hunk\n" msgstr "对ä¸èµ·ï¼Œä¸èƒ½ç¼–辑这个å—\n" -#: git-add--interactive.perl:1706 +#: git-add--interactive.perl:1752 msgid "Review diff" msgstr "检视 diff" #. TRANSLATORS: please do not translate the command names #. 'status', 'update', 'revert', etc. -#: git-add--interactive.perl:1725 +#: git-add--interactive.perl:1771 msgid "" "status - show paths with changes\n" "update - add working tree state to the staged set of changes\n" @@ -22385,18 +22887,19 @@ msgstr "" "diff - 显示 HEAD 和索引间差异\n" "add untracked - æ·»åŠ æœªè·Ÿè¸ªæ–‡ä»¶çš„å†…å®¹è‡³æš‚å˜åˆ—表\n" -#: git-add--interactive.perl:1742 git-add--interactive.perl:1747 -#: git-add--interactive.perl:1750 git-add--interactive.perl:1757 -#: git-add--interactive.perl:1761 git-add--interactive.perl:1767 +#: git-add--interactive.perl:1788 git-add--interactive.perl:1793 +#: git-add--interactive.perl:1796 git-add--interactive.perl:1803 +#: git-add--interactive.perl:1806 git-add--interactive.perl:1813 +#: git-add--interactive.perl:1817 git-add--interactive.perl:1823 msgid "missing --" msgstr "缺失 --" -#: git-add--interactive.perl:1763 +#: git-add--interactive.perl:1819 #, perl-format msgid "unknown --patch mode: %s" msgstr "未知的 --patch 模å¼ï¼š%s" -#: git-add--interactive.perl:1769 git-add--interactive.perl:1775 +#: git-add--interactive.perl:1825 git-add--interactive.perl:1831 #, perl-format msgid "invalid argument %s, expecting --" msgstr "æ— æ•ˆçš„å‚æ•° %s,期望是 --" @@ -22409,66 +22912,66 @@ msgstr "本地时间和 GMT 有ä¸åˆ°ä¸€åˆ†é’Ÿé—´éš”\n" msgid "local time offset greater than or equal to 24 hours\n" msgstr "本地时间åç§»é‡å¤§äºŽç‰äºŽ 24 å°æ—¶\n" -#: git-send-email.perl:219 git-send-email.perl:225 +#: git-send-email.perl:223 git-send-email.perl:229 msgid "the editor exited uncleanly, aborting everything" msgstr "ç¼–è¾‘å™¨éžæ£å¸¸é€€å‡ºï¼Œç»ˆæ¢æ‰€æœ‰æ“作" -#: git-send-email.perl:302 +#: git-send-email.perl:310 #, perl-format msgid "" "'%s' contains an intermediate version of the email you were composing.\n" msgstr "'%s' åŒ…å«æ‚¨æ£åœ¨ç¼–写的一个ä¸é—´ç‰ˆæœ¬çš„邮件。\n" -#: git-send-email.perl:307 +#: git-send-email.perl:315 #, perl-format msgid "'%s.final' contains the composed email.\n" msgstr "'%s.final' 包å«ç¼–辑的邮件。\n" -#: git-send-email.perl:326 +#: git-send-email.perl:408 msgid "--dump-aliases incompatible with other options\n" msgstr "--dump-aliases 和其它选项ä¸å…¼å®¹\n" -#: git-send-email.perl:395 git-send-email.perl:656 +#: git-send-email.perl:481 git-send-email.perl:683 msgid "Cannot run git format-patch from outside a repository\n" msgstr "ä¸èƒ½åœ¨ä»“库之外è¿è¡Œ git format-patch\n" -#: git-send-email.perl:398 +#: git-send-email.perl:484 msgid "" "`batch-size` and `relogin` must be specified together (via command-line or " "configuration option)\n" msgstr "`batch-size` å’Œ `relogin` å¿…é¡»åŒæ—¶å®šä¹‰ï¼ˆé€šè¿‡å‘½ä»¤è¡Œæˆ–者é…置选项)\n" -#: git-send-email.perl:470 +#: git-send-email.perl:497 #, perl-format msgid "Unknown --suppress-cc field: '%s'\n" msgstr "未知的 --suppress-cc å—æ®µï¼š'%s'\n" -#: git-send-email.perl:501 +#: git-send-email.perl:528 #, perl-format msgid "Unknown --confirm setting: '%s'\n" msgstr "未知的 --confirm 设置:'%s'\n" -#: git-send-email.perl:529 +#: git-send-email.perl:556 #, perl-format msgid "warning: sendmail alias with quotes is not supported: %s\n" msgstr "è¦å‘Šï¼šä¸æ”¯æŒå¸¦å¼•å·çš„ sendmail 别å:%s\n" -#: git-send-email.perl:531 +#: git-send-email.perl:558 #, perl-format msgid "warning: `:include:` not supported: %s\n" msgstr "è¦å‘Šï¼šä¸æ”¯æŒ `:include:`:%s\n" -#: git-send-email.perl:533 +#: git-send-email.perl:560 #, perl-format msgid "warning: `/file` or `|pipe` redirection not supported: %s\n" msgstr "è¦å‘Šï¼šä¸æ”¯æŒ `/file` 或 `|pipe` é‡å®šå‘:%s\n" -#: git-send-email.perl:538 +#: git-send-email.perl:565 #, perl-format msgid "warning: sendmail line is not recognized: %s\n" msgstr "è¦å‘Šï¼šä¸èƒ½è¯†åˆ«çš„ sendmail 行:%s\n" -#: git-send-email.perl:622 +#: git-send-email.perl:649 #, perl-format msgid "" "File '%s' exists but it could also be the range of commits\n" @@ -22483,12 +22986,12 @@ msgstr "" " * 如果å«ä¹‰ä¸ºä¸€ä¸ªæ–‡ä»¶ï¼Œä½¿ç”¨ \"./%s\",或者\n" " * 如果å«ä¹‰ä¸ºä¸€ä¸ªèŒƒå›´ï¼Œä½¿ç”¨ --format-patch 选项。\n" -#: git-send-email.perl:643 +#: git-send-email.perl:670 #, perl-format msgid "Failed to opendir %s: %s" msgstr "æ— æ³•æ‰“å¼€ç›®å½• %s: %s" -#: git-send-email.perl:667 +#: git-send-email.perl:694 #, perl-format msgid "" "fatal: %s: %s\n" @@ -22497,7 +23000,7 @@ msgstr "" "致命错误:%s:%s\n" "è¦å‘Šï¼šè¡¥ä¸æœªèƒ½å‘é€\n" -#: git-send-email.perl:678 +#: git-send-email.perl:705 msgid "" "\n" "No patch files specified!\n" @@ -22507,17 +23010,17 @@ msgstr "" "æœªæŒ‡å®šè¡¥ä¸æ–‡ä»¶ï¼\n" "\n" -#: git-send-email.perl:691 +#: git-send-email.perl:718 #, perl-format msgid "No subject line in %s?" msgstr "在 %s 䏿²¡æœ‰æ ‡é¢˜è¡Œï¼Ÿ" -#: git-send-email.perl:701 +#: git-send-email.perl:728 #, perl-format msgid "Failed to open for writing %s: %s" msgstr "为写入打开 %s 失败: %s" -#: git-send-email.perl:712 +#: git-send-email.perl:739 msgid "" "Lines beginning in \"GIT:\" will be removed.\n" "Consider including an overall diffstat or table of contents\n" @@ -22530,37 +23033,37 @@ msgstr "" "\n" "å¦‚æžœæ‚¨ä¸æƒ³å‘逿‘˜è¦ï¼Œæ¸…除内容。\n" -#: git-send-email.perl:736 +#: git-send-email.perl:763 #, perl-format msgid "Failed to open %s: %s" msgstr "æ— æ³•æ‰“å¼€ %s: %s" -#: git-send-email.perl:753 +#: git-send-email.perl:780 #, perl-format msgid "Failed to open %s.final: %s" msgstr "æ— æ³•æ‰“å¼€ %s.final: %s" -#: git-send-email.perl:796 +#: git-send-email.perl:823 msgid "Summary email is empty, skipping it\n" msgstr "摘è¦é‚®ä»¶ä¸ºç©ºï¼Œè·³è¿‡\n" #. TRANSLATORS: please keep [y/N] as is. -#: git-send-email.perl:831 +#: git-send-email.perl:858 #, perl-format msgid "Are you sure you want to use <%s> [y/N]? " msgstr "您确认è¦ä½¿ç”¨ <%s> [y/N]?" -#: git-send-email.perl:886 +#: git-send-email.perl:913 msgid "" "The following files are 8bit, but do not declare a Content-Transfer-" "Encoding.\n" msgstr "å¦‚ä¸‹æ–‡ä»¶å« 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n" -#: git-send-email.perl:891 +#: git-send-email.perl:918 msgid "Which 8bit encoding should I declare [UTF-8]? " msgstr "è¦å£°æ˜Ž 8bit ä¸ºä»€ä¹ˆæ ·çš„ç¼–ç æ ¼å¼ [UTF-8]?" -#: git-send-email.perl:899 +#: git-send-email.perl:926 #, perl-format msgid "" "Refusing to send because the patch\n" @@ -22572,20 +23075,20 @@ msgstr "" "\t%s\n" "åŒ…å«æ¨¡ç‰ˆæ ‡é¢˜ '*** SUBJECT HERE ***'。如果确实想è¦å‘é€ï¼Œä½¿ç”¨å‚æ•° --force。\n" -#: git-send-email.perl:918 +#: git-send-email.perl:945 msgid "To whom should the emails be sent (if anyone)?" msgstr "邮件将è¦å‘é€ç»™è°ï¼Ÿ" -#: git-send-email.perl:936 +#: git-send-email.perl:963 #, perl-format msgid "fatal: alias '%s' expands to itself\n" msgstr "致命错误:别å '%s' 扩展为它自己\n" -#: git-send-email.perl:948 +#: git-send-email.perl:975 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? " msgstr "Message-ID 被用作第一å°é‚®ä»¶çš„ In-Reply-To ?" -#: git-send-email.perl:1006 git-send-email.perl:1014 +#: git-send-email.perl:1033 git-send-email.perl:1041 #, perl-format msgid "error: unable to extract a valid address from: %s\n" msgstr "错误:ä¸èƒ½ä»Ž %s 䏿å–一个有效的邮件地å€\n" @@ -22593,16 +23096,16 @@ msgstr "错误:ä¸èƒ½ä»Ž %s 䏿å–一个有效的邮件地å€\n" #. TRANSLATORS: Make sure to include [q] [d] [e] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1018 +#: git-send-email.perl:1045 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): " msgstr "如何处ç†è¿™ä¸ªåœ°å€ï¼Ÿ([q]uit|[d]rop|[e]dit):" -#: git-send-email.perl:1335 +#: git-send-email.perl:1362 #, perl-format msgid "CA path \"%s\" does not exist" msgstr "CA 路径 \"%s\" ä¸å˜åœ¨" -#: git-send-email.perl:1418 +#: git-send-email.perl:1445 msgid "" " The Cc list above has been expanded by additional\n" " addresses found in the patch commit message. By default\n" @@ -22627,128 +23130,128 @@ msgstr "" #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your #. translation. The program will only accept English input #. at this point. -#: git-send-email.perl:1433 +#: git-send-email.perl:1460 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " msgstr "å‘é€è¿™å°é‚®ä»¶ï¼Ÿ([y]es|[n]o|[e]dit|[q]uit|[a]ll): " -#: git-send-email.perl:1436 +#: git-send-email.perl:1463 msgid "Send this email reply required" msgstr "å‘é€è¦æ±‚的邮件回å¤" -#: git-send-email.perl:1464 +#: git-send-email.perl:1491 msgid "The required SMTP server is not properly defined." msgstr "è¦æ±‚çš„ SMTP æœåŠ¡å™¨æœªè¢«æ£ç¡®å®šä¹‰ã€‚" -#: git-send-email.perl:1511 +#: git-send-email.perl:1538 #, perl-format msgid "Server does not support STARTTLS! %s" msgstr "æœåС噍䏿”¯æŒ STARTTLSï¼%s" -#: git-send-email.perl:1516 git-send-email.perl:1520 +#: git-send-email.perl:1543 git-send-email.perl:1547 #, perl-format msgid "STARTTLS failed! %s" msgstr "STARTTLS 失败ï¼%s" -#: git-send-email.perl:1529 +#: git-send-email.perl:1556 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug." msgstr "æ— æ³•æ£ç¡®åœ°åˆå§‹åŒ– SMTP。检查é…置并使用 --smtp-debug。" -#: git-send-email.perl:1547 +#: git-send-email.perl:1574 #, perl-format msgid "Failed to send %s\n" msgstr "æ— æ³•å‘é€ %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Dry-Sent %s\n" msgstr "æ¼”ä¹ å‘é€ %s\n" -#: git-send-email.perl:1550 +#: git-send-email.perl:1577 #, perl-format msgid "Sent %s\n" msgstr "æ£å‘é€ %s\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "Dry-OK. Log says:\n" msgstr "æ¼”ä¹ æˆåŠŸã€‚æ—¥å¿—è¯´ï¼š\n" -#: git-send-email.perl:1552 +#: git-send-email.perl:1579 msgid "OK. Log says:\n" msgstr "OK。日志说:\n" -#: git-send-email.perl:1564 +#: git-send-email.perl:1591 msgid "Result: " msgstr "结果:" -#: git-send-email.perl:1567 +#: git-send-email.perl:1594 msgid "Result: OK\n" msgstr "结果:OK\n" -#: git-send-email.perl:1585 +#: git-send-email.perl:1612 #, perl-format msgid "can't open file %s" msgstr "æ— æ³•æ‰“å¼€æ–‡ä»¶ %s" -#: git-send-email.perl:1632 git-send-email.perl:1652 +#: git-send-email.perl:1659 git-send-email.perl:1679 #, perl-format msgid "(mbox) Adding cc: %s from line '%s'\n" msgstr "(mbox) æ·»åŠ cc:%s 自行 '%s'\n" -#: git-send-email.perl:1638 +#: git-send-email.perl:1665 #, perl-format msgid "(mbox) Adding to: %s from line '%s'\n" msgstr "(mbox) æ·»åŠ to:%s 自行 '%s'\n" -#: git-send-email.perl:1691 +#: git-send-email.perl:1718 #, perl-format msgid "(non-mbox) Adding cc: %s from line '%s'\n" msgstr "(non-mbox) æ·»åŠ cc:%s 自行 '%s'\n" -#: git-send-email.perl:1726 +#: git-send-email.perl:1753 #, perl-format msgid "(body) Adding cc: %s from line '%s'\n" msgstr "(body) æ·»åŠ cc: %s 自行 '%s'\n" -#: git-send-email.perl:1837 +#: git-send-email.perl:1864 #, perl-format msgid "(%s) Could not execute '%s'" msgstr "(%s) ä¸èƒ½æ‰§è¡Œ '%s'" -#: git-send-email.perl:1844 +#: git-send-email.perl:1871 #, perl-format msgid "(%s) Adding %s: %s from: '%s'\n" msgstr "(%s) æ·»åŠ %s: %s 自:'%s'\n" -#: git-send-email.perl:1848 +#: git-send-email.perl:1875 #, perl-format msgid "(%s) failed to close pipe to '%s'" msgstr "(%s) æ— æ³•å…³é—管é“至 '%s'" -#: git-send-email.perl:1878 +#: git-send-email.perl:1905 msgid "cannot send message as 7bit" msgstr "ä¸èƒ½ä»¥ 7bit å½¢å¼å‘é€ä¿¡æ¯" -#: git-send-email.perl:1886 +#: git-send-email.perl:1913 msgid "invalid transfer encoding" msgstr "æ— æ•ˆçš„ä¼ é€ç¼–ç " -#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989 +#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016 #, perl-format msgid "unable to open %s: %s\n" msgstr "ä¸èƒ½æ‰“å¼€ %s:%s\n" -#: git-send-email.perl:1930 +#: git-send-email.perl:1957 #, perl-format msgid "%s: patch contains a line longer than 998 characters" msgstr "%s:补ä¸åŒ…å«ä¸€ä¸ªè¶…过 998 å—符的行" -#: git-send-email.perl:1947 +#: git-send-email.perl:1974 #, perl-format msgid "Skipping %s with backup suffix '%s'.\n" msgstr "略过 %s å«å¤‡ä»½åŽç¼€ '%s'。\n" #. TRANSLATORS: please keep "[y|N]" as is. -#: git-send-email.perl:1951 +#: git-send-email.perl:1978 #, perl-format msgid "Do you really want to send %s? [y|N]: " msgstr "您真的è¦å‘é€ %s?[y|N]:" diff --git a/progress.c b/progress.c index 095dcd0ddf..277db8afa2 100644 --- a/progress.c +++ b/progress.c @@ -144,8 +144,7 @@ static void throughput_string(struct strbuf *buf, uint64_t total, strbuf_addstr(buf, ", "); strbuf_humanise_bytes(buf, total); strbuf_addstr(buf, " | "); - strbuf_humanise_bytes(buf, rate * 1024); - strbuf_addstr(buf, "/s"); + strbuf_humanise_rate(buf, rate * 1024); } void display_throughput(struct progress *progress, uint64_t total) diff --git a/promisor-remote.c b/promisor-remote.c new file mode 100644 index 0000000000..9bc296cdde --- /dev/null +++ b/promisor-remote.c @@ -0,0 +1,265 @@ +#include "cache.h" +#include "object-store.h" +#include "promisor-remote.h" +#include "config.h" +#include "transport.h" + +static char *repository_format_partial_clone; +static const char *core_partial_clone_filter_default; + +void set_repository_format_partial_clone(char *partial_clone) +{ + repository_format_partial_clone = xstrdup_or_null(partial_clone); +} + +static int fetch_refs(const char *remote_name, struct ref *ref) +{ + struct remote *remote; + struct transport *transport; + int original_fetch_if_missing = fetch_if_missing; + int res; + + fetch_if_missing = 0; + remote = remote_get(remote_name); + if (!remote->url[0]) + die(_("Remote with no URL")); + transport = transport_get(remote, remote->url[0]); + + transport_set_option(transport, TRANS_OPT_FROM_PROMISOR, "1"); + transport_set_option(transport, TRANS_OPT_NO_DEPENDENTS, "1"); + res = transport_fetch_refs(transport, ref); + fetch_if_missing = original_fetch_if_missing; + + return res; +} + +static int fetch_objects(const char *remote_name, + const struct object_id *oids, + int oid_nr) +{ + struct ref *ref = NULL; + int i; + + for (i = 0; i < oid_nr; i++) { + struct ref *new_ref = alloc_ref(oid_to_hex(&oids[i])); + oidcpy(&new_ref->old_oid, &oids[i]); + new_ref->exact_oid = 1; + new_ref->next = ref; + ref = new_ref; + } + return fetch_refs(remote_name, ref); +} + +static struct promisor_remote *promisors; +static struct promisor_remote **promisors_tail = &promisors; + +static struct promisor_remote *promisor_remote_new(const char *remote_name) +{ + struct promisor_remote *r; + + if (*remote_name == '/') { + warning(_("promisor remote name cannot begin with '/': %s"), + remote_name); + return NULL; + } + + FLEX_ALLOC_STR(r, name, remote_name); + + *promisors_tail = r; + promisors_tail = &r->next; + + return r; +} + +static struct promisor_remote *promisor_remote_lookup(const char *remote_name, + struct promisor_remote **previous) +{ + struct promisor_remote *r, *p; + + for (p = NULL, r = promisors; r; p = r, r = r->next) + if (!strcmp(r->name, remote_name)) { + if (previous) + *previous = p; + return r; + } + + return NULL; +} + +static void promisor_remote_move_to_tail(struct promisor_remote *r, + struct promisor_remote *previous) +{ + if (previous) + previous->next = r->next; + else + promisors = r->next ? r->next : r; + r->next = NULL; + *promisors_tail = r; + promisors_tail = &r->next; +} + +static int promisor_remote_config(const char *var, const char *value, void *data) +{ + const char *name; + int namelen; + const char *subkey; + + if (!strcmp(var, "core.partialclonefilter")) + return git_config_string(&core_partial_clone_filter_default, + var, value); + + if (parse_config_key(var, "remote", &name, &namelen, &subkey) < 0) + return 0; + + if (!strcmp(subkey, "promisor")) { + char *remote_name; + + if (!git_config_bool(var, value)) + return 0; + + remote_name = xmemdupz(name, namelen); + + if (!promisor_remote_lookup(remote_name, NULL)) + promisor_remote_new(remote_name); + + free(remote_name); + return 0; + } + if (!strcmp(subkey, "partialclonefilter")) { + struct promisor_remote *r; + char *remote_name = xmemdupz(name, namelen); + + r = promisor_remote_lookup(remote_name, NULL); + if (!r) + r = promisor_remote_new(remote_name); + + free(remote_name); + + if (!r) + return 0; + + return git_config_string(&r->partial_clone_filter, var, value); + } + + return 0; +} + +static int initialized; + +static void promisor_remote_init(void) +{ + if (initialized) + return; + initialized = 1; + + git_config(promisor_remote_config, NULL); + + if (repository_format_partial_clone) { + struct promisor_remote *o, *previous; + + o = promisor_remote_lookup(repository_format_partial_clone, + &previous); + if (o) + promisor_remote_move_to_tail(o, previous); + else + promisor_remote_new(repository_format_partial_clone); + } +} + +static void promisor_remote_clear(void) +{ + while (promisors) { + struct promisor_remote *r = promisors; + promisors = promisors->next; + free(r); + } + + promisors_tail = &promisors; +} + +void promisor_remote_reinit(void) +{ + initialized = 0; + promisor_remote_clear(); + promisor_remote_init(); +} + +struct promisor_remote *promisor_remote_find(const char *remote_name) +{ + promisor_remote_init(); + + if (!remote_name) + return promisors; + + return promisor_remote_lookup(remote_name, NULL); +} + +int has_promisor_remote(void) +{ + return !!promisor_remote_find(NULL); +} + +static int remove_fetched_oids(struct repository *repo, + struct object_id **oids, + int oid_nr, int to_free) +{ + int i, remaining_nr = 0; + int *remaining = xcalloc(oid_nr, sizeof(*remaining)); + struct object_id *old_oids = *oids; + struct object_id *new_oids; + + for (i = 0; i < oid_nr; i++) + if (oid_object_info_extended(repo, &old_oids[i], NULL, + OBJECT_INFO_SKIP_FETCH_OBJECT)) { + remaining[i] = 1; + remaining_nr++; + } + + if (remaining_nr) { + int j = 0; + new_oids = xcalloc(remaining_nr, sizeof(*new_oids)); + for (i = 0; i < oid_nr; i++) + if (remaining[i]) + oidcpy(&new_oids[j++], &old_oids[i]); + *oids = new_oids; + if (to_free) + free(old_oids); + } + + free(remaining); + + return remaining_nr; +} + +int promisor_remote_get_direct(struct repository *repo, + const struct object_id *oids, + int oid_nr) +{ + struct promisor_remote *r; + struct object_id *remaining_oids = (struct object_id *)oids; + int remaining_nr = oid_nr; + int to_free = 0; + int res = -1; + + promisor_remote_init(); + + for (r = promisors; r; r = r->next) { + if (fetch_objects(r->name, remaining_oids, remaining_nr) < 0) { + if (remaining_nr == 1) + continue; + remaining_nr = remove_fetched_oids(repo, &remaining_oids, + remaining_nr, to_free); + if (remaining_nr) { + to_free = 1; + continue; + } + } + res = 0; + break; + } + + if (to_free) + free(remaining_oids); + + return res; +} diff --git a/promisor-remote.h b/promisor-remote.h new file mode 100644 index 0000000000..8200dfc940 --- /dev/null +++ b/promisor-remote.h @@ -0,0 +1,31 @@ +#ifndef PROMISOR_REMOTE_H +#define PROMISOR_REMOTE_H + +struct object_id; + +/* + * Promisor remote linked list + * + * Information in its fields come from remote.XXX config entries or + * from extensions.partialclone or core.partialclonefilter. + */ +struct promisor_remote { + struct promisor_remote *next; + const char *partial_clone_filter; + const char name[FLEX_ARRAY]; +}; + +extern void promisor_remote_reinit(void); +extern struct promisor_remote *promisor_remote_find(const char *remote_name); +extern int has_promisor_remote(void); +extern int promisor_remote_get_direct(struct repository *repo, + const struct object_id *oids, + int oid_nr); + +/* + * This should be used only once from setup.c to set the value we got + * from the extensions.partialclone config option. + */ +extern void set_repository_format_partial_clone(char *partial_clone); + +#endif /* PROMISOR_REMOTE_H */ diff --git a/range-diff.c b/range-diff.c index 48b0e1b4ce..ba1e9a4265 100644 --- a/range-diff.c +++ b/range-diff.c @@ -10,6 +10,7 @@ #include "commit.h" #include "pretty.h" #include "userdiff.h" +#include "apply.h" struct patch_util { /* For the search for an exact match */ @@ -24,6 +25,17 @@ struct patch_util { struct object_id oid; }; +static size_t find_end_of_line(char *buffer, unsigned long size) +{ + char *eol = memchr(buffer, '\n', size); + + if (!eol) + return size; + + *eol = '\0'; + return eol + 1 - buffer; +} + /* * Reads the patches into a string list, with the `util` field being populated * as struct object_id (will need to be free()d). @@ -31,10 +43,12 @@ struct patch_util { static int read_patches(const char *range, struct string_list *list) { struct child_process cp = CHILD_PROCESS_INIT; - FILE *in; - struct strbuf buf = STRBUF_INIT, line = STRBUF_INIT; + struct strbuf buf = STRBUF_INIT, contents = STRBUF_INIT; struct patch_util *util = NULL; int in_header = 1; + char *line, *current_filename = NULL; + int offset, len; + size_t size; argv_array_pushl(&cp.args, "log", "--no-color", "-p", "--no-merges", "--reverse", "--date-order", "--decorate=no", @@ -54,17 +68,20 @@ static int read_patches(const char *range, struct string_list *list) if (start_command(&cp)) return error_errno(_("could not start `log`")); - in = fdopen(cp.out, "r"); - if (!in) { + if (strbuf_read(&contents, cp.out, 0) < 0) { error_errno(_("could not read `log` output")); finish_command(&cp); return -1; } - while (strbuf_getline(&line, in) != EOF) { + line = contents.buf; + size = contents.len; + for (offset = 0; size > 0; offset += len, size -= len, line += len) { const char *p; - if (skip_prefix(line.buf, "commit ", &p)) { + len = find_end_of_line(line, size); + line[len - 1] = '\0'; + if (skip_prefix(line, "commit ", &p)) { if (util) { string_list_append(list, buf.buf)->util = util; strbuf_reset(&buf); @@ -75,8 +92,7 @@ static int read_patches(const char *range, struct string_list *list) free(util); string_list_clear(list, 1); strbuf_release(&buf); - strbuf_release(&line); - fclose(in); + strbuf_release(&contents); finish_command(&cp); return -1; } @@ -85,61 +101,95 @@ static int read_patches(const char *range, struct string_list *list) continue; } - if (starts_with(line.buf, "diff --git")) { + if (starts_with(line, "diff --git")) { + struct patch patch = { 0 }; + struct strbuf root = STRBUF_INIT; + int linenr = 0; + in_header = 0; strbuf_addch(&buf, '\n'); if (!util->diff_offset) util->diff_offset = buf.len; - strbuf_addch(&buf, ' '); - strbuf_addbuf(&buf, &line); + line[len - 1] = '\n'; + len = parse_git_diff_header(&root, &linenr, 1, line, + len, size, &patch); + if (len < 0) + die(_("could not parse git header '%.*s'"), (int)len, line); + strbuf_addstr(&buf, " ## "); + if (patch.is_new > 0) + strbuf_addf(&buf, "%s (new)", patch.new_name); + else if (patch.is_delete > 0) + strbuf_addf(&buf, "%s (deleted)", patch.old_name); + else if (patch.is_rename) + strbuf_addf(&buf, "%s => %s", patch.old_name, patch.new_name); + else + strbuf_addstr(&buf, patch.new_name); + + free(current_filename); + if (patch.is_delete > 0) + current_filename = xstrdup(patch.old_name); + else + current_filename = xstrdup(patch.new_name); + + if (patch.new_mode && patch.old_mode && + patch.old_mode != patch.new_mode) + strbuf_addf(&buf, " (mode change %06o => %06o)", + patch.old_mode, patch.new_mode); + + strbuf_addstr(&buf, " ##"); } else if (in_header) { - if (starts_with(line.buf, "Author: ")) { - strbuf_addbuf(&buf, &line); + if (starts_with(line, "Author: ")) { + strbuf_addstr(&buf, " ## Metadata ##\n"); + strbuf_addstr(&buf, line); strbuf_addstr(&buf, "\n\n"); - } else if (starts_with(line.buf, " ")) { - strbuf_rtrim(&line); - strbuf_addbuf(&buf, &line); + strbuf_addstr(&buf, " ## Commit message ##\n"); + } else if (starts_with(line, " ")) { + p = line + len - 2; + while (isspace(*p) && p >= line) + p--; + strbuf_add(&buf, line, p - line + 1); strbuf_addch(&buf, '\n'); } continue; - } else if (starts_with(line.buf, "@@ ")) + } else if (skip_prefix(line, "@@ ", &p)) { + p = strstr(p, "@@"); strbuf_addstr(&buf, "@@"); - else if (!line.buf[0] || starts_with(line.buf, "index ")) + if (current_filename && p[2]) + strbuf_addf(&buf, " %s:", current_filename); + if (p) + strbuf_addstr(&buf, p + 2); + } else if (!line[0]) /* * A completely blank (not ' \n', which is context) * line is not valid in a diff. We skip it * silently, because this neatly handles the blank * separator line between commits in git-log * output. - * - * We also want to ignore the diff's `index` lines - * because they contain exact blob hashes in which - * we are not interested. */ continue; - else if (line.buf[0] == '>') { + else if (line[0] == '>') { strbuf_addch(&buf, '+'); - strbuf_add(&buf, line.buf + 1, line.len - 1); - } else if (line.buf[0] == '<') { + strbuf_addstr(&buf, line + 1); + } else if (line[0] == '<') { strbuf_addch(&buf, '-'); - strbuf_add(&buf, line.buf + 1, line.len - 1); - } else if (line.buf[0] == '#') { + strbuf_addstr(&buf, line + 1); + } else if (line[0] == '#') { strbuf_addch(&buf, ' '); - strbuf_add(&buf, line.buf + 1, line.len - 1); + strbuf_addstr(&buf, line + 1); } else { strbuf_addch(&buf, ' '); - strbuf_addbuf(&buf, &line); + strbuf_addstr(&buf, line); } strbuf_addch(&buf, '\n'); util->diffsize++; } - fclose(in); - strbuf_release(&line); + strbuf_release(&contents); if (util) string_list_append(list, buf.buf)->util = util; strbuf_release(&buf); + free(current_filename); if (finish_command(&cp)) return -1; @@ -148,7 +198,7 @@ static int read_patches(const char *range, struct string_list *list) } static int patch_util_cmp(const void *dummy, const struct patch_util *a, - const struct patch_util *b, const char *keydata) + const struct patch_util *b, const char *keydata) { return strcmp(a->diff, keydata ? keydata : b->diff); } @@ -354,8 +404,9 @@ static void output_pair_header(struct diff_options *diffopt, fwrite(buf->buf, buf->len, 1, diffopt->file); } -static struct userdiff_driver no_func_name = { - .funcname = { "$^", 0 } +static struct userdiff_driver section_headers = { + .funcname = { "^ ## (.*) ##$\n" + "^.?@@ (.*)$", REG_EXTENDED } }; static struct diff_filespec *get_filespec(const char *name, const char *p) @@ -367,13 +418,13 @@ static struct diff_filespec *get_filespec(const char *name, const char *p) spec->size = strlen(p); spec->should_munmap = 0; spec->is_stdin = 1; - spec->driver = &no_func_name; + spec->driver = §ion_headers; return spec; } static void patch_diff(const char *a, const char *b, - struct diff_options *diffopt) + struct diff_options *diffopt) { diff_queue(&diff_queued_diff, get_filespec("a", a), get_filespec("b", b)); @@ -469,6 +520,7 @@ int show_range_diff(const char *range1, const char *range2, opts.output_format = DIFF_FORMAT_PATCH; opts.flags.suppress_diff_headers = 1; opts.flags.dual_color_diffed_diffs = dual_color; + opts.flags.suppress_hunk_header_line_count = 1; opts.output_prefix = output_prefix_cb; strbuf_addstr(&indent, " "); opts.output_prefix_data = &indent; diff --git a/reachable.c b/reachable.c index 0d00a91de4..8f50235b28 100644 --- a/reachable.c +++ b/reachable.c @@ -109,7 +109,7 @@ static int add_recent_loose(const struct object_id *oid, const char *path, void *data) { struct stat st; - struct object *obj = lookup_object(the_repository, oid->hash); + struct object *obj = lookup_object(the_repository, oid); if (obj && obj->flags & SEEN) return 0; @@ -134,7 +134,7 @@ static int add_recent_packed(const struct object_id *oid, struct packed_git *p, uint32_t pos, void *data) { - struct object *obj = lookup_object(the_repository, oid->hash); + struct object *obj = lookup_object(the_repository, oid); if (obj && obj->flags & SEEN) return 0; diff --git a/read-cache.c b/read-cache.c index 93a897f240..cff1280975 100644 --- a/read-cache.c +++ b/read-cache.c @@ -1599,16 +1599,17 @@ struct cache_entry *refresh_cache_entry(struct index_state *istate, #define INDEX_FORMAT_DEFAULT 3 -static unsigned int get_index_format_default(void) +static unsigned int get_index_format_default(struct repository *r) { char *envversion = getenv("GIT_INDEX_VERSION"); char *endp; - int value; unsigned int version = INDEX_FORMAT_DEFAULT; if (!envversion) { - if (!git_config_get_int("index.version", &value)) - version = value; + prepare_repo_settings(r); + + if (r->settings.index_version >= 0) + version = r->settings.index_version; if (version < INDEX_FORMAT_LB || INDEX_FORMAT_UB < version) { warning(_("index.version set, but the value is invalid.\n" "Using version %i"), INDEX_FORMAT_DEFAULT); @@ -1844,18 +1845,17 @@ static void check_ce_order(struct index_state *istate) static void tweak_untracked_cache(struct index_state *istate) { - switch (git_config_get_untracked_cache()) { - case -1: /* keep: do nothing */ - break; - case 0: /* false */ + struct repository *r = the_repository; + + prepare_repo_settings(r); + + if (r->settings.core_untracked_cache == UNTRACKED_CACHE_REMOVE) { remove_untracked_cache(istate); - break; - case 1: /* true */ - add_untracked_cache(istate); - break; - default: /* unknown value: do nothing */ - break; + return; } + + if (r->settings.core_untracked_cache == UNTRACKED_CACHE_WRITE) + add_untracked_cache(istate); } static void tweak_split_index(struct index_state *istate) @@ -2037,7 +2037,7 @@ static void *load_cache_entries_thread(void *_data) } static unsigned long load_cache_entries_threaded(struct index_state *istate, const char *mmap, size_t mmap_size, - unsigned long src_offset, int nr_threads, struct index_entry_offset_table *ieot) + int nr_threads, struct index_entry_offset_table *ieot) { int i, offset, ieot_blocks, ieot_start, err; struct load_cache_entries_thread_data *data; @@ -2198,7 +2198,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist) ieot = read_ieot_extension(mmap, mmap_size, extension_offset); if (ieot) { - src_offset += load_cache_entries_threaded(istate, mmap, mmap_size, src_offset, nr_threads, ieot); + src_offset += load_cache_entries_threaded(istate, mmap, mmap_size, nr_threads, ieot); free(ieot); } else { src_offset += load_all_cache_entries(istate, mmap, mmap_size, src_offset); @@ -2765,7 +2765,7 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile, } if (!istate->version) { - istate->version = get_index_format_default(); + istate->version = get_index_format_default(the_repository); if (git_env_bool("GIT_TEST_SPLIT_INDEX", 0)) init_split_index(istate); } diff --git a/ref-filter.c b/ref-filter.c index 8500671bc6..7338cfc671 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -20,6 +20,9 @@ #include "commit-slab.h" #include "commit-graph.h" #include "commit-reach.h" +#include "worktree.h" +#include "hashmap.h" +#include "argv-array.h" static struct ref_msg { const char *gone; @@ -75,6 +78,27 @@ static struct expand_data { struct object_info info; } oi, oi_deref; +struct ref_to_worktree_entry { + struct hashmap_entry ent; /* must be the first member! */ + struct worktree *wt; /* key is wt->head_ref */ +}; + +static int ref_to_worktree_map_cmpfnc(const void *unused_lookupdata, + const void *existing_hashmap_entry_to_test, + const void *key, + const void *keydata_aka_refname) +{ + const struct ref_to_worktree_entry *e = existing_hashmap_entry_to_test; + const struct ref_to_worktree_entry *k = key; + return strcmp(e->wt->head_ref, + keydata_aka_refname ? keydata_aka_refname : k->wt->head_ref); +} + +static struct ref_to_worktree_map { + struct hashmap map; + struct worktree **worktrees; +} ref_to_worktree_map; + /* * An atom is a valid field atom listed below, possibly prefixed with * a "*" to denote deref_tag(). @@ -480,6 +504,7 @@ static struct { { "flag", SOURCE_NONE }, { "HEAD", SOURCE_NONE, FIELD_STR, head_atom_parser }, { "color", SOURCE_NONE, FIELD_STR, color_atom_parser }, + { "worktreepath", SOURCE_NONE }, { "align", SOURCE_NONE, FIELD_STR, align_atom_parser }, { "end", SOURCE_NONE }, { "if", SOURCE_NONE, FIELD_STR, if_atom_parser }, @@ -1003,7 +1028,7 @@ static const char *copy_name(const char *buf) if (!strncmp(cp, " <", 2)) return xmemdupz(buf, cp - buf); } - return ""; + return xstrdup(""); } static const char *copy_email(const char *buf) @@ -1011,10 +1036,10 @@ static const char *copy_email(const char *buf) const char *email = strchr(buf, '<'); const char *eoemail; if (!email) - return ""; + return xstrdup(""); eoemail = strchr(email, '>'); if (!eoemail) - return ""; + return xstrdup(""); return xmemdupz(email, eoemail + 1 - email); } @@ -1447,35 +1472,35 @@ char *get_head_description(void) struct wt_status_state state; memset(&state, 0, sizeof(state)); wt_status_get_state(the_repository, &state, 1); + + /* + * The ( character must be hard-coded and not part of a localizable + * string, since the description is used as a sort key and compared + * with ref names. + */ + strbuf_addch(&desc, '('); if (state.rebase_in_progress || state.rebase_interactive_in_progress) { if (state.branch) - strbuf_addf(&desc, _("(no branch, rebasing %s)"), + strbuf_addf(&desc, _("no branch, rebasing %s"), state.branch); else - strbuf_addf(&desc, _("(no branch, rebasing detached HEAD %s)"), + strbuf_addf(&desc, _("no branch, rebasing detached HEAD %s"), state.detached_from); } else if (state.bisect_in_progress) - strbuf_addf(&desc, _("(no branch, bisect started on %s)"), + strbuf_addf(&desc, _("no branch, bisect started on %s"), state.branch); else if (state.detached_from) { if (state.detached_at) - /* - * TRANSLATORS: make sure this matches "HEAD - * detached at " in wt-status.c - */ - strbuf_addf(&desc, _("(HEAD detached at %s)"), - state.detached_from); + strbuf_addstr(&desc, HEAD_DETACHED_AT); else - /* - * TRANSLATORS: make sure this matches "HEAD - * detached from " in wt-status.c - */ - strbuf_addf(&desc, _("(HEAD detached from %s)"), - state.detached_from); + strbuf_addstr(&desc, HEAD_DETACHED_FROM); + strbuf_addstr(&desc, state.detached_from); } else - strbuf_addstr(&desc, _("(no branch)")); + strbuf_addstr(&desc, _("no branch")); + strbuf_addch(&desc, ')'); + free(state.branch); free(state.onto); free(state.detached_from); @@ -1531,6 +1556,48 @@ static int get_object(struct ref_array_item *ref, int deref, struct object **obj return 0; } +static void populate_worktree_map(struct hashmap *map, struct worktree **worktrees) +{ + int i; + + for (i = 0; worktrees[i]; i++) { + if (worktrees[i]->head_ref) { + struct ref_to_worktree_entry *entry; + entry = xmalloc(sizeof(*entry)); + entry->wt = worktrees[i]; + hashmap_entry_init(entry, strhash(worktrees[i]->head_ref)); + + hashmap_add(map, entry); + } + } +} + +static void lazy_init_worktree_map(void) +{ + if (ref_to_worktree_map.worktrees) + return; + + ref_to_worktree_map.worktrees = get_worktrees(0); + hashmap_init(&(ref_to_worktree_map.map), ref_to_worktree_map_cmpfnc, NULL, 0); + populate_worktree_map(&(ref_to_worktree_map.map), ref_to_worktree_map.worktrees); +} + +static char *get_worktree_path(const struct used_atom *atom, const struct ref_array_item *ref) +{ + struct hashmap_entry entry; + struct ref_to_worktree_entry *lookup_result; + + lazy_init_worktree_map(); + + hashmap_entry_init(&entry, strhash(ref->refname)); + lookup_result = hashmap_get(&(ref_to_worktree_map.map), &entry, ref->refname); + + if (lookup_result) + return xstrdup(lookup_result->wt->path); + else + return xstrdup(""); +} + /* * Parse the object referred by ref, and grab needed value. */ @@ -1568,6 +1635,13 @@ static int populate_value(struct ref_array_item *ref, struct strbuf *err) if (starts_with(name, "refname")) refname = get_refname(atom, ref); + else if (!strcmp(name, "worktreepath")) { + if (ref->kind == FILTER_REFS_BRANCHES) + v->s = get_worktree_path(atom, ref); + else + v->s = xstrdup(""); + continue; + } else if (starts_with(name, "symref")) refname = get_symref(atom, ref); else if (starts_with(name, "upstream")) { @@ -1790,21 +1864,62 @@ static int filter_pattern_match(struct ref_filter *filter, const char *refname) return match_pattern(filter, refname); } -/* - * Find the longest prefix of pattern we can pass to - * `for_each_fullref_in()`, namely the part of pattern preceding the - * first glob character. (Note that `for_each_fullref_in()` is - * perfectly happy working with a prefix that doesn't end at a - * pathname component boundary.) - */ -static void find_longest_prefix(struct strbuf *out, const char *pattern) +static int qsort_strcmp(const void *va, const void *vb) +{ + const char *a = *(const char **)va; + const char *b = *(const char **)vb; + + return strcmp(a, b); +} + +static void find_longest_prefixes_1(struct string_list *out, + struct strbuf *prefix, + const char **patterns, size_t nr) { - const char *p; + size_t i; + + for (i = 0; i < nr; i++) { + char c = patterns[i][prefix->len]; + if (!c || is_glob_special(c)) { + string_list_append(out, prefix->buf); + return; + } + } + + i = 0; + while (i < nr) { + size_t end; + + /* + * Set "end" to the index of the element _after_ the last one + * in our group. + */ + for (end = i + 1; end < nr; end++) { + if (patterns[i][prefix->len] != patterns[end][prefix->len]) + break; + } + + strbuf_addch(prefix, patterns[i][prefix->len]); + find_longest_prefixes_1(out, prefix, patterns + i, end - i); + strbuf_setlen(prefix, prefix->len - 1); + + i = end; + } +} + +static void find_longest_prefixes(struct string_list *out, + const char **patterns) +{ + struct argv_array sorted = ARGV_ARRAY_INIT; + struct strbuf prefix = STRBUF_INIT; + + argv_array_pushv(&sorted, patterns); + QSORT(sorted.argv, sorted.argc, qsort_strcmp); - for (p = pattern; *p && !is_glob_special(*p); p++) - ; + find_longest_prefixes_1(out, &prefix, sorted.argv, sorted.argc); - strbuf_add(out, pattern, p - pattern); + argv_array_clear(&sorted); + strbuf_release(&prefix); } /* @@ -1817,7 +1932,8 @@ static int for_each_fullref_in_pattern(struct ref_filter *filter, void *cb_data, int broken) { - struct strbuf prefix = STRBUF_INIT; + struct string_list prefixes = STRING_LIST_INIT_DUP; + struct string_list_item *prefix; int ret; if (!filter->match_as_path) { @@ -1843,21 +1959,15 @@ static int for_each_fullref_in_pattern(struct ref_filter *filter, return for_each_fullref_in("", cb, cb_data, broken); } - if (filter->name_patterns[1]) { - /* - * multiple patterns; in theory this could still work as long - * as the patterns are disjoint. We'd just make multiple calls - * to for_each_ref(). But if they're not disjoint, we'd end up - * reporting the same ref multiple times. So let's punt on that - * for now. - */ - return for_each_fullref_in("", cb, cb_data, broken); - } + find_longest_prefixes(&prefixes, filter->name_patterns); - find_longest_prefix(&prefix, filter->name_patterns[0]); + for_each_string_list_item(prefix, &prefixes) { + ret = for_each_fullref_in(prefix->string, cb, cb_data, broken); + if (ret) + break; + } - ret = for_each_fullref_in(prefix.buf, cb, cb_data, broken); - strbuf_release(&prefix); + string_list_clear(&prefixes, 0); return ret; } @@ -2032,7 +2142,9 @@ static void free_array_item(struct ref_array_item *item) { free((char *)item->symref); if (item->value) { - free((char *)item->value->s); + int i; + for (i = 0; i < used_atom_cnt; i++) + free((char *)item->value[i].s); free(item->value); } free(item); @@ -2043,14 +2155,21 @@ void ref_array_clear(struct ref_array *array) { int i; - for (i = 0; i < used_atom_cnt; i++) - free((char *)used_atom[i].name); - FREE_AND_NULL(used_atom); - used_atom_cnt = 0; for (i = 0; i < array->nr; i++) free_array_item(array->items[i]); FREE_AND_NULL(array->items); array->nr = array->alloc = 0; + + for (i = 0; i < used_atom_cnt; i++) + free((char *)used_atom[i].name); + FREE_AND_NULL(used_atom); + used_atom_cnt = 0; + + if (ref_to_worktree_map.worktrees) { + hashmap_free(&(ref_to_worktree_map.map), 1); + free_worktrees(ref_to_worktree_map.worktrees); + ref_to_worktree_map.worktrees = NULL; + } } static void do_merge_filter(struct ref_filter_cbdata *ref_cbdata) @@ -63,7 +63,7 @@ static unsigned char refname_disposition[256] = { * not legal. It is legal if it is something reasonable to have under * ".git/refs/"; We do not like it if: * - * - any path component of it begins with ".", or + * - it begins with ".", or * - it has double dots "..", or * - it has ASCII control characters, or * - it has ":", "?", "[", "\", "^", "~", SP, or TAB anywhere, or @@ -71,31 +71,63 @@ static unsigned char refname_disposition[256] = { * - it ends with a "/", or * - it ends with ".lock", or * - it contains a "@{" portion + * + * When sanitized is not NULL, instead of rejecting the input refname + * as an error, try to come up with a usable replacement for the input + * refname in it. */ -static int check_refname_component(const char *refname, int *flags) +static int check_refname_component(const char *refname, int *flags, + struct strbuf *sanitized) { const char *cp; char last = '\0'; + size_t component_start = 0; /* garbage - not a reasonable initial value */ + + if (sanitized) + component_start = sanitized->len; for (cp = refname; ; cp++) { int ch = *cp & 255; unsigned char disp = refname_disposition[ch]; + + if (sanitized && disp != 1) + strbuf_addch(sanitized, ch); + switch (disp) { case 1: goto out; case 2: - if (last == '.') - return -1; /* Refname contains "..". */ + if (last == '.') { /* Refname contains "..". */ + if (sanitized) + /* collapse ".." to single "." */ + strbuf_setlen(sanitized, sanitized->len - 1); + else + return -1; + } break; case 3: - if (last == '@') - return -1; /* Refname contains "@{". */ + if (last == '@') { /* Refname contains "@{". */ + if (sanitized) + sanitized->buf[sanitized->len-1] = '-'; + else + return -1; + } break; case 4: - return -1; + /* forbidden char */ + if (sanitized) + sanitized->buf[sanitized->len-1] = '-'; + else + return -1; + break; case 5: - if (!(*flags & REFNAME_REFSPEC_PATTERN)) - return -1; /* refspec can't be a pattern */ + if (!(*flags & REFNAME_REFSPEC_PATTERN)) { + /* refspec can't be a pattern */ + if (sanitized) + sanitized->buf[sanitized->len-1] = '-'; + else + return -1; + } /* * Unset the pattern flag so that we only accept @@ -109,26 +141,48 @@ static int check_refname_component(const char *refname, int *flags) out: if (cp == refname) return 0; /* Component has zero length. */ - if (refname[0] == '.') - return -1; /* Component starts with '.'. */ + + if (refname[0] == '.') { /* Component starts with '.'. */ + if (sanitized) + sanitized->buf[component_start] = '-'; + else + return -1; + } if (cp - refname >= LOCK_SUFFIX_LEN && - !memcmp(cp - LOCK_SUFFIX_LEN, LOCK_SUFFIX, LOCK_SUFFIX_LEN)) - return -1; /* Refname ends with ".lock". */ + !memcmp(cp - LOCK_SUFFIX_LEN, LOCK_SUFFIX, LOCK_SUFFIX_LEN)) { + if (!sanitized) + return -1; + /* Refname ends with ".lock". */ + while (strbuf_strip_suffix(sanitized, LOCK_SUFFIX)) { + /* try again in case we have .lock.lock */ + } + } return cp - refname; } -int check_refname_format(const char *refname, int flags) +static int check_or_sanitize_refname(const char *refname, int flags, + struct strbuf *sanitized) { int component_len, component_count = 0; - if (!strcmp(refname, "@")) + if (!strcmp(refname, "@")) { /* Refname is a single character '@'. */ - return -1; + if (sanitized) + strbuf_addch(sanitized, '-'); + else + return -1; + } while (1) { + if (sanitized && sanitized->len) + strbuf_complete(sanitized, '/'); + /* We are at the start of a path component. */ - component_len = check_refname_component(refname, &flags); - if (component_len <= 0) + component_len = check_refname_component(refname, &flags, + sanitized); + if (sanitized && component_len == 0) + ; /* OK, omit empty component */ + else if (component_len <= 0) return -1; component_count++; @@ -138,13 +192,29 @@ int check_refname_format(const char *refname, int flags) refname += component_len + 1; } - if (refname[component_len - 1] == '.') - return -1; /* Refname ends with '.'. */ + if (refname[component_len - 1] == '.') { + /* Refname ends with '.'. */ + if (sanitized) + ; /* omit ending dot */ + else + return -1; + } if (!(flags & REFNAME_ALLOW_ONELEVEL) && component_count < 2) return -1; /* Refname has only one component. */ return 0; } +int check_refname_format(const char *refname, int flags) +{ + return check_or_sanitize_refname(refname, flags, NULL); +} + +void sanitize_refname_component(const char *refname, struct strbuf *out) +{ + if (check_or_sanitize_refname(refname, REFNAME_ALLOW_ONELEVEL, out)) + BUG("sanitizing refname '%s' check returned error", refname); +} + int refname_is_safe(const char *refname) { const char *rest; @@ -309,7 +379,7 @@ static int filter_refs(const char *refname, const struct object_id *oid, enum peel_status peel_object(const struct object_id *name, struct object_id *oid) { - struct object *o = lookup_unknown_object(name->hash); + struct object *o = lookup_unknown_object(name); if (o->type == OBJ_NONE) { int type = oid_object_info(the_repository, name, NULL); @@ -463,6 +463,12 @@ int for_each_reflog(each_ref_fn fn, void *cb_data); */ int check_refname_format(const char *refname, int flags); +/* + * Apply the rules from check_refname_format, but mutate the result until it + * is acceptable, and place the result in "out". + */ +void sanitize_refname_component(const char *refname, struct strbuf *out); + const char *prettify_refname(const char *refname); char *refs_shorten_unambiguous_ref(struct ref_store *refs, diff --git a/refs/files-backend.c b/refs/files-backend.c index 63e55e6773..d60767ab73 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -2143,13 +2143,24 @@ static struct ref_iterator_vtable files_reflog_iterator_vtable = { static struct ref_iterator *reflog_iterator_begin(struct ref_store *ref_store, const char *gitdir) { - struct files_reflog_iterator *iter = xcalloc(1, sizeof(*iter)); - struct ref_iterator *ref_iterator = &iter->base; + struct dir_iterator *diter; + struct files_reflog_iterator *iter; + struct ref_iterator *ref_iterator; struct strbuf sb = STRBUF_INIT; - base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable, 0); strbuf_addf(&sb, "%s/logs", gitdir); - iter->dir_iterator = dir_iterator_begin(sb.buf); + + diter = dir_iterator_begin(sb.buf, 0); + if (!diter) { + strbuf_release(&sb); + return empty_ref_iterator_begin(); + } + + iter = xcalloc(1, sizeof(*iter)); + ref_iterator = &iter->base; + + base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable, 0); + iter->dir_iterator = diter; iter->ref_store = ref_store; strbuf_release(&sb); diff --git a/refs/packed-backend.c b/refs/packed-backend.c index c01c7f5901..4458a0f69c 100644 --- a/refs/packed-backend.c +++ b/refs/packed-backend.c @@ -1012,14 +1012,23 @@ int packed_refs_lock(struct ref_store *ref_store, int flags, struct strbuf *err) } /* - * Now that we hold the `packed-refs` lock, make sure that our - * snapshot matches the current version of the file. Normally - * `get_snapshot()` does that for us, but that function - * assumes that when the file is locked, any existing snapshot - * is still valid. We've just locked the file, but it might - * have changed the moment *before* we locked it. + * There is a stat-validity problem might cause `update-ref -d` + * lost the newly commit of a ref, because a new `packed-refs` + * file might has the same on-disk file attributes such as + * timestamp, file size and inode value, but has a changed + * ref value. + * + * This could happen with a very small chance when + * `update-ref -d` is called and at the same time another + * `pack-refs --all` process is running. + * + * Now that we hold the `packed-refs` lock, it is important + * to make sure we could read the latest version of + * `packed-refs` file no matter we have just mmap it or not. + * So what need to do is clear the snapshot if we hold it + * already. */ - validate_snapshot(refs); + clear_snapshot(refs); /* * Now make sure that the packed-refs file as it exists in the diff --git a/repo-settings.c b/repo-settings.c new file mode 100644 index 0000000000..3779b85c17 --- /dev/null +++ b/repo-settings.c @@ -0,0 +1,64 @@ +#include "cache.h" +#include "config.h" +#include "repository.h" + +#define UPDATE_DEFAULT_BOOL(s,v) do { if (s == -1) { s = v; } } while(0) + +void prepare_repo_settings(struct repository *r) +{ + int value; + char *strval; + + if (r->settings.initialized) + return; + + /* Defaults */ + memset(&r->settings, -1, sizeof(r->settings)); + + if (!repo_config_get_bool(r, "core.commitgraph", &value)) + r->settings.core_commit_graph = value; + if (!repo_config_get_bool(r, "gc.writecommitgraph", &value)) + r->settings.gc_write_commit_graph = value; + UPDATE_DEFAULT_BOOL(r->settings.core_commit_graph, 1); + UPDATE_DEFAULT_BOOL(r->settings.gc_write_commit_graph, 1); + + if (!repo_config_get_bool(r, "index.version", &value)) + r->settings.index_version = value; + if (!repo_config_get_maybe_bool(r, "core.untrackedcache", &value)) { + if (value == 0) + r->settings.core_untracked_cache = UNTRACKED_CACHE_REMOVE; + else + r->settings.core_untracked_cache = UNTRACKED_CACHE_WRITE; + } else if (!repo_config_get_string(r, "core.untrackedcache", &strval)) { + if (!strcasecmp(strval, "keep")) + r->settings.core_untracked_cache = UNTRACKED_CACHE_KEEP; + + free(strval); + } + + if (!repo_config_get_string(r, "fetch.negotiationalgorithm", &strval)) { + if (!strcasecmp(strval, "skipping")) + r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_SKIPPING; + else + r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_DEFAULT; + } + + if (!repo_config_get_bool(r, "pack.usesparse", &value)) + r->settings.pack_use_sparse = value; + if (!repo_config_get_bool(r, "feature.manyfiles", &value) && value) { + UPDATE_DEFAULT_BOOL(r->settings.index_version, 4); + UPDATE_DEFAULT_BOOL(r->settings.core_untracked_cache, UNTRACKED_CACHE_WRITE); + } + if (!repo_config_get_bool(r, "feature.experimental", &value) && value) { + UPDATE_DEFAULT_BOOL(r->settings.pack_use_sparse, 1); + UPDATE_DEFAULT_BOOL(r->settings.fetch_negotiation_algorithm, FETCH_NEGOTIATION_SKIPPING); + } + + /* Hack for test programs like test-dump-untracked-cache */ + if (ignore_untracked_cache_config) + r->settings.core_untracked_cache = UNTRACKED_CACHE_KEEP; + else + UPDATE_DEFAULT_BOOL(r->settings.core_untracked_cache, UNTRACKED_CACHE_KEEP); + + UPDATE_DEFAULT_BOOL(r->settings.fetch_negotiation_algorithm, FETCH_NEGOTIATION_DEFAULT); +} diff --git a/repository.h b/repository.h index 4fb6a5885f..4da275e73f 100644 --- a/repository.h +++ b/repository.h @@ -11,6 +11,33 @@ struct pathspec; struct raw_object_store; struct submodule_cache; +enum untracked_cache_setting { + UNTRACKED_CACHE_UNSET = -1, + UNTRACKED_CACHE_REMOVE = 0, + UNTRACKED_CACHE_KEEP = 1, + UNTRACKED_CACHE_WRITE = 2 +}; + +enum fetch_negotiation_setting { + FETCH_NEGOTIATION_UNSET = -1, + FETCH_NEGOTIATION_NONE = 0, + FETCH_NEGOTIATION_DEFAULT = 1, + FETCH_NEGOTIATION_SKIPPING = 2, +}; + +struct repo_settings { + int initialized; + + int core_commit_graph; + int gc_write_commit_graph; + + int index_version; + enum untracked_cache_setting core_untracked_cache; + + int pack_use_sparse; + enum fetch_negotiation_setting fetch_negotiation_algorithm; +}; + struct repository { /* Environment */ /* @@ -72,6 +99,8 @@ struct repository { */ char *submodule_prefix; + struct repo_settings settings; + /* Subsystems */ /* * Repository's config which contains key-value pairs from the usual @@ -157,5 +186,6 @@ int repo_read_index_unmerged(struct repository *); */ void repo_update_index_if_able(struct repository *, struct lock_file *); +void prepare_repo_settings(struct repository *r); #endif /* REPOSITORY_H */ diff --git a/revision.c b/revision.c index d4aaf0ef25..51690e480d 100644 --- a/revision.c +++ b/revision.c @@ -436,7 +436,9 @@ static struct commit *handle_commit(struct rev_info *revs, die("unable to parse commit %s", name); if (flags & UNINTERESTING) { mark_parents_uninteresting(commit); - revs->limited = 1; + + if (!revs->topo_order || !generation_numbers_enabled(the_repository)) + revs->limited = 1; } if (revs->sources) { char **slot = revision_sources_at(revs->sources, commit); @@ -1552,6 +1554,32 @@ void add_index_objects_to_pending(struct rev_info *revs, unsigned int flags) free_worktrees(worktrees); } +struct add_alternate_refs_data { + struct rev_info *revs; + unsigned int flags; +}; + +static void add_one_alternate_ref(const struct object_id *oid, + void *vdata) +{ + const char *name = ".alternate"; + struct add_alternate_refs_data *data = vdata; + struct object *obj; + + obj = get_reference(data->revs, name, oid, data->flags); + add_rev_cmdline(data->revs, obj, name, REV_CMD_REV, data->flags); + add_pending_object(data->revs, obj, name); +} + +static void add_alternate_refs_to_pending(struct rev_info *revs, + unsigned int flags) +{ + struct add_alternate_refs_data data; + data.revs = revs; + data.flags = flags; + for_each_alternate_ref(add_one_alternate_ref, &data); +} + static int add_parents_only(struct rev_info *revs, const char *arg_, int flags, int exclude_parent) { @@ -1954,6 +1982,7 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg !strcmp(arg, "--no-walk") || !strcmp(arg, "--do-walk") || !strcmp(arg, "--bisect") || starts_with(arg, "--glob=") || !strcmp(arg, "--indexed-objects") || + !strcmp(arg, "--alternate-refs") || starts_with(arg, "--exclude=") || starts_with(arg, "--branches=") || starts_with(arg, "--tags=") || starts_with(arg, "--remotes=") || starts_with(arg, "--no-walk=")) @@ -2440,6 +2469,8 @@ static int handle_revision_pseudo_opt(const char *submodule, add_reflogs_to_pending(revs, *flags); } else if (!strcmp(arg, "--indexed-objects")) { add_index_objects_to_pending(revs, *flags); + } else if (!strcmp(arg, "--alternate-refs")) { + add_alternate_refs_to_pending(revs, *flags); } else if (!strcmp(arg, "--not")) { *flags ^= UNINTERESTING | BOTTOM; } else if (!strcmp(arg, "--no-walk")) { @@ -2492,6 +2523,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s int i, flags, left, seen_dashdash, got_rev_arg = 0, revarg_opt; struct argv_array prune_data = ARGV_ARRAY_INIT; const char *submodule = NULL; + int seen_end_of_options = 0; if (opt) submodule = opt->submodule; @@ -2521,7 +2553,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s revarg_opt |= REVARG_CANNOT_BE_FILENAME; for (left = i = 1; i < argc; i++) { const char *arg = argv[i]; - if (*arg == '-') { + if (!seen_end_of_options && *arg == '-') { int opts; opts = handle_revision_pseudo_opt(submodule, @@ -2543,6 +2575,11 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s continue; } + if (!strcmp(arg, "--end-of-options")) { + seen_end_of_options = 1; + continue; + } + opts = handle_revision_opt(revs, argc - i, argv + i, &left, argv, opt); if (opts > 0) { @@ -3263,6 +3300,9 @@ static void expand_topo_walk(struct rev_info *revs, struct commit *commit) struct commit *parent = p->item; int *pi; + if (parent->object.flags & UNINTERESTING) + continue; + if (parse_commit_gently(parent, 1) < 0) continue; diff --git a/sequencer.c b/sequencer.c index 1d206fd224..d648aaf416 100644 --- a/sequencer.c +++ b/sequencer.c @@ -770,7 +770,7 @@ static int parse_key_value_squoted(char *buf, struct string_list *list) * GIT_AUTHOR_DATE='$author_date' * * where $author_name, $author_email and $author_date are quoted. We are strict - * with our parsing, as the file was meant to be eval'd in the old + * with our parsing, as the file was meant to be eval'd in the now-removed * git-am.sh/git-rebase--interactive.sh scripts, and thus if the file differs * from what this function expects, it is better to bail out than to do * something that the user does not expect. @@ -2079,6 +2079,18 @@ const char *todo_item_get_arg(struct todo_list *todo_list, return todo_list->buf.buf + item->arg_offset; } +static int is_command(enum todo_command command, const char **bol) +{ + const char *str = todo_command_info[command].str; + const char nick = todo_command_info[command].c; + const char *p = *bol + 1; + + return skip_prefix(*bol, str, bol) || + ((nick && **bol == nick) && + (*p == ' ' || *p == '\t' || *p == '\n' || *p == '\r' || !*p) && + (*bol = p)); +} + static int parse_insn_line(struct repository *r, struct todo_item *item, const char *buf, const char *bol, char *eol) { @@ -2100,12 +2112,7 @@ static int parse_insn_line(struct repository *r, struct todo_item *item, } for (i = 0; i < TODO_COMMENT; i++) - if (skip_prefix(bol, todo_command_info[i].str, &bol)) { - item->command = i; - break; - } else if ((bol + 1 == eol || bol[1] == ' ') && - *bol == todo_command_info[i].c) { - bol++; + if (is_command(i, &bol)) { item->command = i; break; } @@ -2173,34 +2180,26 @@ static int parse_insn_line(struct repository *r, struct todo_item *item, int sequencer_get_last_command(struct repository *r, enum replay_action *action) { - struct todo_item item; - char *eol; - const char *todo_file; + const char *todo_file, *bol; struct strbuf buf = STRBUF_INIT; - int ret = -1; + int ret = 0; todo_file = git_path_todo_file(); if (strbuf_read_file(&buf, todo_file, 0) < 0) { - if (errno == ENOENT) + if (errno == ENOENT || errno == ENOTDIR) return -1; else return error_errno("unable to open '%s'", todo_file); } - eol = strchrnul(buf.buf, '\n'); - if (buf.buf != eol && eol[-1] == '\r') - eol--; /* strip Carriage Return */ - if (parse_insn_line(r, &item, buf.buf, buf.buf, eol)) - goto fail; - if (item.command == TODO_PICK) + bol = buf.buf + strspn(buf.buf, " \t\r\n"); + if (is_command(TODO_PICK, &bol) && (*bol == ' ' || *bol == '\t')) *action = REPLAY_PICK; - else if (item.command == TODO_REVERT) + else if (is_command(TODO_REVERT, &bol) && + (*bol == ' ' || *bol == '\t')) *action = REPLAY_REVERT; else - goto fail; - - ret = 0; + ret = -1; - fail: strbuf_release(&buf); return ret; @@ -2314,19 +2313,21 @@ static int have_finished_the_last_pick(void) return ret; } -void sequencer_post_commit_cleanup(struct repository *r) +void sequencer_post_commit_cleanup(struct repository *r, int verbose) { struct replay_opts opts = REPLAY_OPTS_INIT; int need_cleanup = 0; if (file_exists(git_path_cherry_pick_head(r))) { - unlink(git_path_cherry_pick_head(r)); + if (!unlink(git_path_cherry_pick_head(r)) && verbose) + warning(_("cancelling a cherry picking in progress")); opts.action = REPLAY_PICK; need_cleanup = 1; } if (file_exists(git_path_revert_head(r))) { - unlink(git_path_revert_head(r)); + if (!unlink(git_path_revert_head(r)) && verbose) + warning(_("cancelling a revert in progress")); opts.action = REPLAY_REVERT; need_cleanup = 1; } @@ -2653,15 +2654,41 @@ static int walk_revs_populate_todo(struct todo_list *todo_list, return 0; } -static int create_seq_dir(void) +static int create_seq_dir(struct repository *r) { - if (file_exists(git_path_seq_dir())) { - error(_("a cherry-pick or revert is already in progress")); - advise(_("try \"git cherry-pick (--continue | --quit | --abort)\"")); + enum replay_action action; + const char *in_progress_error = NULL; + const char *in_progress_advice = NULL; + unsigned int advise_skip = file_exists(git_path_revert_head(r)) || + file_exists(git_path_cherry_pick_head(r)); + + if (!sequencer_get_last_command(r, &action)) { + switch (action) { + case REPLAY_REVERT: + in_progress_error = _("revert is already in progress"); + in_progress_advice = + _("try \"git revert (--continue | %s--abort | --quit)\""); + break; + case REPLAY_PICK: + in_progress_error = _("cherry-pick is already in progress"); + in_progress_advice = + _("try \"git cherry-pick (--continue | %s--abort | --quit)\""); + break; + default: + BUG("unexpected action in create_seq_dir"); + } + } + if (in_progress_error) { + error("%s", in_progress_error); + if (advice_sequencer_in_use) + advise(in_progress_advice, + advise_skip ? "--skip | " : ""); return -1; - } else if (mkdir(git_path_seq_dir(), 0777) < 0) + } + if (mkdir(git_path_seq_dir(), 0777) < 0) return error_errno(_("could not create sequencer directory '%s'"), git_path_seq_dir()); + return 0; } @@ -2712,15 +2739,20 @@ static int rollback_is_safe(void) return oideq(&actual_head, &expected_head); } -static int reset_for_rollback(const struct object_id *oid) +static int reset_merge(const struct object_id *oid) { - const char *argv[4]; /* reset --merge <arg> + NULL */ + int ret; + struct argv_array argv = ARGV_ARRAY_INIT; - argv[0] = "reset"; - argv[1] = "--merge"; - argv[2] = oid_to_hex(oid); - argv[3] = NULL; - return run_command_v_opt(argv, RUN_GIT_CMD); + argv_array_pushl(&argv, "reset", "--merge", NULL); + + if (!is_null_oid(oid)) + argv_array_push(&argv, oid_to_hex(oid)); + + ret = run_command_v_opt(argv.argv, RUN_GIT_CMD); + argv_array_clear(&argv); + + return ret; } static int rollback_single_pick(struct repository *r) @@ -2734,7 +2766,16 @@ static int rollback_single_pick(struct repository *r) return error(_("cannot resolve HEAD")); if (is_null_oid(&head_oid)) return error(_("cannot abort from a branch yet to be born")); - return reset_for_rollback(&head_oid); + return reset_merge(&head_oid); +} + +static int skip_single_pick(void) +{ + struct object_id head; + + if (read_ref_full("HEAD", 0, &head, NULL)) + return error(_("cannot resolve HEAD")); + return reset_merge(&head); } int sequencer_rollback(struct repository *r, struct replay_opts *opts) @@ -2777,7 +2818,7 @@ int sequencer_rollback(struct repository *r, struct replay_opts *opts) warning(_("You seem to have moved HEAD. " "Not rewinding, check your HEAD!")); } else - if (reset_for_rollback(&oid)) + if (reset_merge(&oid)) goto fail; strbuf_release(&buf); return sequencer_remove_state(opts); @@ -2786,6 +2827,70 @@ fail: return -1; } +int sequencer_skip(struct repository *r, struct replay_opts *opts) +{ + enum replay_action action = -1; + sequencer_get_last_command(r, &action); + + /* + * Check whether the subcommand requested to skip the commit is actually + * in progress and that it's safe to skip the commit. + * + * opts->action tells us which subcommand requested to skip the commit. + * If the corresponding .git/<ACTION>_HEAD exists, we know that the + * action is in progress and we can skip the commit. + * + * Otherwise we check that the last instruction was related to the + * particular subcommand we're trying to execute and barf if that's not + * the case. + * + * Finally we check that the rollback is "safe", i.e., has the HEAD + * moved? In this case, it doesn't make sense to "reset the merge" and + * "skip the commit" as the user already handled this by committing. But + * we'd not want to barf here, instead give advice on how to proceed. We + * only need to check that when .git/<ACTION>_HEAD doesn't exist because + * it gets removed when the user commits, so if it still exists we're + * sure the user can't have committed before. + */ + switch (opts->action) { + case REPLAY_REVERT: + if (!file_exists(git_path_revert_head(r))) { + if (action != REPLAY_REVERT) + return error(_("no revert in progress")); + if (!rollback_is_safe()) + goto give_advice; + } + break; + case REPLAY_PICK: + if (!file_exists(git_path_cherry_pick_head(r))) { + if (action != REPLAY_PICK) + return error(_("no cherry-pick in progress")); + if (!rollback_is_safe()) + goto give_advice; + } + break; + default: + BUG("unexpected action in sequencer_skip"); + } + + if (skip_single_pick()) + return error(_("failed to skip the commit")); + if (!is_directory(git_path_seq_dir())) + return 0; + + return sequencer_continue(r, opts); + +give_advice: + error(_("there is nothing to skip")); + + if (advice_resolve_conflict) { + advise(_("have you committed already?\n" + "try \"git %s --continue\""), + action == REPLAY_REVERT ? "revert" : "cherry-pick"); + } + return -1; +} + static int save_todo(struct todo_list *todo_list, struct replay_opts *opts) { struct lock_file todo_lock = LOCK_INIT; @@ -3197,7 +3302,7 @@ static int do_reset(struct repository *r, return error_resolve_conflict(_(action_name(opts))); } - if (!fill_tree_descriptor(&desc, &oid)) { + if (!fill_tree_descriptor(r, &desc, &oid)) { error(_("failed to find tree of %s"), oid_to_hex(&oid)); rollback_lock_file(&lock); free((void *)desc.buffer); @@ -3259,6 +3364,9 @@ static int do_merge(struct repository *r, struct commit *head_commit, *merge_commit, *i; struct commit_list *bases, *j, *reversed = NULL; struct commit_list *to_merge = NULL, **tail = &to_merge; + const char *strategy = !opts->xopts_nr && + (!opts->strategy || !strcmp(opts->strategy, "recursive")) ? + NULL : opts->strategy; struct merge_options o; int merge_arg_len, oneline_offset, can_fast_forward, ret, k; static struct lock_file lock; @@ -3404,10 +3512,14 @@ static int do_merge(struct repository *r, rollback_lock_file(&lock); ret = fast_forward_to(r, &commit->object.oid, &head_commit->object.oid, 0, opts); + if (flags & TODO_EDIT_MERGE_MSG) { + run_commit_flags |= AMEND_MSG; + goto fast_forward_edit; + } goto leave_merge; } - if (to_merge->next) { + if (strategy || to_merge->next) { /* Octopus merge */ struct child_process cmd = CHILD_PROCESS_INIT; @@ -3421,7 +3533,14 @@ static int do_merge(struct repository *r, cmd.git_cmd = 1; argv_array_push(&cmd.args, "merge"); argv_array_push(&cmd.args, "-s"); - argv_array_push(&cmd.args, "octopus"); + if (!strategy) + argv_array_push(&cmd.args, "octopus"); + else { + argv_array_push(&cmd.args, strategy); + for (k = 0; k < opts->xopts_nr; k++) + argv_array_pushf(&cmd.args, + "-X%s", opts->xopts[k]); + } argv_array_push(&cmd.args, "--no-edit"); argv_array_push(&cmd.args, "--no-ff"); argv_array_push(&cmd.args, "--no-log"); @@ -3507,6 +3626,7 @@ static int do_merge(struct repository *r, * value (a negative one would indicate that the `merge` * command needs to be rescheduled). */ + fast_forward_edit: ret = !!run_git_commit(r, git_path_merge_msg(r), opts, run_commit_flags); @@ -3731,7 +3851,7 @@ static int pick_commits(struct repository *r, unlink(rebase_path_author_script()); unlink(rebase_path_stopped_sha()); unlink(rebase_path_amend()); - unlink(git_path_merge_head(the_repository)); + unlink(git_path_merge_head(r)); delete_ref(NULL, "REBASE_HEAD", NULL, REF_NO_DEREF); if (item->command == TODO_BREAK) { @@ -4116,7 +4236,7 @@ static int commit_staged_changes(struct repository *r, opts, flags)) return error(_("could not commit staged changes.")); unlink(rebase_path_amend()); - unlink(git_path_merge_head(the_repository)); + unlink(git_path_merge_head(r)); if (final_fixup) { unlink(rebase_path_fixup_msg()); unlink(rebase_path_squash_msg()); @@ -4251,7 +4371,7 @@ int sequencer_pick_revisions(struct repository *r, */ if (walk_revs_populate_todo(&todo_list, opts) || - create_seq_dir() < 0) + create_seq_dir(r) < 0) return -1; if (get_oid("HEAD", &oid) && (opts->action == REPLAY_REVERT)) return error(_("can't revert as initial commit")); @@ -4444,6 +4564,7 @@ static int make_script_with_merges(struct pretty_print_context *pp, { int keep_empty = flags & TODO_LIST_KEEP_EMPTY; int rebase_cousins = flags & TODO_LIST_REBASE_COUSINS; + int root_with_onto = flags & TODO_LIST_ROOT_WITH_ONTO; struct strbuf buf = STRBUF_INIT, oneline = STRBUF_INIT; struct strbuf label = STRBUF_INIT; struct commit_list *commits = NULL, **tail = &commits, *iter; @@ -4610,7 +4731,8 @@ static int make_script_with_merges(struct pretty_print_context *pp, if (!commit) strbuf_addf(out, "%s %s\n", cmd_reset, - rebase_cousins ? "onto" : "[new root]"); + rebase_cousins || root_with_onto ? + "onto" : "[new root]"); else { const char *to = NULL; diff --git a/sequencer.h b/sequencer.h index 0c494b83d4..574260f621 100644 --- a/sequencer.h +++ b/sequencer.h @@ -129,6 +129,7 @@ int sequencer_pick_revisions(struct repository *repo, struct replay_opts *opts); int sequencer_continue(struct repository *repo, struct replay_opts *opts); int sequencer_rollback(struct repository *repo, struct replay_opts *opts); +int sequencer_skip(struct repository *repo, struct replay_opts *opts); int sequencer_remove_state(struct replay_opts *opts); #define TODO_LIST_KEEP_EMPTY (1U << 0) @@ -142,6 +143,12 @@ int sequencer_remove_state(struct replay_opts *opts); */ #define TODO_LIST_REBASE_COUSINS (1U << 4) #define TODO_LIST_APPEND_TODO_HELP (1U << 5) +/* + * When generating a script that rebases merges with `--root` *and* with + * `--onto`, we do not want to re-generate the root commits. + */ +#define TODO_LIST_ROOT_WITH_ONTO (1U << 6) + int sequencer_make_script(struct repository *r, struct strbuf *out, int argc, const char **argv, unsigned flags); @@ -200,6 +207,6 @@ int read_author_script(const char *path, char **name, char **email, char **date, void parse_strategy_opts(struct replay_opts *opts, char *raw_opts); int write_basic_state(struct replay_opts *opts, const char *head_name, struct commit *onto, const char *orig_head); -void sequencer_post_commit_cleanup(struct repository *r); +void sequencer_post_commit_cleanup(struct repository *r, int verbose); int sequencer_get_last_command(struct repository* r, enum replay_action *action); diff --git a/server-info.c b/server-info.c index 92187c70db..4d8199b1d9 100644 --- a/server-info.c +++ b/server-info.c @@ -7,82 +7,174 @@ #include "tag.h" #include "packfile.h" #include "object-store.h" +#include "strbuf.h" + +struct update_info_ctx { + FILE *cur_fp; + FILE *old_fp; /* becomes NULL if it differs from cur_fp */ + struct strbuf cur_sb; + struct strbuf old_sb; +}; + +static void uic_mark_stale(struct update_info_ctx *uic) +{ + fclose(uic->old_fp); + uic->old_fp = NULL; +} + +static int uic_is_stale(const struct update_info_ctx *uic) +{ + return uic->old_fp == NULL; +} + +static int uic_printf(struct update_info_ctx *uic, const char *fmt, ...) +{ + va_list ap; + int ret = -1; + + va_start(ap, fmt); + + if (uic_is_stale(uic)) { + ret = vfprintf(uic->cur_fp, fmt, ap); + } else { + ssize_t r; + struct strbuf *cur = &uic->cur_sb; + struct strbuf *old = &uic->old_sb; + + strbuf_reset(cur); + strbuf_vinsertf(cur, 0, fmt, ap); + + strbuf_reset(old); + strbuf_grow(old, cur->len); + r = fread(old->buf, 1, cur->len, uic->old_fp); + if (r != cur->len || memcmp(old->buf, cur->buf, r)) + uic_mark_stale(uic); + + if (fwrite(cur->buf, 1, cur->len, uic->cur_fp) == cur->len) + ret = 0; + } + + va_end(ap); + + return ret; +} /* * Create the file "path" by writing to a temporary file and renaming * it into place. The contents of the file come from "generate", which * should return non-zero if it encounters an error. */ -static int update_info_file(char *path, int (*generate)(FILE *)) +static int update_info_file(char *path, + int (*generate)(struct update_info_ctx *), + int force) { char *tmp = mkpathdup("%s_XXXXXX", path); int ret = -1; int fd = -1; - FILE *fp = NULL, *to_close; + FILE *to_close; + struct update_info_ctx uic = { + .cur_fp = NULL, + .old_fp = NULL, + .cur_sb = STRBUF_INIT, + .old_sb = STRBUF_INIT + }; safe_create_leading_directories(path); fd = git_mkstemp_mode(tmp, 0666); if (fd < 0) goto out; - to_close = fp = fdopen(fd, "w"); - if (!fp) + to_close = uic.cur_fp = fdopen(fd, "w"); + if (!uic.cur_fp) goto out; fd = -1; - ret = generate(fp); + + /* no problem on ENOENT and old_fp == NULL, it's stale, now */ + if (!force) + uic.old_fp = fopen_or_warn(path, "r"); + + /* + * uic_printf will compare incremental comparison aginst old_fp + * and mark uic as stale if needed + */ + ret = generate(&uic); if (ret) goto out; - fp = NULL; + + /* new file may be shorter than the old one, check here */ + if (!uic_is_stale(&uic)) { + struct stat st; + long new_len = ftell(uic.cur_fp); + int old_fd = fileno(uic.old_fp); + + if (new_len < 0) { + ret = -1; + goto out; + } + if (fstat(old_fd, &st) || (st.st_size != (size_t)new_len)) + uic_mark_stale(&uic); + } + + uic.cur_fp = NULL; if (fclose(to_close)) goto out; - if (adjust_shared_perm(tmp) < 0) - goto out; - if (rename(tmp, path) < 0) - goto out; + + if (uic_is_stale(&uic)) { + if (adjust_shared_perm(tmp) < 0) + goto out; + if (rename(tmp, path) < 0) + goto out; + } else { + unlink(tmp); + } ret = 0; out: if (ret) { error_errno("unable to update %s", path); - if (fp) - fclose(fp); + if (uic.cur_fp) + fclose(uic.cur_fp); else if (fd >= 0) close(fd); unlink(tmp); } free(tmp); + if (uic.old_fp) + fclose(uic.old_fp); + strbuf_release(&uic.old_sb); + strbuf_release(&uic.cur_sb); return ret; } static int add_info_ref(const char *path, const struct object_id *oid, int flag, void *cb_data) { - FILE *fp = cb_data; + struct update_info_ctx *uic = cb_data; struct object *o = parse_object(the_repository, oid); if (!o) return -1; - if (fprintf(fp, "%s %s\n", oid_to_hex(oid), path) < 0) + if (uic_printf(uic, "%s %s\n", oid_to_hex(oid), path) < 0) return -1; if (o->type == OBJ_TAG) { o = deref_tag(the_repository, o, path, 0); if (o) - if (fprintf(fp, "%s %s^{}\n", + if (uic_printf(uic, "%s %s^{}\n", oid_to_hex(&o->oid), path) < 0) return -1; } return 0; } -static int generate_info_refs(FILE *fp) +static int generate_info_refs(struct update_info_ctx *uic) { - return for_each_ref(add_info_ref, fp); + return for_each_ref(add_info_ref, uic); } -static int update_info_refs(void) +static int update_info_refs(int force) { char *path = git_pathdup("info/refs"); - int ret = update_info_file(path, generate_info_refs); + int ret = update_info_file(path, generate_info_refs, force); free(path); return ret; } @@ -232,14 +324,14 @@ static void free_pack_info(void) free(info); } -static int write_pack_info_file(FILE *fp) +static int write_pack_info_file(struct update_info_ctx *uic) { int i; for (i = 0; i < num_pack; i++) { - if (fprintf(fp, "P %s\n", pack_basename(info[i]->p)) < 0) + if (uic_printf(uic, "P %s\n", pack_basename(info[i]->p)) < 0) return -1; } - if (fputc('\n', fp) == EOF) + if (uic_printf(uic, "\n") < 0) return -1; return 0; } @@ -250,7 +342,7 @@ static int update_info_packs(int force) int ret; init_pack_info(infofile, force); - ret = update_info_file(infofile, write_pack_info_file); + ret = update_info_file(infofile, write_pack_info_file, force); free_pack_info(); free(infofile); return ret; @@ -265,7 +357,7 @@ int update_server_info(int force) */ int errs = 0; - errs = errs | update_info_refs(); + errs = errs | update_info_refs(force); errs = errs | update_info_packs(force); /* remove leftover rev-cache file if there is any */ @@ -4,6 +4,7 @@ #include "dir.h" #include "string-list.h" #include "chdir-notify.h" +#include "promisor-remote.h" static int inside_git_dir = -1; static int inside_work_tree = -1; @@ -478,7 +479,7 @@ static int check_repository_format_gently(const char *gitdir, struct repository_ } repository_format_precious_objects = candidate->precious_objects; - repository_format_partial_clone = xstrdup_or_null(candidate->partial_clone); + set_repository_format_partial_clone(candidate->partial_clone); repository_format_worktree_config = candidate->worktree_config; string_list_clear(&candidate->unknown_extensions, 0); diff --git a/sha1-file.c b/sha1-file.c index 888b6024d5..e85f249a5d 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -30,8 +30,8 @@ #include "mergesort.h" #include "quote.h" #include "packfile.h" -#include "fetch-object.h" #include "object-store.h" +#include "promisor-remote.h" /* The maximum size for an object header. */ #define MAX_HEADER_LEN 32 @@ -743,6 +743,104 @@ out: return ref_git; } +static void fill_alternate_refs_command(struct child_process *cmd, + const char *repo_path) +{ + const char *value; + + if (!git_config_get_value("core.alternateRefsCommand", &value)) { + cmd->use_shell = 1; + + argv_array_push(&cmd->args, value); + argv_array_push(&cmd->args, repo_path); + } else { + cmd->git_cmd = 1; + + argv_array_pushf(&cmd->args, "--git-dir=%s", repo_path); + argv_array_push(&cmd->args, "for-each-ref"); + argv_array_push(&cmd->args, "--format=%(objectname)"); + + if (!git_config_get_value("core.alternateRefsPrefixes", &value)) { + argv_array_push(&cmd->args, "--"); + argv_array_split(&cmd->args, value); + } + } + + cmd->env = local_repo_env; + cmd->out = -1; +} + +static void read_alternate_refs(const char *path, + alternate_ref_fn *cb, + void *data) +{ + struct child_process cmd = CHILD_PROCESS_INIT; + struct strbuf line = STRBUF_INIT; + FILE *fh; + + fill_alternate_refs_command(&cmd, path); + + if (start_command(&cmd)) + return; + + fh = xfdopen(cmd.out, "r"); + while (strbuf_getline_lf(&line, fh) != EOF) { + struct object_id oid; + const char *p; + + if (parse_oid_hex(line.buf, &oid, &p) || *p) { + warning(_("invalid line while parsing alternate refs: %s"), + line.buf); + break; + } + + cb(&oid, data); + } + + fclose(fh); + finish_command(&cmd); + strbuf_release(&line); +} + +struct alternate_refs_data { + alternate_ref_fn *fn; + void *data; +}; + +static int refs_from_alternate_cb(struct object_directory *e, + void *data) +{ + struct strbuf path = STRBUF_INIT; + size_t base_len; + struct alternate_refs_data *cb = data; + + if (!strbuf_realpath(&path, e->path, 0)) + goto out; + if (!strbuf_strip_suffix(&path, "/objects")) + goto out; + base_len = path.len; + + /* Is this a git repository with refs? */ + strbuf_addstr(&path, "/refs"); + if (!is_directory(path.buf)) + goto out; + strbuf_setlen(&path, base_len); + + read_alternate_refs(path.buf, cb->fn, cb->data); + +out: + strbuf_release(&path); + return 0; +} + +void for_each_alternate_ref(alternate_ref_fn fn, void *data) +{ + struct alternate_refs_data cb; + cb.fn = fn; + cb.data = data; + foreach_alt_odb(refs_from_alternate_cb, &cb); +} + int foreach_alt_odb(alt_odb_fn fn, void *cb) { struct object_directory *ent; @@ -854,12 +952,8 @@ void *xmmap_gently(void *start, size_t length, mmap_limit_check(length); ret = mmap(start, length, prot, flags, fd, offset); - if (ret == MAP_FAILED) { - if (!length) - return NULL; - release_pack_memory(length); - ret = mmap(start, length, prot, flags, fd, offset); - } + if (ret == MAP_FAILED && !length) + ret = NULL; return ret; } @@ -1377,16 +1471,17 @@ int oid_object_info_extended(struct repository *r, const struct object_id *oid, } /* Check if it is a missing object */ - if (fetch_if_missing && repository_format_partial_clone && + if (fetch_if_missing && has_promisor_remote() && !already_retried && r == the_repository && !(flags & OBJECT_INFO_SKIP_FETCH_OBJECT)) { /* - * TODO Investigate having fetch_object() return - * TODO error/success and stopping the music here. - * TODO Pass a repository struct through fetch_object, - * such that arbitrary repositories work. + * TODO Investigate checking promisor_remote_get_direct() + * TODO return value and stopping on error here. + * TODO Pass a repository struct through + * promisor_remote_get_direct(), such that arbitrary + * repositories work. */ - fetch_objects(repository_format_partial_clone, real, 1); + promisor_remote_get_direct(r, real, 1); already_retried = 1; continue; } @@ -1505,7 +1600,8 @@ void *read_object_file_extended(struct repository *r, return NULL; } -void *read_object_with_reference(const struct object_id *oid, +void *read_object_with_reference(struct repository *r, + const struct object_id *oid, const char *required_type_name, unsigned long *size, struct object_id *actual_oid_return) @@ -1521,7 +1617,7 @@ void *read_object_with_reference(const struct object_id *oid, int ref_length = -1; const char *ref_type = NULL; - buffer = read_object_file(&actual_oid, &type, &isize); + buffer = repo_read_object_file(r, &actual_oid, &type, &isize); if (!buffer) return NULL; if (type == required_type) { diff --git a/sha1-name.c b/sha1-name.c index 728e6f1f61..c665e3f96d 100644 --- a/sha1-name.c +++ b/sha1-name.c @@ -403,9 +403,9 @@ static int repo_collect_ambiguous(struct repository *r, return collect_ambiguous(oid, data); } -static struct repository *sort_ambiguous_repo; -static int sort_ambiguous(const void *a, const void *b) +static int sort_ambiguous(const void *a, const void *b, void *ctx) { + struct repository *sort_ambiguous_repo = ctx; int a_type = oid_object_info(sort_ambiguous_repo, a, NULL); int b_type = oid_object_info(sort_ambiguous_repo, b, NULL); int a_type_sort; @@ -434,10 +434,7 @@ static int sort_ambiguous(const void *a, const void *b) static void sort_ambiguous_oid_array(struct repository *r, struct oid_array *a) { - /* mutex will be needed if this code is to be made thread safe */ - sort_ambiguous_repo = r; - QSORT(a->oid, a->nr, sort_ambiguous); - sort_ambiguous_repo = NULL; + QSORT_S(a->oid, a->nr, sort_ambiguous, r); } static enum get_oid_result get_short_oid(struct repository *r, @@ -478,7 +475,7 @@ static enum get_oid_result get_short_oid(struct repository *r, * or migrated from loose to packed. */ if (status == MISSING_OBJECT) { - reprepare_packed_git(the_repository); + reprepare_packed_git(r); find_short_object_filename(&ds); find_short_packed_object(&ds); status = finish_object_disambiguation(&ds, oid); @@ -801,7 +798,7 @@ static int get_oid_basic(struct repository *r, const char *str, int len, "because it will be ignored when you just specify 40-hex. These refs\n" "may be created by mistake. For example,\n" "\n" - " git checkout -b $br $(git rev-parse ...)\n" + " git switch -c $br $(git rev-parse ...)\n" "\n" "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" "examine these refs and maybe delete them. Turn this message off by\n" @@ -1389,9 +1386,7 @@ int repo_get_oid_mb(struct repository *r, two = lookup_commit_reference_gently(r, &oid_tmp, 0); if (!two) return -1; - if (r != the_repository) - BUG("sorry get_merge_bases() can't take struct repository yet"); - mbs = get_merge_bases(one, two); + mbs = repo_get_merge_bases(r, one, two); if (!mbs || mbs->next) st = -1; else { @@ -1677,7 +1672,8 @@ int repo_get_oid_blob(struct repository *r, } /* Must be called only when object_name:filename doesn't exist. */ -static void diagnose_invalid_oid_path(const char *prefix, +static void diagnose_invalid_oid_path(struct repository *r, + const char *prefix, const char *filename, const struct object_id *tree_oid, const char *object_name, @@ -1695,7 +1691,7 @@ static void diagnose_invalid_oid_path(const char *prefix, if (is_missing_file_error(errno)) { char *fullname = xstrfmt("%s%s", prefix, filename); - if (!get_tree_entry(tree_oid, fullname, &oid, &mode)) { + if (!get_tree_entry(r, tree_oid, fullname, &oid, &mode)) { die("Path '%s' exists, but not '%s'.\n" "Did you mean '%.*s:%s' aka '%.*s:./%s'?", fullname, @@ -1889,23 +1885,15 @@ static enum get_oid_result get_oid_with_context_1(struct repository *repo, new_filename = resolve_relative_path(repo, filename); if (new_filename) filename = new_filename; - /* - * NEEDSWORK: Eventually get_tree_entry*() should - * learn to take struct repository directly and we - * would not need to inject submodule odb to the - * in-core odb. - */ - if (repo != the_repository) - add_to_alternates_memory(repo->objects->odb->path); if (flags & GET_OID_FOLLOW_SYMLINKS) { - ret = get_tree_entry_follow_symlinks(&tree_oid, + ret = get_tree_entry_follow_symlinks(repo, &tree_oid, filename, oid, &oc->symlink_path, &oc->mode); } else { - ret = get_tree_entry(&tree_oid, filename, oid, + ret = get_tree_entry(repo, &tree_oid, filename, oid, &oc->mode); if (ret && only_to_die) { - diagnose_invalid_oid_path(prefix, + diagnose_invalid_oid_path(repo, prefix, filename, &tree_oid, name, len); @@ -248,7 +248,8 @@ static void check_shallow_file_for_update(struct repository *r) if (r->parsed_objects->is_shallow == -1) BUG("shallow must be initialized by now"); - if (!stat_validity_check(r->parsed_objects->shallow_stat, git_path_shallow(the_repository))) + if (!stat_validity_check(r->parsed_objects->shallow_stat, + git_path_shallow(r))) die("shallow file has changed since we read it"); } @@ -774,8 +774,10 @@ void strbuf_addstr_xml_quoted(struct strbuf *buf, const char *s) } } -static int is_rfc3986_reserved(char ch) +int is_rfc3986_reserved_or_unreserved(char ch) { + if (is_rfc3986_unreserved(ch)) + return 1; switch (ch) { case '!': case '*': case '\'': case '(': case ')': case ';': case ':': case '@': case '&': case '=': case '+': case '$': @@ -785,20 +787,19 @@ static int is_rfc3986_reserved(char ch) return 0; } -static int is_rfc3986_unreserved(char ch) +int is_rfc3986_unreserved(char ch) { return isalnum(ch) || ch == '-' || ch == '_' || ch == '.' || ch == '~'; } static void strbuf_add_urlencode(struct strbuf *sb, const char *s, size_t len, - int reserved) + char_predicate allow_unencoded_fn) { strbuf_grow(sb, len); while (len--) { char ch = *s++; - if (is_rfc3986_unreserved(ch) || - (!reserved && is_rfc3986_reserved(ch))) + if (allow_unencoded_fn(ch)) strbuf_addch(sb, ch); else strbuf_addf(sb, "%%%02x", (unsigned char)ch); @@ -806,30 +807,62 @@ static void strbuf_add_urlencode(struct strbuf *sb, const char *s, size_t len, } void strbuf_addstr_urlencode(struct strbuf *sb, const char *s, - int reserved) + char_predicate allow_unencoded_fn) { - strbuf_add_urlencode(sb, s, strlen(s), reserved); + strbuf_add_urlencode(sb, s, strlen(s), allow_unencoded_fn); } -void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes) +static void strbuf_humanise(struct strbuf *buf, off_t bytes, + int humanise_rate) { if (bytes > 1 << 30) { - strbuf_addf(buf, "%u.%2.2u GiB", + strbuf_addf(buf, + humanise_rate == 0 ? + /* TRANSLATORS: IEC 80000-13:2008 gibibyte */ + _("%u.%2.2u GiB") : + /* TRANSLATORS: IEC 80000-13:2008 gibibyte/second */ + _("%u.%2.2u GiB/s"), (unsigned)(bytes >> 30), (unsigned)(bytes & ((1 << 30) - 1)) / 10737419); } else if (bytes > 1 << 20) { unsigned x = bytes + 5243; /* for rounding */ - strbuf_addf(buf, "%u.%2.2u MiB", + strbuf_addf(buf, + humanise_rate == 0 ? + /* TRANSLATORS: IEC 80000-13:2008 mebibyte */ + _("%u.%2.2u MiB") : + /* TRANSLATORS: IEC 80000-13:2008 mebibyte/second */ + _("%u.%2.2u MiB/s"), x >> 20, ((x & ((1 << 20) - 1)) * 100) >> 20); } else if (bytes > 1 << 10) { unsigned x = bytes + 5; /* for rounding */ - strbuf_addf(buf, "%u.%2.2u KiB", + strbuf_addf(buf, + humanise_rate == 0 ? + /* TRANSLATORS: IEC 80000-13:2008 kibibyte */ + _("%u.%2.2u KiB") : + /* TRANSLATORS: IEC 80000-13:2008 kibibyte/second */ + _("%u.%2.2u KiB/s"), x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10); } else { - strbuf_addf(buf, "%u bytes", (unsigned)bytes); + strbuf_addf(buf, + humanise_rate == 0 ? + /* TRANSLATORS: IEC 80000-13:2008 byte */ + Q_("%u byte", "%u bytes", (unsigned)bytes) : + /* TRANSLATORS: IEC 80000-13:2008 byte/second */ + Q_("%u byte/s", "%u bytes/s", (unsigned)bytes), + (unsigned)bytes); } } +void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes) +{ + strbuf_humanise(buf, bytes, 0); +} + +void strbuf_humanise_rate(struct strbuf *buf, off_t bytes) +{ + strbuf_humanise(buf, bytes, 1); +} + void strbuf_add_absolute_path(struct strbuf *sb, const char *path) { if (!*path) @@ -373,6 +373,12 @@ void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src); void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes); /** + * Append the given byte rate as a human-readable string (i.e. 12.23 KiB/s, + * 3.50 MiB/s). + */ +void strbuf_humanise_rate(struct strbuf *buf, off_t bytes); + +/** * Add a formatted string to the buffer. */ __attribute__((format (printf,2,3))) @@ -666,8 +672,13 @@ void strbuf_branchname(struct strbuf *sb, const char *name, */ int strbuf_check_branch_ref(struct strbuf *sb, const char *name); +typedef int (*char_predicate)(char ch); + +int is_rfc3986_unreserved(char ch); +int is_rfc3986_reserved_or_unreserved(char ch); + void strbuf_addstr_urlencode(struct strbuf *sb, const char *name, - int reserved); + char_predicate allow_unencoded_fn); __attribute__((format (printf,1,2))) int printf_ln(const char *fmt, ...); diff --git a/submodule.c b/submodule.c index 2cfaba0599..0f199c5137 100644 --- a/submodule.c +++ b/submodule.c @@ -1910,7 +1910,7 @@ int submodule_move_head(const char *path, if (!(flags & SUBMODULE_MOVE_HEAD_DRY_RUN)) { if (old_head) { if (!submodule_uses_gitfile(path)) - absorb_git_dir_into_superproject("", path, + absorb_git_dir_into_superproject(path, ABSORB_GITDIR_RECURSE_SUBMODULES); } else { char *gitdir = xstrfmt("%s/modules/%s", @@ -1997,8 +1997,7 @@ out: * Embeds a single submodules git directory into the superprojects git dir, * non recursively. */ -static void relocate_single_git_dir_into_superproject(const char *prefix, - const char *path) +static void relocate_single_git_dir_into_superproject(const char *path) { char *old_git_dir = NULL, *real_old_git_dir = NULL, *real_new_git_dir = NULL; const char *new_git_dir; @@ -2040,8 +2039,7 @@ static void relocate_single_git_dir_into_superproject(const char *prefix, * having its git directory within the working tree to the git dir nested * in its superprojects git dir under modules/. */ -void absorb_git_dir_into_superproject(const char *prefix, - const char *path, +void absorb_git_dir_into_superproject(const char *path, unsigned flags) { int err_code; @@ -2082,7 +2080,7 @@ void absorb_git_dir_into_superproject(const char *prefix, char *real_common_git_dir = real_pathdup(get_git_common_dir(), 1); if (!starts_with(real_sub_git_dir, real_common_git_dir)) - relocate_single_git_dir_into_superproject(prefix, path); + relocate_single_git_dir_into_superproject(path); free(real_sub_git_dir); free(real_common_git_dir); diff --git a/submodule.h b/submodule.h index 9e18e9b807..8072e6d6dd 100644 --- a/submodule.h +++ b/submodule.h @@ -141,8 +141,7 @@ void submodule_unset_core_worktree(const struct submodule *sub); void prepare_submodule_repo_env(struct argv_array *out); #define ABSORB_GITDIR_RECURSE_SUBMODULES (1<<0) -void absorb_git_dir_into_superproject(const char *prefix, - const char *path, +void absorb_git_dir_into_superproject(const char *path, unsigned flags); /* @@ -334,11 +334,20 @@ that cannot be easily covered by a few specific test cases. These could be enabled by running the test suite with correct GIT_TEST_ environment set. -GIT_TEST_GETTEXT_POISON=<non-empty?> turns all strings marked for -translation into gibberish if non-empty (think "test -n"). Used for -spotting those tests that need to be marked with a C_LOCALE_OUTPUT -prerequisite when adding more strings for translation. See "Testing -marked strings" in po/README for details. +GIT_TEST_FAIL_PREREQS=<boolean> fails all prerequisites. This is +useful for discovering issues with the tests where say a later test +implicitly depends on an optional earlier test. + +There's a "FAIL_PREREQS" prerequisite that can be used to test for +whether this mode is active, and e.g. skip some tests that are hard to +refactor to deal with it. The "SYMLINKS" prerequisite is currently +excluded as so much relies on it, but this might change in the future. + +GIT_TEST_GETTEXT_POISON=<boolean> turns all strings marked for +translation into gibberish if true. Used for spotting those tests that +need to be marked with a C_LOCALE_OUTPUT prerequisite when adding more +strings for translation. See "Testing marked strings" in po/README for +details. GIT_TEST_SPLIT_INDEX=<boolean> forces split-index mode on the whole test suite. Accept any boolean values that are accepted by git-config. diff --git a/t/helper/test-dir-iterator.c b/t/helper/test-dir-iterator.c new file mode 100644 index 0000000000..659b6bfa81 --- /dev/null +++ b/t/helper/test-dir-iterator.c @@ -0,0 +1,65 @@ +#include "test-tool.h" +#include "git-compat-util.h" +#include "strbuf.h" +#include "iterator.h" +#include "dir-iterator.h" + +static const char *error_name(int error_number) +{ + switch (error_number) { + case ENOENT: return "ENOENT"; + case ENOTDIR: return "ENOTDIR"; + default: return "ESOMETHINGELSE"; + } +} + +/* + * usage: + * tool-test dir-iterator [--follow-symlinks] [--pedantic] directory_path + */ +int cmd__dir_iterator(int argc, const char **argv) +{ + struct dir_iterator *diter; + unsigned int flags = 0; + int iter_status; + + for (++argv, --argc; *argv && starts_with(*argv, "--"); ++argv, --argc) { + if (strcmp(*argv, "--follow-symlinks") == 0) + flags |= DIR_ITERATOR_FOLLOW_SYMLINKS; + else if (strcmp(*argv, "--pedantic") == 0) + flags |= DIR_ITERATOR_PEDANTIC; + else + die("invalid option '%s'", *argv); + } + + if (!*argv || argc != 1) + die("dir-iterator needs exactly one non-option argument"); + + diter = dir_iterator_begin(*argv, flags); + + if (!diter) { + printf("dir_iterator_begin failure: %s\n", error_name(errno)); + exit(EXIT_FAILURE); + } + + while ((iter_status = dir_iterator_advance(diter)) == ITER_OK) { + if (S_ISDIR(diter->st.st_mode)) + printf("[d] "); + else if (S_ISREG(diter->st.st_mode)) + printf("[f] "); + else if (S_ISLNK(diter->st.st_mode)) + printf("[s] "); + else + printf("[?] "); + + printf("(%s) [%s] %s\n", diter->relative_path, diter->basename, + diter->path.buf); + } + + if (iter_status != ITER_DONE) { + printf("dir_iterator_advance failure\n"); + return 1; + } + + return 0; +} diff --git a/t/helper/test-example-decorate.c b/t/helper/test-example-decorate.c index a20a6161e4..c8a1cde7d2 100644 --- a/t/helper/test-example-decorate.c +++ b/t/helper/test-example-decorate.c @@ -26,8 +26,8 @@ int cmd__example_decorate(int argc, const char **argv) * Add 2 objects, one with a non-NULL decoration and one with a NULL * decoration. */ - one = lookup_unknown_object(one_oid.hash); - two = lookup_unknown_object(two_oid.hash); + one = lookup_unknown_object(&one_oid); + two = lookup_unknown_object(&two_oid); ret = add_decoration(&n, one, &decoration_a); if (ret) BUG("when adding a brand-new object, NULL should be returned"); @@ -56,7 +56,7 @@ int cmd__example_decorate(int argc, const char **argv) ret = lookup_decoration(&n, two); if (ret != &decoration_b) BUG("lookup should return added declaration"); - three = lookup_unknown_object(three_oid.hash); + three = lookup_unknown_object(&three_oid); ret = lookup_decoration(&n, three); if (ret) BUG("lookup for unknown object should return NULL"); diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c index 23d2b172fe..aaf17b0ddf 100644 --- a/t/helper/test-hashmap.c +++ b/t/helper/test-hashmap.c @@ -173,14 +173,7 @@ int cmd__hashmap(int argc, const char **argv) p2 = strtok(NULL, DELIM); } - if (!strcmp("hash", cmd) && p1) { - - /* print results of different hash functions */ - printf("%u %u %u %u\n", - strhash(p1), memhash(p1, strlen(p1)), - strihash(p1), memihash(p1, strlen(p1))); - - } else if (!strcmp("add", cmd) && p1 && p2) { + if (!strcmp("add", cmd) && p1 && p2) { /* create entry with key = p1, value = p2 */ entry = alloc_test_entry(hash, p1, p2); diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 96857f26ac..b9fd427571 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -20,7 +20,7 @@ int cmd__match_trees(int ac, const char **av) if (!two) die("not a tree-ish %s", av[2]); - shift_tree(&one->object.oid, &two->object.oid, &shifted, -1); + shift_tree(the_repository, &one->object.oid, &two->object.oid, &shifted, -1); printf("shifted: %s\n", oid_to_hex(&shifted)); exit(0); diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c new file mode 100644 index 0000000000..0acf99931e --- /dev/null +++ b/t/helper/test-oidmap.c @@ -0,0 +1,112 @@ +#include "test-tool.h" +#include "cache.h" +#include "oidmap.h" +#include "strbuf.h" + +/* key is an oid and value is a name (could be a refname for example) */ +struct test_entry { + struct oidmap_entry entry; + char name[FLEX_ARRAY]; +}; + +#define DELIM " \t\r\n" + +/* + * Read stdin line by line and print result of commands to stdout: + * + * hash oidkey -> sha1hash(oidkey) + * put oidkey namevalue -> NULL / old namevalue + * get oidkey -> NULL / namevalue + * remove oidkey -> NULL / old namevalue + * iterate -> oidkey1 namevalue1\noidkey2 namevalue2\n... + * + */ +int cmd__oidmap(int argc, const char **argv) +{ + struct strbuf line = STRBUF_INIT; + struct oidmap map = OIDMAP_INIT; + + setup_git_directory(); + + /* init oidmap */ + oidmap_init(&map, 0); + + /* process commands from stdin */ + while (strbuf_getline(&line, stdin) != EOF) { + char *cmd, *p1 = NULL, *p2 = NULL; + struct test_entry *entry; + struct object_id oid; + + /* break line into command and up to two parameters */ + cmd = strtok(line.buf, DELIM); + /* ignore empty lines */ + if (!cmd || *cmd == '#') + continue; + + p1 = strtok(NULL, DELIM); + if (p1) + p2 = strtok(NULL, DELIM); + + if (!strcmp("put", cmd) && p1 && p2) { + + if (get_oid(p1, &oid)) { + printf("Unknown oid: %s\n", p1); + continue; + } + + /* create entry with oid_key = p1, name_value = p2 */ + FLEX_ALLOC_STR(entry, name, p2); + oidcpy(&entry->entry.oid, &oid); + + /* add / replace entry */ + entry = oidmap_put(&map, entry); + + /* print and free replaced entry, if any */ + puts(entry ? entry->name : "NULL"); + free(entry); + + } else if (!strcmp("get", cmd) && p1) { + + if (get_oid(p1, &oid)) { + printf("Unknown oid: %s\n", p1); + continue; + } + + /* lookup entry in oidmap */ + entry = oidmap_get(&map, &oid); + + /* print result */ + puts(entry ? entry->name : "NULL"); + + } else if (!strcmp("remove", cmd) && p1) { + + if (get_oid(p1, &oid)) { + printf("Unknown oid: %s\n", p1); + continue; + } + + /* remove entry from oidmap */ + entry = oidmap_remove(&map, &oid); + + /* print result and free entry*/ + puts(entry ? entry->name : "NULL"); + free(entry); + + } else if (!strcmp("iterate", cmd)) { + + struct oidmap_iter iter; + oidmap_iter_init(&map, &iter); + while ((entry = oidmap_iter_next(&iter))) + printf("%s %s\n", oid_to_hex(&entry->entry.oid), entry->name); + + } else { + + printf("Unknown command %s\n", cmd); + + } + } + + strbuf_release(&line); + oidmap_free(&map, 1); + return 0; +} diff --git a/t/helper/test-tool.c b/t/helper/test-tool.c index 087a8c0cc9..ce7e89028c 100644 --- a/t/helper/test-tool.c +++ b/t/helper/test-tool.c @@ -19,6 +19,7 @@ static struct test_cmd cmds[] = { { "ctype", cmd__ctype }, { "date", cmd__date }, { "delta", cmd__delta }, + { "dir-iterator", cmd__dir_iterator }, { "drop-caches", cmd__drop_caches }, { "dump-cache-tree", cmd__dump_cache_tree }, { "dump-fsmonitor", cmd__dump_fsmonitor }, @@ -35,6 +36,7 @@ static struct test_cmd cmds[] = { { "match-trees", cmd__match_trees }, { "mergesort", cmd__mergesort }, { "mktemp", cmd__mktemp }, + { "oidmap", cmd__oidmap }, { "online-cpus", cmd__online_cpus }, { "parse-options", cmd__parse_options }, { "path-utils", cmd__path_utils }, diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h index 7e703f3038..f805bb39ae 100644 --- a/t/helper/test-tool.h +++ b/t/helper/test-tool.h @@ -9,6 +9,7 @@ int cmd__config(int argc, const char **argv); int cmd__ctype(int argc, const char **argv); int cmd__date(int argc, const char **argv); int cmd__delta(int argc, const char **argv); +int cmd__dir_iterator(int argc, const char **argv); int cmd__drop_caches(int argc, const char **argv); int cmd__dump_cache_tree(int argc, const char **argv); int cmd__dump_fsmonitor(int argc, const char **argv); @@ -25,6 +26,7 @@ int cmd__lazy_init_name_hash(int argc, const char **argv); int cmd__match_trees(int argc, const char **argv); int cmd__mergesort(int argc, const char **argv); int cmd__mktemp(int argc, const char **argv); +int cmd__oidmap(int argc, const char **argv); int cmd__online_cpus(int argc, const char **argv); int cmd__parse_options(int argc, const char **argv); int cmd__path_utils(int argc, const char **argv); diff --git a/t/lib-git-daemon.sh b/t/lib-git-daemon.sh index 7b3407134e..fb8f887080 100644 --- a/t/lib-git-daemon.sh +++ b/t/lib-git-daemon.sh @@ -15,8 +15,7 @@ # # test_done -test_tristate GIT_TEST_GIT_DAEMON -if test "$GIT_TEST_GIT_DAEMON" = false +if ! git env--helper --type=bool --default=true --exit-code GIT_TEST_GIT_DAEMON then skip_all="git-daemon testing disabled (unset GIT_TEST_GIT_DAEMON to enable)" test_done @@ -24,7 +23,7 @@ fi if test_have_prereq !PIPE then - test_skip_or_die $GIT_TEST_GIT_DAEMON "file system does not support FIFOs" + test_skip_or_die GIT_TEST_GIT_DAEMON "file system does not support FIFOs" fi test_set_port LIB_GIT_DAEMON_PORT @@ -73,7 +72,7 @@ start_git_daemon() { kill "$GIT_DAEMON_PID" wait "$GIT_DAEMON_PID" unset GIT_DAEMON_PID - test_skip_or_die $GIT_TEST_GIT_DAEMON \ + test_skip_or_die GIT_TEST_GIT_DAEMON \ "git daemon failed to start" fi } diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh index c1271d6863..5d4ae629e1 100644 --- a/t/lib-git-svn.sh +++ b/t/lib-git-svn.sh @@ -69,14 +69,12 @@ svn_cmd () { maybe_start_httpd () { loc=${1-svn} - test_tristate GIT_SVN_TEST_HTTPD - case $GIT_SVN_TEST_HTTPD in - true) + if git env--helper --type=bool --default=false --exit-code GIT_TEST_HTTPD + then . "$TEST_DIRECTORY"/lib-httpd.sh LIB_HTTPD_SVN="$loc" start_httpd - ;; - esac + fi } convert_to_rev_db () { @@ -106,8 +104,7 @@ EOF } require_svnserve () { - test_tristate GIT_TEST_SVNSERVE - if ! test "$GIT_TEST_SVNSERVE" = true + if ! git env--helper --type=bool --default=false --exit-code GIT_TEST_SVNSERVE then skip_all='skipping svnserve test. (set $GIT_TEST_SVNSERVE to enable)' test_done diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh index b3cc62bd36..0d985758c6 100644 --- a/t/lib-httpd.sh +++ b/t/lib-httpd.sh @@ -41,15 +41,14 @@ then test_done fi -test_tristate GIT_TEST_HTTPD -if test "$GIT_TEST_HTTPD" = false +if ! git env--helper --type=bool --default=true --exit-code GIT_TEST_HTTPD then skip_all="Network testing disabled (unset GIT_TEST_HTTPD to enable)" test_done fi if ! test_have_prereq NOT_ROOT; then - test_skip_or_die $GIT_TEST_HTTPD \ + test_skip_or_die GIT_TEST_HTTPD \ "Cannot run httpd tests as root" fi @@ -95,7 +94,7 @@ GIT_TRACE=$GIT_TRACE; export GIT_TRACE if ! test -x "$LIB_HTTPD_PATH" then - test_skip_or_die $GIT_TEST_HTTPD "no web server found at '$LIB_HTTPD_PATH'" + test_skip_or_die GIT_TEST_HTTPD "no web server found at '$LIB_HTTPD_PATH'" fi HTTPD_VERSION=$($LIB_HTTPD_PATH -v | \ @@ -107,19 +106,19 @@ then then if ! test $HTTPD_VERSION -ge 2 then - test_skip_or_die $GIT_TEST_HTTPD \ + test_skip_or_die GIT_TEST_HTTPD \ "at least Apache version 2 is required" fi if ! test -d "$DEFAULT_HTTPD_MODULE_PATH" then - test_skip_or_die $GIT_TEST_HTTPD \ + test_skip_or_die GIT_TEST_HTTPD \ "Apache module directory not found" fi LIB_HTTPD_MODULE_PATH="$DEFAULT_HTTPD_MODULE_PATH" fi else - test_skip_or_die $GIT_TEST_HTTPD \ + test_skip_or_die GIT_TEST_HTTPD \ "Could not identify web server at '$LIB_HTTPD_PATH'" fi @@ -184,7 +183,7 @@ start_httpd() { if test $? -ne 0 then cat "$HTTPD_ROOT_PATH"/error.log >&4 2>/dev/null - test_skip_or_die $GIT_TEST_HTTPD "web server setup failed" + test_skip_or_die GIT_TEST_HTTPD "web server setup failed" fi } diff --git a/t/lib-patch-mode.sh b/t/lib-patch-mode.sh index 06c3c91762..cfd76bf987 100644 --- a/t/lib-patch-mode.sh +++ b/t/lib-patch-mode.sh @@ -2,28 +2,40 @@ . ./test-lib.sh +# set_state <path> <worktree-content> <index-content> +# +# Prepare the content for path in worktree and the index as specified. set_state () { echo "$3" > "$1" && git add "$1" && echo "$2" > "$1" } +# save_state <path> +# +# Save index/worktree content of <path> in the files _worktree_<path> +# and _index_<path> save_state () { noslash="$(echo "$1" | tr / _)" && cat "$1" > _worktree_"$noslash" && git show :"$1" > _index_"$noslash" } +# set_and_save_state <path> <worktree-content> <index-content> set_and_save_state () { set_state "$@" && save_state "$1" } +# verify_state <path> <expected-worktree-content> <expected-index-content> verify_state () { test "$(cat "$1")" = "$2" && test "$(git show :"$1")" = "$3" } +# verify_saved_state <path> +# +# Call verify_state with expected contents from the last save_state verify_saved_state () { noslash="$(echo "$1" | tr / _)" && verify_state "$1" "$(cat _worktree_"$noslash")" "$(cat _index_"$noslash")" diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh index 7ea30e5006..6d87961e41 100644 --- a/t/lib-rebase.sh +++ b/t/lib-rebase.sh @@ -44,10 +44,10 @@ set_fake_editor () { rm -f "$1" echo 'rebase -i script before editing:' cat "$1".tmp - action=pick + action=\& for line in $FAKE_LINES; do case $line in - pick|p|squash|s|fixup|f|edit|e|reword|r|drop|d) + pick|p|squash|s|fixup|f|edit|e|reword|r|drop|d|label|l|reset|r|merge|m) action="$line";; exec_*|x_*|break|b) echo "$line" | sed 's/_/ /g' >> "$1";; @@ -58,11 +58,12 @@ set_fake_editor () { bad) action="badcmd";; fakesha) + test \& != "$action" || action=pick echo "$action XXXXXXX False commit" >> "$1" action=pick;; *) - sed -n "${line}s/^pick/$action/p" < "$1".tmp >> "$1" - action=pick;; + sed -n "${line}s/^[a-z][a-z]*/$action/p" < "$1".tmp >> "$1" + action=\&;; esac done echo 'rebase -i script after editing:' diff --git a/t/perf/p5601-clone-reference.sh b/t/perf/p5601-clone-reference.sh new file mode 100755 index 0000000000..68fed66347 --- /dev/null +++ b/t/perf/p5601-clone-reference.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +test_description='speed of clone --reference' +. ./perf-lib.sh + +test_perf_default_repo + +test_expect_success 'create shareable repository' ' + git clone --bare . shared.git +' + +test_expect_success 'advance base repository' ' + # Do not use test_commit here; its test_tick will + # use some ancient hard-coded date. The resulting clock + # skew will cause pack-objects to traverse in a very + # sub-optimal order, skewing the results. + echo content >new-file-that-does-not-exist && + git add new-file-that-does-not-exist && + git commit -m "new commit" +' + +test_perf 'clone --reference' ' + rm -rf dst.git && + git clone --no-local --bare --reference shared.git . dst.git +' + +test_done diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh index c03054c538..4c01f60dd3 100755 --- a/t/t0000-basic.sh +++ b/t/t0000-basic.sh @@ -25,16 +25,14 @@ try_local_x () { echo "$x" } -# This test is an experiment to check whether any Git users are using -# Shells that don't support the "local" keyword. "local" is not +# Check whether the shell supports the "local" keyword. "local" is not # POSIX-standard, but it is very widely supported by POSIX-compliant -# shells, and if it doesn't cause problems for people, we would like -# to be able to use it in Git code. +# shells, and we rely on it within Git's test framework. # -# For now, this is the only test that requires "local". If your shell -# fails this test, you can ignore the failure, but please report the -# problem to the Git mailing list <git@vger.kernel.org>, as it might -# convince us to continue avoiding the use of "local". +# If your shell fails this test, the results of other tests may be +# unreliable. You may wish to report the problem to the Git mailing +# list <git@vger.kernel.org>, as it could cause us to reconsider +# relying on "local". test_expect_success 'verify that the running shell supports "local"' ' x="notlocal" && echo "local" >expected1 && @@ -276,23 +274,23 @@ test_expect_success 'pretend we have a mix of all possible results' " test_expect_success C_LOCALE_OUTPUT 'test --verbose' ' test_must_fail run_sub_test_lib_test \ - test-verbose "test verbose" --verbose <<-\EOF && + t1234-verbose "test verbose" --verbose <<-\EOF && test_expect_success "passing test" true test_expect_success "test with output" "echo foo" test_expect_success "failing test" false test_done EOF - mv test-verbose/out test-verbose/out+ && - grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out && - check_sub_test_lib_test test-verbose <<-\EOF - > expecting success: true + mv t1234-verbose/out t1234-verbose/out+ && + grep -v "^Initialized empty" t1234-verbose/out+ >t1234-verbose/out && + check_sub_test_lib_test t1234-verbose <<-\EOF + > expecting success of 1234.1 '\''passing test'\'': true > ok 1 - passing test > Z - > expecting success: echo foo + > expecting success of 1234.2 '\''test with output'\'': echo foo > foo > ok 2 - test with output > Z - > expecting success: false + > expecting success of 1234.3 '\''failing test'\'': false > not ok 3 - failing test > # false > Z @@ -303,17 +301,17 @@ test_expect_success C_LOCALE_OUTPUT 'test --verbose' ' test_expect_success 'test --verbose-only' ' test_must_fail run_sub_test_lib_test \ - test-verbose-only-2 "test verbose-only=2" \ + t2345-verbose-only-2 "test verbose-only=2" \ --verbose-only=2 <<-\EOF && test_expect_success "passing test" true test_expect_success "test with output" "echo foo" test_expect_success "failing test" false test_done EOF - check_sub_test_lib_test test-verbose-only-2 <<-\EOF + check_sub_test_lib_test t2345-verbose-only-2 <<-\EOF > ok 1 - passing test > Z - > expecting success: echo foo + > expecting success of 2345.2 '\''test with output'\'': echo foo > foo > ok 2 - test with output > Z @@ -726,7 +724,7 @@ donthaveit=yes test_expect_success DONTHAVEIT 'unmet prerequisite causes test to be skipped' ' donthaveit=no ' -if test $haveit$donthaveit != yesyes +if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" -a $haveit$donthaveit != yesyes then say "bug in test framework: prerequisite tags do not work reliably" exit 1 @@ -747,7 +745,7 @@ donthaveiteither=yes test_expect_success DONTHAVEIT,HAVEIT 'unmet prerequisites causes test to be skipped' ' donthaveiteither=no ' -if test $haveit$donthaveit$donthaveiteither != yesyesyes +if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" -a $haveit$donthaveit$donthaveiteither != yesyesyes then say "bug in test framework: multiple prerequisite tags do not work reliably" exit 1 @@ -763,7 +761,7 @@ test_expect_success !LAZY_TRUE 'missing lazy prereqs skip tests' ' donthavetrue=no ' -if test "$havetrue$donthavetrue" != yesyes +if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" -a "$havetrue$donthavetrue" != yesyes then say 'bug in test framework: lazy prerequisites do not work' exit 1 @@ -779,7 +777,7 @@ test_expect_success LAZY_FALSE 'missing negative lazy prereqs will skip' ' havefalse=no ' -if test "$nothavefalse$havefalse" != yesyes +if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" -a "$nothavefalse$havefalse" != yesyes then say 'bug in test framework: negative lazy prerequisites do not work' exit 1 @@ -790,7 +788,7 @@ test_expect_success 'tests clean up after themselves' ' test_when_finished clean=yes ' -if test $clean != yes +if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" -a $clean != yes then say "bug in test framework: basic cleanup command does not work reliably" exit 1 diff --git a/t/t0001-init.sh b/t/t0001-init.sh index 77c5ed6a18..26f8206326 100755 --- a/t/t0001-init.sh +++ b/t/t0001-init.sh @@ -467,8 +467,8 @@ test_expect_success MINGW 'redirect std handles' ' GIT_REDIRECT_STDOUT=output.txt \ GIT_REDIRECT_STDERR="2>&1" \ git rev-parse --git-dir --verify refs/invalid && - printf ".git\nfatal: Needed a single revision\n" >expect && - test_cmp expect output.txt + grep "^\\.git\$" output.txt && + grep "Needed a single revision" output.txt ' test_done diff --git a/t/t0007-git-var.sh b/t/t0007-git-var.sh index 5868a87352..1f600e2cae 100755 --- a/t/t0007-git-var.sh +++ b/t/t0007-git-var.sh @@ -17,7 +17,7 @@ test_expect_success 'get GIT_COMMITTER_IDENT' ' test_cmp expect actual ' -test_expect_success !AUTOIDENT 'requested identites are strict' ' +test_expect_success !FAIL_PREREQS,!AUTOIDENT 'requested identites are strict' ' ( sane_unset GIT_COMMITTER_NAME && sane_unset GIT_COMMITTER_EMAIL && diff --git a/t/t0011-hashmap.sh b/t/t0011-hashmap.sh index 3f1f505e89..5343ffd3f9 100755 --- a/t/t0011-hashmap.sh +++ b/t/t0011-hashmap.sh @@ -9,15 +9,6 @@ test_hashmap() { test_cmp expect actual } -test_expect_success 'hash functions' ' - -test_hashmap "hash key1" "2215982743 2215982743 116372151 116372151" && -test_hashmap "hash key2" "2215982740 2215982740 116372148 116372148" && -test_hashmap "hash fooBarFrotz" "1383912807 1383912807 3189766727 3189766727" && -test_hashmap "hash foobarfrotz" "2862305959 2862305959 3189766727 3189766727" - -' - test_expect_success 'put' ' test_hashmap "put key1 value1 @@ -179,31 +170,45 @@ NULL ' test_expect_success 'iterate' ' - -test_hashmap "put key1 value1 -put key2 value2 -put fooBarFrotz value3 -iterate" "NULL -NULL -NULL -key2 value2 -key1 value1 -fooBarFrotz value3" - + test-tool hashmap >actual.raw <<-\EOF && + put key1 value1 + put key2 value2 + put fooBarFrotz value3 + iterate + EOF + + cat >expect <<-\EOF && + NULL + NULL + NULL + fooBarFrotz value3 + key1 value1 + key2 value2 + EOF + + sort <actual.raw >actual && + test_cmp expect actual ' test_expect_success 'iterate (case insensitive)' ' - -test_hashmap "put key1 value1 -put key2 value2 -put fooBarFrotz value3 -iterate" "NULL -NULL -NULL -fooBarFrotz value3 -key2 value2 -key1 value1" ignorecase - + test-tool hashmap ignorecase >actual.raw <<-\EOF && + put key1 value1 + put key2 value2 + put fooBarFrotz value3 + iterate + EOF + + cat >expect <<-\EOF && + NULL + NULL + NULL + fooBarFrotz value3 + key1 value1 + key2 value2 + EOF + + sort <actual.raw >actual && + test_cmp expect actual ' test_expect_success 'grow / shrink' ' diff --git a/t/t0016-oidmap.sh b/t/t0016-oidmap.sh new file mode 100755 index 0000000000..31f8276ba8 --- /dev/null +++ b/t/t0016-oidmap.sh @@ -0,0 +1,110 @@ +#!/bin/sh + +test_description='test oidmap' +. ./test-lib.sh + +# This purposefully is very similar to t0011-hashmap.sh + +test_oidmap () { + echo "$1" | test-tool oidmap $3 >actual && + echo "$2" >expect && + test_cmp expect actual +} + + +test_expect_success 'setup' ' + + test_commit one && + test_commit two && + test_commit three && + test_commit four + +' + +test_expect_success 'put' ' + +test_oidmap "put one 1 +put two 2 +put invalidOid 4 +put three 3" "NULL +NULL +Unknown oid: invalidOid +NULL" + +' + +test_expect_success 'replace' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +put invalidOid 4 +put two deux +put one un" "NULL +NULL +NULL +Unknown oid: invalidOid +2 +1" + +' + +test_expect_success 'get' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +get two +get four +get invalidOid +get one" "NULL +NULL +NULL +2 +NULL +Unknown oid: invalidOid +1" + +' + +test_expect_success 'remove' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +remove one +remove two +remove invalidOid +remove four" "NULL +NULL +NULL +1 +2 +Unknown oid: invalidOid +NULL" + +' + +test_expect_success 'iterate' ' + test-tool oidmap >actual.raw <<-\EOF && + put one 1 + put two 2 + put three 3 + iterate + EOF + + # sort "expect" too so we do not rely on the order of particular oids + sort >expect <<-EOF && + NULL + NULL + NULL + $(git rev-parse one) 1 + $(git rev-parse two) 2 + $(git rev-parse three) 3 + EOF + + sort <actual.raw >actual && + test_cmp expect actual +' + +test_done diff --git a/t/t0017-env-helper.sh b/t/t0017-env-helper.sh new file mode 100755 index 0000000000..c1ecf6aeac --- /dev/null +++ b/t/t0017-env-helper.sh @@ -0,0 +1,99 @@ +#!/bin/sh + +test_description='test env--helper' + +. ./test-lib.sh + + +test_expect_success 'env--helper usage' ' + test_must_fail git env--helper && + test_must_fail git env--helper --type=bool && + test_must_fail git env--helper --type=ulong && + test_must_fail git env--helper --type=bool && + test_must_fail git env--helper --type=bool --default && + test_must_fail git env--helper --type=bool --default= && + test_must_fail git env--helper --defaultxyz +' + +test_expect_success 'env--helper bad default values' ' + test_must_fail git env--helper --type=bool --default=1xyz MISSING && + test_must_fail git env--helper --type=ulong --default=1xyz MISSING +' + +test_expect_success 'env--helper --type=bool' ' + # Test various --default bool values + echo true >expected && + git env--helper --type=bool --default=1 MISSING >actual && + test_cmp expected actual && + git env--helper --type=bool --default=yes MISSING >actual && + test_cmp expected actual && + git env--helper --type=bool --default=true MISSING >actual && + test_cmp expected actual && + echo false >expected && + test_must_fail git env--helper --type=bool --default=0 MISSING >actual && + test_cmp expected actual && + test_must_fail git env--helper --type=bool --default=no MISSING >actual && + test_cmp expected actual && + test_must_fail git env--helper --type=bool --default=false MISSING >actual && + test_cmp expected actual && + + # No output with --exit-code + git env--helper --type=bool --default=true --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + test_must_fail git env--helper --type=bool --default=false --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + + # Existing variable + EXISTS=true git env--helper --type=bool --default=false --exit-code EXISTS >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + test_must_fail \ + env EXISTS=false \ + git env--helper --type=bool --default=true --exit-code EXISTS >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err +' + +test_expect_success 'env--helper --type=ulong' ' + echo 1234567890 >expected && + git env--helper --type=ulong --default=1234567890 MISSING >actual.out 2>actual.err && + test_cmp expected actual.out && + test_must_be_empty actual.err && + + echo 0 >expected && + test_must_fail git env--helper --type=ulong --default=0 MISSING >actual && + test_cmp expected actual && + + git env--helper --type=ulong --default=1234567890 --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + + EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS --exit-code >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + + echo 1234567890 >expected && + EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS >actual.out 2>actual.err && + test_cmp expected actual.out && + test_must_be_empty actual.err +' + +test_expect_success 'env--helper reads config thanks to trace2' ' + mkdir home && + git config -f home/.gitconfig include.path cycle && + git config -f home/cycle include.path .gitconfig && + + test_must_fail \ + env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=false \ + git config -l 2>err && + grep "exceeded maximum include depth" err && + + test_must_fail \ + env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=true \ + git -C cycle env--helper --type=bool --default=0 --exit-code GIT_TEST_GETTEXT_POISON 2>err && + grep "# GETTEXT POISON #" err +' + +test_done diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index e10f5f787f..c954c709ad 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -390,6 +390,9 @@ test_expect_success PERL 'required process filter should filter data' ' EOF test_cmp_exclude_clean expected.log debug.log && + # Make sure that the file appears dirty, so checkout below has to + # run the configured filter. + touch test.r && filter_git checkout --quiet --no-progress empty-branch && cat >expected.log <<-EOF && START diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh index 3587e454f1..959b6da449 100755 --- a/t/t0027-auto-crlf.sh +++ b/t/t0027-auto-crlf.sh @@ -15,8 +15,10 @@ compare_ws_file () { pfx=$1 exp=$2.expect act=$pfx.actual.$3 - tr '\015\000abcdef0123456789' QN00000000000000000 <"$2" >"$exp" && - tr '\015\000abcdef0123456789' QN00000000000000000 <"$3" >"$act" && + tr '\015\000abcdef0123456789' QN00000000000000000 <"$2" | + sed -e "s/0000*/$ZERO_OID/" >"$exp" && + tr '\015\000abcdef0123456789' QN00000000000000000 <"$3" | + sed -e "s/0000*/$ZERO_OID/" >"$act" && test_cmp "$exp" "$act" && rm "$exp" "$act" } diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh index cebc77fab0..705a136ed9 100755 --- a/t/t0040-parse-options.sh +++ b/t/t0040-parse-options.sh @@ -399,4 +399,11 @@ test_expect_success 'GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works' ' test-tool parse-options --ye ' +test_expect_success '--end-of-options treats remainder as args' ' + test-tool parse-options \ + --expect="verbose: -1" \ + --expect="arg 00: --verbose" \ + --end-of-options --verbose +' + test_done diff --git a/t/t0066-dir-iterator.sh b/t/t0066-dir-iterator.sh new file mode 100755 index 0000000000..92910e4e6c --- /dev/null +++ b/t/t0066-dir-iterator.sh @@ -0,0 +1,148 @@ +#!/bin/sh + +test_description='Test the dir-iterator functionality' + +. ./test-lib.sh + +test_expect_success 'setup' ' + mkdir -p dir && + mkdir -p dir/a/b/c/ && + >dir/b && + >dir/c && + mkdir -p dir/d/e/d/ && + >dir/a/b/c/d && + >dir/a/e && + >dir/d/e/d/a && + + mkdir -p dir2/a/b/c/ && + >dir2/a/b/c/d +' + +test_expect_success 'dir-iterator should iterate through all files' ' + cat >expected-iteration-sorted-output <<-EOF && + [d] (a) [a] ./dir/a + [d] (a/b) [b] ./dir/a/b + [d] (a/b/c) [c] ./dir/a/b/c + [d] (d) [d] ./dir/d + [d] (d/e) [e] ./dir/d/e + [d] (d/e/d) [d] ./dir/d/e/d + [f] (a/b/c/d) [d] ./dir/a/b/c/d + [f] (a/e) [e] ./dir/a/e + [f] (b) [b] ./dir/b + [f] (c) [c] ./dir/c + [f] (d/e/d/a) [a] ./dir/d/e/d/a + EOF + + test-tool dir-iterator ./dir >out && + sort out >./actual-iteration-sorted-output && + + test_cmp expected-iteration-sorted-output actual-iteration-sorted-output +' + +test_expect_success 'dir-iterator should list files in the correct order' ' + cat >expected-pre-order-output <<-EOF && + [d] (a) [a] ./dir2/a + [d] (a/b) [b] ./dir2/a/b + [d] (a/b/c) [c] ./dir2/a/b/c + [f] (a/b/c/d) [d] ./dir2/a/b/c/d + EOF + + test-tool dir-iterator ./dir2 >actual-pre-order-output && + + test_cmp expected-pre-order-output actual-pre-order-output +' + +test_expect_success 'begin should fail upon inexistent paths' ' + test_must_fail test-tool dir-iterator ./inexistent-path \ + >actual-inexistent-path-output && + echo "dir_iterator_begin failure: ENOENT" >expected-inexistent-path-output && + test_cmp expected-inexistent-path-output actual-inexistent-path-output +' + +test_expect_success 'begin should fail upon non directory paths' ' + test_must_fail test-tool dir-iterator ./dir/b >actual-non-dir-output && + echo "dir_iterator_begin failure: ENOTDIR" >expected-non-dir-output && + test_cmp expected-non-dir-output actual-non-dir-output +' + +test_expect_success POSIXPERM,SANITY 'advance should not fail on errors by default' ' + cat >expected-no-permissions-output <<-EOF && + [d] (a) [a] ./dir3/a + EOF + + mkdir -p dir3/a && + >dir3/a/b && + chmod 0 dir3/a && + + test-tool dir-iterator ./dir3 >actual-no-permissions-output && + test_cmp expected-no-permissions-output actual-no-permissions-output && + chmod 755 dir3/a && + rm -rf dir3 +' + +test_expect_success POSIXPERM,SANITY 'advance should fail on errors, w/ pedantic flag' ' + cat >expected-no-permissions-pedantic-output <<-EOF && + [d] (a) [a] ./dir3/a + dir_iterator_advance failure + EOF + + mkdir -p dir3/a && + >dir3/a/b && + chmod 0 dir3/a && + + test_must_fail test-tool dir-iterator --pedantic ./dir3 \ + >actual-no-permissions-pedantic-output && + test_cmp expected-no-permissions-pedantic-output \ + actual-no-permissions-pedantic-output && + chmod 755 dir3/a && + rm -rf dir3 +' + +test_expect_success SYMLINKS 'setup dirs with symlinks' ' + mkdir -p dir4/a && + mkdir -p dir4/b/c && + >dir4/a/d && + ln -s d dir4/a/e && + ln -s ../b dir4/a/f && + + mkdir -p dir5/a/b && + mkdir -p dir5/a/c && + ln -s ../c dir5/a/b/d && + ln -s ../ dir5/a/b/e && + ln -s ../../ dir5/a/b/f +' + +test_expect_success SYMLINKS 'dir-iterator should not follow symlinks by default' ' + cat >expected-no-follow-sorted-output <<-EOF && + [d] (a) [a] ./dir4/a + [d] (b) [b] ./dir4/b + [d] (b/c) [c] ./dir4/b/c + [f] (a/d) [d] ./dir4/a/d + [s] (a/e) [e] ./dir4/a/e + [s] (a/f) [f] ./dir4/a/f + EOF + + test-tool dir-iterator ./dir4 >out && + sort out >actual-no-follow-sorted-output && + + test_cmp expected-no-follow-sorted-output actual-no-follow-sorted-output +' + +test_expect_success SYMLINKS 'dir-iterator should follow symlinks w/ follow flag' ' + cat >expected-follow-sorted-output <<-EOF && + [d] (a) [a] ./dir4/a + [d] (a/f) [f] ./dir4/a/f + [d] (a/f/c) [c] ./dir4/a/f/c + [d] (b) [b] ./dir4/b + [d] (b/c) [c] ./dir4/b/c + [f] (a/d) [d] ./dir4/a/d + [f] (a/e) [e] ./dir4/a/e + EOF + + test-tool dir-iterator --follow-symlinks ./dir4 >out && + sort out >actual-follow-sorted-output && + + test_cmp expected-follow-sorted-output actual-follow-sorted-output +' + +test_done diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh index 504334e552..ce9a4a5f32 100755 --- a/t/t0090-cache-tree.sh +++ b/t/t0090-cache-tree.sh @@ -162,8 +162,8 @@ test_expect_success PERL 'commit --interactive gives cache-tree on partial commi ' test_expect_success PERL 'commit -p with shrinking cache-tree' ' - mkdir -p deep/subdir && - echo content >deep/subdir/file && + mkdir -p deep/very-long-subdir && + echo content >deep/very-long-subdir/file && git add deep && git commit -m add && git rm -r deep && diff --git a/t/t0205-gettext-poison.sh b/t/t0205-gettext-poison.sh index a06269f38a..f9fa16ad83 100755 --- a/t/t0205-gettext-poison.sh +++ b/t/t0205-gettext-poison.sh @@ -5,7 +5,7 @@ test_description='Gettext Shell poison' -GIT_TEST_GETTEXT_POISON=YesPlease +GIT_TEST_GETTEXT_POISON=true export GIT_TEST_GETTEXT_POISON . ./lib-gettext.sh @@ -31,4 +31,9 @@ test_expect_success 'eval_gettext: our eval_gettext() fallback has poison semant test_cmp expect actual ' +test_expect_success "gettext: invalid GIT_TEST_GETTEXT_POISON value doesn't infinitely loop" " + test_must_fail env GIT_TEST_GETTEXT_POISON=xyz git version 2>error && + grep \"fatal: bad numeric config value 'xyz' for 'GIT_TEST_GETTEXT_POISON': invalid unit\" error +" + test_done diff --git a/t/t0410-partial-clone.sh b/t/t0410-partial-clone.sh index 5bd892f2f7..d4b7e535ea 100755 --- a/t/t0410-partial-clone.sh +++ b/t/t0410-partial-clone.sh @@ -26,7 +26,7 @@ promise_and_delete () { test_expect_success 'extensions.partialclone without filter' ' test_create_repo server && git clone --filter="blob:none" "file://$(pwd)/server" client && - git -C client config --unset core.partialclonefilter && + git -C client config --unset remote.origin.partialclonefilter && git -C client fetch origin ' @@ -166,8 +166,9 @@ test_expect_success 'fetching of missing objects' ' # associated packfile contains the object ls repo/.git/objects/pack/pack-*.promisor >promisorlist && test_line_count = 1 promisorlist && - IDX=$(cat promisorlist | sed "s/promisor$/idx/") && - git verify-pack --verbose "$IDX" | grep "$HASH" + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH" out ' test_expect_success 'fetching of missing objects works with ref-in-want enabled' ' @@ -182,8 +183,55 @@ test_expect_success 'fetching of missing objects works with ref-in-want enabled' grep "git< fetch=.*ref-in-want" trace ' +test_expect_success 'fetching of missing objects from another promisor remote' ' + git clone "file://$(pwd)/server" server2 && + test_commit -C server2 bar && + git -C server2 repack -a -d --write-bitmap-index && + HASH2=$(git -C server2 rev-parse bar) && + + git -C repo remote add server2 "file://$(pwd)/server2" && + git -C repo config remote.server2.promisor true && + git -C repo cat-file -p "$HASH2" && + + git -C repo fetch server2 && + rm -rf repo/.git/objects/* && + git -C repo cat-file -p "$HASH2" && + + # Ensure that the .promisor file is written, and check that its + # associated packfile contains the object + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH2" out +' + +test_expect_success 'fetching of missing objects configures a promisor remote' ' + git clone "file://$(pwd)/server" server3 && + test_commit -C server3 baz && + git -C server3 repack -a -d --write-bitmap-index && + HASH3=$(git -C server3 rev-parse baz) && + git -C server3 config uploadpack.allowfilter 1 && + + rm repo/.git/objects/pack/pack-*.promisor && + + git -C repo remote add server3 "file://$(pwd)/server3" && + git -C repo fetch --filter="blob:none" server3 $HASH3 && + + test_cmp_config -C repo true remote.server3.promisor && + + # Ensure that the .promisor file is written, and check that its + # associated packfile contains the object + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH3" out +' + test_expect_success 'fetching of missing blobs works' ' - rm -rf server repo && + rm -rf server server2 repo && + rm -rf server server3 repo && test_create_repo server && test_commit -C server foo && git -C server repack -a -d --write-bitmap-index && @@ -234,7 +282,7 @@ test_expect_success 'rev-list stops traversal at missing and promised commit' ' git -C repo config core.repositoryformatversion 1 && git -C repo config extensions.partialclone "arbitrary string" && - GIT_TEST_COMMIT_GRAPH=0 git -C repo rev-list --exclude-promisor-objects --objects bar >out && + GIT_TEST_COMMIT_GRAPH=0 git -C repo -c core.commitGraph=false rev-list --exclude-promisor-objects --objects bar >out && grep $(git -C repo rev-parse bar) out && ! grep $FOO out ' @@ -514,8 +562,12 @@ test_expect_success 'fetching of missing objects from an HTTP server' ' # associated packfile contains the object ls repo/.git/objects/pack/pack-*.promisor >promisorlist && test_line_count = 1 promisorlist && - IDX=$(cat promisorlist | sed "s/promisor$/idx/") && - git verify-pack --verbose "$IDX" | grep "$HASH" + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH" out ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t1007-hash-object.sh b/t/t1007-hash-object.sh index 7099d33508..64b340f227 100755 --- a/t/t1007-hash-object.sh +++ b/t/t1007-hash-object.sh @@ -9,22 +9,19 @@ echo_without_newline() { } test_blob_does_not_exist() { - test_expect_success SHA1 'blob does not exist in database' " + test_expect_success 'blob does not exist in database' " test_must_fail git cat-file blob $1 " } test_blob_exists() { - test_expect_success SHA1 'blob exists in database' " + test_expect_success 'blob exists in database' " git cat-file blob $1 " } hello_content="Hello World" -hello_sha1=5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 - example_content="This is an example" -example_sha1=ddd3f836d3e3fbb7ae289aa9ae83536f76956399 setup_repo() { echo_without_newline "$hello_content" > hello @@ -44,7 +41,16 @@ pop_repo() { rm -rf $test_repo } -setup_repo +test_expect_success 'setup' ' + setup_repo && + test_oid_cache <<-EOF + hello sha1:5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 + hello sha256:1e3b6c04d2eeb2b3e45c8a330445404c0b7cc7b257e2b097167d26f5230090c4 + + example sha1:ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + example sha256:b44fe1fe65589848253737db859bd490453510719d7424daab03daf0767b85ae + EOF +' # Argument checking @@ -73,23 +79,23 @@ test_expect_success "Can't use --path with --no-filters" ' push_repo -test_expect_success SHA1 'hash a file' ' - test $hello_sha1 = $(git hash-object hello) +test_expect_success 'hash a file' ' + test "$(test_oid hello)" = $(git hash-object hello) ' -test_blob_does_not_exist $hello_sha1 +test_blob_does_not_exist "$(test_oid hello)" -test_expect_success SHA1 'hash from stdin' ' - test $example_sha1 = $(git hash-object --stdin < example) +test_expect_success 'hash from stdin' ' + test "$(test_oid example)" = $(git hash-object --stdin < example) ' -test_blob_does_not_exist $example_sha1 +test_blob_does_not_exist "$(test_oid example)" -test_expect_success SHA1 'hash a file and write to database' ' - test $hello_sha1 = $(git hash-object -w hello) +test_expect_success 'hash a file and write to database' ' + test "$(test_oid hello)" = $(git hash-object -w hello) ' -test_blob_exists $hello_sha1 +test_blob_exists "$(test_oid hello)" test_expect_success 'git hash-object --stdin file1 <file0 first operates on file0, then file1' ' echo foo > file1 && @@ -161,11 +167,11 @@ pop_repo for args in "-w --stdin" "--stdin -w"; do push_repo - test_expect_success SHA1 "hash from stdin and write to database ($args)" ' - test $example_sha1 = $(git hash-object $args < example) + test_expect_success "hash from stdin and write to database ($args)" ' + test "$(test_oid example)" = $(git hash-object $args < example) ' - test_blob_exists $example_sha1 + test_blob_exists "$(test_oid example)" pop_repo done @@ -173,22 +179,22 @@ done filenames="hello example" -sha1s="$hello_sha1 -$example_sha1" +oids="$(test_oid hello) +$(test_oid example)" -test_expect_success SHA1 "hash two files with names on stdin" ' - test "$sha1s" = "$(echo_without_newline "$filenames" | git hash-object --stdin-paths)" +test_expect_success "hash two files with names on stdin" ' + test "$oids" = "$(echo_without_newline "$filenames" | git hash-object --stdin-paths)" ' for args in "-w --stdin-paths" "--stdin-paths -w"; do push_repo - test_expect_success SHA1 "hash two files with names on stdin and write to database ($args)" ' - test "$sha1s" = "$(echo_without_newline "$filenames" | git hash-object $args)" + test_expect_success "hash two files with names on stdin and write to database ($args)" ' + test "$oids" = "$(echo_without_newline "$filenames" | git hash-object $args)" ' - test_blob_exists $hello_sha1 - test_blob_exists $example_sha1 + test_blob_exists "$(test_oid hello)" + test_blob_exists "$(test_oid example)" pop_repo done diff --git a/t/t1090-sparse-checkout-scope.sh b/t/t1090-sparse-checkout-scope.sh index 090b7fc3d3..40cc004326 100755 --- a/t/t1090-sparse-checkout-scope.sh +++ b/t/t1090-sparse-checkout-scope.sh @@ -31,20 +31,6 @@ test_expect_success 'perform sparse checkout of master' ' test_path_is_file c ' -test_expect_success 'checkout -b checkout.optimizeNewBranch interaction' ' - cp .git/info/sparse-checkout .git/info/sparse-checkout.bak && - test_when_finished " - mv -f .git/info/sparse-checkout.bak .git/info/sparse-checkout - git checkout master - " && - echo "/b" >>.git/info/sparse-checkout && - test "$(git ls-files -t b)" = "S b" && - git -c checkout.optimizeNewBranch=true checkout -b fast && - test "$(git ls-files -t b)" = "S b" && - git checkout -b slow && - test "$(git ls-files -t b)" = "H b" -' - test_expect_success 'merge feature branch into sparse checkout of master' ' git merge feature && test_path_is_file a && diff --git a/t/t1305-config-include.sh b/t/t1305-config-include.sh index 579a86b7f8..d20b4d150d 100755 --- a/t/t1305-config-include.sh +++ b/t/t1305-config-include.sh @@ -309,21 +309,53 @@ test_expect_success SYMLINKS 'conditional include, gitdir matching symlink, icas ) ' +test_expect_success 'conditional include, onbranch' ' + echo "[includeIf \"onbranch:foo-branch\"]path=bar9" >>.git/config && + echo "[test]nine=9" >.git/bar9 && + git checkout -b master && + test_must_fail git config test.nine && + git checkout -b foo-branch && + echo 9 >expect && + git config test.nine >actual && + test_cmp expect actual +' + +test_expect_success 'conditional include, onbranch, wildcard' ' + echo "[includeIf \"onbranch:?oo-*/**\"]path=bar10" >>.git/config && + echo "[test]ten=10" >.git/bar10 && + git checkout -b not-foo-branch/a && + test_must_fail git config test.ten && + + echo 10 >expect && + git checkout -b foo-branch/a/b/c && + git config test.ten >actual && + test_cmp expect actual && + + git checkout -b moo-bar/a && + git config test.ten >actual && + test_cmp expect actual +' + +test_expect_success 'conditional include, onbranch, implicit /** for /' ' + echo "[includeIf \"onbranch:foo-dir/\"]path=bar11" >>.git/config && + echo "[test]eleven=11" >.git/bar11 && + git checkout -b not-foo-dir/a && + test_must_fail git config test.eleven && + + echo 11 >expect && + git checkout -b foo-dir/a/b/c && + git config test.eleven >actual && + test_cmp expect actual +' + test_expect_success 'include cycles are detected' ' - cat >.gitconfig <<-\EOF && - [test]value = gitconfig - [include]path = cycle - EOF - cat >cycle <<-\EOF && - [test]value = cycle - [include]path = .gitconfig - EOF - cat >expect <<-\EOF && - gitconfig - cycle - EOF - test_must_fail git config --get-all test.value 2>stderr && - test_i18ngrep "exceeded maximum include depth" stderr + git init --bare cycle && + git -C cycle config include.path cycle && + git config -f cycle/cycle include.path config && + test_must_fail \ + env GIT_TEST_GETTEXT_POISON=false \ + git -C cycle config --get-all test.value 2>stderr && + grep "exceeded maximum include depth" stderr ' test_done diff --git a/t/t1309-early-config.sh b/t/t1309-early-config.sh index 413642aa56..3a0de0ddaa 100755 --- a/t/t1309-early-config.sh +++ b/t/t1309-early-config.sh @@ -89,4 +89,14 @@ test_expect_failure 'ignore .git/ with invalid config' ' test_with_config "[" ' +test_expect_success 'early config and onbranch' ' + echo "[broken" >broken && + test_with_config "[includeif \"onbranch:master\"]path=../broken" +' + +test_expect_success 'onbranch config outside of git repo' ' + test_config_global includeIf.onbranch:master.path non-existent && + nongit git help +' + test_done diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index 79f731db37..82950c0282 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -30,14 +30,13 @@ check_fsck () { } corrupt () { - aa=${1%??????????????????????????????????????} zz=${1#??} - mv .git/objects/$aa/$zz .git/$aa$zz + mv .git/objects/$(test_oid_to_path $1) .git/$1 } recover () { - aa=${1%??????????????????????????????????????} zz=${1#??} + aa=$(echo $1 | cut -c 1-2) mkdir -p .git/objects/$aa - mv .git/$aa$zz .git/objects/$aa/$zz + mv .git/$1 .git/objects/$(test_oid_to_path $1) } check_dont_have () { @@ -55,6 +54,7 @@ check_dont_have () { } test_expect_success setup ' + test_oid_init && mkdir -p A/B && echo rat >C && echo ox >A/D && @@ -313,12 +313,12 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' ' # Each line is 114 characters, so we need 75 to still have a few before the # last 8K. The 89-character padding on the final entry lines up our # newline exactly. -test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' ' +test_expect_success SHA1 'parsing reverse reflogs at BUFSIZ boundaries' ' git checkout -b reflogskip && - z38=00000000000000000000000000000000000000 && + zf=$(test_oid zero_2) && ident="abc <xyz> 0000000001 +0000" && for i in $(test_seq 1 75); do - printf "$z38%02d $z38%02d %s\t" $i $(($i+1)) "$ident" && + printf "$zf%02d $zf%02d %s\t" $i $(($i+1)) "$ident" && if test $i = 75; then for j in $(test_seq 1 89); do printf X @@ -329,7 +329,7 @@ test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' ' printf "\n" done >.git/logs/refs/heads/reflogskip && git rev-parse reflogskip@{73} >actual && - echo ${z38}03 >expect && + echo ${zf}03 >expect && test_cmp expect actual ' diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh index 0f268a3664..b36e0528d0 100755 --- a/t/t1450-fsck.sh +++ b/t/t1450-fsck.sh @@ -9,6 +9,7 @@ test_description='git fsck random collection of tests . ./test-lib.sh test_expect_success setup ' + test_oid_init && git config gc.auto 0 && git config i18n.commitencoding ISO-8859-1 && test_commit A fileA one && @@ -54,8 +55,8 @@ test_expect_success 'setup: helpers for corruption tests' ' test_expect_success 'object with bad sha1' ' sha=$(echo blob | git hash-object -w --stdin) && - old=$(echo $sha | sed "s+^..+&/+") && - new=$(dirname $old)/ffffffffffffffffffffffffffffffffffffff && + old=$(test_oid_to_path "$sha") && + new=$(dirname $old)/$(test_oid ff_2) && sha="$(dirname $new)$(basename $new)" && mv .git/objects/$old .git/objects/$new && test_when_finished "remove_object $sha" && @@ -84,7 +85,7 @@ test_expect_success 'branch pointing to non-commit' ' test_expect_success 'HEAD link pointing at a funny object' ' test_when_finished "mv .git/SAVED_HEAD .git/HEAD" && mv .git/HEAD .git/SAVED_HEAD && - echo 0000000000000000000000000000000000000000 >.git/HEAD && + echo $ZERO_OID >.git/HEAD && # avoid corrupt/broken HEAD from interfering with repo discovery test_must_fail env GIT_DIR=.git git fsck 2>out && cat out && @@ -244,10 +245,16 @@ test_expect_success 'tree object with duplicate entries' ' ' test_expect_success 'unparseable tree object' ' + test_oid_cache <<-\EOF && + junk sha1:twenty-bytes-of-junk + junk sha256:twenty-bytes-of-junk-twelve-more + EOF + test_when_finished "git update-ref -d refs/heads/wrong" && test_when_finished "remove_object \$tree_sha1" && test_when_finished "remove_object \$commit_sha1" && - tree_sha1=$(printf "100644 \0twenty-bytes-of-junk" | git hash-object -t tree --stdin -w --literally) && + junk=$(test_oid junk) && + tree_sha1=$(printf "100644 \0$junk" | git hash-object -t tree --stdin -w --literally) && commit_sha1=$(git commit-tree $tree_sha1) && git update-ref refs/heads/wrong $commit_sha1 && test_must_fail git fsck 2>out && @@ -275,8 +282,9 @@ test_expect_success 'tree entry with type mismatch' ' ' test_expect_success 'tag pointing to nonexistent' ' - cat >invalid-tag <<-\EOF && - object ffffffffffffffffffffffffffffffffffffffff + badoid=$(test_oid deadbeef) && + cat >invalid-tag <<-EOF && + object $badoid type commit tag invalid tagger T A Gger <tagger@example.com> 1234567890 -0000 @@ -386,8 +394,8 @@ test_expect_success 'rev-list --verify-objects' ' test_expect_success 'rev-list --verify-objects with bad sha1' ' sha=$(echo blob | git hash-object -w --stdin) && - old=$(echo $sha | sed "s+^..+&/+") && - new=$(dirname $old)/ffffffffffffffffffffffffffffffffffffff && + old=$(test_oid_to_path $sha) && + new=$(dirname $old)/$(test_oid ff_2) && sha="$(dirname $new)$(basename $new)" && mv .git/objects/$old .git/objects/$new && test_when_finished "remove_object $sha" && @@ -402,7 +410,7 @@ test_expect_success 'rev-list --verify-objects with bad sha1' ' test_might_fail git rev-list --verify-objects refs/heads/bogus >/dev/null 2>out && cat out && - test_i18ngrep -q "error: hash mismatch 63ffffffffffffffffffffffffffffffffffffff" out + test_i18ngrep -q "error: hash mismatch $(dirname $new)$(test_oid ff_2)" out ' test_expect_success 'force fsck to ignore double author' ' @@ -417,13 +425,12 @@ test_expect_success 'force fsck to ignore double author' ' ' _bz='\0' -_bz5="$_bz$_bz$_bz$_bz$_bz" -_bz20="$_bz5$_bz5$_bz5$_bz5" +_bzoid=$(printf $ZERO_OID | sed -e 's/00/\\0/g') test_expect_success 'fsck notices blob entry pointing to null sha1' ' (git init null-blob && cd null-blob && - sha=$(printf "100644 file$_bz$_bz20" | + sha=$(printf "100644 file$_bz$_bzoid" | git hash-object -w --stdin -t tree) && git fsck 2>out && cat out && @@ -434,7 +441,7 @@ test_expect_success 'fsck notices blob entry pointing to null sha1' ' test_expect_success 'fsck notices submodule entry pointing to null sha1' ' (git init null-commit && cd null-commit && - sha=$(printf "160000 submodule$_bz$_bz20" | + sha=$(printf "160000 submodule$_bz$_bzoid" | git hash-object -w --stdin -t tree) && git fsck 2>out && cat out && @@ -586,7 +593,7 @@ test_expect_success 'fsck --connectivity-only' ' # its type. That lets us see that --connectivity-only is # not actually looking at the contents, but leaves it # free to examine the type if it chooses. - empty=.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 && + empty=.git/objects/$(test_oid_to_path $EMPTY_BLOB) && blob=$(echo unrelated | git hash-object -w --stdin) && mv -f $(sha1_file $blob) $empty && @@ -631,10 +638,12 @@ test_expect_success 'fsck --name-objects' ' test_expect_success 'alternate objects are correctly blamed' ' test_when_finished "rm -rf alt.git .git/objects/info/alternates" && + name=$(test_oid numeric) && + path=$(test_oid_to_path "$name") && git init --bare alt.git && echo "../../alt.git/objects" >.git/objects/info/alternates && - mkdir alt.git/objects/12 && - >alt.git/objects/12/34567890123456789012345678901234567890 && + mkdir alt.git/objects/$(dirname $path) && + >alt.git/objects/$(dirname $path)/$(basename $path) && test_must_fail git fsck >out 2>&1 && test_i18ngrep alt.git out ' diff --git a/t/t1600-index.sh b/t/t1600-index.sh index 42962ed7d4..c77721b580 100755 --- a/t/t1600-index.sh +++ b/t/t1600-index.sh @@ -59,17 +59,38 @@ test_expect_success 'out of bounds index.version issues warning' ' ) ' -test_expect_success 'GIT_INDEX_VERSION takes precedence over config' ' +test_index_version () { + INDEX_VERSION_CONFIG=$1 && + FEATURE_MANY_FILES=$2 && + ENV_VAR_VERSION=$3 + EXPECTED_OUTPUT_VERSION=$4 && ( rm -f .git/index && - GIT_INDEX_VERSION=4 && - export GIT_INDEX_VERSION && - git config --add index.version 2 && + rm -f .git/config && + if test "$INDEX_VERSION_CONFIG" -ne 0 + then + git config --add index.version $INDEX_VERSION_CONFIG + fi && + git config --add feature.manyFiles $FEATURE_MANY_FILES + if test "$ENV_VAR_VERSION" -ne 0 + then + GIT_INDEX_VERSION=$ENV_VAR_VERSION && + export GIT_INDEX_VERSION + else + unset GIT_INDEX_VERSION + fi && git add a 2>&1 && - echo 4 >expect && + echo $EXPECTED_OUTPUT_VERSION >expect && test-tool index-version <.git/index >actual && test_cmp expect actual ) +} + +test_expect_success 'index version config precedence' ' + test_index_version 2 false 4 4 && + test_index_version 2 true 0 2 && + test_index_version 0 true 0 4 && + test_index_version 0 true 2 2 ' test_done diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh index 4f2f84f309..12a5568844 100755 --- a/t/t1700-split-index.sh +++ b/t/t1700-split-index.sh @@ -20,6 +20,22 @@ create_non_racy_file () { test-tool chmtime =-5 "$1" } +test_expect_success 'setup' ' + test_oid_cache <<-EOF + own_v3 sha1:8299b0bcd1ac364e5f1d7768efb62fa2da79a339 + own_v3 sha256:38a6d2925e3eceec33ad7b34cbff4e0086caa0daf28f31e51f5bd94b4a7af86b + + base_v3 sha1:39d890139ee5356c7ef572216cebcd27aa41f9df + base_v3 sha256:c9baeadf905112bf6c17aefbd7d02267afd70ded613c30cafed2d40cb506e1ed + + own_v4 sha1:432ef4b63f32193984f339431fd50ca796493569 + own_v4 sha256:6738ac6319c25b694afa7bcc313deb182d1a59b68bf7a47b4296de83478c0420 + + base_v4 sha1:508851a7f0dfa8691e9f69c7f055865389012491 + base_v4 sha256:3177d4adfdd4b6904f7e921d91d715a471c0dde7cf6a4bba574927f02b699508 + EOF +' + test_expect_success 'enable split index' ' git config splitIndex.maxPercentChange 100 && git update-index --split-index && @@ -29,11 +45,11 @@ test_expect_success 'enable split index' ' # NEEDSWORK: Stop hard-coding checksums. if test "$indexversion" = "4" then - own=432ef4b63f32193984f339431fd50ca796493569 - base=508851a7f0dfa8691e9f69c7f055865389012491 + own=$(test_oid own_v4) + base=$(test_oid base_v4) else - own=8299b0bcd1ac364e5f1d7768efb62fa2da79a339 - base=39d890139ee5356c7ef572216cebcd27aa41f9df + own=$(test_oid own_v3) + base=$(test_oid base_v3) fi && cat >expect <<-EOF && @@ -99,17 +115,18 @@ test_expect_success 'enable split index again, "one" now belongs to base index"' test_expect_success 'modify original file, base index untouched' ' echo modified | create_non_racy_file one && + file1_blob=$(git hash-object one) && git update-index one && git ls-files --stage >ls-files.actual && cat >ls-files.expect <<-EOF && - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0 one + 100644 $file1_blob 0 one EOF test_cmp ls-files.expect ls-files.actual && test-tool dump-split-index .git/index | sed "/^own/d" >actual && q_to_tab >expect <<-EOF && $BASE - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q + 100644 $file1_blob 0Q replacements: 0 deletions: EOF @@ -121,7 +138,7 @@ test_expect_success 'add another file, which stays index' ' git update-index --add two && git ls-files --stage >ls-files.actual && cat >ls-files.expect <<-EOF && - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0 one + 100644 $file1_blob 0 one 100644 $EMPTY_BLOB 0 two EOF test_cmp ls-files.expect ls-files.actual && @@ -129,7 +146,7 @@ test_expect_success 'add another file, which stays index' ' test-tool dump-split-index .git/index | sed "/^own/d" >actual && q_to_tab >expect <<-EOF && $BASE - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q + 100644 $file1_blob 0Q 100644 $EMPTY_BLOB 0 two replacements: 0 deletions: @@ -141,14 +158,14 @@ test_expect_success 'remove file not in base index' ' git update-index --force-remove two && git ls-files --stage >ls-files.actual && cat >ls-files.expect <<-EOF && - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0 one + 100644 $file1_blob 0 one EOF test_cmp ls-files.expect ls-files.actual && test-tool dump-split-index .git/index | sed "/^own/d" >actual && q_to_tab >expect <<-EOF && $BASE - 100644 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0Q + 100644 $file1_blob 0Q replacements: 0 deletions: EOF @@ -237,9 +254,9 @@ test_expect_success 'set core.splitIndex config variable to true' ' git update-index --add three && git ls-files --stage >ls-files.actual && cat >ls-files.expect <<-EOF && - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 one - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 three - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 two + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 three + 100644 $EMPTY_BLOB 0 two EOF test_cmp ls-files.expect ls-files.actual && BASE=$(test-tool dump-split-index .git/index | grep "^base") && @@ -257,8 +274,8 @@ test_expect_success 'set core.splitIndex config variable to false' ' git update-index --force-remove three && git ls-files --stage >ls-files.actual && cat >ls-files.expect <<-EOF && - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 one - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 two + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 two EOF test_cmp ls-files.expect ls-files.actual && test-tool dump-split-index .git/index | sed "/^own/d" >actual && @@ -285,7 +302,7 @@ test_expect_success 'set core.splitIndex config variable back to true' ' test-tool dump-split-index .git/index | sed "/^own/d" >actual && cat >expect <<-EOF && $BASE - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 four + 100644 $EMPTY_BLOB 0 four replacements: deletions: EOF @@ -309,7 +326,7 @@ test_expect_success 'check behavior with splitIndex.maxPercentChange unset' ' test-tool dump-split-index .git/index | sed "/^own/d" >actual && cat >expect <<-EOF && $BASE - 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 six + 100644 $EMPTY_BLOB 0 six replacements: deletions: EOF diff --git a/t/t2014-switch.sh b/t/t2014-checkout-switch.sh index ccfb147113..ccfb147113 100755 --- a/t/t2014-switch.sh +++ b/t/t2014-checkout-switch.sh diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh index 1fa670625c..b748db9946 100755 --- a/t/t2020-checkout-detach.sh +++ b/t/t2020-checkout-detach.sh @@ -195,16 +195,22 @@ test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not as # The first detach operation is more chatty than the following ones. cat >1st_detach <<-EOF && - Note: checking out 'HEAD^'. + Note: switching to 'HEAD^'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this - state without impacting any branches by performing another checkout. + state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may - do so (now or later) by using -b with the checkout command again. Example: + do so (now or later) by using -c with the switch command. Example: - git checkout -b <new-branch-name> + git switch -c <new-branch-name> + + Or undo this operation with: + + git switch - + + Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at \$commit three EOF @@ -271,16 +277,22 @@ test_expect_success 'describe_detached_head does print SHA-1 ellipsis when asked # The first detach operation is more chatty than the following ones. cat >1st_detach <<-EOF && - Note: checking out 'HEAD^'. + Note: switching to 'HEAD^'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this - state without impacting any branches by performing another checkout. + state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may - do so (now or later) by using -b with the checkout command again. Example: + do so (now or later) by using -c with the switch command. Example: + + git switch -c <new-branch-name> + + Or undo this operation with: + + git switch - - git checkout -b <new-branch-name> + Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at \$commit... three EOF diff --git a/t/t2022-checkout-paths.sh b/t/t2022-checkout-paths.sh index fc3eb43b89..6844afafc0 100755 --- a/t/t2022-checkout-paths.sh +++ b/t/t2022-checkout-paths.sh @@ -78,4 +78,15 @@ test_expect_success 'do not touch files that are already up-to-date' ' test_cmp expect actual ' +test_expect_success 'checkout HEAD adds deleted intent-to-add file back to index' ' + echo "nonempty" >nonempty && + >empty && + git add nonempty empty && + git commit -m "create files to be deleted" && + git rm --cached nonempty empty && + git add -N nonempty empty && + git checkout HEAD nonempty empty && + git diff --cached --exit-code +' + test_done diff --git a/t/t2060-switch.sh b/t/t2060-switch.sh new file mode 100755 index 0000000000..f9efa29dfb --- /dev/null +++ b/t/t2060-switch.sh @@ -0,0 +1,96 @@ +#!/bin/sh + +test_description='switch basic functionality' + +. ./test-lib.sh + +test_expect_success 'setup' ' + test_commit first && + git branch first-branch && + test_commit second && + test_commit third && + git remote add origin nohost:/nopath && + git update-ref refs/remotes/origin/foo first-branch +' + +test_expect_success 'switch branch no arguments' ' + test_must_fail git switch +' + +test_expect_success 'switch branch' ' + git switch first-branch && + test_path_is_missing second.t +' + +test_expect_success 'switch and detach' ' + test_when_finished git switch master && + test_must_fail git switch master^{commit} && + git switch --detach master^{commit} && + test_must_fail git symbolic-ref HEAD +' + +test_expect_success 'switch and detach current branch' ' + test_when_finished git switch master && + git switch master && + git switch --detach && + test_must_fail git symbolic-ref HEAD +' + +test_expect_success 'switch and create branch' ' + test_when_finished git switch master && + git switch -c temp master^ && + test_cmp_rev master^ refs/heads/temp && + echo refs/heads/temp >expected-branch && + git symbolic-ref HEAD >actual-branch && + test_cmp expected-branch actual-branch +' + +test_expect_success 'force create branch from HEAD' ' + test_when_finished git switch master && + git switch --detach master && + test_must_fail git switch -c temp && + git switch -C temp && + test_cmp_rev master refs/heads/temp && + echo refs/heads/temp >expected-branch && + git symbolic-ref HEAD >actual-branch && + test_cmp expected-branch actual-branch +' + +test_expect_success 'new orphan branch from empty' ' + test_when_finished git switch master && + test_must_fail git switch --orphan new-orphan HEAD && + git switch --orphan new-orphan && + test_commit orphan && + git cat-file commit refs/heads/new-orphan >commit && + ! grep ^parent commit && + git ls-files >tracked-files && + echo orphan.t >expected && + test_cmp expected tracked-files +' + +test_expect_success 'switching ignores file of same branch name' ' + test_when_finished git switch master && + : >first-branch && + git switch first-branch && + echo refs/heads/first-branch >expected && + git symbolic-ref HEAD >actual && + test_cmp expected actual +' + +test_expect_success 'guess and create branch ' ' + test_when_finished git switch master && + test_must_fail git switch --no-guess foo && + git switch foo && + echo refs/heads/foo >expected && + git symbolic-ref HEAD >actual && + test_cmp expected actual +' + +test_expect_success 'not switching when something is in progress' ' + test_when_finished rm -f .git/MERGE_HEAD && + # fake a merge-in-progress + cp .git/HEAD .git/MERGE_HEAD && + test_must_fail git switch -d @^ +' + +test_done diff --git a/t/t2070-restore.sh b/t/t2070-restore.sh new file mode 100755 index 0000000000..21c3f84459 --- /dev/null +++ b/t/t2070-restore.sh @@ -0,0 +1,109 @@ +#!/bin/sh + +test_description='restore basic functionality' + +. ./test-lib.sh + +test_expect_success 'setup' ' + test_commit first && + echo first-and-a-half >>first.t && + git add first.t && + test_commit second && + echo one >one && + echo two >two && + echo untracked >untracked && + echo ignored >ignored && + echo /ignored >.gitignore && + git add one two .gitignore && + git update-ref refs/heads/one master +' + +test_expect_success 'restore without pathspec is not ok' ' + test_must_fail git restore && + test_must_fail git restore --source=first +' + +test_expect_success 'restore a file, ignoring branch of same name' ' + cat one >expected && + echo dirty >>one && + git restore one && + test_cmp expected one +' + +test_expect_success 'restore a file on worktree from another ref' ' + test_when_finished git reset --hard && + git cat-file blob first:./first.t >expected && + git restore --source=first first.t && + test_cmp expected first.t && + git cat-file blob HEAD:./first.t >expected && + git show :first.t >actual && + test_cmp expected actual +' + +test_expect_success 'restore a file in the index from another ref' ' + test_when_finished git reset --hard && + git cat-file blob first:./first.t >expected && + git restore --source=first --staged first.t && + git show :first.t >actual && + test_cmp expected actual && + git cat-file blob HEAD:./first.t >expected && + test_cmp expected first.t +' + +test_expect_success 'restore a file in both the index and worktree from another ref' ' + test_when_finished git reset --hard && + git cat-file blob first:./first.t >expected && + git restore --source=first --staged --worktree first.t && + git show :first.t >actual && + test_cmp expected actual && + test_cmp expected first.t +' + +test_expect_success 'restore --staged uses HEAD as source' ' + test_when_finished git reset --hard && + git cat-file blob :./first.t >expected && + echo index-dirty >>first.t && + git add first.t && + git restore --staged first.t && + git cat-file blob :./first.t >actual && + test_cmp expected actual +' + +test_expect_success 'restore --ignore-unmerged ignores unmerged entries' ' + git init unmerged && + ( + cd unmerged && + echo one >unmerged && + echo one >common && + git add unmerged common && + git commit -m common && + git switch -c first && + echo first >unmerged && + git commit -am first && + git switch -c second master && + echo second >unmerged && + git commit -am second && + test_must_fail git merge first && + + echo dirty >>common && + test_must_fail git restore . && + + git restore --ignore-unmerged --quiet . >output 2>&1 && + git diff common >diff-output && + test_must_be_empty output && + test_must_be_empty diff-output + ) +' + +test_expect_success 'restore --staged adds deleted intent-to-add file back to index' ' + echo "nonempty" >nonempty && + >empty && + git add nonempty empty && + git commit -m "create files to be deleted" && + git rm --cached nonempty empty && + git add -N nonempty empty && + git restore --staged nonempty empty && + git diff --cached --exit-code +' + +test_done diff --git a/t/t2071-restore-patch.sh b/t/t2071-restore-patch.sh new file mode 100755 index 0000000000..98b2476e7c --- /dev/null +++ b/t/t2071-restore-patch.sh @@ -0,0 +1,110 @@ +#!/bin/sh + +test_description='git restore --patch' + +. ./lib-patch-mode.sh + +test_expect_success PERL 'setup' ' + mkdir dir && + echo parent >dir/foo && + echo dummy >bar && + git add bar dir/foo && + git commit -m initial && + test_tick && + test_commit second dir/foo head && + set_and_save_state bar bar_work bar_index && + save_head +' + +test_expect_success PERL 'restore -p without pathspec is fine' ' + echo q >cmd && + git restore -p <cmd +' + +# note: bar sorts before dir/foo, so the first 'n' is always to skip 'bar' + +test_expect_success PERL 'saying "n" does nothing' ' + set_and_save_state dir/foo work head && + test_write_lines n n | git restore -p && + verify_saved_state bar && + verify_saved_state dir/foo +' + +test_expect_success PERL 'git restore -p' ' + set_and_save_state dir/foo work head && + test_write_lines n y | git restore -p && + verify_saved_state bar && + verify_state dir/foo head head +' + +test_expect_success PERL 'git restore -p with staged changes' ' + set_state dir/foo work index && + test_write_lines n y | git restore -p && + verify_saved_state bar && + verify_state dir/foo index index +' + +test_expect_success PERL 'git restore -p --source=HEAD' ' + set_state dir/foo work index && + # the third n is to get out in case it mistakenly does not apply + test_write_lines n y n | git restore -p --source=HEAD && + verify_saved_state bar && + verify_state dir/foo head index +' + +test_expect_success PERL 'git restore -p --source=HEAD^' ' + set_state dir/foo work index && + # the third n is to get out in case it mistakenly does not apply + test_write_lines n y n | git restore -p --source=HEAD^ && + verify_saved_state bar && + verify_state dir/foo parent index +' + +test_expect_success PERL 'git restore -p handles deletion' ' + set_state dir/foo work index && + rm dir/foo && + test_write_lines n y | git restore -p && + verify_saved_state bar && + verify_state dir/foo index index +' + +# The idea in the rest is that bar sorts first, so we always say 'y' +# first and if the path limiter fails it'll apply to bar instead of +# dir/foo. There's always an extra 'n' to reject edits to dir/foo in +# the failure case (and thus get out of the loop). + +test_expect_success PERL 'path limiting works: dir' ' + set_state dir/foo work head && + test_write_lines y n | git restore -p dir && + verify_saved_state bar && + verify_state dir/foo head head +' + +test_expect_success PERL 'path limiting works: -- dir' ' + set_state dir/foo work head && + test_write_lines y n | git restore -p -- dir && + verify_saved_state bar && + verify_state dir/foo head head +' + +test_expect_success PERL 'path limiting works: HEAD^ -- dir' ' + set_state dir/foo work head && + # the third n is to get out in case it mistakenly does not apply + test_write_lines y n n | git restore -p --source=HEAD^ -- dir && + verify_saved_state bar && + verify_state dir/foo parent head +' + +test_expect_success PERL 'path limiting works: foo inside dir' ' + set_state dir/foo work head && + # the third n is to get out in case it mistakenly does not apply + test_write_lines y n n | (cd dir && git restore -p foo) && + verify_saved_state bar && + verify_state dir/foo head head +' + +test_expect_success PERL 'none of this moved HEAD' ' + verify_saved_head +' + +test_done diff --git a/t/t2203-add-intent.sh b/t/t2203-add-intent.sh index 68e54d5c44..5bbe8dcce4 100755 --- a/t/t2203-add-intent.sh +++ b/t/t2203-add-intent.sh @@ -247,12 +247,14 @@ test_expect_success 'diff-files/diff-cached shows ita as new/not-new files' ' test_expect_success '"diff HEAD" includes ita as new files' ' git reset --hard && echo new >new-ita && + oid=$(git hash-object new-ita) && + oid=$(git rev-parse --short $oid) && git add -N new-ita && git diff HEAD >actual && - cat >expected <<-\EOF && + cat >expected <<-EOF && diff --git a/new-ita b/new-ita new file mode 100644 - index 0000000..3e75765 + index 0000000..$oid --- /dev/null +++ b/new-ita @@ -0,0 +1 @@ diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh index d83a9f0fdc..e819ba741e 100755 --- a/t/t2400-worktree-add.sh +++ b/t/t2400-worktree-add.sh @@ -570,6 +570,11 @@ test_expect_success '"add" an existing locked but missing worktree' ' git worktree add --force --force --detach gnoo ' +test_expect_success FUNNYNAMES 'sanitize generated worktree name' ' + git worktree add --detach ". weird*..?.lock.lock" && + test -d .git/worktrees/---weird-.- +' + test_expect_success '"add" should not fail because of another bad worktree' ' git init add-fail && ( diff --git a/t/t3005-ls-files-relative.sh b/t/t3005-ls-files-relative.sh index 209b4c7cd8..583e467683 100755 --- a/t/t3005-ls-files-relative.sh +++ b/t/t3005-ls-files-relative.sh @@ -7,8 +7,6 @@ This test runs git ls-files with various relative path arguments. . ./test-lib.sh -new_line=' -' sq=\' test_expect_success 'prepare' ' diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index e9d7084d19..411a70b0ce 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -206,18 +206,22 @@ test_expect_success 'git branch -M baz bam should succeed when baz is checked ou git worktree add -f bazdir2 baz && git branch -M baz bam && test $(git -C bazdir rev-parse --abbrev-ref HEAD) = bam && - test $(git -C bazdir2 rev-parse --abbrev-ref HEAD) = bam + test $(git -C bazdir2 rev-parse --abbrev-ref HEAD) = bam && + rm -r bazdir bazdir2 && + git worktree prune ' test_expect_success 'git branch -M baz bam should succeed within a worktree in which baz is checked out' ' git checkout -b baz && - git worktree add -f bazdir3 baz && + git worktree add -f bazdir baz && ( - cd bazdir3 && + cd bazdir && git branch -M baz bam && test $(git rev-parse --abbrev-ref HEAD) = bam ) && - test $(git rev-parse --abbrev-ref HEAD) = bam + test $(git rev-parse --abbrev-ref HEAD) = bam && + rm -r bazdir && + git worktree prune ' test_expect_success 'git branch -M master should work when master is checked out' ' @@ -804,7 +808,9 @@ test_expect_success 'test deleting branch without config' ' test_expect_success 'deleting currently checked out branch fails' ' git worktree add -b my7 my7 && test_must_fail git -C my7 branch -d my7 && - test_must_fail git branch -d my7 + test_must_fail git branch -d my7 && + rm -r my7 && + git worktree prune ' test_expect_success 'test --track without .fetch entries' ' diff --git a/t/t3201-branch-contains.sh b/t/t3201-branch-contains.sh index 0ea4fc4694..40251c9f8f 100755 --- a/t/t3201-branch-contains.sh +++ b/t/t3201-branch-contains.sh @@ -192,10 +192,10 @@ test_expect_success 'branch --merged with --verbose' ' EOF test_cmp expect actual && git branch --verbose --merged topic >actual && - cat >expect <<-\EOF && - master c77a0a9 second on master - * topic 2c939f4 [ahead 1] foo - zzz c77a0a9 second on master + cat >expect <<-EOF && + master $(git rev-parse --short master) second on master + * topic $(git rev-parse --short topic ) [ahead 1] foo + zzz $(git rev-parse --short zzz ) second on master EOF test_i18ncmp expect actual ' diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh index be55148930..71818b90f0 100755 --- a/t/t3203-branch-output.sh +++ b/t/t3203-branch-output.sh @@ -136,10 +136,13 @@ test_expect_success 'git branch `--show-current` works properly with worktrees' branch-two EOF git checkout branch-one && - git worktree add worktree branch-two && + test_when_finished " + git worktree remove worktree_dir + " && + git worktree add worktree_dir branch-two && { git branch --show-current && - git -C worktree branch --show-current + git -C worktree_dir branch --show-current } >actual && test_cmp expect actual ' @@ -284,6 +287,24 @@ test_expect_success 'git branch --format option' ' test_i18ncmp expect actual ' +test_expect_success 'worktree colors correct' ' + cat >expect <<-EOF && + * <GREEN>(HEAD detached from fromtag)<RESET> + ambiguous<RESET> + branch-one<RESET> + + <CYAN>branch-two<RESET> + master<RESET> + ref-to-branch<RESET> -> branch-one + ref-to-remote<RESET> -> origin/branch-one + EOF + git worktree add worktree_dir branch-two && + git branch --color >actual.raw && + rm -r worktree_dir && + git worktree prune && + test_decode_color <actual.raw >actual && + test_i18ncmp expect actual +' + test_expect_success "set up color tests" ' echo "<RED>master<RESET>" >expect.color && echo "master" >expect.bare && @@ -308,4 +329,23 @@ test_expect_success '--color overrides auto-color' ' test_cmp expect.color actual ' +test_expect_success 'verbose output lists worktree path' ' + one=$(git rev-parse --short HEAD) && + two=$(git rev-parse --short master) && + cat >expect <<-EOF && + * (HEAD detached from fromtag) $one one + ambiguous $one one + branch-one $two two + + branch-two $one ($(pwd)/worktree_dir) one + master $two two + ref-to-branch $two two + ref-to-remote $two two + EOF + git worktree add worktree_dir branch-two && + git branch -vv >actual && + rm -r worktree_dir && + git worktree prune && + test_i18ncmp expect actual +' + test_done diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh index 048feaf6dd..0120f769f1 100755 --- a/t/t3206-range-diff.sh +++ b/t/t3206-range-diff.sh @@ -8,17 +8,124 @@ test_description='range-diff tests' # harm than good. We need some real history. test_expect_success 'setup' ' - git fast-import < "$TEST_DIRECTORY"/t3206/history.export + git fast-import < "$TEST_DIRECTORY"/t3206/history.export && + test_oid_cache <<-EOF + # topic + t1 sha1:4de457d + t2 sha1:fccce22 + t3 sha1:147e64e + t4 sha1:a63e992 + t1 sha256:b89f8b9 + t2 sha256:5f12aad + t3 sha256:ea8b273 + t4 sha256:14b7336 + + # unmodified + u1 sha1:35b9b25 + u2 sha1:de345ab + u3 sha1:9af6654 + u4 sha1:2901f77 + u1 sha256:e3731be + u2 sha256:14fadf8 + u3 sha256:736c4bc + u4 sha256:673e77d + + # reordered + r1 sha1:aca177a + r2 sha1:14ad629 + r3 sha1:ee58208 + r4 sha1:307b27a + r1 sha256:f59d3aa + r2 sha256:fb261a8 + r3 sha256:cb2649b + r4 sha256:958577e + + # removed (deleted) + d1 sha1:7657159 + d2 sha1:43d84d3 + d3 sha1:a740396 + d1 sha256:e312513 + d2 sha256:eb19258 + d3 sha256:1ccb3c1 + + # added + a1 sha1:2716022 + a2 sha1:b62accd + a3 sha1:df46cfa + a4 sha1:3e64548 + a5 sha1:12b4063 + a1 sha256:d724f4d + a2 sha256:1de7762 + a3 sha256:e159431 + a4 sha256:b3e483c + a5 sha256:90866a7 + + # rebased + b1 sha1:cc9c443 + b2 sha1:c5d9641 + b3 sha1:28cc2b6 + b4 sha1:5628ab7 + b5 sha1:a31b12e + b1 sha256:a1a8717 + b2 sha256:20a5862 + b3 sha256:587172a + b4 sha256:2721c5d + b5 sha256:7b57864 + + # changed + c1 sha1:a4b3333 + c2 sha1:f51d370 + c3 sha1:0559556 + c4 sha1:d966c5c + c1 sha256:f8c2b9d + c2 sha256:3fb6318 + c3 sha256:168ab68 + c4 sha256:3526539 + + # changed-message + m1 sha1:f686024 + m2 sha1:4ab067d + m3 sha1:b9cb956 + m4 sha1:8add5f1 + m1 sha256:31e6281 + m2 sha256:a06bf1b + m3 sha256:82dc654 + m4 sha256:48470c5 + + # renamed + n1 sha1:f258d75 + n2 sha1:017b62d + n3 sha1:3ce7af6 + n4 sha1:1e6226b + n1 sha256:ad52114 + n2 sha256:3b54c8f + n3 sha256:3b0a644 + n4 sha256:e461653 + + # added and removed + s1 sha1:096b1ba + s2 sha1:d92e698 + s3 sha1:9a1db4d + s4 sha1:fea3b5c + s1 sha256:a7f9134 + s2 sha256:b4c2580 + s3 sha256:1d62aa2 + s4 sha256:48160e8 + + # Empty delimiter (included so lines match neatly) + __ sha1:------- + __ sha256:------- + EOF ' test_expect_success 'simple A..B A..C (unmodified)' ' git range-diff --no-color master..topic master..unmodified \ >actual && cat >expected <<-EOF && - 1: 4de457d = 1: 35b9b25 s/5/A/ - 2: fccce22 = 2: de345ab s/4/A/ - 3: 147e64e = 3: 9af6654 s/11/B/ - 4: a63e992 = 4: 2901f77 s/12/B/ + 1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/ + 3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/ + 4: $(test_oid t4) = 4: $(test_oid u4) s/12/B/ EOF test_cmp expected actual ' @@ -38,10 +145,10 @@ test_expect_success 'simple A B C (unmodified)' ' test_expect_success 'trivial reordering' ' git range-diff --no-color master topic reordered >actual && cat >expected <<-EOF && - 1: 4de457d = 1: aca177a s/5/A/ - 3: 147e64e = 2: 14ad629 s/11/B/ - 4: a63e992 = 3: ee58208 s/12/B/ - 2: fccce22 = 4: 307b27a s/4/A/ + 1: $(test_oid t1) = 1: $(test_oid r1) s/5/A/ + 3: $(test_oid t3) = 2: $(test_oid r2) s/11/B/ + 4: $(test_oid t4) = 3: $(test_oid r3) s/12/B/ + 2: $(test_oid t2) = 4: $(test_oid r4) s/4/A/ EOF test_cmp expected actual ' @@ -49,10 +156,10 @@ test_expect_success 'trivial reordering' ' test_expect_success 'removed a commit' ' git range-diff --no-color master topic removed >actual && cat >expected <<-EOF && - 1: 4de457d = 1: 7657159 s/5/A/ - 2: fccce22 < -: ------- s/4/A/ - 3: 147e64e = 2: 43d84d3 s/11/B/ - 4: a63e992 = 3: a740396 s/12/B/ + 1: $(test_oid t1) = 1: $(test_oid d1) s/5/A/ + 2: $(test_oid t2) < -: $(test_oid __) s/4/A/ + 3: $(test_oid t3) = 2: $(test_oid d2) s/11/B/ + 4: $(test_oid t4) = 3: $(test_oid d3) s/12/B/ EOF test_cmp expected actual ' @@ -60,11 +167,11 @@ test_expect_success 'removed a commit' ' test_expect_success 'added a commit' ' git range-diff --no-color master topic added >actual && cat >expected <<-EOF && - 1: 4de457d = 1: 2716022 s/5/A/ - 2: fccce22 = 2: b62accd s/4/A/ - -: ------- > 3: df46cfa s/6/A/ - 3: 147e64e = 4: 3e64548 s/11/B/ - 4: a63e992 = 5: 12b4063 s/12/B/ + 1: $(test_oid t1) = 1: $(test_oid a1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid a2) s/4/A/ + -: $(test_oid __) > 3: $(test_oid a3) s/6/A/ + 3: $(test_oid t3) = 4: $(test_oid a4) s/11/B/ + 4: $(test_oid t4) = 5: $(test_oid a5) s/12/B/ EOF test_cmp expected actual ' @@ -72,10 +179,10 @@ test_expect_success 'added a commit' ' test_expect_success 'new base, A B C' ' git range-diff --no-color master topic rebased >actual && cat >expected <<-EOF && - 1: 4de457d = 1: cc9c443 s/5/A/ - 2: fccce22 = 2: c5d9641 s/4/A/ - 3: 147e64e = 3: 28cc2b6 s/11/B/ - 4: a63e992 = 4: 5628ab7 s/12/B/ + 1: $(test_oid t1) = 1: $(test_oid b1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid b2) s/4/A/ + 3: $(test_oid t3) = 3: $(test_oid b3) s/11/B/ + 4: $(test_oid t4) = 4: $(test_oid b4) s/12/B/ EOF test_cmp expected actual ' @@ -84,11 +191,11 @@ test_expect_success 'new base, B...C' ' # this syntax includes the commits from master! git range-diff --no-color topic...rebased >actual && cat >expected <<-EOF && - -: ------- > 1: a31b12e unrelated - 1: 4de457d = 2: cc9c443 s/5/A/ - 2: fccce22 = 3: c5d9641 s/4/A/ - 3: 147e64e = 4: 28cc2b6 s/11/B/ - 4: a63e992 = 5: 5628ab7 s/12/B/ + -: $(test_oid __) > 1: $(test_oid b5) unrelated + 1: $(test_oid t1) = 2: $(test_oid b1) s/5/A/ + 2: $(test_oid t2) = 3: $(test_oid b2) s/4/A/ + 3: $(test_oid t3) = 4: $(test_oid b3) s/11/B/ + 4: $(test_oid t4) = 5: $(test_oid b4) s/12/B/ EOF test_cmp expected actual ' @@ -96,10 +203,10 @@ test_expect_success 'new base, B...C' ' test_expect_success 'changed commit' ' git range-diff --no-color topic...changed >actual && cat >expected <<-EOF && - 1: 4de457d = 1: a4b3333 s/5/A/ - 2: fccce22 = 2: f51d370 s/4/A/ - 3: 147e64e ! 3: 0559556 s/11/B/ - @@ -10,7 +10,7 @@ + 1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/ + 3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/ + @@ file: A 9 10 -11 @@ -108,9 +215,9 @@ test_expect_success 'changed commit' ' 12 13 14 - 4: a63e992 ! 4: d966c5c s/12/B/ - @@ -8,7 +8,7 @@ - @@ + 4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/ + @@ file + @@ file: A 9 10 - B @@ -125,10 +232,10 @@ test_expect_success 'changed commit' ' test_expect_success 'changed commit with --no-patch diff option' ' git range-diff --no-color --no-patch topic...changed >actual && cat >expected <<-EOF && - 1: 4de457d = 1: a4b3333 s/5/A/ - 2: fccce22 = 2: f51d370 s/4/A/ - 3: 147e64e ! 3: 0559556 s/11/B/ - 4: a63e992 ! 4: d966c5c s/12/B/ + 1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/ + 3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/ + 4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/ EOF test_cmp expected actual ' @@ -136,16 +243,16 @@ test_expect_success 'changed commit with --no-patch diff option' ' test_expect_success 'changed commit with --stat diff option' ' git range-diff --no-color --stat topic...changed >actual && cat >expected <<-EOF && - 1: 4de457d = 1: a4b3333 s/5/A/ + 1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/ a => b | 0 1 file changed, 0 insertions(+), 0 deletions(-) - 2: fccce22 = 2: f51d370 s/4/A/ + 2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/ a => b | 0 1 file changed, 0 insertions(+), 0 deletions(-) - 3: 147e64e ! 3: 0559556 s/11/B/ + 3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/ a => b | 0 1 file changed, 0 insertions(+), 0 deletions(-) - 4: a63e992 ! 4: d966c5c s/12/B/ + 4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/ a => b | 0 1 file changed, 0 insertions(+), 0 deletions(-) EOF @@ -155,10 +262,10 @@ test_expect_success 'changed commit with --stat diff option' ' test_expect_success 'changed commit with sm config' ' git range-diff --no-color --submodule=log topic...changed >actual && cat >expected <<-EOF && - 1: 4de457d = 1: a4b3333 s/5/A/ - 2: fccce22 = 2: f51d370 s/4/A/ - 3: 147e64e ! 3: 0559556 s/11/B/ - @@ -10,7 +10,7 @@ + 1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/ + 2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/ + 3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/ + @@ file: A 9 10 -11 @@ -167,9 +274,9 @@ test_expect_success 'changed commit with sm config' ' 12 13 14 - 4: a63e992 ! 4: d966c5c s/12/B/ - @@ -8,7 +8,7 @@ - @@ + 4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/ + @@ file + @@ file: A 9 10 - B @@ -181,6 +288,92 @@ test_expect_success 'changed commit with sm config' ' test_cmp expected actual ' +test_expect_success 'renamed file' ' + git range-diff --no-color --submodule=log topic...renamed-file >actual && + sed s/Z/\ /g >expected <<-EOF && + 1: $(test_oid t1) = 1: $(test_oid n1) s/5/A/ + 2: $(test_oid t2) ! 2: $(test_oid n2) s/4/A/ + @@ Metadata + ZAuthor: Thomas Rast <trast@inf.ethz.ch> + Z + Z ## Commit message ## + - s/4/A/ + + s/4/A/ + rename file + Z + - ## file ## + + ## file => renamed-file ## + Z@@ + Z 1 + Z 2 + 3: $(test_oid t3) ! 3: $(test_oid n3) s/11/B/ + @@ Metadata + Z ## Commit message ## + Z s/11/B/ + Z + - ## file ## + -@@ file: A + + ## renamed-file ## + +@@ renamed-file: A + Z 8 + Z 9 + Z 10 + 4: $(test_oid t4) ! 4: $(test_oid n4) s/12/B/ + @@ Metadata + Z ## Commit message ## + Z s/12/B/ + Z + - ## file ## + -@@ file: A + + ## renamed-file ## + +@@ renamed-file: A + Z 9 + Z 10 + Z B + EOF + test_cmp expected actual +' + +test_expect_success 'file added and later removed' ' + git range-diff --no-color --submodule=log topic...added-removed >actual && + sed s/Z/\ /g >expected <<-EOF && + 1: $(test_oid t1) = 1: $(test_oid s1) s/5/A/ + 2: $(test_oid t2) ! 2: $(test_oid s2) s/4/A/ + @@ Metadata + ZAuthor: Thomas Rast <trast@inf.ethz.ch> + Z + Z ## Commit message ## + - s/4/A/ + + s/4/A/ + new-file + Z + Z ## file ## + Z@@ + @@ file + Z A + Z 6 + Z 7 + + + + ## new-file (new) ## + 3: $(test_oid t3) ! 3: $(test_oid s3) s/11/B/ + @@ Metadata + ZAuthor: Thomas Rast <trast@inf.ethz.ch> + Z + Z ## Commit message ## + - s/11/B/ + + s/11/B/ + remove file + Z + Z ## file ## + Z@@ file: A + @@ file: A + Z 12 + Z 13 + Z 14 + + + + ## new-file (deleted) ## + 4: $(test_oid t4) = 4: $(test_oid s4) s/12/B/ + EOF + test_cmp expected actual +' + test_expect_success 'no commits on one side' ' git commit --amend -m "new message" && git range-diff master HEAD@{1} HEAD @@ -189,38 +382,38 @@ test_expect_success 'no commits on one side' ' test_expect_success 'changed message' ' git range-diff --no-color topic...changed-message >actual && sed s/Z/\ /g >expected <<-EOF && - 1: 4de457d = 1: f686024 s/5/A/ - 2: fccce22 ! 2: 4ab067d s/4/A/ - @@ -2,6 +2,8 @@ - Z + 1: $(test_oid t1) = 1: $(test_oid m1) s/5/A/ + 2: $(test_oid t2) ! 2: $(test_oid m2) s/4/A/ + @@ Metadata + Z ## Commit message ## Z s/4/A/ Z + Also a silly comment here! + - Z diff --git a/file b/file - Z --- a/file - Z +++ b/file - 3: 147e64e = 3: b9cb956 s/11/B/ - 4: a63e992 = 4: 8add5f1 s/12/B/ + Z ## file ## + Z@@ + Z 1 + 3: $(test_oid t3) = 3: $(test_oid m3) s/11/B/ + 4: $(test_oid t4) = 4: $(test_oid m4) s/12/B/ EOF test_cmp expected actual ' test_expect_success 'dual-coloring' ' - sed -e "s|^:||" >expect <<-\EOF && - :<YELLOW>1: a4b3333 = 1: f686024 s/5/A/<RESET> - :<RED>2: f51d370 <RESET><YELLOW>!<RESET><GREEN> 2: 4ab067d<RESET><YELLOW> s/4/A/<RESET> - : <REVERSE><CYAN>@@ -2,6 +2,8 @@<RESET> - : <RESET> + sed -e "s|^:||" >expect <<-EOF && + :<YELLOW>1: $(test_oid c1) = 1: $(test_oid m1) s/5/A/<RESET> + :<RED>2: $(test_oid c2) <RESET><YELLOW>!<RESET><GREEN> 2: $(test_oid m2)<RESET><YELLOW> s/4/A/<RESET> + : <REVERSE><CYAN>@@<RESET> <RESET>Metadata<RESET> + : ## Commit message ##<RESET> : s/4/A/<RESET> : <RESET> : <REVERSE><GREEN>+<RESET><BOLD> Also a silly comment here!<RESET> : <REVERSE><GREEN>+<RESET> - : diff --git a/file b/file<RESET> - : --- a/file<RESET> - : +++ b/file<RESET> - :<RED>3: 0559556 <RESET><YELLOW>!<RESET><GREEN> 3: b9cb956<RESET><YELLOW> s/11/B/<RESET> - : <REVERSE><CYAN>@@ -10,7 +10,7 @@<RESET> + : ## file ##<RESET> + : <CYAN> @@<RESET> + : 1<RESET> + :<RED>3: $(test_oid c3) <RESET><YELLOW>!<RESET><GREEN> 3: $(test_oid m3)<RESET><YELLOW> s/11/B/<RESET> + : <REVERSE><CYAN>@@<RESET> <RESET>file: A<RESET> : 9<RESET> : 10<RESET> : <RED> -11<RESET> @@ -229,9 +422,9 @@ test_expect_success 'dual-coloring' ' : 12<RESET> : 13<RESET> : 14<RESET> - :<RED>4: d966c5c <RESET><YELLOW>!<RESET><GREEN> 4: 8add5f1<RESET><YELLOW> s/12/B/<RESET> - : <REVERSE><CYAN>@@ -8,7 +8,7 @@<RESET> - : <CYAN> @@<RESET> + :<RED>4: $(test_oid c4) <RESET><YELLOW>!<RESET><GREEN> 4: $(test_oid m4)<RESET><YELLOW> s/12/B/<RESET> + : <REVERSE><CYAN>@@<RESET> <RESET>file<RESET> + : <CYAN> @@ file: A<RESET> : 9<RESET> : 10<RESET> : <REVERSE><RED>-<RESET><FAINT> BB<RESET> diff --git a/t/t3206/history.export b/t/t3206/history.export index b8ffff0940..7bb3814962 100644 --- a/t/t3206/history.export +++ b/t/t3206/history.export @@ -22,8 +22,8 @@ data 51 19 20 -reset refs/heads/removed -commit refs/heads/removed +reset refs/heads/renamed-file +commit refs/heads/renamed-file mark :2 author Thomas Rast <trast@inf.ethz.ch> 1374424921 +0200 committer Thomas Rast <trast@inf.ethz.ch> 1374484724 +0200 @@ -599,6 +599,82 @@ s/12/B/ from :46 M 100644 :28 file -reset refs/heads/removed -from :47 +commit refs/heads/added-removed +mark :48 +author Thomas Rast <trast@inf.ethz.ch> 1374485014 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574151 +0100 +data 7 +s/5/A/ +from :2 +M 100644 :3 file + +blob +mark :49 +data 0 + +commit refs/heads/added-removed +mark :50 +author Thomas Rast <trast@inf.ethz.ch> 1374485024 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574177 +0100 +data 18 +s/4/A/ + new-file +from :48 +M 100644 :5 file +M 100644 :49 new-file + +commit refs/heads/added-removed +mark :51 +author Thomas Rast <trast@inf.ethz.ch> 1374485036 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574177 +0100 +data 22 +s/11/B/ + remove file +from :50 +M 100644 :7 file +D new-file + +commit refs/heads/added-removed +mark :52 +author Thomas Rast <trast@inf.ethz.ch> 1374485044 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574177 +0100 +data 8 +s/12/B/ +from :51 +M 100644 :9 file + +commit refs/heads/renamed-file +mark :53 +author Thomas Rast <trast@inf.ethz.ch> 1374485014 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574309 +0100 +data 7 +s/5/A/ +from :2 +M 100644 :3 file + +commit refs/heads/renamed-file +mark :54 +author Thomas Rast <trast@inf.ethz.ch> 1374485024 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574312 +0100 +data 21 +s/4/A/ + rename file +from :53 +D file +M 100644 :5 renamed-file + +commit refs/heads/renamed-file +mark :55 +author Thomas Rast <trast@inf.ethz.ch> 1374485036 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574319 +0100 +data 8 +s/11/B/ +from :54 +M 100644 :7 renamed-file + +commit refs/heads/renamed-file +mark :56 +author Thomas Rast <trast@inf.ethz.ch> 1374485044 +0200 +committer Thomas Gummerer <t.gummerer@gmail.com> 1556574319 +0100 +data 8 +s/12/B/ +from :55 +M 100644 :9 renamed-file diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh index 704bbc6541..d3fa298c6a 100755 --- a/t/t3301-notes.sh +++ b/t/t3301-notes.sh @@ -66,8 +66,9 @@ test_expect_success 'show notes entry with %N' ' ' test_expect_success 'create reflog entry' ' + ref=$(git rev-parse --short refs/notes/commits) && cat <<-EOF >expect && - a1d8fa6 refs/notes/commits@{0}: notes: Notes added by '\''git notes add'\'' + $ref refs/notes/commits@{0}: notes: Notes added by '\''git notes add'\'' EOF git reflog show refs/notes/commits >actual && test_cmp expect actual @@ -134,8 +135,9 @@ test_expect_success 'can overwrite existing note with "git notes add -f"' ' ' test_expect_success 'show notes' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 7a4ca6ee52a974a66cbaa78e33214535dff1d691 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:14:13 2005 -0700 @@ -152,8 +154,9 @@ test_expect_success 'show notes' ' test_expect_success 'show multi-line notes' ' test_commit 3rd && MSG="b3${LF}c3c3c3c3${LF}d3d3d3" git notes add && + commit=$(git rev-parse HEAD) && cat >expect-multiline <<-EOF && - commit d07d62e5208f22eb5695e7eb47667dc8b9860290 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:15:13 2005 -0700 @@ -174,8 +177,9 @@ test_expect_success 'show -F notes' ' test_commit 4th && echo "xyzzy" >note5 && git notes add -F note5 && + commit=$(git rev-parse HEAD) && cat >expect-F <<-EOF && - commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:16:13 2005 -0700 @@ -198,10 +202,13 @@ test_expect_success 'Re-adding -F notes without -f fails' ' ' test_expect_success 'git log --pretty=raw does not show notes' ' + commit=$(git rev-parse HEAD) && + tree=$(git rev-parse HEAD^{tree}) && + parent=$(git rev-parse HEAD^) && cat >expect <<-EOF && - commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11 - tree 05ac65288c4c4b3b709a020ae94b2ece2f2201ae - parent d07d62e5208f22eb5695e7eb47667dc8b9860290 + commit $commit + tree $tree + parent $parent author A U Thor <author@example.com> 1112912173 -0700 committer C O Mitter <committer@example.com> 1112912173 -0700 @@ -291,8 +298,9 @@ test_expect_success 'git log --no-notes resets ref list' ' test_expect_success 'show -m notes' ' test_commit 5th && git notes add -m spam -m "foo${LF}bar${LF}baz" && + commit=$(git rev-parse HEAD) && cat >expect-m <<-EOF && - commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 @@ -313,8 +321,9 @@ test_expect_success 'show -m notes' ' test_expect_success 'remove note with add -f -F /dev/null' ' git notes add -f -F /dev/null && + commit=$(git rev-parse HEAD) && cat >expect-rm-F <<-EOF && - commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 @@ -356,14 +365,16 @@ test_expect_success 'create note with combination of -m and -F' ' test_expect_success 'remove note with "git notes remove"' ' git notes remove HEAD^ && git notes remove && + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect-rm-remove <<-EOF && - commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 ${indent}5th - commit 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11 + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:16:13 2005 -0700 @@ -459,9 +470,11 @@ test_expect_success 'removing with --stdin --ignore-missing' ' ' test_expect_success 'list notes with "git notes list"' ' - cat >expect <<-EOF && - c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 7a4ca6ee52a974a66cbaa78e33214535dff1d691 - c18dc024e14f08d18d14eea0d747ff692d66d6a3 d07d62e5208f22eb5695e7eb47667dc8b9860290 + commit_2=$(git rev-parse 2nd) && + commit_3=$(git rev-parse 3rd) && + sort -t" " -k2 >expect <<-EOF && + $(git rev-parse refs/notes/commits:$commit_2) $commit_2 + $(git rev-parse refs/notes/commits:$commit_3) $commit_3 EOF git notes list >actual && test_cmp expect actual @@ -474,7 +487,7 @@ test_expect_success 'list notes with "git notes"' ' test_expect_success 'list specific note with "git notes list <object>"' ' cat >expect <<-EOF && - c18dc024e14f08d18d14eea0d747ff692d66d6a3 + $(git rev-parse refs/notes/commits:$commit_3) EOF git notes list HEAD^^ >actual && test_cmp expect actual @@ -498,10 +511,11 @@ test_expect_success 'append to existing note with "git notes append"' ' ' test_expect_success '"git notes list" does not expand to "git notes list HEAD"' ' - cat >expect_list <<-EOF && - c9c6af7f78bc47490dbf3e822cf2f3c24d4b9061 7a4ca6ee52a974a66cbaa78e33214535dff1d691 - 4b6ad22357cc8a1296720574b8d2fbc22fab0671 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 - c18dc024e14f08d18d14eea0d747ff692d66d6a3 d07d62e5208f22eb5695e7eb47667dc8b9860290 + commit_5=$(git rev-parse 5th) && + sort -t" " -k2 >expect_list <<-EOF && + $(git rev-parse refs/notes/commits:$commit_2) $commit_2 + $(git rev-parse refs/notes/commits:$commit_3) $commit_3 + $(git rev-parse refs/notes/commits:$commit_5) $commit_5 EOF git notes list >actual && test_cmp expect_list actual @@ -531,8 +545,9 @@ test_expect_success 'appending empty string to non-existing note does not create test_expect_success 'create other note on a different notes ref (setup)' ' test_commit 6th && GIT_NOTES_REF="refs/notes/other" git notes add -m "other note" && + commit=$(git rev-parse HEAD) && cat >expect-not-other <<-EOF && - commit 2c125331118caba0ff8238b7f4958ac6e93fe39c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 @@ -569,8 +584,10 @@ test_expect_success 'Do not show note when core.notesRef is overridden' ' ' test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' ' + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect-both <<-EOF && - commit 2c125331118caba0ff8238b7f4958ac6e93fe39c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 @@ -582,7 +599,7 @@ test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' ' Notes (other): ${indent}other note - commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 @@ -616,8 +633,9 @@ test_expect_success 'notes.displayRef can be given more than once' ' ' test_expect_success 'notes.displayRef respects order' ' + commit=$(git rev-parse HEAD) && cat >expect-both-reversed <<-EOF && - commit 2c125331118caba0ff8238b7f4958ac6e93fe39c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 @@ -642,14 +660,16 @@ test_expect_success 'GIT_NOTES_DISPLAY_REF works' ' ' test_expect_success 'GIT_NOTES_DISPLAY_REF overrides config' ' + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect-none <<-EOF && - commit 2c125331118caba0ff8238b7f4958ac6e93fe39c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 ${indent}6th - commit 7f9ad8836c775acb134c0a055fc55fb4cd1ba361 + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 @@ -666,8 +686,9 @@ test_expect_success '--show-notes=* adds to GIT_NOTES_DISPLAY_REF' ' ' test_expect_success '--no-standard-notes' ' + commit=$(git rev-parse HEAD) && cat >expect-commits <<-EOF && - commit 2c125331118caba0ff8238b7f4958ac6e93fe39c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 @@ -712,8 +733,10 @@ test_expect_success 'Allow notes on non-commits (trees, blobs, tags)' ' ' test_expect_success 'create note from other note with "git notes add -C"' ' + test_commit 7th && + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit fb01e0ca8c33b6cc0c6451dde747f97df567cb5c + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:19:13 2005 -0700 @@ -722,7 +745,6 @@ test_expect_success 'create note from other note with "git notes add -C"' ' Notes: ${indent}order test EOF - test_commit 7th && git notes add -C $(git notes list HEAD^) && git log -1 >actual && test_cmp expect actual && @@ -744,8 +766,9 @@ test_expect_success 'create note from non-blob with "git notes add -C" fails' ' ' test_expect_success 'create note from blob with "git notes add -C" reuses blob id' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 9a4c31c7f722b5d517e92c64e932dd751e1413bf + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:20:13 2005 -0700 @@ -762,8 +785,10 @@ test_expect_success 'create note from blob with "git notes add -C" reuses blob i ' test_expect_success 'create note from other note with "git notes add -c"' ' + test_commit 9th && + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 2e0db4bc649e174d667a1cde19e725cf897a5bd2 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:21:13 2005 -0700 @@ -772,7 +797,6 @@ test_expect_success 'create note from other note with "git notes add -c"' ' Notes: ${indent}yet another note EOF - test_commit 9th && MSG="yet another note" git notes add -c $(git notes list HEAD^^) && git log -1 >actual && test_cmp expect actual @@ -785,8 +809,9 @@ test_expect_success 'create note from non-existing note with "git notes add -c" ' test_expect_success 'append to note from other note with "git notes append -C"' ' + commit=$(git rev-parse HEAD^) && cat >expect <<-EOF && - commit 2e0db4bc649e174d667a1cde19e725cf897a5bd2 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:21:13 2005 -0700 @@ -803,8 +828,9 @@ test_expect_success 'append to note from other note with "git notes append -C"' ' test_expect_success 'create note from other note with "git notes append -c"' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 7c3b87ab368f81e11b1ea87b2ab99a71ccd25406 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:22:13 2005 -0700 @@ -819,8 +845,9 @@ test_expect_success 'create note from other note with "git notes append -c"' ' ' test_expect_success 'append to note from other note with "git notes append -c"' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 7c3b87ab368f81e11b1ea87b2ab99a71ccd25406 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:22:13 2005 -0700 @@ -837,8 +864,10 @@ test_expect_success 'append to note from other note with "git notes append -c"' ' test_expect_success 'copy note with "git notes copy"' ' + test_commit 11th && + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit a446fff8777efdc6eb8f4b7c8a5ff699484df0d5 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 @@ -849,7 +878,6 @@ test_expect_success 'copy note with "git notes copy"' ' ${indent} ${indent}yet another note EOF - test_commit 11th && git notes copy HEAD^ HEAD && git log -1 >actual && test_cmp expect actual && @@ -864,8 +892,9 @@ test_expect_success 'prevent overwrite with "git notes copy"' ' ' test_expect_success 'allow overwrite with "git notes copy -f"' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit a446fff8777efdc6eb8f4b7c8a5ff699484df0d5 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 @@ -889,8 +918,10 @@ test_expect_success 'cannot copy note from object without notes' ' ' test_expect_success 'git notes copy --stdin' ' + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect <<-EOF && - commit e871aa61182b1d95d0a6fb75445d891722863b6b + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:25:13 2005 -0700 @@ -901,7 +932,7 @@ test_expect_success 'git notes copy --stdin' ' ${indent} ${indent}yet another note - commit 65e263ded02ae4e8839bc151095113737579dc12 + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:24:13 2005 -0700 @@ -922,21 +953,23 @@ test_expect_success 'git notes copy --stdin' ' ' test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' + test_commit 14th && + test_commit 15th && + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 ${indent}15th - commit 07c85d77059393ed0154b8c96906547a59dfcddd + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:26:13 2005 -0700 ${indent}14th EOF - test_commit 14th && - test_commit 15th && (echo $(git rev-parse HEAD~3) $(git rev-parse HEAD^) && echo $(git rev-parse HEAD~2) $(git rev-parse HEAD)) | git notes copy --for-rewrite=foo && @@ -945,8 +978,10 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' ' test_expect_success 'git notes copy --for-rewrite (enabled)' ' + commit=$(git rev-parse HEAD) && + parent=$(git rev-parse HEAD^) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 @@ -957,7 +992,7 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' ' ${indent} ${indent}yet another note - commit 07c85d77059393ed0154b8c96906547a59dfcddd + commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:26:13 2005 -0700 @@ -986,8 +1021,9 @@ test_expect_success 'git notes copy --for-rewrite (disabled)' ' ' test_expect_success 'git notes copy --for-rewrite (overwrite)' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 @@ -1015,8 +1051,9 @@ test_expect_success 'git notes copy --for-rewrite (ignore)' ' ' test_expect_success 'git notes copy --for-rewrite (append)' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 @@ -1037,8 +1074,9 @@ test_expect_success 'git notes copy --for-rewrite (append)' ' ' test_expect_success 'git notes copy --for-rewrite (append two to one)' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 @@ -1075,8 +1113,9 @@ test_expect_success 'git notes copy --for-rewrite (append empty)' ' ' test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 @@ -1095,8 +1134,9 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' ' test_expect_success 'GIT_NOTES_REWRITE_REF works' ' + commit=$(git rev-parse HEAD) && cat >expect <<-EOF && - commit 4acf42e847e7fffbbf89ee365c20ac7caf40de89 + commit $commit Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 diff --git a/t/t3305-notes-fanout.sh b/t/t3305-notes-fanout.sh index 54460beec4..831f83d211 100755 --- a/t/t3305-notes-fanout.sh +++ b/t/t3305-notes-fanout.sh @@ -35,15 +35,10 @@ test_expect_success 'many notes created with git-notes triggers fanout' ' git ls-tree -r --name-only refs/notes/commits | while read path do - case "$path" in - ??/??????????????????????????????????????) - : true - ;; - *) + echo $path | grep "^../[0-9a-f]*$" || { echo "Invalid path \"$path\"" && - return 1 - ;; - esac + return 1; + } done ' @@ -77,15 +72,10 @@ test_expect_success 'deleting most notes triggers fanout consolidation' ' git ls-tree -r --name-only refs/notes/commits | while read path do - case "$path" in - ????????????????????????????????????????) - : true - ;; - *) + echo $path | grep -v "^../.*" || { echo "Invalid path \"$path\"" && - return 1 - ;; - esac + return 1; + } done ' diff --git a/t/t3306-notes-prune.sh b/t/t3306-notes-prune.sh index 61748088eb..8f4102ff9e 100755 --- a/t/t3306-notes-prune.sh +++ b/t/t3306-notes-prune.sh @@ -11,23 +11,26 @@ test_expect_success 'setup: create a few commits with notes' ' test_tick && git commit -m 1st && git notes add -m "Note #1" && + first=$(git rev-parse HEAD) && : > file2 && git add file2 && test_tick && git commit -m 2nd && git notes add -m "Note #2" && + second=$(git rev-parse HEAD) && : > file3 && git add file3 && test_tick && git commit -m 3rd && - COMMIT_FILE=.git/objects/5e/e1c35e83ea47cd3cc4f8cbee0568915fbbbd29 && + third=$(git rev-parse HEAD) && + COMMIT_FILE=$(echo $third | sed "s!^..!.git/objects/&/!") && test -f $COMMIT_FILE && test-tool chmtime =+0 $COMMIT_FILE && git notes add -m "Note #3" ' cat > expect <<END_OF_LOG -commit 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 +commit $third Author: A U Thor <author@example.com> Date: Thu Apr 7 15:15:13 2005 -0700 @@ -36,7 +39,7 @@ Date: Thu Apr 7 15:15:13 2005 -0700 Notes: Note #3 -commit 08341ad9e94faa089d60fd3f523affb25c6da189 +commit $second Author: A U Thor <author@example.com> Date: Thu Apr 7 15:14:13 2005 -0700 @@ -45,7 +48,7 @@ Date: Thu Apr 7 15:14:13 2005 -0700 Notes: Note #2 -commit ab5f302035f2e7aaf04265f08b42034c23256e1f +commit $first Author: A U Thor <author@example.com> Date: Thu Apr 7 15:13:13 2005 -0700 @@ -70,16 +73,16 @@ test_expect_success 'remove some commits' ' test_expect_success 'verify that commits are gone' ' - test_must_fail git cat-file -p 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 && - git cat-file -p 08341ad9e94faa089d60fd3f523affb25c6da189 && - git cat-file -p ab5f302035f2e7aaf04265f08b42034c23256e1f + test_must_fail git cat-file -p $third && + git cat-file -p $second && + git cat-file -p $first ' test_expect_success 'verify that notes are still present' ' - git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 && - git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 && - git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f + git notes show $third && + git notes show $second && + git notes show $first ' test_expect_success 'prune -n does not remove notes' ' @@ -90,13 +93,10 @@ test_expect_success 'prune -n does not remove notes' ' test_cmp expect actual ' -cat > expect <<EOF -5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 -EOF test_expect_success 'prune -n lists prunable notes' ' - + echo $third >expect && git notes prune -n > actual && test_cmp expect actual ' @@ -109,9 +109,9 @@ test_expect_success 'prune notes' ' test_expect_success 'verify that notes are gone' ' - test_must_fail git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 && - git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 && - git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f + test_must_fail git notes show $third && + git notes show $second && + git notes show $first ' test_expect_success 'remove some commits' ' @@ -121,21 +121,18 @@ test_expect_success 'remove some commits' ' git gc --prune=now ' -cat > expect <<EOF -08341ad9e94faa089d60fd3f523affb25c6da189 -EOF - test_expect_success 'prune -v notes' ' + echo $second >expect && git notes prune -v > actual && test_cmp expect actual ' test_expect_success 'verify that notes are gone' ' - test_must_fail git notes show 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29 && - test_must_fail git notes show 08341ad9e94faa089d60fd3f523affb25c6da189 && - git notes show ab5f302035f2e7aaf04265f08b42034c23256e1f + test_must_fail git notes show $third && + test_must_fail git notes show $second && + git notes show $first ' test_done diff --git a/t/t3311-notes-merge-fanout.sh b/t/t3311-notes-merge-fanout.sh index 93516ef67c..37151a3adc 100755 --- a/t/t3311-notes-merge-fanout.sh +++ b/t/t3311-notes-merge-fanout.sh @@ -114,12 +114,12 @@ cp expect_log_x expect_log_y test_expect_success 'Add a few hundred commits w/notes to trigger fanout (x -> y)' ' git update-ref refs/notes/y refs/notes/x && git config core.notesRef refs/notes/y && - i=5 && - while test $i -lt $num + test_commit_bulk --start=6 --id=commit $((num - 5)) && + i=0 && + while test $i -lt $((num - 5)) do - i=$(($i + 1)) && - test_commit "commit$i" >/dev/null && - git notes add -m "notes for commit$i" || return 1 + git notes add -m "notes for commit$i" HEAD~$i || return 1 + i=$((i + 1)) done && test "$(git rev-parse refs/notes/y)" != "$(git rev-parse refs/notes/x)" && # Expected number of commits and notes diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 42f147858d..23469cc789 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -285,7 +285,7 @@ EOF test_cmp From_.msg out ' -test_expect_success 'rebase--am.sh and --show-current-patch' ' +test_expect_success 'rebase --am and --show-current-patch' ' test_create_repo conflict-apply && ( cd conflict-apply && @@ -301,6 +301,42 @@ test_expect_success 'rebase--am.sh and --show-current-patch' ' ) ' +test_expect_success 'rebase --am and .gitattributes' ' + test_create_repo attributes && + ( + cd attributes && + test_commit init && + git config filter.test.clean "sed -e '\''s/smudged/clean/g'\''" && + git config filter.test.smudge "sed -e '\''s/clean/smudged/g'\''" && + + test_commit second && + git checkout -b test HEAD^ && + + echo "*.txt filter=test" >.gitattributes && + git add .gitattributes && + test_commit third && + + echo "This text is smudged." >a.txt && + git add a.txt && + test_commit fourth && + + git checkout -b removal HEAD^ && + git rm .gitattributes && + git add -u && + test_commit fifth && + git cherry-pick test && + + git checkout test && + git rebase master && + grep "smudged" a.txt && + + git checkout removal && + git reset --hard && + git rebase master && + grep "clean" a.txt + ) +' + test_expect_success 'rebase--merge.sh and --show-current-patch' ' test_create_repo conflict-merge && ( diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 461dd539ff..3ea67d75b5 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -29,9 +29,6 @@ Initial setup: . "$TEST_DIRECTORY"/lib-rebase.sh -# WARNING: Modifications to the initial repository can change the SHA ID used -# in the expect2 file for the 'stop on conflicting pick' test. - test_expect_success 'setup' ' test_commit A file1 && test_commit B file1 && @@ -155,8 +152,6 @@ test_expect_success 'rebase -x with empty command fails' ' test_i18ncmp expected actual ' -LF=' -' test_expect_success 'rebase -x with newline in command fails' ' test_when_finished "git rebase --abort ||:" && test_must_fail env git rebase -x "a${LF}b" @ 2>actual && @@ -233,25 +228,28 @@ test_expect_success 'exchange two commits' ' set_fake_editor && FAKE_LINES="2 1" git rebase -i HEAD~2 && test H = $(git cat-file commit HEAD^ | sed -ne \$p) && - test G = $(git cat-file commit HEAD | sed -ne \$p) + test G = $(git cat-file commit HEAD | sed -ne \$p) && + blob1=$(git rev-parse --short HEAD^:file1) && + blob2=$(git rev-parse --short HEAD:file1) && + commit=$(git rev-parse --short HEAD) ' test_expect_success 'stop on conflicting pick' ' - cat >expect <<-\EOF && + cat >expect <<-EOF && diff --git a/file1 b/file1 - index f70f10e..fd79235 100644 + index $blob1..$blob2 100644 --- a/file1 +++ b/file1 @@ -1 +1 @@ -A +G EOF - cat >expect2 <<-\EOF && + cat >expect2 <<-EOF && <<<<<<< HEAD D ======= G - >>>>>>> 5d18e54... G + >>>>>>> $commit... G EOF git tag new-branch1 && set_fake_editor && @@ -1003,7 +1001,7 @@ test_expect_success 'rebase -i --root temporary sentinel commit' ' git checkout B && set_fake_editor && test_must_fail env FAKE_LINES="2" git rebase -i --root && - git cat-file commit HEAD | grep "^tree 4b825dc642cb" && + git cat-file commit HEAD | grep "^tree $EMPTY_TREE" && git rebase --abort ' @@ -1161,7 +1159,7 @@ test_expect_success 'rebase -i error on commits with \ in message' ' test_expect_code 1 grep " emp" error ' -test_expect_success 'short SHA-1 setup' ' +test_expect_success SHA1 'short SHA-1 setup' ' test_when_finished "git checkout master" && git checkout --orphan collide && git rm -rf . && @@ -1173,7 +1171,7 @@ test_expect_success 'short SHA-1 setup' ' ) ' -test_expect_success 'short SHA-1 collide' ' +test_expect_success SHA1 'short SHA-1 collide' ' test_when_finished "reset_rebase && git checkout master" && git checkout collide && ( diff --git a/t/t3418-rebase-continue.sh b/t/t3418-rebase-continue.sh index 4eff14dae5..7a2da972fd 100755 --- a/t/t3418-rebase-continue.sh +++ b/t/t3418-rebase-continue.sh @@ -120,6 +120,20 @@ test_expect_success REBASE_P 'rebase passes merge strategy options correctly' ' git rebase --continue ' +test_expect_success 'rebase -r passes merge strategy options correctly' ' + rm -fr .git/rebase-* && + git reset --hard commit-new-file-F3-on-topic-branch && + test_commit merge-theirs && + git reset --hard HEAD^ && + test_commit some-other-commit && + test_tick && + git merge --no-ff merge-theirs && + FAKE_LINES="1 3 edit 4 5 7 8 9" git rebase -i -f -r -m \ + -s recursive --strategy-option=theirs HEAD~2 && + test_commit force-change-ours && + git rebase --continue +' + test_expect_success '--skip after failed fixup cleans commit message' ' test_when_finished "test_might_fail git rebase --abort" && git checkout -b with-conflicting-fixup && diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh index 9186e90127..b8f4d03467 100755 --- a/t/t3420-rebase-autostash.sh +++ b/t/t3420-rebase-autostash.sh @@ -30,7 +30,8 @@ test_expect_success setup ' echo conflicting-change >file2 && git add . && test_tick && - git commit -m "related commit" + git commit -m "related commit" && + remove_progress_re="$(printf "s/.*\\r//")" ' create_expected_success_am () { @@ -48,8 +49,8 @@ create_expected_success_interactive () { q_to_cr >expected <<-EOF $(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual) HEAD is now at $(git rev-parse --short feature-branch) third commit - Rebasing (1/2)QRebasing (2/2)QApplied autostash. - Q QSuccessfully rebased and updated refs/heads/rebased-feature-branch. + Applied autostash. + Successfully rebased and updated refs/heads/rebased-feature-branch. EOF } @@ -67,13 +68,13 @@ create_expected_failure_am () { } create_expected_failure_interactive () { - q_to_cr >expected <<-EOF + cat >expected <<-EOF $(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual) HEAD is now at $(git rev-parse --short feature-branch) third commit - Rebasing (1/2)QRebasing (2/2)QApplying autostash resulted in conflicts. + Applying autostash resulted in conflicts. Your changes are safe in the stash. You can run "git stash pop" or "git stash drop" at any time. - Q QSuccessfully rebased and updated refs/heads/rebased-feature-branch. + Successfully rebased and updated refs/heads/rebased-feature-branch. EOF } @@ -109,7 +110,8 @@ testrebase () { suffix=interactive fi && create_expected_success_$suffix && - test_i18ncmp expected actual + sed "$remove_progress_re" <actual >actual2 && + test_i18ncmp expected actual2 ' test_expect_success "rebase$type: dirty index, non-conflicting rebase" ' @@ -209,7 +211,8 @@ testrebase () { suffix=interactive fi && create_expected_failure_$suffix && - test_i18ncmp expected actual + sed "$remove_progress_re" <actual >actual2 && + test_i18ncmp expected actual2 ' } diff --git a/t/t3422-rebase-incompatible-options.sh b/t/t3422-rebase-incompatible-options.sh index a5868ea152..50e7960702 100755 --- a/t/t3422-rebase-incompatible-options.sh +++ b/t/t3422-rebase-incompatible-options.sh @@ -76,14 +76,4 @@ test_expect_success REBASE_P \ test_must_fail git rebase --preserve-merges --rebase-merges A ' -test_expect_success '--rebase-merges incompatible with --strategy' ' - git checkout B^0 && - test_must_fail git rebase --rebase-merges -s resolve A -' - -test_expect_success '--rebase-merges incompatible with --strategy-option' ' - git checkout B^0 && - test_must_fail git rebase --rebase-merges -Xignore-space-change A -' - test_done diff --git a/t/t3427-rebase-subtree.sh b/t/t3427-rebase-subtree.sh index d8640522a0..bec48e6a1f 100755 --- a/t/t3427-rebase-subtree.sh +++ b/t/t3427-rebase-subtree.sh @@ -11,113 +11,99 @@ commit_message() { git log --pretty=format:%s -1 "$1" } +# There are a few bugs in the rebase with regards to the subtree strategy, and +# this test script tries to document them. First, the following commit history +# is generated (the onelines are shown, time flows from left to right): +# +# master1 - master2 - master3 +# \ +# README ---------------------- Add subproject master - master4 - files_subtree/master5 +# +# Where the merge moves the files master[123].t into the subdirectory +# files_subtree/ and master4 as well as files_subtree/master5 add files to that +# directory directly. +# +# Then, in subsequent test cases, `git filter-branch` is used to distill just +# the commits that touch files_subtree/. To give it a final pre-rebase touch, +# an empty commit is added on top. The pre-rebase commit history looks like +# this: +# +# Add subproject master - master4 - files_subtree/master5 - Empty commit +# +# where the root commit adds three files: master1.t, master2.t and master3.t. +# +# This commit history is then rebased onto `master3` with the +# `-Xsubtree=files_subtree` option in three different ways: +# +# 1. using `--preserve-merges` +# 2. using `--preserve-merges` and --keep-empty +# 3. without specifying a rebase backend + test_expect_success 'setup' ' test_commit README && - mkdir files && - ( - cd files && - git init && - test_commit master1 && - test_commit master2 && - test_commit master3 - ) && - git fetch files master && - git branch files-master FETCH_HEAD && - git read-tree --prefix=files_subtree files-master && - git checkout -- files_subtree && - tree=$(git write-tree) && - head=$(git rev-parse HEAD) && - rev=$(git rev-parse --verify files-master^0) && - commit=$(git commit-tree -p $head -p $rev -m "Add subproject master" $tree) && - git update-ref HEAD $commit && - ( - cd files_subtree && - test_commit master4 - ) && - test_commit files_subtree/master5 -' -# FAILURE: Does not preserve master4. -test_expect_failure REBASE_P \ - 'Rebase -Xsubtree --preserve-merges --onto commit 4' ' - reset_rebase && - git checkout -b rebase-preserve-merges-4 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --preserve-merges --onto files-master master && - verbose test "$(commit_message HEAD~)" = "files_subtree/master4" + git init files && + test_commit -C files master1 && + test_commit -C files master2 && + test_commit -C files master3 && + + : perform subtree merge into files_subtree/ && + git fetch files refs/heads/master:refs/heads/files-master && + git merge -s ours --no-commit --allow-unrelated-histories \ + files-master && + git read-tree --prefix=files_subtree -u files-master && + git commit -m "Add subproject master" && + + : add two extra commits to rebase && + test_commit -C files_subtree master4 && + test_commit files_subtree/master5 && + + git checkout -b to-rebase && + git fast-export --no-data HEAD -- files_subtree/ | + sed -e "s%\([0-9a-f]\{40\} \)files_subtree/%\1%" | + git fast-import --force --quiet && + git reset --hard && + git commit -m "Empty commit" --allow-empty ' -# FAILURE: Does not preserve master5. -test_expect_failure REBASE_P \ - 'Rebase -Xsubtree --preserve-merges --onto commit 5' ' +# FAILURE: Does not preserve master4. +test_expect_failure REBASE_P 'Rebase -Xsubtree --preserve-merges --onto commit' ' reset_rebase && - git checkout -b rebase-preserve-merges-5 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && + git checkout -b rebase-preserve-merges to-rebase && git rebase -Xsubtree=files_subtree --preserve-merges --onto files-master master && + verbose test "$(commit_message HEAD~)" = "master4" && verbose test "$(commit_message HEAD)" = "files_subtree/master5" ' # FAILURE: Does not preserve master4. -test_expect_failure REBASE_P \ - 'Rebase -Xsubtree --keep-empty --preserve-merges --onto commit 4' ' - reset_rebase && - git checkout -b rebase-keep-empty-4 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-master master && - verbose test "$(commit_message HEAD~2)" = "files_subtree/master4" -' - -# FAILURE: Does not preserve master5. -test_expect_failure REBASE_P \ - 'Rebase -Xsubtree --keep-empty --preserve-merges --onto commit 5' ' - reset_rebase && - git checkout -b rebase-keep-empty-5 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-master master && - verbose test "$(commit_message HEAD~)" = "files_subtree/master5" -' - -# FAILURE: Does not preserve Empty. -test_expect_failure REBASE_P \ - 'Rebase -Xsubtree --keep-empty --preserve-merges --onto empty commit' ' +test_expect_failure REBASE_P 'Rebase -Xsubtree --keep-empty --preserve-merges --onto commit' ' reset_rebase && - git checkout -b rebase-keep-empty-empty master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && + git checkout -b rebase-keep-empty to-rebase && git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-master master && + verbose test "$(commit_message HEAD~2)" = "master4" && + verbose test "$(commit_message HEAD~)" = "files_subtree/master5" && verbose test "$(commit_message HEAD)" = "Empty commit" ' -# FAILURE: fatal: Could not parse object -test_expect_failure 'Rebase -Xsubtree --onto commit 4' ' +test_expect_success 'Rebase -Xsubtree --keep-empty --onto commit' ' reset_rebase && - git checkout -b rebase-onto-4 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --onto files-master master && - verbose test "$(commit_message HEAD~2)" = "files_subtree/master4" + git checkout -b rebase-onto to-rebase && + test_must_fail git rebase -Xsubtree=files_subtree --keep-empty --onto files-master master && + : first pick results in no changes && + git rebase --continue && + verbose test "$(commit_message HEAD~2)" = "master4" && + verbose test "$(commit_message HEAD~)" = "files_subtree/master5" && + verbose test "$(commit_message HEAD)" = "Empty commit" ' -# FAILURE: fatal: Could not parse object -test_expect_failure 'Rebase -Xsubtree --onto commit 5' ' - reset_rebase && - git checkout -b rebase-onto-5 master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --onto files-master master && - verbose test "$(commit_message HEAD~)" = "files_subtree/master5" -' -# FAILURE: fatal: Could not parse object -test_expect_failure 'Rebase -Xsubtree --onto empty commit' ' +test_expect_success 'Rebase -Xsubtree --keep-empty --rebase-merges --onto commit' ' reset_rebase && - git checkout -b rebase-onto-empty master && - git filter-branch --prune-empty -f --subdirectory-filter files_subtree && - git commit -m "Empty commit" --allow-empty && - git rebase -Xsubtree=files_subtree --onto files-master master && + git checkout -b rebase-merges-onto to-rebase && + test_must_fail git rebase -Xsubtree=files_subtree --keep-empty --rebase-merges --onto files-master --root && + : first pick results in no changes && + git rebase --continue && + verbose test "$(commit_message HEAD~2)" = "master4" && + verbose test "$(commit_message HEAD~)" = "files_subtree/master5" && verbose test "$(commit_message HEAD)" = "Empty commit" ' diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh index f0814d5280..cefed4e617 100755 --- a/t/t3430-rebase-merges.sh +++ b/t/t3430-rebase-merges.sh @@ -37,20 +37,27 @@ test_expect_success 'setup' ' test_commit A && git checkout -b first && test_commit B && + b=$(git rev-parse --short HEAD) && git checkout master && test_commit C && + c=$(git rev-parse --short HEAD) && test_commit D && + d=$(git rev-parse --short HEAD) && git merge --no-commit B && test_tick && git commit -m E && git tag -m E E && + e=$(git rev-parse --short HEAD) && git checkout -b second C && test_commit F && + f=$(git rev-parse --short HEAD) && test_commit G && + g=$(git rev-parse --short HEAD) && git checkout master && git merge --no-commit G && test_tick && git commit -m H && + h=$(git rev-parse --short HEAD) && git tag -m H H && git checkout A && test_commit conflicting-G G.t @@ -93,24 +100,24 @@ test_expect_success 'create completely different structure' ' ' test_expect_success 'generate correct todo list' ' - cat >expect <<-\EOF && + cat >expect <<-EOF && label onto reset onto - pick d9df450 B + pick $b B label E reset onto - pick 5dee784 C + pick $c C label branch-point - pick ca2c861 F - pick 088b00a G + pick $f F + pick $g G label H reset branch-point # C - pick 12bd07b D - merge -C 2051b56 E # E - merge -C 233d48a H # H + pick $d D + merge -C $e E # E + merge -C $h H # H EOF @@ -164,6 +171,19 @@ test_expect_success 'failed `merge <branch>` does not crash' ' grep "^Merge branch ${SQ}G${SQ}$" .git/rebase-merge/message ' +test_expect_success 'fast-forward merge -c still rewords' ' + git checkout -b fast-forward-merge-c H && + ( + set_fake_editor && + FAKE_COMMIT_MESSAGE=edited \ + GIT_SEQUENCE_EDITOR="echo merge -c H G >" \ + git rebase -ir @^ + ) && + echo edited >expected && + git log --pretty=format:%B -1 >actual && + test_cmp expected actual +' + test_expect_success 'with a branch tip that was cherry-picked already' ' git checkout -b already-upstream master && base="$(git rev-parse --verify HEAD)" && @@ -428,4 +448,25 @@ test_expect_success '--continue after resolving conflicts after a merge' ' test_path_is_missing .git/MERGE_HEAD ' +test_expect_success '--rebase-merges with strategies' ' + git checkout -b with-a-strategy F && + test_tick && + git merge -m "Merge conflicting-G" conflicting-G && + + : first, test with a merge strategy option && + git rebase -ir -Xtheirs G && + echo conflicting-G >expect && + test_cmp expect G.t && + + : now, try with a merge strategy other than recursive && + git reset --hard @{1} && + write_script git-merge-override <<-\EOF && + echo overridden$1 >>G.t + git add G.t + EOF + PATH="$PWD:$PATH" git rebase -ir -s override -Xxopt G && + test_write_lines G overridden--xopt >expect && + test_cmp expect G.t +' + test_done diff --git a/t/t3506-cherry-pick-ff.sh b/t/t3506-cherry-pick-ff.sh index 127dd0082f..9d5adbc130 100755 --- a/t/t3506-cherry-pick-ff.sh +++ b/t/t3506-cherry-pick-ff.sh @@ -16,7 +16,11 @@ test_expect_success setup ' git add file1 && test_tick && git commit -m "second" && - git tag second + git tag second && + test_oid_cache <<-EOF + cp_ff sha1:1df192cd8bc58a2b275d842cede4d221ad9000d1 + cp_ff sha256:e70d6b7fc064bddb516b8d512c9057094b96ce6ff08e12080acc4fe7f1d60a1d + EOF ' test_expect_success 'cherry-pick using --ff fast forwards' ' @@ -102,7 +106,7 @@ test_expect_success 'cherry pick a root commit with --ff' ' git add file2 && git commit --amend -m "file2" && git cherry-pick --ff first && - test "$(git rev-parse --verify HEAD)" = "1df192cd8bc58a2b275d842cede4d221ad9000d1" + test "$(git rev-parse --verify HEAD)" = "$(test_oid cp_ff)" ' test_expect_success 'cherry-pick --ff on unborn branch' ' diff --git a/t/t3510-cherry-pick-sequence.sh b/t/t3510-cherry-pick-sequence.sh index 941d5026da..793bcc7fe3 100755 --- a/t/t3510-cherry-pick-sequence.sh +++ b/t/t3510-cherry-pick-sequence.sh @@ -93,6 +93,128 @@ test_expect_success 'cherry-pick cleans up sequencer state upon success' ' test_path_is_missing .git/sequencer ' +test_expect_success 'cherry-pick --skip requires cherry-pick in progress' ' + pristine_detach initial && + test_must_fail git cherry-pick --skip +' + +test_expect_success 'revert --skip requires revert in progress' ' + pristine_detach initial && + test_must_fail git revert --skip +' + +test_expect_success 'cherry-pick --skip to skip commit' ' + pristine_detach initial && + test_must_fail git cherry-pick anotherpick && + test_must_fail git revert --skip && + git cherry-pick --skip && + test_cmp_rev initial HEAD && + test_path_is_missing .git/CHERRY_PICK_HEAD +' + +test_expect_success 'revert --skip to skip commit' ' + pristine_detach anotherpick && + test_must_fail git revert anotherpick~1 && + test_must_fail git cherry-pick --skip && + git revert --skip && + test_cmp_rev anotherpick HEAD +' + +test_expect_success 'skip "empty" commit' ' + pristine_detach picked && + test_commit dummy foo d && + test_must_fail git cherry-pick anotherpick && + git cherry-pick --skip && + test_cmp_rev dummy HEAD +' + +test_expect_success 'skip a commit and check if rest of sequence is correct' ' + pristine_detach initial && + echo e >expect && + cat >expect.log <<-EOF && + OBJID + :100644 100644 OBJID OBJID M foo + OBJID + :100644 100644 OBJID OBJID M foo + OBJID + :100644 100644 OBJID OBJID M unrelated + OBJID + :000000 100644 OBJID OBJID A foo + :000000 100644 OBJID OBJID A unrelated + EOF + test_must_fail git cherry-pick base..yetanotherpick && + test_must_fail git cherry-pick --skip && + echo d >foo && + git add foo && + git cherry-pick --continue && + { + git rev-list HEAD | + git diff-tree --root --stdin | + sed "s/$OID_REGEX/OBJID/g" + } >actual.log && + test_cmp expect foo && + test_cmp expect.log actual.log +' + +test_expect_success 'check advice when we move HEAD by committing' ' + pristine_detach initial && + cat >expect <<-EOF && + error: there is nothing to skip + hint: have you committed already? + hint: try "git cherry-pick --continue" + fatal: cherry-pick failed + EOF + test_must_fail git cherry-pick base..yetanotherpick && + echo c >foo && + git commit -a && + test_path_is_missing .git/CHERRY_PICK_HEAD && + test_must_fail git cherry-pick --skip 2>advice && + test_i18ncmp expect advice +' + +test_expect_success 'selectively advise --skip while launching another sequence' ' + pristine_detach initial && + cat >expect <<-EOF && + error: cherry-pick is already in progress + hint: try "git cherry-pick (--continue | --skip | --abort | --quit)" + fatal: cherry-pick failed + EOF + test_must_fail git cherry-pick picked..yetanotherpick && + test_must_fail git cherry-pick picked..yetanotherpick 2>advice && + test_i18ncmp expect advice && + cat >expect <<-EOF && + error: cherry-pick is already in progress + hint: try "git cherry-pick (--continue | --abort | --quit)" + fatal: cherry-pick failed + EOF + git reset --merge && + test_must_fail git cherry-pick picked..yetanotherpick 2>advice && + test_i18ncmp expect advice +' + +test_expect_success 'allow skipping commit but not abort for a new history' ' + pristine_detach initial && + cat >expect <<-EOF && + error: cannot abort from a branch yet to be born + fatal: cherry-pick failed + EOF + git checkout --orphan new_disconnected && + git reset --hard && + test_must_fail git cherry-pick anotherpick && + test_must_fail git cherry-pick --abort 2>advice && + git cherry-pick --skip && + test_i18ncmp expect advice +' + +test_expect_success 'allow skipping stopped cherry-pick because of untracked file modifications' ' + pristine_detach initial && + git rm --cached unrelated && + git commit -m "untrack unrelated" && + test_must_fail git cherry-pick initial base && + test_path_is_missing .git/CHERRY_PICK_HEAD && + git cherry-pick --skip +' + test_expect_success '--quit does not complain when no cherry-pick is in progress' ' pristine_detach initial && git cherry-pick --quit diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index 66282a720e..8c8cca5bfb 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -240,12 +240,14 @@ test_expect_success 'refresh index before checking if it is up-to-date' ' ' test_expect_success 'choking "git rm" should not let it die with cruft' ' + test_oid_init && git reset -q --hard && test_when_finished "rm -f .git/index.lock && git reset -q --hard" && i=0 && + hash=$(test_oid deadbeef) && while test $i -lt 12000 do - echo "100644 1234567890123456789012345678901234567890 0 some-file-$i" + echo "100644 $hash 0 some-file-$i" i=$(( $i + 1 )) done | git update-index --index-info && git rm -n "some-file-*" | : && diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index 8eb47942e2..64dcc5ec28 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -23,6 +23,7 @@ check_verify_failure () { # first create a commit, so we have a valid object/type # for the tag. test_expect_success 'setup' ' + test_oid_init && echo Hello >A && git update-index --add A && git commit -m "Initial commit" && @@ -69,28 +70,28 @@ check_verify_failure '"object" line SHA1 check' '^error: char7: .*SHA1 hash$' # 4. type line label check cat >tag.sig <<EOF -object 779e9b33986b1c2670fff52c5067603117b3e895 +object $head xxxx tag tag mytag tagger . <> 0 +0000 EOF -check_verify_failure '"type" line label check' '^error: char47: .*"\\ntype "$' +check_verify_failure '"type" line label check' '^error: char.*: .*"\\ntype "$' ############################################################ # 5. type line eol check -echo "object 779e9b33986b1c2670fff52c5067603117b3e895" >tag.sig +echo "object $head" >tag.sig printf "type tagsssssssssssssssssssssssssssssss" >>tag.sig -check_verify_failure '"type" line eol check' '^error: char48: .*"\\n"$' +check_verify_failure '"type" line eol check' '^error: char.*: .*"\\n"$' ############################################################ # 6. tag line label check #1 cat >tag.sig <<EOF -object 779e9b33986b1c2670fff52c5067603117b3e895 +object $head type tag xxx mytag tagger . <> 0 +0000 @@ -98,37 +99,37 @@ tagger . <> 0 +0000 EOF check_verify_failure '"tag" line label check #1' \ - '^error: char57: no "tag " found$' + '^error: char.*: no "tag " found$' ############################################################ # 7. tag line label check #2 cat >tag.sig <<EOF -object 779e9b33986b1c2670fff52c5067603117b3e895 +object $head type taggggggggggggggggggggggggggggggg tag EOF check_verify_failure '"tag" line label check #2' \ - '^error: char87: no "tag " found$' + '^error: char.*: no "tag " found$' ############################################################ # 8. type line type-name length check cat >tag.sig <<EOF -object 779e9b33986b1c2670fff52c5067603117b3e895 +object $head type taggggggggggggggggggggggggggggggg tag mytag EOF check_verify_failure '"type" line type-name length check' \ - '^error: char53: type too long$' + '^error: char.*: type too long$' ############################################################ # 9. verify object (SHA1/type) check cat >tag.sig <<EOF -object 779e9b33986b1c2670fff52c5067603117b3e895 +object $(test_oid deadbeef) type tagggg tag mytag tagger . <> 0 +0000 @@ -150,7 +151,7 @@ tagger . <> 0 +0000 EOF check_verify_failure 'verify tag-name check' \ - '^error: char67: could not verify tag name$' + '^error: char.*: could not verify tag name$' ############################################################ # 11. tagger line label check #1 @@ -164,7 +165,7 @@ This is filler EOF check_verify_failure '"tagger" line label check #1' \ - '^error: char70: could not find "tagger "$' + '^error: char.*: could not find "tagger "$' ############################################################ # 12. tagger line label check #2 @@ -179,7 +180,7 @@ This is filler EOF check_verify_failure '"tagger" line label check #2' \ - '^error: char70: could not find "tagger "$' + '^error: char.*: could not find "tagger "$' ############################################################ # 13. disallow missing tag author name @@ -194,7 +195,7 @@ This is filler EOF check_verify_failure 'disallow missing tag author name' \ - '^error: char77: missing tagger name$' + '^error: char.*: missing tagger name$' ############################################################ # 14. disallow missing tag author name @@ -209,7 +210,7 @@ tagger T A Gger < EOF check_verify_failure 'disallow malformed tagger' \ - '^error: char77: malformed tagger field$' + '^error: char.*: malformed tagger field$' ############################################################ # 15. allow empty tag email @@ -238,7 +239,7 @@ tagger T A Gger <tag ger@example.com> 0 +0000 EOF check_verify_failure 'disallow spaces in tag email' \ - '^error: char77: malformed tagger field$' + '^error: char.*: malformed tagger field$' ############################################################ # 17. disallow missing tag timestamp @@ -252,7 +253,7 @@ tagger T A Gger <tagger@example.com>__ EOF check_verify_failure 'disallow missing tag timestamp' \ - '^error: char107: missing tag timestamp$' + '^error: char.*: missing tag timestamp$' ############################################################ # 18. detect invalid tag timestamp1 @@ -266,7 +267,7 @@ tagger T A Gger <tagger@example.com> Tue Mar 25 15:47:44 2008 EOF check_verify_failure 'detect invalid tag timestamp1' \ - '^error: char107: missing tag timestamp$' + '^error: char.*: missing tag timestamp$' ############################################################ # 19. detect invalid tag timestamp2 @@ -280,7 +281,7 @@ tagger T A Gger <tagger@example.com> 2008-03-31T12:20:15-0500 EOF check_verify_failure 'detect invalid tag timestamp2' \ - '^error: char111: malformed tag timestamp$' + '^error: char.*: malformed tag timestamp$' ############################################################ # 20. detect invalid tag timezone1 @@ -294,7 +295,7 @@ tagger T A Gger <tagger@example.com> 1206478233 GMT EOF check_verify_failure 'detect invalid tag timezone1' \ - '^error: char118: malformed tag timezone$' + '^error: char.*: malformed tag timezone$' ############################################################ # 21. detect invalid tag timezone2 @@ -308,7 +309,7 @@ tagger T A Gger <tagger@example.com> 1206478233 + 30 EOF check_verify_failure 'detect invalid tag timezone2' \ - '^error: char118: malformed tag timezone$' + '^error: char.*: malformed tag timezone$' ############################################################ # 22. detect invalid tag timezone3 @@ -322,7 +323,7 @@ tagger T A Gger <tagger@example.com> 1206478233 -1430 EOF check_verify_failure 'detect invalid tag timezone3' \ - '^error: char118: malformed tag timezone$' + '^error: char.*: malformed tag timezone$' ############################################################ # 23. detect invalid header entry @@ -337,7 +338,7 @@ this line should not be here EOF check_verify_failure 'detect invalid header entry' \ - '^error: char124: trailing garbage in tag header$' + '^error: char.*: trailing garbage in tag header$' ############################################################ # 24. create valid tag diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index b22e671608..820b350aeb 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -7,6 +7,18 @@ test_description='Test git stash' . ./test-lib.sh +diff_cmp () { + for i in "$1" "$2" + do + sed -e 's/^index 0000000\.\.[0-9a-f]*/index 0000000..1234567/' \ + -e 's/^index [0-9a-f]*\.\.[0-9a-f]*/index 1234567..89abcde/' \ + -e 's/^index [0-9a-f]*,[0-9a-f]*\.\.[0-9a-f]*/index 1234567,7654321..89abcde/' \ + "$i" >"$i.compare" || return 1 + done && + test_cmp "$1.compare" "$2.compare" && + rm -f "$1.compare" "$2.compare" +} + test_expect_success 'stash some dirty working directory' ' echo 1 >file && git add file && @@ -36,7 +48,7 @@ EOF test_expect_success 'parents of stash' ' test $(git rev-parse stash^) = $(git rev-parse HEAD) && git diff stash^2..stash >output && - test_cmp expect output + diff_cmp expect output ' test_expect_success 'applying bogus stash does nothing' ' @@ -210,13 +222,13 @@ test_expect_success 'stash branch' ' test refs/heads/stashbranch = $(git symbolic-ref HEAD) && test $(git rev-parse HEAD) = $(git rev-parse master^) && git diff --cached >output && - test_cmp expect output && + diff_cmp expect output && git diff >output && - test_cmp expect1 output && + diff_cmp expect1 output && git add file && git commit -m alternate\ second && git diff master..stashbranch >output && - test_cmp output expect2 && + diff_cmp output expect2 && test 0 = $(git stash list | wc -l) ' @@ -577,7 +589,7 @@ test_expect_success 'stash show -p - stashes on stack, stash-like argument' ' +bar EOF git stash show -p ${STASH_ID} >actual && - test_cmp expected actual + diff_cmp expected actual ' test_expect_success 'stash show - no stashes on stack, stash-like argument' ' @@ -609,7 +621,7 @@ test_expect_success 'stash show -p - no stashes on stack, stash-like argument' ' +foo EOF git stash show -p ${STASH_ID} >actual && - test_cmp expected actual + diff_cmp expected actual ' test_expect_success 'stash show --patience shows diff' ' @@ -627,7 +639,7 @@ test_expect_success 'stash show --patience shows diff' ' +foo EOF git stash show --patience ${STASH_ID} >actual && - test_cmp expected actual + diff_cmp expected actual ' test_expect_success 'drop: fail early if specified stash is not a stash ref' ' @@ -791,7 +803,7 @@ test_expect_success 'stash where working directory contains "HEAD" file' ' git diff-index --cached --quiet HEAD && test "$(git rev-parse stash^)" = "$(git rev-parse HEAD)" && git diff stash^..stash >output && - test_cmp expect output + diff_cmp expect output ' test_expect_success 'store called with invalid commit' ' @@ -847,7 +859,7 @@ test_expect_success 'stash list implies --first-parent -m' ' +working EOF git stash list --format=%gd -p >actual && - test_cmp expect actual + diff_cmp expect actual ' test_expect_success 'stash list --cc shows combined diff' ' @@ -864,7 +876,7 @@ test_expect_success 'stash list --cc shows combined diff' ' ++working EOF git stash list --format=%gd -p --cc >actual && - test_cmp expect actual + diff_cmp expect actual ' test_expect_success 'stash is not confused by partial renames' ' @@ -1234,4 +1246,11 @@ test_expect_success 'stash works when user.name and user.email are not set' ' ) ' +test_expect_success 'stash --keep-index with file deleted in index does not resurrect it on disk' ' + test_commit to-remove to-remove && + git rm to-remove && + git stash --keep-index && + test_path_is_missing to-remove +' + test_done diff --git a/t/t4000-diff-format.sh b/t/t4000-diff-format.sh index 8de36b7d12..e5116a76a1 100755 --- a/t/t4000-diff-format.sh +++ b/t/t4000-diff-format.sh @@ -78,7 +78,7 @@ test_expect_success 'git diff-files --no-patch --patch shows the patch' ' test_expect_success 'git diff-files --no-patch --patch-with-raw shows the patch and raw data' ' git diff-files --no-patch --patch-with-raw >actual && - grep -q "^:100644 100755 .* 0000000000000000000000000000000000000000 M path0\$" actual && + grep -q "^:100644 100755 .* $ZERO_OID M path0\$" actual && tail -n +4 actual >actual-patch && compare_diff_patch expected actual-patch ' diff --git a/t/t4002-diff-basic.sh b/t/t4002-diff-basic.sh index 3a6c21e825..cbcdd10464 100755 --- a/t/t4002-diff-basic.sh +++ b/t/t4002-diff-basic.sh @@ -7,123 +7,272 @@ test_description='Test diff raw-output. ' . ./test-lib.sh + . "$TEST_DIRECTORY"/lib-read-tree-m-3way.sh -cat >.test-plain-OA <<\EOF -:000000 100644 0000000000000000000000000000000000000000 ccba72ad3888a3520b39efcf780b9ee64167535d A AA -:000000 100644 0000000000000000000000000000000000000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 A AN -:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD -:000000 040000 0000000000000000000000000000000000000000 6d50f65d3bdab91c63444294d38f08aeff328e42 A DF -:100644 000000 141c1f1642328e4bc46a7d801a71da392e66791e 0000000000000000000000000000000000000000 D DM -:100644 000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 0000000000000000000000000000000000000000 D DN -:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL -:100644 100644 03f24c8c4700babccfd28b654e7e8eac402ad6cd 103d9f89b50b9aad03054b579be5e7aa665f2d57 M MD -:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 M MM -:100644 100644 bd084b0c27c7b6cc34f11d6d0509a29be3caf970 a716d58de4a570e0038f5c307bd8db34daea021f M MN -:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS -:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 4c86f9a85fbc5e6804ee2e17a797538fbe785bca M TT -:040000 040000 7d670fdcdb9929f6c7dac196ff78689cd1c566a1 5e5f22072bb39f6e12cf663a57cb634c76eefb49 M Z +test_oid_init + +test_oid_cache <<\EOF +aa_1 sha1:ccba72ad3888a3520b39efcf780b9ee64167535d +aa_1 sha256:9febfbf18197819b2735c45291f138525d2476d59470f98239647544586ba403 + +aa_2 sha1:6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 +aa_2 sha256:6eaa3437de83f145a4aaa6ba355303075ade547b128ec6a2cd00a81ff7ce7a56 + +an_1 sha1:7e426fb079479fd67f6d81f984e4ec649a44bc25 +an_1 sha256:8f92a0bec99e399a38e3bd0e1bf19fbf121e0160efb29b857df79d439f1c4536 + +dd_1 sha1:bcc68ef997017466d5c9094bcf7692295f588c9a +dd_1 sha256:07e17428b00639b85485d2b01083d219e2f3e3ba8579e9ca44e9cc8dd554d952 + +df_1 sha1:6d50f65d3bdab91c63444294d38f08aeff328e42 +df_1 sha256:e367cecc27e9bf5451b1c65828cb21938d36a5f8e39c1b03ad6509cc36bb8e9d + +df_2 sha1:71420ab81e254145d26d6fc0cddee64c1acd4787 +df_2 sha256:0f0a86d10347ff6921d03a3c954679f3f1d14fa3d5cd82f57b32c09755f3a47d + +dfd1 sha1:68a6d8b91da11045cf4aa3a5ab9f2a781c701249 +dfd1 sha256:f3bd3265b02b6978ce86490d8ad026c573639c974b3de1d9faf30d8d5a77d3d5 + +dm_1 sha1:141c1f1642328e4bc46a7d801a71da392e66791e +dm_1 sha256:c89f8656e7b94e21ee5fbaf0e2149bbf783c51edbe2ce110349cac13059ee7ed + +dm_2 sha1:3c4d8de5fbad08572bab8e10eef8dbb264cf0231 +dm_2 sha256:83a572e37e0c94086294dae2cecc43d9131afd6f6c906e495c78972230b54988 + +dn_1 sha1:35abde1506ddf806572ff4d407bd06885d0f8ee9 +dn_1 sha256:775d5852582070e620be63327bfa515fab8f71c7ac3e4f0c3cd6267b4377ba28 + +ll_2 sha1:1d41122ebdd7a640f29d3c9cc4f9d70094374762 +ll_2 sha256:7917b4948a883cfed0a77d3d5a625dc8577d6ddcc3c6c3bbc56c4d4226a2246d + +md_1 sha1:03f24c8c4700babccfd28b654e7e8eac402ad6cd +md_1 sha256:fc9f30369b978595ad685ba11ca9a17de0af16d79cd4b629975f4f1590033902 + +md_2 sha1:103d9f89b50b9aad03054b579be5e7aa665f2d57 +md_2 sha256:fc78ec75275628762fe520479a6b2398dec295ce7aabcb1d15e5963c7b4e9317 + +mm_1 sha1:b258508afb7ceb449981bd9d63d2d3e971bf8d34 +mm_1 sha256:a4b7847d228e900e3000285e240c20fd96f9dd41ce1445305f6eada126d4a04a + +mm_2 sha1:b431b272d829ff3aa4d1a5085f4394ab4d3305b6 +mm_2 sha256:3f8b83ea36aacf689bcf1a1290a9a8ed341564d32682ea6f76fea9a979186782 + +mm_3 sha1:19989d4559aae417fedee240ccf2ba315ea4dc2b +mm_3 sha256:71b3bfc5747ac033fff9ea0ab39ee453a3af2969890e75d6ef547b87544e2681 + +mn_1 sha1:bd084b0c27c7b6cc34f11d6d0509a29be3caf970 +mn_1 sha256:47a67450583d7a329eb01a7c4ba644945af72c0ed2c7c95eb5a00d6e46d4d483 + +mn_2 sha1:a716d58de4a570e0038f5c307bd8db34daea021f +mn_2 sha256:f95104c1ebe27acb84bac25a7be98c71f6b8d3054b21f357a5be0c524ad97e08 + +nm_1 sha1:c8f25781e8f1792e3e40b74225e20553041b5226 +nm_1 sha256:09baddc7afaa62e62e152c23c9c3ab94bf15a3894031e227e9be7fe68e1f4e49 + +nm_2 sha1:cdb9a8c3da571502ac30225e9c17beccb8387983 +nm_2 sha256:58b5227956ac2d2a08d0efa513c0ae37430948b16791ea3869a1308dbf05536d + +na_1 sha1:15885881ea69115351c09b38371f0348a3fb8c67 +na_1 sha256:18e4fdd1670cd7968ee23d35bfd29e5418d56fb190c840094c1c57ceee0aad8f + +nd_1 sha1:a4e179e4291e5536a5e1c82e091052772d2c5a93 +nd_1 sha256:07dac9b01d00956ea0c65bd993d7de4864aeef2ed3cbb1255d9f1d949fcd6df6 + +ss_1 sha1:40c959f984c8b89a2b02520d17f00d717f024397 +ss_1 sha256:50fc1b5df74d9910db2f9270993484235f15b69b75b01bcfb53e059289d14af9 + +ss_2 sha1:2ac547ae9614a00d1b28275de608131f7a0e259f +ss_2 sha256:a90f02e6044f1497d13db587d22ab12f90150a7d1e084afcf96065fab35ae2bc + +tt_1 sha1:4ac13458899ab908ef3b1128fa378daefc88d356 +tt_1 sha256:c53113c7dd5060e86b5b251428bd058f6726f66273c6a24bff1c61a04f498dd3 + +tt_2 sha1:4c86f9a85fbc5e6804ee2e17a797538fbe785bca +tt_2 sha256:0775f2a296129a7cf2862b46bc0e88c14d593f2773a3e3fb1c5193db6f5a7e77 + +tt_3 sha1:c4e4a12231b9fa79a0053cb6077fcb21bb5b135a +tt_3 sha256:47860f93cdd211f96443e0560f21c57ab6c2f4b0ac27ff03651a352e53fe8484 + +z__1 sha1:7d670fdcdb9929f6c7dac196ff78689cd1c566a1 +z__1 sha256:44d0f37aff5e51cfcfdd1134c93a6419bcca7b9964f792ffcd5f9b4fcba1ee63 + +z__2 sha1:5e5f22072bb39f6e12cf663a57cb634c76eefb49 +z__2 sha256:d29de162113190fed104eb5f010820cef4e315f89b9326e8497f7219fb737894 + +z__3 sha1:1ba523955d5160681af65cb776411f574c1e8155 +z__3 sha256:07422d772b07794ab4369a5648e617719f89c2d2212cbeab05d97214b6471636 + +zaa1 sha1:8acb8e9750e3f644bf323fcf3d338849db106c77 +zaa1 sha256:e79b029282c8abec2d9f3f7faceaf2a1405e02d1f368e66450ae66cf5b68d1f4 + +zaa2 sha1:6c0b99286d0bce551ac4a7b3dff8b706edff3715 +zaa2 sha256:c82bd78c3e69ea1796e6b1a7a3ba45bb106c50e819296475b862123d3f5cc5a0 + +zan1 sha1:087494262084cefee7ed484d20c8dc0580791272 +zan1 sha256:4b159eb3804d05599023dd074f771d06d02870f4ab24a7165add8ac3d703b8d3 + +zdd1 sha1:879007efae624d2b1307214b24a956f0a8d686a8 +zdd1 sha256:eecfdd4d8092dd0363fb6d4548b54c6afc8982c3ed9b34e393f1d6a921d8eaa3 + +zdm1 sha1:9b541b2275c06e3a7b13f28badf5294e2ae63df4 +zdm1 sha256:ab136e88e19a843c4bf7713d2090d5a2186ba16a6a80dacc12eeddd256a8e556 + +zdm2 sha1:d77371d15817fcaa57eeec27f770c505ba974ec1 +zdm2 sha256:1c1a5f57363f46a15d95ce8527b3c2c158d88d16853b4acbf81bd20fd2c89a46 + +zdn1 sha1:beb5d38c55283d280685ea21a0e50cfcc0ca064a +zdn1 sha256:0f0eca66183617b0aa5ad74b256540329f841470922ca6760263c996d825eb18 + +zmd1 sha1:d41fda41b7ec4de46b43cb7ea42a45001ae393d5 +zmd1 sha256:1ed32d481852eddf31a0ce12652a0ad14bf5b7a842667b5dbb0b50f35bf1c80a + +zmd2 sha1:a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9 +zmd2 sha256:b238da211b404f8917df2d9c6f7030535e904b2186131007a3c292ec6902f933 + +zmm1 sha1:4ca22bae2527d3d9e1676498a0fba3b355bd1278 +zmm1 sha256:072b1d85b5f34fabc99dfa46008c5418df68302d3e317430006f49b32d244226 + +zmm2 sha1:61422ba9c2c873416061a88cd40a59a35b576474 +zmm2 sha256:81dd5d2b3c5cda16fef552256aed4e2ea0802a8450a08f308a92142112ff6dda + +zmm3 sha1:697aad7715a1e7306ca76290a3dd4208fbaeddfa +zmm3 sha256:8b10fab49e9be3414aa5e9a93d0e46f9569053440138a7c19a5eb5536d8e95bf + +zmn1 sha1:b16d7b25b869f2beb124efa53467d8a1550ad694 +zmn1 sha256:609e4f75d1295e844c826feeba213acb0b6cfc609adfe8ff705b19e3829ae3e9 + +zmn2 sha1:a5c544c21cfcb07eb80a4d89a5b7d1570002edfd +zmn2 sha256:d6d03edf2dc1a3b267a8205de5f41a2ff4b03def8c7ae02052b543fb09d589fc + +zna1 sha1:d12979c22fff69c59ca9409e7a8fe3ee25eaee80 +zna1 sha256:b37b80e789e8ea32aa323f004628f02013f632124b0282c7fe00a127d3c64c3c + +znd1 sha1:a18393c636b98e9bd7296b8b437ea4992b72440c +znd1 sha256:af92a22eee8c38410a0c9d2b5135a10aeb052cbc7cf675541ed9a67bfcaf7cf9 + +znm1 sha1:3fdbe17fd013303a2e981e1ca1c6cd6e72789087 +znm1 sha256:f75aeaa0c11e76918e381c105f0752932c6150e941fec565d24fa31098a13dc1 + +znm2 sha1:7e09d6a3a14bd630913e8c75693cea32157b606d +znm2 sha256:938d73cfbaa1c902a84fb5b3afd9736aa0590367fb9bd59c6c4d072ce70fcd6d +EOF + +cat >.test-plain-OA <<EOF +:000000 100644 $(test_oid zero) $(test_oid aa_1) A AA +:000000 100644 $(test_oid zero) $(test_oid an_1) A AN +:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD +:000000 040000 $(test_oid zero) $(test_oid df_1) A DF +:100644 000000 $(test_oid dm_1) $(test_oid zero) D DM +:100644 000000 $(test_oid dn_1) $(test_oid zero) D DN +:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL +:100644 100644 $(test_oid md_1) $(test_oid md_2) M MD +:100644 100644 $(test_oid mm_1) $(test_oid mm_2) M MM +:100644 100644 $(test_oid mn_1) $(test_oid mn_2) M MN +:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS +:100644 100644 $(test_oid tt_1) $(test_oid tt_2) M TT +:040000 040000 $(test_oid z__1) $(test_oid z__2) M Z EOF -cat >.test-recursive-OA <<\EOF -:000000 100644 0000000000000000000000000000000000000000 ccba72ad3888a3520b39efcf780b9ee64167535d A AA -:000000 100644 0000000000000000000000000000000000000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 A AN -:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD -:000000 100644 0000000000000000000000000000000000000000 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 A DF/DF -:100644 000000 141c1f1642328e4bc46a7d801a71da392e66791e 0000000000000000000000000000000000000000 D DM -:100644 000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 0000000000000000000000000000000000000000 D DN -:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL -:100644 100644 03f24c8c4700babccfd28b654e7e8eac402ad6cd 103d9f89b50b9aad03054b579be5e7aa665f2d57 M MD -:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 M MM -:100644 100644 bd084b0c27c7b6cc34f11d6d0509a29be3caf970 a716d58de4a570e0038f5c307bd8db34daea021f M MN -:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS -:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 4c86f9a85fbc5e6804ee2e17a797538fbe785bca M TT -:000000 100644 0000000000000000000000000000000000000000 8acb8e9750e3f644bf323fcf3d338849db106c77 A Z/AA -:000000 100644 0000000000000000000000000000000000000000 087494262084cefee7ed484d20c8dc0580791272 A Z/AN -:100644 000000 879007efae624d2b1307214b24a956f0a8d686a8 0000000000000000000000000000000000000000 D Z/DD -:100644 000000 9b541b2275c06e3a7b13f28badf5294e2ae63df4 0000000000000000000000000000000000000000 D Z/DM -:100644 000000 beb5d38c55283d280685ea21a0e50cfcc0ca064a 0000000000000000000000000000000000000000 D Z/DN -:100644 100644 d41fda41b7ec4de46b43cb7ea42a45001ae393d5 a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9 M Z/MD -:100644 100644 4ca22bae2527d3d9e1676498a0fba3b355bd1278 61422ba9c2c873416061a88cd40a59a35b576474 M Z/MM -:100644 100644 b16d7b25b869f2beb124efa53467d8a1550ad694 a5c544c21cfcb07eb80a4d89a5b7d1570002edfd M Z/MN +cat >.test-recursive-OA <<EOF +:000000 100644 $(test_oid zero) $(test_oid aa_1) A AA +:000000 100644 $(test_oid zero) $(test_oid an_1) A AN +:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD +:000000 100644 $(test_oid zero) $(test_oid dfd1) A DF/DF +:100644 000000 $(test_oid dm_1) $(test_oid zero) D DM +:100644 000000 $(test_oid dn_1) $(test_oid zero) D DN +:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL +:100644 100644 $(test_oid md_1) $(test_oid md_2) M MD +:100644 100644 $(test_oid mm_1) $(test_oid mm_2) M MM +:100644 100644 $(test_oid mn_1) $(test_oid mn_2) M MN +:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS +:100644 100644 $(test_oid tt_1) $(test_oid tt_2) M TT +:000000 100644 $(test_oid zero) $(test_oid zaa1) A Z/AA +:000000 100644 $(test_oid zero) $(test_oid zan1) A Z/AN +:100644 000000 $(test_oid zdd1) $(test_oid zero) D Z/DD +:100644 000000 $(test_oid zdm1) $(test_oid zero) D Z/DM +:100644 000000 $(test_oid zdn1) $(test_oid zero) D Z/DN +:100644 100644 $(test_oid zmd1) $(test_oid zmd2) M Z/MD +:100644 100644 $(test_oid zmm1) $(test_oid zmm2) M Z/MM +:100644 100644 $(test_oid zmn1) $(test_oid zmn2) M Z/MN EOF -cat >.test-plain-OB <<\EOF -:000000 100644 0000000000000000000000000000000000000000 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 A AA -:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD -:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF -:100644 100644 141c1f1642328e4bc46a7d801a71da392e66791e 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 M DM -:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL -:100644 000000 03f24c8c4700babccfd28b654e7e8eac402ad6cd 0000000000000000000000000000000000000000 D MD -:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM -:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA -:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND -:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM -:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS -:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT -:040000 040000 7d670fdcdb9929f6c7dac196ff78689cd1c566a1 1ba523955d5160681af65cb776411f574c1e8155 M Z +cat >.test-plain-OB <<EOF +:000000 100644 $(test_oid zero) $(test_oid aa_2) A AA +:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD +:000000 100644 $(test_oid zero) $(test_oid df_2) A DF +:100644 100644 $(test_oid dm_1) $(test_oid dm_2) M DM +:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL +:100644 000000 $(test_oid md_1) $(test_oid zero) D MD +:100644 100644 $(test_oid mm_1) $(test_oid mm_3) M MM +:000000 100644 $(test_oid zero) $(test_oid na_1) A NA +:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND +:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM +:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS +:100644 100644 $(test_oid tt_1) $(test_oid tt_3) M TT +:040000 040000 $(test_oid z__1) $(test_oid z__3) M Z EOF -cat >.test-recursive-OB <<\EOF -:000000 100644 0000000000000000000000000000000000000000 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 A AA -:100644 000000 bcc68ef997017466d5c9094bcf7692295f588c9a 0000000000000000000000000000000000000000 D DD -:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF -:100644 100644 141c1f1642328e4bc46a7d801a71da392e66791e 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 M DM -:000000 100644 0000000000000000000000000000000000000000 1d41122ebdd7a640f29d3c9cc4f9d70094374762 A LL -:100644 000000 03f24c8c4700babccfd28b654e7e8eac402ad6cd 0000000000000000000000000000000000000000 D MD -:100644 100644 b258508afb7ceb449981bd9d63d2d3e971bf8d34 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM -:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA -:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND -:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM -:100644 100644 40c959f984c8b89a2b02520d17f00d717f024397 2ac547ae9614a00d1b28275de608131f7a0e259f M SS -:100644 100644 4ac13458899ab908ef3b1128fa378daefc88d356 c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT -:000000 100644 0000000000000000000000000000000000000000 6c0b99286d0bce551ac4a7b3dff8b706edff3715 A Z/AA -:100644 000000 879007efae624d2b1307214b24a956f0a8d686a8 0000000000000000000000000000000000000000 D Z/DD -:100644 100644 9b541b2275c06e3a7b13f28badf5294e2ae63df4 d77371d15817fcaa57eeec27f770c505ba974ec1 M Z/DM -:100644 000000 d41fda41b7ec4de46b43cb7ea42a45001ae393d5 0000000000000000000000000000000000000000 D Z/MD -:100644 100644 4ca22bae2527d3d9e1676498a0fba3b355bd1278 697aad7715a1e7306ca76290a3dd4208fbaeddfa M Z/MM -:000000 100644 0000000000000000000000000000000000000000 d12979c22fff69c59ca9409e7a8fe3ee25eaee80 A Z/NA -:100644 000000 a18393c636b98e9bd7296b8b437ea4992b72440c 0000000000000000000000000000000000000000 D Z/ND -:100644 100644 3fdbe17fd013303a2e981e1ca1c6cd6e72789087 7e09d6a3a14bd630913e8c75693cea32157b606d M Z/NM +cat >.test-recursive-OB <<EOF +:000000 100644 $(test_oid zero) $(test_oid aa_2) A AA +:100644 000000 $(test_oid dd_1) $(test_oid zero) D DD +:000000 100644 $(test_oid zero) $(test_oid df_2) A DF +:100644 100644 $(test_oid dm_1) $(test_oid dm_2) M DM +:000000 100644 $(test_oid zero) $(test_oid ll_2) A LL +:100644 000000 $(test_oid md_1) $(test_oid zero) D MD +:100644 100644 $(test_oid mm_1) $(test_oid mm_3) M MM +:000000 100644 $(test_oid zero) $(test_oid na_1) A NA +:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND +:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM +:100644 100644 $(test_oid ss_1) $(test_oid ss_2) M SS +:100644 100644 $(test_oid tt_1) $(test_oid tt_3) M TT +:000000 100644 $(test_oid zero) $(test_oid zaa2) A Z/AA +:100644 000000 $(test_oid zdd1) $(test_oid zero) D Z/DD +:100644 100644 $(test_oid zdm1) $(test_oid zdm2) M Z/DM +:100644 000000 $(test_oid zmd1) $(test_oid zero) D Z/MD +:100644 100644 $(test_oid zmm1) $(test_oid zmm3) M Z/MM +:000000 100644 $(test_oid zero) $(test_oid zna1) A Z/NA +:100644 000000 $(test_oid znd1) $(test_oid zero) D Z/ND +:100644 100644 $(test_oid znm1) $(test_oid znm2) M Z/NM EOF -cat >.test-plain-AB <<\EOF -:100644 100644 ccba72ad3888a3520b39efcf780b9ee64167535d 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 M AA -:100644 000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 0000000000000000000000000000000000000000 D AN -:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF -:040000 000000 6d50f65d3bdab91c63444294d38f08aeff328e42 0000000000000000000000000000000000000000 D DF -:000000 100644 0000000000000000000000000000000000000000 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 A DM -:000000 100644 0000000000000000000000000000000000000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 A DN -:100644 000000 103d9f89b50b9aad03054b579be5e7aa665f2d57 0000000000000000000000000000000000000000 D MD -:100644 100644 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM -:100644 100644 a716d58de4a570e0038f5c307bd8db34daea021f bd084b0c27c7b6cc34f11d6d0509a29be3caf970 M MN -:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA -:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND -:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM -:100644 100644 4c86f9a85fbc5e6804ee2e17a797538fbe785bca c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT -:040000 040000 5e5f22072bb39f6e12cf663a57cb634c76eefb49 1ba523955d5160681af65cb776411f574c1e8155 M Z +cat >.test-plain-AB <<EOF +:100644 100644 $(test_oid aa_1) $(test_oid aa_2) M AA +:100644 000000 $(test_oid an_1) $(test_oid zero) D AN +:000000 100644 $(test_oid zero) $(test_oid df_2) A DF +:040000 000000 $(test_oid df_1) $(test_oid zero) D DF +:000000 100644 $(test_oid zero) $(test_oid dm_2) A DM +:000000 100644 $(test_oid zero) $(test_oid dn_1) A DN +:100644 000000 $(test_oid md_2) $(test_oid zero) D MD +:100644 100644 $(test_oid mm_2) $(test_oid mm_3) M MM +:100644 100644 $(test_oid mn_2) $(test_oid mn_1) M MN +:000000 100644 $(test_oid zero) $(test_oid na_1) A NA +:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND +:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM +:100644 100644 $(test_oid tt_2) $(test_oid tt_3) M TT +:040000 040000 $(test_oid z__2) $(test_oid z__3) M Z EOF -cat >.test-recursive-AB <<\EOF -:100644 100644 ccba72ad3888a3520b39efcf780b9ee64167535d 6aa2b5335b16431a0ef71e5c0a28be69183cf6a2 M AA -:100644 000000 7e426fb079479fd67f6d81f984e4ec649a44bc25 0000000000000000000000000000000000000000 D AN -:000000 100644 0000000000000000000000000000000000000000 71420ab81e254145d26d6fc0cddee64c1acd4787 A DF -:100644 000000 68a6d8b91da11045cf4aa3a5ab9f2a781c701249 0000000000000000000000000000000000000000 D DF/DF -:000000 100644 0000000000000000000000000000000000000000 3c4d8de5fbad08572bab8e10eef8dbb264cf0231 A DM -:000000 100644 0000000000000000000000000000000000000000 35abde1506ddf806572ff4d407bd06885d0f8ee9 A DN -:100644 000000 103d9f89b50b9aad03054b579be5e7aa665f2d57 0000000000000000000000000000000000000000 D MD -:100644 100644 b431b272d829ff3aa4d1a5085f4394ab4d3305b6 19989d4559aae417fedee240ccf2ba315ea4dc2b M MM -:100644 100644 a716d58de4a570e0038f5c307bd8db34daea021f bd084b0c27c7b6cc34f11d6d0509a29be3caf970 M MN -:000000 100644 0000000000000000000000000000000000000000 15885881ea69115351c09b38371f0348a3fb8c67 A NA -:100644 000000 a4e179e4291e5536a5e1c82e091052772d2c5a93 0000000000000000000000000000000000000000 D ND -:100644 100644 c8f25781e8f1792e3e40b74225e20553041b5226 cdb9a8c3da571502ac30225e9c17beccb8387983 M NM -:100644 100644 4c86f9a85fbc5e6804ee2e17a797538fbe785bca c4e4a12231b9fa79a0053cb6077fcb21bb5b135a M TT -:100644 100644 8acb8e9750e3f644bf323fcf3d338849db106c77 6c0b99286d0bce551ac4a7b3dff8b706edff3715 M Z/AA -:100644 000000 087494262084cefee7ed484d20c8dc0580791272 0000000000000000000000000000000000000000 D Z/AN -:000000 100644 0000000000000000000000000000000000000000 d77371d15817fcaa57eeec27f770c505ba974ec1 A Z/DM -:000000 100644 0000000000000000000000000000000000000000 beb5d38c55283d280685ea21a0e50cfcc0ca064a A Z/DN -:100644 000000 a79ac3be9377639e1c7d1edf1ae1b3a5f0ccd8a9 0000000000000000000000000000000000000000 D Z/MD -:100644 100644 61422ba9c2c873416061a88cd40a59a35b576474 697aad7715a1e7306ca76290a3dd4208fbaeddfa M Z/MM -:100644 100644 a5c544c21cfcb07eb80a4d89a5b7d1570002edfd b16d7b25b869f2beb124efa53467d8a1550ad694 M Z/MN -:000000 100644 0000000000000000000000000000000000000000 d12979c22fff69c59ca9409e7a8fe3ee25eaee80 A Z/NA -:100644 000000 a18393c636b98e9bd7296b8b437ea4992b72440c 0000000000000000000000000000000000000000 D Z/ND -:100644 100644 3fdbe17fd013303a2e981e1ca1c6cd6e72789087 7e09d6a3a14bd630913e8c75693cea32157b606d M Z/NM +cat >.test-recursive-AB <<EOF +:100644 100644 $(test_oid aa_1) $(test_oid aa_2) M AA +:100644 000000 $(test_oid an_1) $(test_oid zero) D AN +:000000 100644 $(test_oid zero) $(test_oid df_2) A DF +:100644 000000 $(test_oid dfd1) $(test_oid zero) D DF/DF +:000000 100644 $(test_oid zero) $(test_oid dm_2) A DM +:000000 100644 $(test_oid zero) $(test_oid dn_1) A DN +:100644 000000 $(test_oid md_2) $(test_oid zero) D MD +:100644 100644 $(test_oid mm_2) $(test_oid mm_3) M MM +:100644 100644 $(test_oid mn_2) $(test_oid mn_1) M MN +:000000 100644 $(test_oid zero) $(test_oid na_1) A NA +:100644 000000 $(test_oid nd_1) $(test_oid zero) D ND +:100644 100644 $(test_oid nm_1) $(test_oid nm_2) M NM +:100644 100644 $(test_oid tt_2) $(test_oid tt_3) M TT +:100644 100644 $(test_oid zaa1) $(test_oid zaa2) M Z/AA +:100644 000000 $(test_oid zan1) $(test_oid zero) D Z/AN +:000000 100644 $(test_oid zero) $(test_oid zdm2) A Z/DM +:000000 100644 $(test_oid zero) $(test_oid zdn1) A Z/DN +:100644 000000 $(test_oid zmd2) $(test_oid zero) D Z/MD +:100644 100644 $(test_oid zmm2) $(test_oid zmm3) M Z/MM +:100644 100644 $(test_oid zmn2) $(test_oid zmn1) M Z/MN +:000000 100644 $(test_oid zero) $(test_oid zna1) A Z/NA +:100644 000000 $(test_oid znd1) $(test_oid zero) D Z/ND +:100644 100644 $(test_oid znm1) $(test_oid znm2) M Z/NM EOF cmp_diff_files_output () { diff --git a/t/t4009-diff-rename-4.sh b/t/t4009-diff-rename-4.sh index 3641fd84d6..b63bdf031f 100755 --- a/t/t4009-diff-rename-4.sh +++ b/t/t4009-diff-rename-4.sh @@ -14,6 +14,7 @@ test_expect_success \ 'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && echo frotz >rezrov && git update-index --add COPYING rezrov && + orig=$(git hash-object COPYING) && tree=$(git write-tree) && echo $tree' @@ -22,6 +23,8 @@ test_expect_success \ 'sed -e 's/HOWEVER/However/' <COPYING >COPYING.1 && sed -e 's/GPL/G.P.L/g' <COPYING >COPYING.2 && rm -f COPYING && + c1=$(git hash-object COPYING.1) && + c2=$(git hash-object COPYING.2) && git update-index --add --remove COPYING COPYING.?' # tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2, @@ -31,11 +34,11 @@ test_expect_success \ git diff-index -z -C $tree >current -cat >expected <<\EOF -:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 +cat >expected <<EOF +:100644 100644 $orig $c1 C1234 COPYING COPYING.1 -:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 R1234 +:100644 100644 $orig $c2 R1234 COPYING COPYING.2 EOF @@ -57,10 +60,10 @@ test_expect_success \ # about rezrov. git diff-index -z -C $tree >current -cat >expected <<\EOF -:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 M +cat >expected <<EOF +:100644 100644 $orig $c2 M COPYING -:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 +:100644 100644 $orig $c1 C1234 COPYING COPYING.1 EOF @@ -82,8 +85,8 @@ test_expect_success \ git update-index --add --remove COPYING COPYING.1' git diff-index -z -C --find-copies-harder $tree >current -cat >expected <<\EOF -:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 +cat >expected <<EOF +:100644 100644 $orig $c1 C1234 COPYING COPYING.1 EOF diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh index a9054d2db1..5ac94b390d 100755 --- a/t/t4013-diff-various.sh +++ b/t/t4013-diff-various.sh @@ -7,9 +7,6 @@ test_description='Various diff formatting options' . ./test-lib.sh -LF=' -' - test_expect_success setup ' GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" && diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index b6e2fdbc44..83f52614d3 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -9,7 +9,6 @@ test_description='various format-patch tests' . "$TEST_DIRECTORY"/lib-terminal.sh test_expect_success setup ' - for i in 1 2 3 4 5 6 7 8 9 10; do echo "$i"; done >file && cat file >elif && git add file elif && @@ -34,39 +33,54 @@ test_expect_success setup ' git commit -m "Side changes #3 with \\n backslash-n in it." && git checkout master && - git diff-tree -p C2 | git apply --index && + git diff-tree -p C2 >patch && + git apply --index <patch && test_tick && - git commit -m "Master accepts moral equivalent of #2" + git commit -m "Master accepts moral equivalent of #2" && -' + git checkout side && + git checkout -b patchid && + for i in 5 6 1 2 3 A 4 B C 7 8 9 10 D E F; do echo "$i"; done >file2 && + for i in 1 2 3 A 4 B C 7 8 9 10 D E F 5 6; do echo "$i"; done >file3 && + for i in 8 9 10; do echo "$i"; done >file && + git add file file2 file3 && + test_tick && + git commit -m "patchid 1" && + for i in 4 A B 7 8 9 10; do echo "$i"; done >file2 && + for i in 8 9 10 5 6; do echo "$i"; done >file3 && + git add file2 file3 && + test_tick && + git commit -m "patchid 2" && + for i in 10 5 6; do echo "$i"; done >file && + git add file && + test_tick && + git commit -m "patchid 3" && -test_expect_success "format-patch --ignore-if-in-upstream" ' + git checkout master +' +test_expect_success 'format-patch --ignore-if-in-upstream' ' git format-patch --stdout master..side >patch0 && - cnt=$(grep "^From " patch0 | wc -l) && - test $cnt = 3 - + grep "^From " patch0 >from0 && + test_line_count = 3 from0 ' -test_expect_success "format-patch --ignore-if-in-upstream" ' - +test_expect_success 'format-patch --ignore-if-in-upstream' ' git format-patch --stdout \ --ignore-if-in-upstream master..side >patch1 && - cnt=$(grep "^From " patch1 | wc -l) && - test $cnt = 2 - + grep "^From " patch1 >from1 && + test_line_count = 2 from1 ' -test_expect_success "format-patch --ignore-if-in-upstream handles tags" ' +test_expect_success 'format-patch --ignore-if-in-upstream handles tags' ' git tag -a v1 -m tag side && git tag -a v2 -m tag master && git format-patch --stdout --ignore-if-in-upstream v2..v1 >patch1 && - cnt=$(grep "^From " patch1 | wc -l) && - test $cnt = 2 + grep "^From " patch1 >from1 && + test_line_count = 2 from1 ' test_expect_success "format-patch doesn't consider merge commits" ' - git checkout -b slave master && echo "Another line" >>file && test_tick && @@ -77,148 +91,138 @@ test_expect_success "format-patch doesn't consider merge commits" ' git checkout -b merger master && test_tick && git merge --no-ff slave && - cnt=$(git format-patch -3 --stdout | grep "^From " | wc -l) && - test $cnt = 3 + git format-patch -3 --stdout >patch && + grep "^From " patch >from && + test_line_count = 3 from ' -test_expect_success "format-patch result applies" ' - +test_expect_success 'format-patch result applies' ' git checkout -b rebuild-0 master && git am -3 patch0 && - cnt=$(git rev-list master.. | wc -l) && - test $cnt = 2 + git rev-list master.. >list && + test_line_count = 2 list ' -test_expect_success "format-patch --ignore-if-in-upstream result applies" ' - +test_expect_success 'format-patch --ignore-if-in-upstream result applies' ' git checkout -b rebuild-1 master && git am -3 patch1 && - cnt=$(git rev-list master.. | wc -l) && - test $cnt = 2 + git rev-list master.. >list && + test_line_count = 2 list ' test_expect_success 'commit did not screw up the log message' ' - - git cat-file commit side | grep "^Side .* with .* backslash-n" - + git cat-file commit side >actual && + grep "^Side .* with .* backslash-n" actual ' test_expect_success 'format-patch did not screw up the log message' ' - grep "^Subject: .*Side changes #3 with .* backslash-n" patch0 && grep "^Subject: .*Side changes #3 with .* backslash-n" patch1 - ' test_expect_success 'replay did not screw up the log message' ' - - git cat-file commit rebuild-1 | grep "^Side .* with .* backslash-n" - + git cat-file commit rebuild-1 >actual && + grep "^Side .* with .* backslash-n" actual ' test_expect_success 'extra headers' ' - git config format.headers "To: R E Cipient <rcipient@example.com> " && git config --add format.headers "Cc: S E Cipient <scipient@example.com> " && - git format-patch --stdout master..side > patch2 && - sed -e "/^\$/q" patch2 > hdrs2 && + git format-patch --stdout master..side >patch2 && + sed -e "/^\$/q" patch2 >hdrs2 && grep "^To: R E Cipient <rcipient@example.com>\$" hdrs2 && grep "^Cc: S E Cipient <scipient@example.com>\$" hdrs2 - ' test_expect_success 'extra headers without newlines' ' - git config --replace-all format.headers "To: R E Cipient <rcipient@example.com>" && git config --add format.headers "Cc: S E Cipient <scipient@example.com>" && git format-patch --stdout master..side >patch3 && - sed -e "/^\$/q" patch3 > hdrs3 && + sed -e "/^\$/q" patch3 >hdrs3 && grep "^To: R E Cipient <rcipient@example.com>\$" hdrs3 && grep "^Cc: S E Cipient <scipient@example.com>\$" hdrs3 - ' test_expect_success 'extra headers with multiple To:s' ' - git config --replace-all format.headers "To: R E Cipient <rcipient@example.com>" && git config --add format.headers "To: S E Cipient <scipient@example.com>" && - git format-patch --stdout master..side > patch4 && - sed -e "/^\$/q" patch4 > hdrs4 && + git format-patch --stdout master..side >patch4 && + sed -e "/^\$/q" patch4 >hdrs4 && grep "^To: R E Cipient <rcipient@example.com>,\$" hdrs4 && grep "^ *S E Cipient <scipient@example.com>\$" hdrs4 ' test_expect_success 'additional command line cc (ascii)' ' - git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" && - git format-patch --cc="S E Cipient <scipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch5 && - grep "^Cc: R E Cipient <rcipient@example.com>,\$" patch5 && - grep "^ *S E Cipient <scipient@example.com>\$" patch5 + git format-patch --cc="S E Cipient <scipient@example.com>" --stdout master..side >patch5 && + sed -e "/^\$/q" patch5 >hdrs5 && + grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs5 && + grep "^ *S E Cipient <scipient@example.com>\$" hdrs5 ' test_expect_failure 'additional command line cc (rfc822)' ' - git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" && - git format-patch --cc="S. E. Cipient <scipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch5 && - grep "^Cc: R E Cipient <rcipient@example.com>,\$" patch5 && - grep "^ *\"S. E. Cipient\" <scipient@example.com>\$" patch5 + git format-patch --cc="S. E. Cipient <scipient@example.com>" --stdout master..side >patch5 && + sed -e "/^\$/q" patch5 >hdrs5 && + grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs5 && + grep "^ *\"S. E. Cipient\" <scipient@example.com>\$" hdrs5 ' test_expect_success 'command line headers' ' - git config --unset-all format.headers && - git format-patch --add-header="Cc: R E Cipient <rcipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch6 && - grep "^Cc: R E Cipient <rcipient@example.com>\$" patch6 + git format-patch --add-header="Cc: R E Cipient <rcipient@example.com>" --stdout master..side >patch6 && + sed -e "/^\$/q" patch6 >hdrs6 && + grep "^Cc: R E Cipient <rcipient@example.com>\$" hdrs6 ' test_expect_success 'configuration headers and command line headers' ' - git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" && - git format-patch --add-header="Cc: S E Cipient <scipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch7 && - grep "^Cc: R E Cipient <rcipient@example.com>,\$" patch7 && - grep "^ *S E Cipient <scipient@example.com>\$" patch7 + git format-patch --add-header="Cc: S E Cipient <scipient@example.com>" --stdout master..side >patch7 && + sed -e "/^\$/q" patch7 >hdrs7 && + grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs7 && + grep "^ *S E Cipient <scipient@example.com>\$" hdrs7 ' test_expect_success 'command line To: header (ascii)' ' - git config --unset-all format.headers && - git format-patch --to="R E Cipient <rcipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch8 && - grep "^To: R E Cipient <rcipient@example.com>\$" patch8 + git format-patch --to="R E Cipient <rcipient@example.com>" --stdout master..side >patch8 && + sed -e "/^\$/q" patch8 >hdrs8 && + grep "^To: R E Cipient <rcipient@example.com>\$" hdrs8 ' test_expect_failure 'command line To: header (rfc822)' ' - - git format-patch --to="R. E. Cipient <rcipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch8 && - grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" patch8 + git format-patch --to="R. E. Cipient <rcipient@example.com>" --stdout master..side >patch8 && + sed -e "/^\$/q" patch8 >hdrs8 && + grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" hdrs8 ' test_expect_failure 'command line To: header (rfc2047)' ' - - git format-patch --to="R Ä Cipient <rcipient@example.com>" --stdout master..side | sed -e "/^\$/q" >patch8 && - grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" patch8 + git format-patch --to="R Ä Cipient <rcipient@example.com>" --stdout master..side >patch8 && + sed -e "/^\$/q" patch8 >hdrs8 && + grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" hdrs8 ' test_expect_success 'configuration To: header (ascii)' ' - git config format.to "R E Cipient <rcipient@example.com>" && - git format-patch --stdout master..side | sed -e "/^\$/q" >patch9 && - grep "^To: R E Cipient <rcipient@example.com>\$" patch9 + git format-patch --stdout master..side >patch9 && + sed -e "/^\$/q" patch9 >hdrs9 && + grep "^To: R E Cipient <rcipient@example.com>\$" hdrs9 ' test_expect_failure 'configuration To: header (rfc822)' ' - git config format.to "R. E. Cipient <rcipient@example.com>" && - git format-patch --stdout master..side | sed -e "/^\$/q" >patch9 && - grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" patch9 + git format-patch --stdout master..side >patch9 && + sed -e "/^\$/q" patch9 >hdrs9 && + grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" hdrs9 ' test_expect_failure 'configuration To: header (rfc2047)' ' - git config format.to "R Ä Cipient <rcipient@example.com>" && - git format-patch --stdout master..side | sed -e "/^\$/q" >patch9 && - grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" patch9 + git format-patch --stdout master..side >patch9 && + sed -e "/^\$/q" patch9 >hdrs9 && + grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" hdrs9 ' # check_patch <patch>: Verify that <patch> looks like a half-sane @@ -230,89 +234,79 @@ check_patch () { } test_expect_success 'format.from=false' ' - - git -c format.from=false format-patch --stdout master..side | - sed -e "/^\$/q" >patch && + git -c format.from=false format-patch --stdout master..side >patch && + sed -e "/^\$/q" patch >hdrs && check_patch patch && - ! grep "^From: C O Mitter <committer@example.com>\$" patch + ! grep "^From: C O Mitter <committer@example.com>\$" hdrs ' test_expect_success 'format.from=true' ' - - git -c format.from=true format-patch --stdout master..side | - sed -e "/^\$/q" >patch && - check_patch patch && - grep "^From: C O Mitter <committer@example.com>\$" patch + git -c format.from=true format-patch --stdout master..side >patch && + sed -e "/^\$/q" patch >hdrs && + check_patch hdrs && + grep "^From: C O Mitter <committer@example.com>\$" hdrs ' test_expect_success 'format.from with address' ' - - git -c format.from="F R Om <from@example.com>" format-patch --stdout master..side | - sed -e "/^\$/q" >patch && - check_patch patch && - grep "^From: F R Om <from@example.com>\$" patch + git -c format.from="F R Om <from@example.com>" format-patch --stdout master..side >patch && + sed -e "/^\$/q" patch >hdrs && + check_patch hdrs && + grep "^From: F R Om <from@example.com>\$" hdrs ' test_expect_success '--no-from overrides format.from' ' - - git -c format.from="F R Om <from@example.com>" format-patch --no-from --stdout master..side | - sed -e "/^\$/q" >patch && - check_patch patch && - ! grep "^From: F R Om <from@example.com>\$" patch + git -c format.from="F R Om <from@example.com>" format-patch --no-from --stdout master..side >patch && + sed -e "/^\$/q" patch >hdrs && + check_patch hdrs && + ! grep "^From: F R Om <from@example.com>\$" hdrs ' test_expect_success '--from overrides format.from' ' - - git -c format.from="F R Om <from@example.com>" format-patch --from --stdout master..side | - sed -e "/^\$/q" >patch && - check_patch patch && - ! grep "^From: F R Om <from@example.com>\$" patch + git -c format.from="F R Om <from@example.com>" format-patch --from --stdout master..side >patch && + sed -e "/^\$/q" patch >hdrs && + check_patch hdrs && + ! grep "^From: F R Om <from@example.com>\$" hdrs ' test_expect_success '--no-to overrides config.to' ' - git config --replace-all format.to \ "R E Cipient <rcipient@example.com>" && - git format-patch --no-to --stdout master..side | - sed -e "/^\$/q" >patch10 && - check_patch patch10 && - ! grep "^To: R E Cipient <rcipient@example.com>\$" patch10 + git format-patch --no-to --stdout master..side >patch10 && + sed -e "/^\$/q" patch10 >hdrs10 && + check_patch hdrs10 && + ! grep "^To: R E Cipient <rcipient@example.com>\$" hdrs10 ' test_expect_success '--no-to and --to replaces config.to' ' - git config --replace-all format.to \ "Someone <someone@out.there>" && git format-patch --no-to --to="Someone Else <else@out.there>" \ - --stdout master..side | - sed -e "/^\$/q" >patch11 && - check_patch patch11 && - ! grep "^To: Someone <someone@out.there>\$" patch11 && - grep "^To: Someone Else <else@out.there>\$" patch11 + --stdout master..side >patch11 && + sed -e "/^\$/q" patch11 >hdrs11 && + check_patch hdrs11 && + ! grep "^To: Someone <someone@out.there>\$" hdrs11 && + grep "^To: Someone Else <else@out.there>\$" hdrs11 ' test_expect_success '--no-cc overrides config.cc' ' - git config --replace-all format.cc \ "C E Cipient <rcipient@example.com>" && - git format-patch --no-cc --stdout master..side | - sed -e "/^\$/q" >patch12 && - check_patch patch12 && - ! grep "^Cc: C E Cipient <rcipient@example.com>\$" patch12 + git format-patch --no-cc --stdout master..side >patch12 && + sed -e "/^\$/q" patch12 >hdrs12 && + check_patch hdrs12 && + ! grep "^Cc: C E Cipient <rcipient@example.com>\$" hdrs12 ' test_expect_success '--no-add-header overrides config.headers' ' - git config --replace-all format.headers \ "Header1: B E Cipient <rcipient@example.com>" && - git format-patch --no-add-header --stdout master..side | - sed -e "/^\$/q" >patch13 && - check_patch patch13 && - ! grep "^Header1: B E Cipient <rcipient@example.com>\$" patch13 + git format-patch --no-add-header --stdout master..side >patch13 && + sed -e "/^\$/q" patch13 >hdrs13 && + check_patch hdrs13 && + ! grep "^Header1: B E Cipient <rcipient@example.com>\$" hdrs13 ' test_expect_success 'multiple files' ' - rm -rf patches/ && git checkout side && git format-patch -o patches/ master && @@ -338,7 +332,7 @@ test_expect_success 'reroll count (-v)' ' check_threading () { expect="$1" && shift && - (git format-patch --stdout "$@"; echo $? > status.out) | + git format-patch --stdout "$@" >patch && # Prints everything between the Message-ID and In-Reply-To, # and replaces all Message-ID-lookalikes by a sequence number perl -ne ' @@ -353,12 +347,11 @@ check_threading () { print; } print "---\n" if /^From /i; - ' > actual && - test 0 = "$(cat status.out)" && + ' <patch >actual && test_cmp "$expect" actual } -cat >> expect.no-threading <<EOF +cat >>expect.no-threading <<EOF --- --- --- @@ -369,7 +362,7 @@ test_expect_success 'no threading' ' check_threading expect.no-threading master ' -cat > expect.thread <<EOF +cat >expect.thread <<EOF --- Message-Id: <0> --- @@ -386,7 +379,7 @@ test_expect_success 'thread' ' check_threading expect.thread --thread master ' -cat > expect.in-reply-to <<EOF +cat >expect.in-reply-to <<EOF --- Message-Id: <0> In-Reply-To: <1> @@ -406,7 +399,7 @@ test_expect_success 'thread in-reply-to' ' --thread master ' -cat > expect.cover-letter <<EOF +cat >expect.cover-letter <<EOF --- Message-Id: <0> --- @@ -427,7 +420,7 @@ test_expect_success 'thread cover-letter' ' check_threading expect.cover-letter --cover-letter --thread master ' -cat > expect.cl-irt <<EOF +cat >expect.cl-irt <<EOF --- Message-Id: <0> In-Reply-To: <1> @@ -459,7 +452,7 @@ test_expect_success 'thread explicit shallow' ' --in-reply-to="<test.message>" --thread=shallow master ' -cat > expect.deep <<EOF +cat >expect.deep <<EOF --- Message-Id: <0> --- @@ -477,7 +470,7 @@ test_expect_success 'thread deep' ' check_threading expect.deep --thread=deep master ' -cat > expect.deep-irt <<EOF +cat >expect.deep-irt <<EOF --- Message-Id: <0> In-Reply-To: <1> @@ -500,7 +493,7 @@ test_expect_success 'thread deep in-reply-to' ' --in-reply-to="<test.message>" master ' -cat > expect.deep-cl <<EOF +cat >expect.deep-cl <<EOF --- Message-Id: <0> --- @@ -524,7 +517,7 @@ test_expect_success 'thread deep cover-letter' ' check_threading expect.deep-cl --cover-letter --thread=deep master ' -cat > expect.deep-cl-irt <<EOF +cat >expect.deep-cl-irt <<EOF --- Message-Id: <0> In-Reply-To: <1> @@ -575,7 +568,6 @@ test_expect_success 'thread config + --no-thread' ' ' test_expect_success 'excessive subject' ' - rm -rf patches/ && git checkout side && before=$(git hash-object file) && @@ -603,10 +595,9 @@ test_expect_success 'cover-letter inherits diff options' ' ! grep "file => foo .* 0 *\$" 0000-cover-letter.patch && git format-patch --cover-letter -1 -M && grep "file => foo .* 0 *\$" 0000-cover-letter.patch - ' -cat > expect << EOF +cat >expect <<EOF This is an excessively long subject line for a message due to the habit some projects have of not having a short, one-line subject at the start of the commit message, but rather sticking a whole @@ -617,14 +608,12 @@ cat > expect << EOF EOF test_expect_success 'shortlog of cover-letter wraps overly-long onelines' ' - git format-patch --cover-letter -2 && - sed -e "1,/A U Thor/d" -e "/^\$/q" < 0000-cover-letter.patch > output && + sed -e "1,/A U Thor/d" -e "/^\$/q" 0000-cover-letter.patch >output && test_cmp expect output - ' -cat > expect << EOF +cat >expect <<EOF index $before..$after 100644 --- a/file +++ b/file @@ -637,16 +626,14 @@ index $before..$after 100644 EOF test_expect_success 'format-patch respects -U' ' - git format-patch -U4 -2 && sed -e "1,/^diff/d" -e "/^+5/q" \ <0001-This-is-an-excessively-long-subject-line-for-a-messa.patch \ >output && test_cmp expect output - ' -cat > expect << EOF +cat >expect <<EOF diff --git a/file b/file index $before..$after 100644 @@ -660,11 +647,9 @@ index $before..$after 100644 EOF test_expect_success 'format-patch -p suppresses stat' ' - git format-patch -p -2 && - sed -e "1,/^\$/d" -e "/^+5/q" < 0001-This-is-an-excessively-long-subject-line-for-a-messa.patch > output && + sed -e "1,/^\$/d" -e "/^+5/q" 0001-This-is-an-excessively-long-subject-line-for-a-messa.patch >output && test_cmp expect output - ' test_expect_success 'format-patch from a subdirectory (1)' ' @@ -717,7 +702,7 @@ test_expect_success 'format-patch from a subdirectory (3)' ' ' test_expect_success 'format-patch --in-reply-to' ' - git format-patch -1 --stdout --in-reply-to "baz@foo.bar" > patch8 && + git format-patch -1 --stdout --in-reply-to "baz@foo.bar" >patch8 && grep "^In-Reply-To: <baz@foo.bar>" patch8 && grep "^References: <baz@foo.bar>" patch8 ' @@ -738,21 +723,94 @@ test_expect_success 'format-patch --notes --signoff' ' sed "1,/^---$/d" out | grep "test message" ' -echo "fatal: --name-only does not make sense" > expect.name-only -echo "fatal: --name-status does not make sense" > expect.name-status -echo "fatal: --check does not make sense" > expect.check +test_expect_success 'format-patch notes output control' ' + git notes add -m "notes config message" HEAD && + test_when_finished git notes remove HEAD && + + git format-patch -1 --stdout >out && + ! grep "notes config message" out && + git format-patch -1 --stdout --notes >out && + grep "notes config message" out && + git format-patch -1 --stdout --no-notes >out && + ! grep "notes config message" out && + git format-patch -1 --stdout --notes --no-notes >out && + ! grep "notes config message" out && + git format-patch -1 --stdout --no-notes --notes >out && + grep "notes config message" out && + + test_config format.notes true && + git format-patch -1 --stdout >out && + grep "notes config message" out && + git format-patch -1 --stdout --notes >out && + grep "notes config message" out && + git format-patch -1 --stdout --no-notes >out && + ! grep "notes config message" out && + git format-patch -1 --stdout --notes --no-notes >out && + ! grep "notes config message" out && + git format-patch -1 --stdout --no-notes --notes >out && + grep "notes config message" out +' + +test_expect_success 'format-patch with multiple notes refs' ' + git notes --ref note1 add -m "this is note 1" HEAD && + test_when_finished git notes --ref note1 remove HEAD && + git notes --ref note2 add -m "this is note 2" HEAD && + test_when_finished git notes --ref note2 remove HEAD && + + git format-patch -1 --stdout >out && + ! grep "this is note 1" out && + ! grep "this is note 2" out && + git format-patch -1 --stdout --notes=note1 >out && + grep "this is note 1" out && + ! grep "this is note 2" out && + git format-patch -1 --stdout --notes=note2 >out && + ! grep "this is note 1" out && + grep "this is note 2" out && + git format-patch -1 --stdout --notes=note1 --notes=note2 >out && + grep "this is note 1" out && + grep "this is note 2" out && + + test_config format.notes note1 && + git format-patch -1 --stdout >out && + grep "this is note 1" out && + ! grep "this is note 2" out && + git format-patch -1 --stdout --no-notes >out && + ! grep "this is note 1" out && + ! grep "this is note 2" out && + git format-patch -1 --stdout --notes=note2 >out && + grep "this is note 1" out && + grep "this is note 2" out && + git format-patch -1 --stdout --no-notes --notes=note2 >out && + ! grep "this is note 1" out && + grep "this is note 2" out && + + git config --add format.notes note2 && + git format-patch -1 --stdout >out && + grep "this is note 1" out && + grep "this is note 2" out && + git format-patch -1 --stdout --no-notes >out && + ! grep "this is note 1" out && + ! grep "this is note 2" out +' + +echo "fatal: --name-only does not make sense" >expect.name-only +echo "fatal: --name-status does not make sense" >expect.name-status +echo "fatal: --check does not make sense" >expect.check test_expect_success 'options no longer allowed for format-patch' ' - test_must_fail git format-patch --name-only 2> output && + test_must_fail git format-patch --name-only 2>output && test_i18ncmp expect.name-only output && - test_must_fail git format-patch --name-status 2> output && + test_must_fail git format-patch --name-status 2>output && test_i18ncmp expect.name-status output && - test_must_fail git format-patch --check 2> output && - test_i18ncmp expect.check output' + test_must_fail git format-patch --check 2>output && + test_i18ncmp expect.check output +' test_expect_success 'format-patch --numstat should produce a patch' ' - git format-patch --numstat --stdout master..side > output && - test 5 = $(grep "^diff --git a/" output | wc -l)' + git format-patch --numstat --stdout master..side >output && + grep "^diff --git a/" output >diff && + test_line_count = 5 diff +' test_expect_success 'format-patch -- <path>' ' git format-patch master..side -- file 2>error && @@ -763,20 +821,25 @@ test_expect_success 'format-patch --ignore-if-in-upstream HEAD' ' git format-patch --ignore-if-in-upstream HEAD ' -git_version="$(git --version | sed "s/.* //")" +test_expect_success 'get git version' ' + git_version=$(git --version) && + git_version=${git_version##* } +' signature() { printf "%s\n%s\n\n" "-- " "${1:-$git_version}" } test_expect_success 'format-patch default signature' ' - git format-patch --stdout -1 | tail -n 3 >output && + git format-patch --stdout -1 >patch && + tail -n 3 patch >output && signature >expect && test_cmp expect output ' test_expect_success 'format-patch --signature' ' - git format-patch --stdout --signature="my sig" -1 | tail -n 3 >output && + git format-patch --stdout --signature="my sig" -1 >patch && + tail -n 3 patch >output && signature "my sig" >expect && test_cmp expect output ' @@ -808,8 +871,8 @@ test_expect_success 'format-patch --signature --cover-letter' ' git config --unset-all format.signature && git format-patch --stdout --signature="my sig" --cover-letter \ -1 >output && - grep "my sig" output && - test 2 = $(grep "my sig" output | wc -l) + grep "my sig" output >sig && + test_line_count = 2 sig ' test_expect_success 'format.signature="" suppresses signatures' ' @@ -846,7 +909,7 @@ test_expect_success 'prepare mail-signature input' ' test_expect_success '--signature-file=file works' ' git format-patch --stdout --signature-file=mail-signature -1 >output && check_patch output && - sed -e "1,/^-- \$/d" <output >actual && + sed -e "1,/^-- \$/d" output >actual && { cat mail-signature && echo } >expect && @@ -857,7 +920,7 @@ test_expect_success 'format.signaturefile works' ' test_config format.signaturefile mail-signature && git format-patch --stdout -1 >output && check_patch output && - sed -e "1,/^-- \$/d" <output >actual && + sed -e "1,/^-- \$/d" output >actual && { cat mail-signature && echo } >expect && @@ -879,7 +942,7 @@ test_expect_success '--signature-file overrides format.signaturefile' ' git format-patch --stdout \ --signature-file=other-mail-signature -1 >output && check_patch output && - sed -e "1,/^-- \$/d" <output >actual && + sed -e "1,/^-- \$/d" output >actual && { cat other-mail-signature && echo } >expect && @@ -948,7 +1011,7 @@ test_expect_success 'format-patch wraps extremely long subject (ascii)' ' git add file && git commit -m "$M512" && git format-patch --stdout -1 >patch && - sed -n "/^Subject/p; /^ /p; /^$/q" <patch >subject && + sed -n "/^Subject/p; /^ /p; /^$/q" patch >subject && test_cmp expect subject ' @@ -987,7 +1050,7 @@ test_expect_success 'format-patch wraps extremely long subject (rfc2047)' ' git add file && git commit -m "$M512" && git format-patch --stdout -1 >patch && - sed -n "/^Subject/p; /^ /p; /^$/q" <patch >subject && + sed -n "/^Subject/p; /^ /p; /^$/q" patch >subject && test_cmp expect subject ' @@ -996,7 +1059,7 @@ check_author() { git add file && GIT_AUTHOR_NAME=$1 git commit -m author-check && git format-patch --stdout -1 >patch && - sed -n "/^From: /p; /^ /p; /^$/q" <patch >actual && + sed -n "/^From: /p; /^ /p; /^$/q" patch >actual && test_cmp expect actual } @@ -1116,7 +1179,7 @@ test_expect_success '--from=ident replaces author' ' From: A U Thor <author@example.com> EOF - sed -ne "/^From:/p; /^$/p; /^---$/q" <patch >patch.head && + sed -ne "/^From:/p; /^$/p; /^---$/q" patch >patch.head && test_cmp expect patch.head ' @@ -1128,7 +1191,7 @@ test_expect_success '--from uses committer ident' ' From: A U Thor <author@example.com> EOF - sed -ne "/^From:/p; /^$/p; /^---$/q" <patch >patch.head && + sed -ne "/^From:/p; /^$/p; /^---$/q" patch >patch.head && test_cmp expect patch.head ' @@ -1138,7 +1201,7 @@ test_expect_success '--from omits redundant in-body header' ' From: A U Thor <author@example.com> EOF - sed -ne "/^From:/p; /^$/p; /^---$/q" <patch >patch.head && + sed -ne "/^From:/p; /^$/p; /^---$/q" patch >patch.head && test_cmp expect patch.head ' @@ -1153,7 +1216,7 @@ test_expect_success 'in-body headers trigger content encoding' ' From: éxötìc <author@example.com> EOF - sed -ne "/^From:/p; /^$/p; /^Content-Type/p; /^---$/q" <patch >patch.head && + sed -ne "/^From:/p; /^$/p; /^Content-Type/p; /^---$/q" patch >patch.head && test_cmp expect patch.head ' @@ -1167,283 +1230,283 @@ append_signoff() test_expect_success 'signoff: commit with no body' ' append_signoff </dev/null >actual && - cat <<\EOF | sed "s/EOL$//" >expected && -4:Subject: [PATCH] EOL -8: -9:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + cat <<-\EOF | sed "s/EOL$//" >expect && + 4:Subject: [PATCH] EOL + 8: + 9:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: commit with only subject' ' echo subject | append_signoff >actual && - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -9:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 9:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: commit with only subject that does not end with NL' ' printf subject | append_signoff >actual && - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -9:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 9:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: no existing signoffs' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + body + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: no existing signoffs and no trailing NL' ' printf "subject\n\nbody" | append_signoff >actual && - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: some random signoff' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Signed-off-by: my@house -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: my@house -12:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Signed-off-by: my@house + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: my@house + 12:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: misc conforming footer elements' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Signed-off-by: my@house -(cherry picked from commit da39a3ee5e6b4b0d3255bfef95601890afd80709) -Tested-by: Some One <someone@example.com> -Bug: 1234 -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: my@house -15:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Signed-off-by: my@house + (cherry picked from commit da39a3ee5e6b4b0d3255bfef95601890afd80709) + Tested-by: Some One <someone@example.com> + Bug: 1234 + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: my@house + 15:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: some random signoff-alike' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body -Fooled-by-me: my@house -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -11: -12:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + body + Fooled-by-me: my@house + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 11: + 12:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: not really a signoff' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -I want to mention about Signed-off-by: here. -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -9:I want to mention about Signed-off-by: here. -10: -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + I want to mention about Signed-off-by: here. + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 9:I want to mention about Signed-off-by: here. + 10: + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: not really a signoff (2)' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -My unfortunate -Signed-off-by: example happens to be wrapped here. -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10:Signed-off-by: example happens to be wrapped here. -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + My unfortunate + Signed-off-by: example happens to be wrapped here. + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10:Signed-off-by: example happens to be wrapped here. + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: valid S-o-b paragraph in the middle' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -Signed-off-by: my@house -Signed-off-by: your@house + Signed-off-by: my@house + Signed-off-by: your@house -A lot of houses. -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -9:Signed-off-by: my@house -10:Signed-off-by: your@house -11: -13: -14:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + A lot of houses. + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 9:Signed-off-by: my@house + 10:Signed-off-by: your@house + 11: + 13: + 14:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: the same signoff at the end' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Signed-off-by: C O Mitter <committer@example.com> -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Signed-off-by: C O Mitter <committer@example.com> + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: the same signoff at the end, no trailing NL' ' printf "subject\n\nSigned-off-by: C O Mitter <committer@example.com>" | append_signoff >actual && - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -9:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 9:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: the same signoff NOT at the end' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Signed-off-by: C O Mitter <committer@example.com> -Signed-off-by: my@house -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -11:Signed-off-by: C O Mitter <committer@example.com> -12:Signed-off-by: my@house -EOF - test_cmp expected actual + Signed-off-by: C O Mitter <committer@example.com> + Signed-off-by: my@house + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 11:Signed-off-by: C O Mitter <committer@example.com> + 12:Signed-off-by: my@house + EOF + test_cmp expect actual ' test_expect_success 'signoff: tolerate garbage in conforming footer' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Tested-by: my@house -Some Trash -Signed-off-by: C O Mitter <committer@example.com> -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -13:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Tested-by: my@house + Some Trash + Signed-off-by: C O Mitter <committer@example.com> + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 13:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: respect trailer config' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -Myfooter: x -Some Trash -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -11: -12:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual && + Myfooter: x + Some Trash + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 11: + 12:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual && test_config trailer.Myfooter.ifexists add && - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -Myfooter: x -Some Trash -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -11:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Myfooter: x + Some Trash + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 11:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'signoff: footer begins with non-signoff without @ sign' ' - append_signoff <<\EOF >actual && -subject + append_signoff <<-\EOF >actual && + subject -body + body -Reviewed-id: Noone -Tested-by: my@house -Change-id: Ideadbeef -Signed-off-by: C O Mitter <committer@example.com> -Bug: 1234 -EOF - cat >expected <<\EOF && -4:Subject: [PATCH] subject -8: -10: -14:Signed-off-by: C O Mitter <committer@example.com> -EOF - test_cmp expected actual + Reviewed-id: Noone + Tested-by: my@house + Change-id: Ideadbeef + Signed-off-by: C O Mitter <committer@example.com> + Bug: 1234 + EOF + cat >expect <<-\EOF && + 4:Subject: [PATCH] subject + 8: + 10: + 14:Signed-off-by: C O Mitter <committer@example.com> + EOF + test_cmp expect actual ' test_expect_success 'format patch ignores color.ui' ' @@ -1458,42 +1521,42 @@ test_expect_success 'cover letter using branch description (1)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter master >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter using branch description (2)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter rebuild-1~2..rebuild-1 >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter using branch description (3)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter ^master rebuild-1 >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter using branch description (4)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter master.. >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter using branch description (5)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter -2 HEAD >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter using branch description (6)' ' git checkout rebuild-1 && test_config branch.rebuild-1.description hello && git format-patch --stdout --cover-letter -2 >actual && - grep hello actual >/dev/null + grep hello actual ' test_expect_success 'cover letter with nothing' ' @@ -1547,7 +1610,8 @@ test_expect_success 'format-patch format.outputDirectory option' ' test_config format.outputDirectory patches && rm -fr patches && git format-patch master..side && - test $(git rev-list master..side | wc -l) -eq $(ls patches | wc -l) + git rev-list master..side >list && + test_line_count = $(ls patches | wc -l) list ' test_expect_success 'format-patch -o overrides format.outputDirectory' ' @@ -1559,16 +1623,44 @@ test_expect_success 'format-patch -o overrides format.outputDirectory' ' ' test_expect_success 'format-patch --base' ' - git checkout side && - git format-patch --stdout --base=HEAD~3 -1 | tail -n 7 >actual1 && - git format-patch --stdout --base=HEAD~3 HEAD~.. | tail -n 7 >actual2 && - echo >expected && - echo "base-commit: $(git rev-parse HEAD~3)" >>expected && - echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --stable | awk "{print \$1}")" >>expected && - echo "prerequisite-patch-id: $(git show --patch HEAD~1 | git patch-id --stable | awk "{print \$1}")" >>expected && - signature >> expected && - test_cmp expected actual1 && - test_cmp expected actual2 + git checkout patchid && + + git format-patch --stdout --base=HEAD~3 -1 >patch && + tail -n 7 patch >actual1 && + + git format-patch --stdout --base=HEAD~3 HEAD~.. >patch && + tail -n 7 patch >actual2 && + + echo >expect && + git rev-parse HEAD~3 >commit-id-base && + echo "base-commit: $(cat commit-id-base)" >>expect && + + git show --patch HEAD~2 >patch && + git patch-id --stable <patch >patch.id.raw && + awk "{print \"prerequisite-patch-id:\", \$1}" <patch.id.raw >>expect && + + git show --patch HEAD~1 >patch && + git patch-id --stable <patch >patch.id.raw && + awk "{print \"prerequisite-patch-id:\", \$1}" <patch.id.raw >>expect && + + signature >>expect && + test_cmp expect actual1 && + test_cmp expect actual2 && + + echo >fail && + echo "base-commit: $(cat commit-id-base)" >>fail && + + git show --patch HEAD~2 >patch && + git patch-id --unstable <patch >patch.id.raw && + awk "{print \"prerequisite-patch-id:\", \$1}" <patch.id.raw >>fail && + + git show --patch HEAD~1 >patch && + git patch-id --unstable <patch >patch.id.raw && + awk "{print \"prerequisite-patch-id:\", \$1}" <patch.id.raw >>fail && + + signature >>fail && + ! test_cmp fail actual1 && + ! test_cmp fail actual2 ' test_expect_success 'format-patch --base errors out when base commit is in revision list' ' @@ -1576,8 +1668,9 @@ test_expect_success 'format-patch --base errors out when base commit is in revis test_must_fail git format-patch --base=HEAD~1 -2 && git format-patch --stdout --base=HEAD~2 -2 >patch && grep "^base-commit:" patch >actual && - echo "base-commit: $(git rev-parse HEAD~2)" >expected && - test_cmp expected actual + git rev-parse HEAD~2 >commit-id-base && + echo "base-commit: $(cat commit-id-base)" >expect && + test_cmp expect actual ' test_expect_success 'format-patch --base errors out when base commit is not ancestor of revision list' ' @@ -1603,8 +1696,8 @@ test_expect_success 'format-patch --base errors out when base commit is not ance test_must_fail git format-patch --base=$(cat commit-id-Z) -3 && git format-patch --stdout --base=$(cat commit-id-base) -3 >patch && grep "^base-commit:" patch >actual && - echo "base-commit: $(cat commit-id-base)" >expected && - test_cmp expected actual + echo "base-commit: $(cat commit-id-base)" >expect && + test_cmp expect actual ' test_expect_success 'format-patch --base=auto' ' @@ -1615,8 +1708,9 @@ test_expect_success 'format-patch --base=auto' ' test_commit N2 && git format-patch --stdout --base=auto -2 >patch && grep "^base-commit:" patch >actual && - echo "base-commit: $(git rev-parse upstream)" >expected && - test_cmp expected actual + git rev-parse upstream >commit-id-base && + echo "base-commit: $(cat commit-id-base)" >expect && + test_cmp expect actual ' test_expect_success 'format-patch errors out when history involves criss-cross' ' @@ -1652,8 +1746,9 @@ test_expect_success 'format-patch format.useAutoBaseoption' ' git config format.useAutoBase true && git format-patch --stdout -1 >patch && grep "^base-commit:" patch >actual && - echo "base-commit: $(git rev-parse upstream)" >expected && - test_cmp expected actual + git rev-parse upstream >commit-id-base && + echo "base-commit: $(cat commit-id-base)" >expect && + test_cmp expect actual ' test_expect_success 'format-patch --base overrides format.useAutoBase' ' @@ -1661,8 +1756,9 @@ test_expect_success 'format-patch --base overrides format.useAutoBase' ' git config format.useAutoBase true && git format-patch --stdout --base=HEAD~1 -1 >patch && grep "^base-commit:" patch >actual && - echo "base-commit: $(git rev-parse HEAD~1)" >expected && - test_cmp expected actual + git rev-parse HEAD~1 >commit-id-base && + echo "base-commit: $(cat commit-id-base)" >expect && + test_cmp expect actual ' test_expect_success 'format-patch --base with --attach' ' @@ -1737,7 +1833,7 @@ test_expect_success 'interdiff: cover-letter' ' git format-patch --cover-letter --interdiff=boop~2 -1 boop && test_i18ngrep "^Interdiff:$" 0000-cover-letter.patch && test_i18ngrep ! "^Interdiff:$" 0001-fleep.patch && - sed "1,/^@@ /d; /^-- $/q" <0000-cover-letter.patch >actual && + sed "1,/^@@ /d; /^-- $/q" 0000-cover-letter.patch >actual && test_cmp expect actual ' @@ -1753,7 +1849,7 @@ test_expect_success 'interdiff: solo-patch' ' EOF git format-patch --interdiff=boop~2 -1 boop && test_i18ngrep "^Interdiff:$" 0001-fleep.patch && - sed "1,/^ @@ /d; /^$/q" <0001-fleep.patch >actual && + sed "1,/^ @@ /d; /^$/q" 0001-fleep.patch >actual && test_cmp expect actual ' diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh index 22f9f88f0a..6f5ef0035e 100755 --- a/t/t4018-diff-funcname.sh +++ b/t/t4018-diff-funcname.sh @@ -31,6 +31,7 @@ diffpatterns=" cpp csharp css + dts fortran fountain golang @@ -43,6 +44,7 @@ diffpatterns=" php python ruby + rust tex custom1 custom2 diff --git a/t/t4018/dts-labels b/t/t4018/dts-labels new file mode 100644 index 0000000000..b21ef8737b --- /dev/null +++ b/t/t4018/dts-labels @@ -0,0 +1,9 @@ +/ { + label_1: node1@ff00 { + label2: RIGHT { + vendor,some-property; + + ChangeMe = <0x45-30>; + }; + }; +}; diff --git a/t/t4018/dts-node-unitless b/t/t4018/dts-node-unitless new file mode 100644 index 0000000000..c5287d9141 --- /dev/null +++ b/t/t4018/dts-node-unitless @@ -0,0 +1,8 @@ +/ { + label_1: node1 { + RIGHT { + prop-array = <1>, <4>; + ChangeMe = <0xffeedd00>; + }; + }; +}; diff --git a/t/t4018/dts-nodes b/t/t4018/dts-nodes new file mode 100644 index 0000000000..5a4334bb16 --- /dev/null +++ b/t/t4018/dts-nodes @@ -0,0 +1,8 @@ +/ { + label_1: node1@ff00 { + RIGHT@deadf00,4000 { + #size-cells = <1>; + ChangeMe = <0xffeedd00>; + }; + }; +}; diff --git a/t/t4018/dts-nodes-comment1 b/t/t4018/dts-nodes-comment1 new file mode 100644 index 0000000000..559dfce9b3 --- /dev/null +++ b/t/t4018/dts-nodes-comment1 @@ -0,0 +1,8 @@ +/ { + label_1: node1@ff00 { + RIGHT@deadf00,4000 /* &a comment */ { + #size-cells = <1>; + ChangeMe = <0xffeedd00>; + }; + }; +}; diff --git a/t/t4018/dts-nodes-comment2 b/t/t4018/dts-nodes-comment2 new file mode 100644 index 0000000000..27e9718b31 --- /dev/null +++ b/t/t4018/dts-nodes-comment2 @@ -0,0 +1,8 @@ +/ { + label_1: node1@ff00 { + RIGHT@deadf00,4000 { /* a trailing comment */ + #size-cells = <1>; + ChangeMe = <0xffeedd00>; + }; + }; +}; diff --git a/t/t4018/dts-reference b/t/t4018/dts-reference new file mode 100644 index 0000000000..8f0c87d863 --- /dev/null +++ b/t/t4018/dts-reference @@ -0,0 +1,9 @@ +&label_1 { + TEST = <455>; +}; + +&RIGHT { + vendor,some-property; + + ChangeMe = <0x45-30>; +}; diff --git a/t/t4018/dts-root b/t/t4018/dts-root new file mode 100644 index 0000000000..2ef9e6ffaa --- /dev/null +++ b/t/t4018/dts-root @@ -0,0 +1,5 @@ +/RIGHT { /* Technically just supposed to be a slash */ + #size-cells = <1>; + + ChangeMe = <0xffeedd00>; +}; diff --git a/t/t4018/matlab-class-definition b/t/t4018/matlab-class-definition new file mode 100644 index 0000000000..84daedfb4e --- /dev/null +++ b/t/t4018/matlab-class-definition @@ -0,0 +1,5 @@ +classdef RIGHT + properties + ChangeMe + end +end diff --git a/t/t4018/matlab-function b/t/t4018/matlab-function new file mode 100644 index 0000000000..897a9b13ff --- /dev/null +++ b/t/t4018/matlab-function @@ -0,0 +1,4 @@ +function y = RIGHT() +x = 5; +y = ChangeMe + x; +end diff --git a/t/t4018/matlab-octave-section-1 b/t/t4018/matlab-octave-section-1 new file mode 100644 index 0000000000..3bb6c4670e --- /dev/null +++ b/t/t4018/matlab-octave-section-1 @@ -0,0 +1,3 @@ +%%% RIGHT section +# this is octave script +ChangeMe = 1; diff --git a/t/t4018/matlab-octave-section-2 b/t/t4018/matlab-octave-section-2 new file mode 100644 index 0000000000..ab2980f7f2 --- /dev/null +++ b/t/t4018/matlab-octave-section-2 @@ -0,0 +1,3 @@ +## RIGHT section +# this is octave script +ChangeMe = 1; diff --git a/t/t4018/matlab-section b/t/t4018/matlab-section new file mode 100644 index 0000000000..5ea59a5de0 --- /dev/null +++ b/t/t4018/matlab-section @@ -0,0 +1,3 @@ +%% RIGHT section +% this is understood by both matlab and octave +ChangeMe = 1; diff --git a/t/t4018/rust-fn b/t/t4018/rust-fn new file mode 100644 index 0000000000..cbe02155f1 --- /dev/null +++ b/t/t4018/rust-fn @@ -0,0 +1,5 @@ +pub(self) fn RIGHT<T>(x: &[T]) where T: Debug { + let _ = x; + // a comment + let a = ChangeMe; +} diff --git a/t/t4018/rust-impl b/t/t4018/rust-impl new file mode 100644 index 0000000000..09df3cd93b --- /dev/null +++ b/t/t4018/rust-impl @@ -0,0 +1,5 @@ +impl<'a, T: AsRef<[u8]>> std::RIGHT for Git<'a> { + + pub fn ChangeMe(&self) -> () { + } +} diff --git a/t/t4018/rust-struct b/t/t4018/rust-struct new file mode 100644 index 0000000000..76aff1c0d8 --- /dev/null +++ b/t/t4018/rust-struct @@ -0,0 +1,5 @@ +#[derive(Debug)] +pub(super) struct RIGHT<'a> { + name: &'a str, + age: ChangeMe, +} diff --git a/t/t4018/rust-trait b/t/t4018/rust-trait new file mode 100644 index 0000000000..ea397f09ed --- /dev/null +++ b/t/t4018/rust-trait @@ -0,0 +1,5 @@ +unsafe trait RIGHT<T> { + fn len(&self) -> u32; + fn ChangeMe(&self, n: u32) -> T; + fn iter<F>(&self, f: F) where F: Fn(T); +} diff --git a/t/t4034-diff-words.sh b/t/t4034-diff-words.sh index 912df91226..9a93c2a3e0 100755 --- a/t/t4034-diff-words.sh +++ b/t/t4034-diff-words.sh @@ -303,6 +303,7 @@ test_language_driver bibtex test_language_driver cpp test_language_driver csharp test_language_driver css +test_language_driver dts test_language_driver fortran test_language_driver html test_language_driver java diff --git a/t/t4034/dts/expect b/t/t4034/dts/expect new file mode 100644 index 0000000000..560fc99184 --- /dev/null +++ b/t/t4034/dts/expect @@ -0,0 +1,37 @@ +<BOLD>diff --git a/pre b/post<RESET> +<BOLD>index b6a9051..7803aee 100644<RESET> +<BOLD>--- a/pre<RESET> +<BOLD>+++ b/post<RESET> +<CYAN>@@ -1,32 +1,32 @@<RESET> +/ {<RESET> + <RED>this_handle<RESET><GREEN>HANDLE_2<RESET>: <RED>node<RESET><GREEN>new-node<RESET>@<RED>f00<RESET><GREEN>eeda<RESET> { + compatible = "<RED>mydev<RESET><GREEN>vendor,compat<RESET>"; + string-prop = <RED>start<RESET><GREEN>end<RESET>: "hello <RED>world!<RESET><GREEN>world?<RESET>" <RED>end<RESET><GREEN>start<RESET>: ; + <RED>#size-cells<RESET><GREEN>#address-cells<RESET> = <<RED>0+0<RESET><GREEN>0+40<RESET>>; + reg = <<RED>0xf00<RESET><GREEN>0xeeda<RESET>>; + prop = <<GREEN>(<RESET>1<GREEN>)<RESET>>; + prop = <<GREEN>(<RESET>-1e10<GREEN>)<RESET>>; + prop = <(!<RED>3<RESET><GREEN>1<RESET>)>; + prop = <(~<RED>3<RESET><GREEN>1<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>*<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>&<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>*<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>/<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>%<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3+4<RESET><GREEN>1+2<RESET>)>; + prop = <(<RED>3-4<RESET><GREEN>1-2<RESET>)>; + prop = /bits/ <RED>64<RESET><GREEN>32<RESET> <(<RED>3<RESET><GREEN>1<RESET><<<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>>><RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>&<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>^<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>|<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>&&<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>3<RESET><GREEN>1<RESET>||<RED>4<RESET><GREEN>2<RESET>)>; + prop = <(<RED>4?5<RESET><GREEN>1?2<RESET>:3)>; + list = <&<RED>this_handle<RESET><GREEN>HANDLE_2<RESET>>, <0 0 0 <RED>0<RESET><GREEN>1<RESET>>; + };<RESET> + + &<RED>phandle<RESET><GREEN>phandle2<RESET> { + <RED>pre-phandle<RESET><GREEN>prop_handle<RESET> = <&<RED>this_handle<RESET><GREEN>HANDLE_2<RESET>>; + };<RESET> +};<RESET> diff --git a/t/t4034/dts/post b/t/t4034/dts/post new file mode 100644 index 0000000000..7803aee280 --- /dev/null +++ b/t/t4034/dts/post @@ -0,0 +1,32 @@ +/ { + HANDLE_2: new-node@eeda { + compatible = "vendor,compat"; + string-prop = end: "hello world?" start: ; + #address-cells = <0+40>; + reg = <0xeeda>; + prop = <(1)>; + prop = <(-1e10)>; + prop = <(!1)>; + prop = <(~1)>; + prop = <(1*2)>; + prop = <(1&2)>; + prop = <(1*2)>; + prop = <(1/2)>; + prop = <(1%2)>; + prop = <(1+2)>; + prop = <(1-2)>; + prop = /bits/ 32 <(1<<2)>; + prop = <(1>>2)>; + prop = <(1&2)>; + prop = <(1^2)>; + prop = <(1|2)>; + prop = <(1&&2)>; + prop = <(1||2)>; + prop = <(1?2:3)>; + list = <&HANDLE_2>, <0 0 0 1>; + }; + + &phandle2 { + prop_handle = <&HANDLE_2>; + }; +}; diff --git a/t/t4034/dts/pre b/t/t4034/dts/pre new file mode 100644 index 0000000000..b6a905113c --- /dev/null +++ b/t/t4034/dts/pre @@ -0,0 +1,32 @@ +/ { + this_handle: node@f00 { + compatible = "mydev"; + string-prop = start: "hello world!" end: ; + #size-cells = <0+0>; + reg = <0xf00>; + prop = <1>; + prop = <-1e10>; + prop = <(!3)>; + prop = <(~3)>; + prop = <(3*4)>; + prop = <(3&4)>; + prop = <(3*4)>; + prop = <(3/4)>; + prop = <(3%4)>; + prop = <(3+4)>; + prop = <(3-4)>; + prop = /bits/ 64 <(3<<4)>; + prop = <(3>>4)>; + prop = <(3&4)>; + prop = <(3^4)>; + prop = <(3|4)>; + prop = <(3&&4)>; + prop = <(3||4)>; + prop = <(4?5:3)>; + list = <&this_handle>, <0 0 0 0>; + }; + + &phandle { + pre-phandle = <&this_handle>; + }; +}; diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh index 90c8fb2901..4831ad35e6 100755 --- a/t/t4067-diff-partial-clone.sh +++ b/t/t4067-diff-partial-clone.sh @@ -75,6 +75,37 @@ test_expect_success 'diff skips same-OID blobs' ' ! grep "want $(cat hash-b)" trace ' +test_expect_success 'when fetching missing objects, diff skips GITLINKs' ' + test_when_finished "rm -rf sub server client trace" && + + test_create_repo sub && + test_commit -C sub first && + + test_create_repo server && + echo a >server/a && + git -C server add a && + git -C server submodule add "file://$(pwd)/sub" && + git -C server commit -m x && + + test_commit -C server/sub second && + echo another-a >server/a && + git -C server add a sub && + git -C server commit -m x && + + test_config -C server uploadpack.allowfilter 1 && + test_config -C server uploadpack.allowanysha1inwant 1 && + git clone --bare --filter=blob:limit=0 "file://$(pwd)/server" client && + + echo a | git hash-object --stdin >hash-old-a && + echo another-a | git hash-object --stdin >hash-new-a && + + # Ensure that a and another-a are fetched, and check (by successful + # execution of the diff) that no invalid OIDs are sent. + GIT_TRACE_PACKET="$(pwd)/trace" git -C client diff HEAD^ HEAD && + grep "want $(cat hash-old-a)" trace && + grep "want $(cat hash-new-a)" trace +' + test_expect_success 'diff with rename detection batches blobs' ' test_when_finished "rm -rf server client trace" && diff --git a/t/t4150-am.sh b/t/t4150-am.sh index 3f7f750cc8..4f1e24ecbe 100755 --- a/t/t4150-am.sh +++ b/t/t4150-am.sh @@ -1061,4 +1061,56 @@ test_expect_success 'am --quit keeps HEAD where it is' ' test_cmp expected actual ' +test_expect_success 'am and .gitattibutes' ' + test_create_repo attributes && + ( + cd attributes && + test_commit init && + git config filter.test.clean "sed -e '\''s/smudged/clean/g'\''" && + git config filter.test.smudge "sed -e '\''s/clean/smudged/g'\''" && + + test_commit second && + git checkout -b test HEAD^ && + + echo "*.txt filter=test conflict-marker-size=10" >.gitattributes && + git add .gitattributes && + test_commit third && + + echo "This text is smudged." >a.txt && + git add a.txt && + test_commit fourth && + + git checkout -b removal HEAD^ && + git rm .gitattributes && + git add -u && + test_commit fifth && + git cherry-pick test && + + git checkout -b conflict third && + echo "This text is different." >a.txt && + git add a.txt && + test_commit sixth && + + git checkout test && + git format-patch --stdout master..HEAD >patches && + git reset --hard master && + git am patches && + grep "smudged" a.txt && + + git checkout removal && + git reset --hard && + git format-patch --stdout master..HEAD >patches && + git reset --hard master && + git am patches && + grep "clean" a.txt && + + git checkout conflict && + git reset --hard && + git format-patch --stdout master..HEAD >patches && + git reset --hard fourth && + test_must_fail git am -3 patches && + grep "<<<<<<<<<<" a.txt + ) +' + test_done diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 819c24d10e..e88ccb04a9 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -352,7 +352,7 @@ test_expect_success 'log with grep.patternType configuration and command line' ' test_cmp expect actual ' -test_expect_success 'log with various grep.patternType configurations & command-lines' ' +test_expect_success !FAIL_PREREQS 'log with various grep.patternType configurations & command-lines' ' git init pattern-type && ( cd pattern-type && @@ -1707,4 +1707,11 @@ test_expect_success '--exclude-promisor-objects does not BUG-crash' ' test_must_fail git log --exclude-promisor-objects source-a ' +test_expect_success 'log --end-of-options' ' + git update-ref refs/heads/--source HEAD && + git log --end-of-options --source >actual && + git log >expect && + test_cmp expect actual +' + test_done diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh index 43b1522ea2..918ada69eb 100755 --- a/t/t4203-mailmap.sh +++ b/t/t4203-mailmap.sh @@ -442,6 +442,34 @@ test_expect_success 'Log output with log.mailmap' ' test_cmp expect actual ' +test_expect_success 'log.mailmap=false disables mailmap' ' + cat >expect <<-\EOF && + Author: CTO <cto@coompany.xx> + Author: claus <me@company.xx> + Author: santa <me@company.xx> + Author: nick2 <nick2@company.xx> + Author: nick2 <bugs@company.xx> + Author: nick1 <bugs@company.xx> + Author: A U Thor <author@example.com> + EOF + git -c log.mailmap=False log | grep Author > actual && + test_cmp expect actual +' + +test_expect_success '--no-use-mailmap disables mailmap' ' + cat >expect <<-\EOF && + Author: CTO <cto@coompany.xx> + Author: claus <me@company.xx> + Author: santa <me@company.xx> + Author: nick2 <nick2@company.xx> + Author: nick2 <bugs@company.xx> + Author: nick1 <bugs@company.xx> + Author: A U Thor <author@example.com> + EOF + git log --no-use-mailmap | grep Author > actual && + test_cmp expect actual +' + cat >expect <<\EOF Author: Santa Claus <santa.claus@northpole.xx> Author: Santa Claus <santa.claus@northpole.xx> @@ -461,6 +489,11 @@ test_expect_success 'Grep author with log.mailmap' ' test_cmp expect actual ' +test_expect_success 'log.mailmap is true by default these days' ' + git log --author Santa | grep Author >actual && + test_cmp expect actual +' + test_expect_success 'Only grep replaced author with --use-mailmap' ' git log --use-mailmap --author "<cto@coompany.xx>" >actual && test_must_be_empty actual diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh index 1db7bd0f59..8319163744 100755 --- a/t/t4211-line-log.sh +++ b/t/t4211-line-log.sh @@ -132,4 +132,86 @@ test_expect_success '--raw is forbidden' ' test_must_fail git log -L1,24:b.c --raw ' +test_expect_success 'setup for checking fancy rename following' ' + git checkout --orphan moves-start && + git reset --hard && + + printf "%s\n" 12 13 14 15 b c d e >file-1 && + printf "%s\n" 22 23 24 25 B C D E >file-2 && + git add file-1 file-2 && + test_tick && + git commit -m "Add file-1 and file-2" && + oid_add_f1_f2=$(git rev-parse --short HEAD) && + + git checkout -b moves-main && + printf "%s\n" 11 12 13 14 15 b c d e >file-1 && + git commit -a -m "Modify file-1 on main" && + oid_mod_f1_main=$(git rev-parse --short HEAD) && + + printf "%s\n" 21 22 23 24 25 B C D E >file-2 && + git commit -a -m "Modify file-2 on main #1" && + oid_mod_f2_main_1=$(git rev-parse --short HEAD) && + + git mv file-1 renamed-1 && + git commit -m "Rename file-1 to renamed-1 on main" && + + printf "%s\n" 11 12 13 14 15 b c d e f >renamed-1 && + git commit -a -m "Modify renamed-1 on main" && + oid_mod_r1_main=$(git rev-parse --short HEAD) && + + printf "%s\n" 21 22 23 24 25 B C D E F >file-2 && + git commit -a -m "Modify file-2 on main #2" && + oid_mod_f2_main_2=$(git rev-parse --short HEAD) && + + git checkout -b moves-side moves-start && + printf "%s\n" 12 13 14 15 16 b c d e >file-1 && + git commit -a -m "Modify file-1 on side #1" && + oid_mod_f1_side_1=$(git rev-parse --short HEAD) && + + printf "%s\n" 22 23 24 25 26 B C D E >file-2 && + git commit -a -m "Modify file-2 on side" && + oid_mod_f2_side=$(git rev-parse --short HEAD) && + + git mv file-2 renamed-2 && + git commit -m "Rename file-2 to renamed-2 on side" && + + printf "%s\n" 12 13 14 15 16 a b c d e >file-1 && + git commit -a -m "Modify file-1 on side #2" && + oid_mod_f1_side_2=$(git rev-parse --short HEAD) && + + printf "%s\n" 22 23 24 25 26 A B C D E >renamed-2 && + git commit -a -m "Modify renamed-2 on side" && + oid_mod_r2_side=$(git rev-parse --short HEAD) && + + git checkout moves-main && + git merge moves-side && + oid_merge=$(git rev-parse --short HEAD) +' + +test_expect_success 'fancy rename following #1' ' + cat >expect <<-EOF && + $oid_merge Merge branch '\''moves-side'\'' into moves-main + $oid_mod_f1_side_2 Modify file-1 on side #2 + $oid_mod_f1_side_1 Modify file-1 on side #1 + $oid_mod_r1_main Modify renamed-1 on main + $oid_mod_f1_main Modify file-1 on main + $oid_add_f1_f2 Add file-1 and file-2 + EOF + git log -L1:renamed-1 --oneline --no-patch >actual && + test_cmp expect actual +' + +test_expect_success 'fancy rename following #2' ' + cat >expect <<-EOF && + $oid_merge Merge branch '\''moves-side'\'' into moves-main + $oid_mod_r2_side Modify renamed-2 on side + $oid_mod_f2_side Modify file-2 on side + $oid_mod_f2_main_2 Modify file-2 on main #2 + $oid_mod_f2_main_1 Modify file-2 on main #1 + $oid_add_f1_f2 Add file-1 and file-2 + EOF + git log -L1:renamed-2 --oneline --no-patch >actual && + test_cmp expect actual +' + test_done diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh index 602bfd9574..37655a237c 100755 --- a/t/t5000-tar-tree.sh +++ b/t/t5000-tar-tree.sh @@ -94,6 +94,13 @@ check_tar() { ' } +test_expect_success 'setup' ' + test_oid_cache <<-EOF + obj sha1:19f9c8273ec45a8938e6999cb59b3ff66739902a + obj sha256:3c666f798798601571f5cec0adb57ce4aba8546875e7693177e0535f34d2c49b + EOF +' + test_expect_success \ 'populate workdir' \ 'mkdir a && @@ -369,11 +376,10 @@ test_lazy_prereq TAR_HUGE ' ' test_expect_success LONG_IS_64BIT 'set up repository with huge blob' ' - obj_d=19 && - obj_f=f9c8273ec45a8938e6999cb59b3ff66739902a && - obj=${obj_d}${obj_f} && - mkdir -p .git/objects/$obj_d && - cp "$TEST_DIRECTORY"/t5000/$obj .git/objects/$obj_d/$obj_f && + obj=$(test_oid obj) && + path=$(test_oid_to_path $obj) && + mkdir -p .git/objects/$(dirname $path) && + cp "$TEST_DIRECTORY"/t5000/huge-object .git/objects/$path && rm -f .git/index && git update-index --add --cacheinfo 100644,$obj,huge && git commit -m huge diff --git a/t/t5000/19f9c8273ec45a8938e6999cb59b3ff66739902a b/t/t5000/huge-object Binary files differindex 5cbe9ec312..5cbe9ec312 100644 --- a/t/t5000/19f9c8273ec45a8938e6999cb59b3ff66739902a +++ b/t/t5000/huge-object diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh index 271eb5a1fd..3e7b23cb32 100755 --- a/t/t5004-archive-corner-cases.sh +++ b/t/t5004-archive-corner-cases.sh @@ -204,4 +204,23 @@ test_expect_success EXPENSIVE,LONG_IS_64BIT,UNZIP,UNZIP_ZIP64_SUPPORT,ZIPINFO \ grep $size big.lst ' +build_tree() { + perl -e ' + my $hash = $ARGV[0]; + foreach my $order (2..6) { + $first = 10 ** $order; + foreach my $i (-13..-9) { + my $name = "a" x ($first + $i); + print "100644 blob $hash\t$name\n" + } + } + ' "$1" +} + +test_expect_success 'tar archive with long paths' ' + blob=$(echo foo | git hash-object -w --stdin) && + tree=$(build_tree $blob | git mktree) && + git archive -o long_paths.tar $tree +' + test_done diff --git a/t/t5200-update-server-info.sh b/t/t5200-update-server-info.sh new file mode 100755 index 0000000000..21a58eecb9 --- /dev/null +++ b/t/t5200-update-server-info.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +test_description='Test git update-server-info' + +. ./test-lib.sh + +test_expect_success 'setup' 'test_commit file' + +test_expect_success 'create info/refs' ' + git update-server-info && + test_path_is_file .git/info/refs +' + +test_expect_success 'modify and store mtime' ' + test-tool chmtime =0 .git/info/refs && + test-tool chmtime --get .git/info/refs >a +' + +test_expect_success 'info/refs is not needlessly overwritten' ' + git update-server-info && + test-tool chmtime --get .git/info/refs >b && + test_cmp a b +' + +test_expect_success 'info/refs can be forced to update' ' + git update-server-info -f && + test-tool chmtime --get .git/info/refs >b && + ! test_cmp a b +' + +test_expect_success 'info/refs updates when changes are made' ' + test-tool chmtime =0 .git/info/refs && + test-tool chmtime --get .git/info/refs >b && + test_cmp a b && + git update-ref refs/heads/foo HEAD && + git update-server-info && + test-tool chmtime --get .git/info/refs >b && + ! test_cmp a b +' + +test_done diff --git a/t/t5307-pack-missing-commit.sh b/t/t5307-pack-missing-commit.sh index dacb440b27..f4338abb78 100755 --- a/t/t5307-pack-missing-commit.sh +++ b/t/t5307-pack-missing-commit.sh @@ -24,11 +24,11 @@ test_expect_success 'check corruption' ' ' test_expect_success 'rev-list notices corruption (1)' ' - test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list HEAD + test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git -c core.commitGraph=false rev-list HEAD ' test_expect_success 'rev-list notices corruption (2)' ' - test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list --objects HEAD + test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git -c core.commitGraph=false rev-list --objects HEAD ' test_expect_success 'pack-objects notices corruption' ' diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh index a26c8ba9a2..6640329ebf 100755 --- a/t/t5310-pack-bitmaps.sh +++ b/t/t5310-pack-bitmaps.sh @@ -21,15 +21,9 @@ has_any () { } test_expect_success 'setup repo with moderate-sized history' ' - for i in $(test_seq 1 10) - do - test_commit $i - done && + test_commit_bulk --id=file 100 && git checkout -b other HEAD~5 && - for i in $(test_seq 1 10) - do - test_commit side-$i - done && + test_commit_bulk --id=side 10 && git checkout master && bitmaptip=$(git rev-parse master) && blob=$(echo tagged-blob | git hash-object -w --stdin) && @@ -106,10 +100,7 @@ test_expect_success 'clone from bitmapped repository' ' ' test_expect_success 'setup further non-bitmapped commits' ' - for i in $(test_seq 1 10) - do - test_commit further-$i - done + test_commit_bulk --id=further 10 ' rev_list_tests 'partial bitmap' diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh index 5267c4be20..ab3eccf0fa 100755 --- a/t/t5318-commit-graph.sh +++ b/t/t5318-commit-graph.sh @@ -20,14 +20,13 @@ test_expect_success 'verify graph with no graph file' ' test_expect_success 'write graph with no packs' ' cd "$TRASH_DIRECTORY/full" && git commit-graph write --object-dir . && - test_path_is_file info/commit-graph + test_path_is_missing info/commit-graph ' -test_expect_success 'close with correct error on bad input' ' +test_expect_success 'exit with correct error on bad input to --stdin-packs' ' cd "$TRASH_DIRECTORY/full" && echo doesnotexist >in && - { git commit-graph write --stdin-packs <in 2>stderr; ret=$?; } && - test "$ret" = 1 && + test_expect_code 1 git commit-graph write --stdin-packs <in 2>stderr && test_i18ngrep "error adding pack" stderr ' @@ -41,6 +40,15 @@ test_expect_success 'create commits and repack' ' git repack ' +test_expect_success 'exit with correct error on bad input to --stdin-commits' ' + cd "$TRASH_DIRECTORY/full" && + echo HEAD | test_expect_code 1 git commit-graph write --stdin-commits 2>stderr && + test_i18ngrep "invalid commit object id" stderr && + # valid tree OID, but not a commit OID + git rev-parse HEAD^{tree} | test_expect_code 1 git commit-graph write --stdin-commits 2>stderr && + test_i18ngrep "invalid commit object id" stderr +' + graph_git_two_modes() { git -c core.commitGraph=true $1 >output git -c core.commitGraph=false $1 >expect diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh index 1ebf19ec3c..c72ca04399 100755 --- a/t/t5319-multi-pack-index.sh +++ b/t/t5319-multi-pack-index.sh @@ -363,4 +363,188 @@ test_expect_success 'verify incorrect 64-bit offset' ' "incorrect object offset" ' +test_expect_success 'setup expire tests' ' + mkdir dup && + ( + cd dup && + git init && + test-tool genrandom "data" 4096 >large_file.txt && + git update-index --add large_file.txt && + for i in $(test_seq 1 20) + do + test_commit $i + done && + git branch A HEAD && + git branch B HEAD~8 && + git branch C HEAD~13 && + git branch D HEAD~16 && + git branch E HEAD~18 && + git pack-objects --revs .git/objects/pack/pack-A <<-EOF && + refs/heads/A + ^refs/heads/B + EOF + git pack-objects --revs .git/objects/pack/pack-B <<-EOF && + refs/heads/B + ^refs/heads/C + EOF + git pack-objects --revs .git/objects/pack/pack-C <<-EOF && + refs/heads/C + ^refs/heads/D + EOF + git pack-objects --revs .git/objects/pack/pack-D <<-EOF && + refs/heads/D + ^refs/heads/E + EOF + git pack-objects --revs .git/objects/pack/pack-E <<-EOF && + refs/heads/E + EOF + git multi-pack-index write && + cp -r .git/objects/pack .git/objects/pack-backup + ) +' + +test_expect_success 'expire does not remove any packs' ' + ( + cd dup && + ls .git/objects/pack >expect && + git multi-pack-index expire && + ls .git/objects/pack >actual && + test_cmp expect actual + ) +' + +test_expect_success 'expire removes unreferenced packs' ' + ( + cd dup && + git pack-objects --revs .git/objects/pack/pack-combined <<-EOF && + refs/heads/A + ^refs/heads/C + EOF + git multi-pack-index write && + ls .git/objects/pack | grep -v -e pack-[AB] >expect && + git multi-pack-index expire && + ls .git/objects/pack >actual && + test_cmp expect actual && + ls .git/objects/pack/ | grep idx >expect-idx && + test-tool read-midx .git/objects | grep idx >actual-midx && + test_cmp expect-idx actual-midx && + git multi-pack-index verify && + git fsck + ) +' + +test_expect_success 'repack with minimum size does not alter existing packs' ' + ( + cd dup && + rm -rf .git/objects/pack && + mv .git/objects/pack-backup .git/objects/pack && + touch -m -t 201901010000 .git/objects/pack/pack-D* && + touch -m -t 201901010001 .git/objects/pack/pack-C* && + touch -m -t 201901010002 .git/objects/pack/pack-B* && + touch -m -t 201901010003 .git/objects/pack/pack-A* && + ls .git/objects/pack >expect && + MINSIZE=$(test-tool path-utils file-size .git/objects/pack/*pack | sort -n | head -n 1) && + git multi-pack-index repack --batch-size=$MINSIZE && + ls .git/objects/pack >actual && + test_cmp expect actual + ) +' + +test_expect_success 'repack creates a new pack' ' + ( + cd dup && + ls .git/objects/pack/*idx >idx-list && + test_line_count = 5 idx-list && + THIRD_SMALLEST_SIZE=$(test-tool path-utils file-size .git/objects/pack/*pack | sort -n | head -n 3 | tail -n 1) && + BATCH_SIZE=$(($THIRD_SMALLEST_SIZE + 1)) && + git multi-pack-index repack --batch-size=$BATCH_SIZE && + ls .git/objects/pack/*idx >idx-list && + test_line_count = 6 idx-list && + test-tool read-midx .git/objects | grep idx >midx-list && + test_line_count = 6 midx-list + ) +' + +test_expect_success 'expire removes repacked packs' ' + ( + cd dup && + ls -al .git/objects/pack/*pack && + ls -S .git/objects/pack/*pack | head -n 4 >expect && + git multi-pack-index expire && + ls -S .git/objects/pack/*pack >actual && + test_cmp expect actual && + test-tool read-midx .git/objects | grep idx >midx-list && + test_line_count = 4 midx-list + ) +' + +test_expect_success 'expire works when adding new packs' ' + ( + cd dup && + git pack-objects --revs .git/objects/pack/pack-combined <<-EOF && + refs/heads/A + ^refs/heads/B + EOF + git pack-objects --revs .git/objects/pack/pack-combined <<-EOF && + refs/heads/B + ^refs/heads/C + EOF + git pack-objects --revs .git/objects/pack/pack-combined <<-EOF && + refs/heads/C + ^refs/heads/D + EOF + git multi-pack-index write && + git pack-objects --revs .git/objects/pack/a-pack <<-EOF && + refs/heads/D + ^refs/heads/E + EOF + git multi-pack-index write && + git pack-objects --revs .git/objects/pack/z-pack <<-EOF && + refs/heads/E + EOF + git multi-pack-index expire && + ls .git/objects/pack/ | grep idx >expect && + test-tool read-midx .git/objects | grep idx >actual && + test_cmp expect actual && + git multi-pack-index verify + ) +' + +test_expect_success 'expire respects .keep files' ' + ( + cd dup && + git pack-objects --revs .git/objects/pack/pack-all <<-EOF && + refs/heads/A + EOF + git multi-pack-index write && + PACKA=$(ls .git/objects/pack/a-pack*\.pack | sed s/\.pack\$//) && + touch $PACKA.keep && + git multi-pack-index expire && + ls -S .git/objects/pack/a-pack* | grep $PACKA >a-pack-files && + test_line_count = 3 a-pack-files && + test-tool read-midx .git/objects | grep idx >midx-list && + test_line_count = 2 midx-list + ) +' + +test_expect_success 'repack --batch-size=0 repacks everything' ' + ( + cd dup && + rm .git/objects/pack/*.keep && + ls .git/objects/pack/*idx >idx-list && + test_line_count = 2 idx-list && + git multi-pack-index repack --batch-size=0 && + ls .git/objects/pack/*idx >idx-list && + test_line_count = 3 idx-list && + test-tool read-midx .git/objects | grep idx >midx-list && + test_line_count = 3 midx-list && + git multi-pack-index expire && + ls -al .git/objects/pack/*idx >idx-list && + test_line_count = 1 idx-list && + git multi-pack-index repack --batch-size=0 && + ls -al .git/objects/pack/*idx >new-idx-list && + test_cmp idx-list new-idx-list + ) +' + test_done diff --git a/t/t5324-split-commit-graph.sh b/t/t5324-split-commit-graph.sh new file mode 100755 index 0000000000..e2c39533d3 --- /dev/null +++ b/t/t5324-split-commit-graph.sh @@ -0,0 +1,347 @@ +#!/bin/sh + +test_description='split commit graph' +. ./test-lib.sh + +GIT_TEST_COMMIT_GRAPH=0 + +test_expect_success 'setup repo' ' + git init && + git config core.commitGraph true && + git config gc.writeCommitGraph false && + infodir=".git/objects/info" && + graphdir="$infodir/commit-graphs" && + test_oid_init +' + +graph_read_expect() { + NUM_BASE=0 + if test ! -z $2 + then + NUM_BASE=$2 + fi + cat >expect <<- EOF + header: 43475048 1 1 3 $NUM_BASE + num_commits: $1 + chunks: oid_fanout oid_lookup commit_metadata + EOF + git commit-graph read >output && + test_cmp expect output +} + +test_expect_success 'create commits and write commit-graph' ' + for i in $(test_seq 3) + do + test_commit $i && + git branch commits/$i || return 1 + done && + git commit-graph write --reachable && + test_path_is_file $infodir/commit-graph && + graph_read_expect 3 +' + +graph_git_two_modes() { + git -c core.commitGraph=true $1 >output + git -c core.commitGraph=false $1 >expect + test_cmp expect output +} + +graph_git_behavior() { + MSG=$1 + BRANCH=$2 + COMPARE=$3 + test_expect_success "check normal git operations: $MSG" ' + graph_git_two_modes "log --oneline $BRANCH" && + graph_git_two_modes "log --topo-order $BRANCH" && + graph_git_two_modes "log --graph $COMPARE..$BRANCH" && + graph_git_two_modes "branch -vv" && + graph_git_two_modes "merge-base -a $BRANCH $COMPARE" + ' +} + +graph_git_behavior 'graph exists' commits/3 commits/1 + +verify_chain_files_exist() { + for hash in $(cat $1/commit-graph-chain) + do + test_path_is_file $1/graph-$hash.graph || return 1 + done +} + +test_expect_success 'add more commits, and write a new base graph' ' + git reset --hard commits/1 && + for i in $(test_seq 4 5) + do + test_commit $i && + git branch commits/$i || return 1 + done && + git reset --hard commits/2 && + for i in $(test_seq 6 10) + do + test_commit $i && + git branch commits/$i || return 1 + done && + git reset --hard commits/2 && + git merge commits/4 && + git branch merge/1 && + git reset --hard commits/4 && + git merge commits/6 && + git branch merge/2 && + git commit-graph write --reachable && + graph_read_expect 12 +' + +test_expect_success 'fork and fail to base a chain on a commit-graph file' ' + test_when_finished rm -rf fork && + git clone . fork && + ( + cd fork && + rm .git/objects/info/commit-graph && + echo "$(pwd)/../.git/objects" >.git/objects/info/alternates && + test_commit new-commit && + git commit-graph write --reachable --split && + test_path_is_file $graphdir/commit-graph-chain && + test_line_count = 1 $graphdir/commit-graph-chain && + verify_chain_files_exist $graphdir + ) +' + +test_expect_success 'add three more commits, write a tip graph' ' + git reset --hard commits/3 && + git merge merge/1 && + git merge commits/5 && + git merge merge/2 && + git branch merge/3 && + git commit-graph write --reachable --split && + test_path_is_missing $infodir/commit-graph && + test_path_is_file $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 2 graph-files && + verify_chain_files_exist $graphdir +' + +graph_git_behavior 'split commit-graph: merge 3 vs 2' merge/3 merge/2 + +test_expect_success 'add one commit, write a tip graph' ' + test_commit 11 && + git branch commits/11 && + git commit-graph write --reachable --split && + test_path_is_missing $infodir/commit-graph && + test_path_is_file $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 3 graph-files && + verify_chain_files_exist $graphdir +' + +graph_git_behavior 'three-layer commit-graph: commit 11 vs 6' commits/11 commits/6 + +test_expect_success 'add one commit, write a merged graph' ' + test_commit 12 && + git branch commits/12 && + git commit-graph write --reachable --split && + test_path_is_file $graphdir/commit-graph-chain && + test_line_count = 2 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 2 graph-files && + verify_chain_files_exist $graphdir +' + +graph_git_behavior 'merged commit-graph: commit 12 vs 6' commits/12 commits/6 + +test_expect_success 'create fork and chain across alternate' ' + git clone . fork && + ( + cd fork && + git config core.commitGraph true && + rm -rf $graphdir && + echo "$(pwd)/../.git/objects" >.git/objects/info/alternates && + test_commit 13 && + git branch commits/13 && + git commit-graph write --reachable --split && + test_path_is_file $graphdir/commit-graph-chain && + test_line_count = 3 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 1 graph-files && + git -c core.commitGraph=true rev-list HEAD >expect && + git -c core.commitGraph=false rev-list HEAD >actual && + test_cmp expect actual && + test_commit 14 && + git commit-graph write --reachable --split --object-dir=.git/objects/ && + test_line_count = 3 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 1 graph-files + ) +' + +graph_git_behavior 'alternate: commit 13 vs 6' commits/13 commits/6 + +test_expect_success 'test merge stragety constants' ' + git clone . merge-2 && + ( + cd merge-2 && + git config core.commitGraph true && + test_line_count = 2 $graphdir/commit-graph-chain && + test_commit 14 && + git commit-graph write --reachable --split --size-multiple=2 && + test_line_count = 3 $graphdir/commit-graph-chain + + ) && + git clone . merge-10 && + ( + cd merge-10 && + git config core.commitGraph true && + test_line_count = 2 $graphdir/commit-graph-chain && + test_commit 14 && + git commit-graph write --reachable --split --size-multiple=10 && + test_line_count = 1 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 1 graph-files + ) && + git clone . merge-10-expire && + ( + cd merge-10-expire && + git config core.commitGraph true && + test_line_count = 2 $graphdir/commit-graph-chain && + test_commit 15 && + git commit-graph write --reachable --split --size-multiple=10 --expire-time=1980-01-01 && + test_line_count = 1 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 3 graph-files + ) && + git clone --no-hardlinks . max-commits && + ( + cd max-commits && + git config core.commitGraph true && + test_line_count = 2 $graphdir/commit-graph-chain && + test_commit 16 && + test_commit 17 && + git commit-graph write --reachable --split --max-commits=1 && + test_line_count = 1 $graphdir/commit-graph-chain && + ls $graphdir/graph-*.graph >graph-files && + test_line_count = 1 graph-files + ) +' + +test_expect_success 'remove commit-graph-chain file after flattening' ' + git clone . flatten && + ( + cd flatten && + test_line_count = 2 $graphdir/commit-graph-chain && + git commit-graph write --reachable && + test_path_is_missing $graphdir/commit-graph-chain && + ls $graphdir >graph-files && + test_line_count = 0 graph-files + ) +' + +corrupt_file() { + file=$1 + pos=$2 + data="${3:-\0}" + chmod a+w "$file" && + printf "$data" | dd of="$file" bs=1 seek="$pos" conv=notrunc +} + +test_expect_success 'verify hashes along chain, even in shallow' ' + git clone --no-hardlinks . verify && + ( + cd verify && + git commit-graph verify && + base_file=$graphdir/graph-$(head -n 1 $graphdir/commit-graph-chain).graph && + corrupt_file "$base_file" 1760 "\01" && + test_must_fail git commit-graph verify --shallow 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "incorrect checksum" err + ) +' + +test_expect_success 'verify --shallow does not check base contents' ' + git clone --no-hardlinks . verify-shallow && + ( + cd verify-shallow && + git commit-graph verify && + base_file=$graphdir/graph-$(head -n 1 $graphdir/commit-graph-chain).graph && + corrupt_file "$base_file" 1000 "\01" && + git commit-graph verify --shallow && + test_must_fail git commit-graph verify 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "incorrect checksum" err + ) +' + +test_expect_success 'warn on base graph chunk incorrect' ' + git clone --no-hardlinks . base-chunk && + ( + cd base-chunk && + git commit-graph verify && + base_file=$graphdir/graph-$(tail -n 1 $graphdir/commit-graph-chain).graph && + corrupt_file "$base_file" 1376 "\01" && + git commit-graph verify --shallow 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "commit-graph chain does not match" err + ) +' + +test_expect_success 'verify after commit-graph-chain corruption' ' + git clone --no-hardlinks . verify-chain && + ( + cd verify-chain && + corrupt_file "$graphdir/commit-graph-chain" 60 "G" && + git commit-graph verify 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "invalid commit-graph chain" err && + corrupt_file "$graphdir/commit-graph-chain" 60 "A" && + git commit-graph verify 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "unable to find all commit-graph files" err + ) +' + +test_expect_success 'verify across alternates' ' + git clone --no-hardlinks . verify-alt && + ( + cd verify-alt && + rm -rf $graphdir && + altdir="$(pwd)/../.git/objects" && + echo "$altdir" >.git/objects/info/alternates && + git commit-graph verify --object-dir="$altdir/" && + test_commit extra && + git commit-graph write --reachable --split && + tip_file=$graphdir/graph-$(tail -n 1 $graphdir/commit-graph-chain).graph && + corrupt_file "$tip_file" 100 "\01" && + test_must_fail git commit-graph verify --shallow 2>test_err && + grep -v "^+" test_err >err && + test_i18ngrep "commit-graph has incorrect fanout value" err + ) +' + +test_expect_success 'add octopus merge' ' + git reset --hard commits/10 && + git merge commits/3 commits/4 && + git branch merge/octopus && + git commit-graph write --reachable --split && + git commit-graph verify 2>err && + test_line_count = 3 err && + test_i18ngrep ! warning err && + test_line_count = 3 $graphdir/commit-graph-chain +' + +graph_git_behavior 'graph exists' merge/octopus commits/12 + +test_expect_success 'split across alternate where alternate is not split' ' + git commit-graph write --reachable && + test_path_is_file .git/objects/info/commit-graph && + cp .git/objects/info/commit-graph . && + git clone --no-hardlinks . alt-split && + ( + cd alt-split && + rm -f .git/objects/info/commit-graph && + echo "$(pwd)"/../.git/objects >.git/objects/info/alternates && + test_commit 18 && + git commit-graph write --reachable --split && + test_line_count = 1 $graphdir/commit-graph-chain + ) && + test_cmp commit-graph .git/objects/info/commit-graph +' + +test_done diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh index 1c71c0ec77..8210f63d41 100755 --- a/t/t5500-fetch-pack.sh +++ b/t/t5500-fetch-pack.sh @@ -920,4 +920,7 @@ test_expect_success 'fetch with --filter=blob:limit=0 and HTTP' ' fetch_filter_blob_limit_zero "$HTTPD_DOCUMENT_ROOT_PATH/server" "$HTTPD_URL/smart/server" ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh index 7bc706873c..fdfe179b11 100755 --- a/t/t5504-fetch-receive-strict.sh +++ b/t/t5504-fetch-receive-strict.sh @@ -164,9 +164,9 @@ test_expect_success 'fsck with unsorted skipList' ' test_expect_success 'fsck with invalid or bogus skipList input' ' git -c fsck.skipList=/dev/null -c fsck.missingEmail=ignore fsck && test_must_fail git -c fsck.skipList=does-not-exist -c fsck.missingEmail=ignore fsck 2>err && - test_i18ngrep "Could not open skip list: does-not-exist" err && + test_i18ngrep "could not open.*: does-not-exist" err && test_must_fail git -c fsck.skipList=.git/config -c fsck.missingEmail=ignore fsck 2>err && - test_i18ngrep "Invalid SHA-1: \[core\]" err + test_i18ngrep "invalid object name: \[core\]" err ' test_expect_success 'fsck with other accepted skipList input (comments & empty lines)' ' @@ -193,7 +193,7 @@ test_expect_success 'fsck no garbage output from comments & empty lines errors' test_expect_success 'fsck with invalid abbreviated skipList input' ' echo $commit | test_copy_bytes 20 >SKIP.abbreviated && test_must_fail git -c fsck.skipList=SKIP.abbreviated fsck 2>err-abbreviated && - test_i18ngrep "^fatal: Invalid SHA-1: " err-abbreviated + test_i18ngrep "^fatal: invalid object name: " err-abbreviated ' test_expect_success 'fsck with exhaustive accepted skipList input (various types of comments etc.)' ' @@ -226,10 +226,10 @@ test_expect_success 'push with receive.fsck.skipList' ' test_must_fail git push --porcelain dst bogus && git --git-dir=dst/.git config receive.fsck.skipList does-not-exist && test_must_fail git push --porcelain dst bogus 2>err && - test_i18ngrep "Could not open skip list: does-not-exist" err && + test_i18ngrep "could not open.*: does-not-exist" err && git --git-dir=dst/.git config receive.fsck.skipList config && test_must_fail git push --porcelain dst bogus 2>err && - test_i18ngrep "Invalid SHA-1: \[core\]" err && + test_i18ngrep "invalid object name: \[core\]" err && git --git-dir=dst/.git config receive.fsck.skipList SKIP && git push --porcelain dst bogus @@ -255,10 +255,10 @@ test_expect_success 'fetch with fetch.fsck.skipList' ' test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec && git --git-dir=dst/.git config fetch.fsck.skipList does-not-exist && test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec 2>err && - test_i18ngrep "Could not open skip list: does-not-exist" err && + test_i18ngrep "could not open.*: does-not-exist" err && git --git-dir=dst/.git config fetch.fsck.skipList dst/.git/config && test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec 2>err && - test_i18ngrep "Invalid SHA-1: \[core\]" err && + test_i18ngrep "invalid object name: \[core\]" err && git --git-dir=dst/.git config fetch.fsck.skipList dst/.git/SKIP && git --git-dir=dst/.git fetch "file://$(pwd)" $refspec diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index e98d90dd9b..34b486f1a4 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -902,6 +902,29 @@ test_expect_success C_LOCALE_OUTPUT 'fetch compact output' ' test_cmp expect actual ' +test_expect_success '--no-show-forced-updates' ' + mkdir forced-updates && + ( + cd forced-updates && + git init && + test_commit 1 && + test_commit 2 + ) && + git clone forced-updates forced-update-clone && + git clone forced-updates no-forced-update-clone && + git -C forced-updates reset --hard HEAD~1 && + ( + cd forced-update-clone && + git fetch --show-forced-updates origin 2>output && + test_i18ngrep "(forced update)" output + ) && + ( + cd no-forced-update-clone && + git fetch --no-show-forced-updates origin 2>output && + test_i18ngrep ! "(forced update)" output + ) +' + setup_negotiation_tip () { SERVER="$1" URL="$2" @@ -978,4 +1001,7 @@ test_expect_success '--negotiation-tip limits "have" lines sent with HTTP protoc check_negotiation_tip ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh index e3c4a48c85..43e1d8d4d2 100755 --- a/t/t5512-ls-remote.sh +++ b/t/t5512-ls-remote.sh @@ -267,8 +267,7 @@ test_expect_success 'ls-remote --symref omits filtered-out matches' ' ' test_lazy_prereq GIT_DAEMON ' - test_tristate GIT_TEST_GIT_DAEMON && - test "$GIT_TEST_GIT_DAEMON" != false + git env--helper --type=bool --default=true --exit-code GIT_TEST_GIT_DAEMON ' # This test spawns a daemon, so run it only if the user would be OK with diff --git a/t/t5514-fetch-multiple.sh b/t/t5514-fetch-multiple.sh index 0030c92e1a..5426d4b5ab 100755 --- a/t/t5514-fetch-multiple.sh +++ b/t/t5514-fetch-multiple.sh @@ -105,9 +105,12 @@ test_expect_success 'git fetch --multiple (two remotes)' ' git remote rm origin && git remote add one ../one && git remote add two ../two && - git fetch --multiple one two && + GIT_TRACE=1 git fetch --multiple one two 2>trace && git branch -r > output && - test_cmp ../expect output) + test_cmp ../expect output && + grep "built-in: git gc" trace >gc && + test_line_count = 1 gc + ) ' test_expect_success 'git fetch --multiple (bad remote names)' ' diff --git a/t/t5515-fetch-merge-logic.sh b/t/t5515-fetch-merge-logic.sh index e55d8474ef..961eb35c99 100755 --- a/t/t5515-fetch-merge-logic.sh +++ b/t/t5515-fetch-merge-logic.sh @@ -12,9 +12,6 @@ GIT_TEST_PROTOCOL_VERSION= . ./test-lib.sh -LF=' -' - test_expect_success setup ' GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" && GIT_COMMITTER_DATE="2006-06-26 00:00:00 +0000" && diff --git a/t/t5537-fetch-shallow.sh b/t/t5537-fetch-shallow.sh index 66f0b64d39..97a67728ca 100755 --- a/t/t5537-fetch-shallow.sh +++ b/t/t5537-fetch-shallow.sh @@ -255,4 +255,7 @@ test_expect_success 'shallow fetches check connectivity before writing shallow f git -C client fsck ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5545-push-options.sh b/t/t5545-push-options.sh index 6d1d59c9b1..04b34c4de1 100755 --- a/t/t5545-push-options.sh +++ b/t/t5545-push-options.sh @@ -278,4 +278,7 @@ test_expect_success 'push options keep quoted characters intact (http)' ' test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5552-skipping-fetch-negotiator.sh b/t/t5552-skipping-fetch-negotiator.sh index 8a14be51a1..f70cbcc9ca 100755 --- a/t/t5552-skipping-fetch-negotiator.sh +++ b/t/t5552-skipping-fetch-negotiator.sh @@ -60,29 +60,6 @@ test_expect_success 'commits with no parents are sent regardless of skip distanc have_not_sent c6 c4 c3 ' -test_expect_success 'unknown fetch.negotiationAlgorithm values error out' ' - rm -rf server client trace && - git init server && - test_commit -C server to_fetch && - - git init client && - test_commit -C client on_client && - git -C client checkout on_client && - - test_config -C client fetch.negotiationAlgorithm invalid && - test_must_fail git -C client fetch "$(pwd)/server" 2>err && - test_i18ngrep "unknown fetch negotiation algorithm" err && - - # Explicit "default" value - test_config -C client fetch.negotiationAlgorithm default && - git -C client -c fetch.negotiationAlgorithm=default fetch "$(pwd)/server" && - - # Implementation detail: If there is nothing to fetch, we will not error out - test_config -C client fetch.negotiationAlgorithm invalid && - git -C client fetch "$(pwd)/server" 2>err && - test_i18ngrep ! "unknown fetch negotiation algorithm" err -' - test_expect_success 'when two skips collide, favor the larger one' ' rm -rf server client trace && git init server && diff --git a/t/t5553-set-upstream.sh b/t/t5553-set-upstream.sh new file mode 100755 index 0000000000..81975ad8f9 --- /dev/null +++ b/t/t5553-set-upstream.sh @@ -0,0 +1,178 @@ +#!/bin/sh + +test_description='"git fetch/pull --set-upstream" basic tests.' +. ./test-lib.sh + +check_config () { + printf "%s\n" "$2" "$3" >"expect.$1" && + { + git config "branch.$1.remote" && git config "branch.$1.merge" + } >"actual.$1" && + test_cmp "expect.$1" "actual.$1" +} + +check_config_missing () { + test_expect_code 1 git config "branch.$1.remote" && + test_expect_code 1 git config "branch.$1.merge" +} + +clear_config () { + for branch in "$@"; do + test_might_fail git config --unset-all "branch.$branch.remote" + test_might_fail git config --unset-all "branch.$branch.merge" + done +} + +ensure_fresh_upstream () { + rm -rf parent && git init --bare parent +} + +test_expect_success 'setup bare parent fetch' ' + ensure_fresh_upstream && + git remote add upstream parent +' + +test_expect_success 'setup commit on master and other fetch' ' + test_commit one && + git push upstream master && + git checkout -b other && + test_commit two && + git push upstream other +' + +# tests for fetch --set-upstream + +test_expect_success 'fetch --set-upstream does not set upstream w/o branch' ' + clear_config master other && + git checkout master && + git fetch --set-upstream upstream && + check_config_missing master && + check_config_missing other +' + +test_expect_success 'fetch --set-upstream upstream master sets branch master but not other' ' + clear_config master other && + git fetch --set-upstream upstream master && + check_config master upstream refs/heads/master && + check_config_missing other +' + +test_expect_success 'fetch --set-upstream upstream other sets branch other' ' + clear_config master other && + git fetch --set-upstream upstream other && + check_config master upstream refs/heads/other && + check_config_missing other +' + +test_expect_success 'fetch --set-upstream master:other does not set the branch other2' ' + clear_config other2 && + git fetch --set-upstream upstream master:other2 && + check_config_missing other2 +' + +test_expect_success 'fetch --set-upstream http://nosuchdomain.example.com fails with invalid url' ' + # master explicitly not cleared, we check that it is not touched from previous value + clear_config other other2 && + test_must_fail git fetch --set-upstream http://nosuchdomain.example.com && + check_config master upstream refs/heads/other && + check_config_missing other && + check_config_missing other2 +' + +test_expect_success 'fetch --set-upstream with valid URL sets upstream to URL' ' + clear_config other other2 && + url="file://'"$PWD"'" && + git fetch --set-upstream "$url" && + check_config master "$url" HEAD && + check_config_missing other && + check_config_missing other2 +' + +# tests for pull --set-upstream + +test_expect_success 'setup bare parent pull' ' + git remote rm upstream && + ensure_fresh_upstream && + git remote add upstream parent +' + +test_expect_success 'setup commit on master and other pull' ' + test_commit three && + git push --tags upstream master && + test_commit four && + git push upstream other +' + +test_expect_success 'pull --set-upstream upstream master sets branch master but not other' ' + clear_config master other && + git pull --set-upstream upstream master && + check_config master upstream refs/heads/master && + check_config_missing other +' + +test_expect_success 'pull --set-upstream master:other2 does not set the branch other2' ' + clear_config other2 && + git pull --set-upstream upstream master:other2 && + check_config_missing other2 +' + +test_expect_success 'pull --set-upstream upstream other sets branch master' ' + clear_config master other && + git pull --set-upstream upstream other && + check_config master upstream refs/heads/other && + check_config_missing other +' + +test_expect_success 'pull --set-upstream upstream tag does not set the tag' ' + clear_config three && + git pull --tags --set-upstream upstream three && + check_config_missing three +' + +test_expect_success 'pull --set-upstream http://nosuchdomain.example.com fails with invalid url' ' + # master explicitly not cleared, we check that it is not touched from previous value + clear_config other other2 three && + test_must_fail git pull --set-upstream http://nosuchdomain.example.com && + check_config master upstream refs/heads/other && + check_config_missing other && + check_config_missing other2 && + check_config_missing three +' + +test_expect_success 'pull --set-upstream upstream HEAD sets branch HEAD' ' + clear_config master other && + git pull --set-upstream upstream HEAD && + check_config master upstream HEAD && + git checkout other && + git pull --set-upstream upstream HEAD && + check_config other upstream HEAD +' + +test_expect_success 'pull --set-upstream upstream with more than one branch does nothing' ' + clear_config master three && + git pull --set-upstream upstream master three && + check_config_missing master && + check_config_missing three +' + +test_expect_success 'pull --set-upstream with valid URL sets upstream to URL' ' + clear_config master other other2 && + git checkout master && + url="file://'"$PWD"'" && + git pull --set-upstream "$url" && + check_config master "$url" HEAD && + check_config_missing other && + check_config_missing other2 +' + +test_expect_success 'pull --set-upstream with valid URL and branch sets branch' ' + clear_config master other other2 && + git checkout master && + url="file://'"$PWD"'" && + git pull --set-upstream "$url" master && + check_config master "$url" refs/heads/master && + check_config_missing other && + check_config_missing other2 +' + +test_done diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh index 37d76808d4..2e94354e5b 100755 --- a/t/t5601-clone.sh +++ b/t/t5601-clone.sh @@ -654,7 +654,8 @@ partial_clone () { git -C client fsck && # Ensure that unneeded blobs are not inadvertently fetched. - test_config -C client extensions.partialclone "not a remote" && + test_config -C client remote.origin.promisor "false" && + git -C client config --unset remote.origin.partialclonefilter && test_must_fail git -C client cat-file -e "$HASH1" && # But this blob was fetched, because clone performs an initial checkout @@ -739,4 +740,7 @@ test_expect_success 'partial clone using HTTP' ' partial_clone "$HTTPD_DOCUMENT_ROOT_PATH/server" "$HTTPD_URL/smart/server" ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5604-clone-reference.sh b/t/t5604-clone-reference.sh index 4320082b1b..4894237ab8 100755 --- a/t/t5604-clone-reference.sh +++ b/t/t5604-clone-reference.sh @@ -221,4 +221,137 @@ test_expect_success 'clone, dissociate from alternates' ' ( cd C && git fsck ) ' +test_expect_success 'setup repo with garbage in objects/*' ' + git init S && + ( + cd S && + test_commit A && + + cd .git/objects && + >.some-hidden-file && + >some-file && + mkdir .some-hidden-dir && + >.some-hidden-dir/some-file && + >.some-hidden-dir/.some-dot-file && + mkdir some-dir && + >some-dir/some-file && + >some-dir/.some-dot-file + ) +' + +test_expect_success 'clone a repo with garbage in objects/*' ' + for option in --local --no-hardlinks --shared --dissociate + do + git clone $option S S$option || return 1 && + git -C S$option fsck || return 1 + done && + find S-* -name "*some*" | sort >actual && + cat >expected <<-EOF && + S--dissociate/.git/objects/.some-hidden-dir + S--dissociate/.git/objects/.some-hidden-dir/.some-dot-file + S--dissociate/.git/objects/.some-hidden-dir/some-file + S--dissociate/.git/objects/.some-hidden-file + S--dissociate/.git/objects/some-dir + S--dissociate/.git/objects/some-dir/.some-dot-file + S--dissociate/.git/objects/some-dir/some-file + S--dissociate/.git/objects/some-file + S--local/.git/objects/.some-hidden-dir + S--local/.git/objects/.some-hidden-dir/.some-dot-file + S--local/.git/objects/.some-hidden-dir/some-file + S--local/.git/objects/.some-hidden-file + S--local/.git/objects/some-dir + S--local/.git/objects/some-dir/.some-dot-file + S--local/.git/objects/some-dir/some-file + S--local/.git/objects/some-file + S--no-hardlinks/.git/objects/.some-hidden-dir + S--no-hardlinks/.git/objects/.some-hidden-dir/.some-dot-file + S--no-hardlinks/.git/objects/.some-hidden-dir/some-file + S--no-hardlinks/.git/objects/.some-hidden-file + S--no-hardlinks/.git/objects/some-dir + S--no-hardlinks/.git/objects/some-dir/.some-dot-file + S--no-hardlinks/.git/objects/some-dir/some-file + S--no-hardlinks/.git/objects/some-file + EOF + test_cmp expected actual +' + +test_expect_success SYMLINKS 'setup repo with manually symlinked or unknown files at objects/' ' + git init T && + ( + cd T && + git config gc.auto 0 && + test_commit A && + git gc && + test_commit B && + + cd .git/objects && + mv pack packs && + ln -s packs pack && + find ?? -type d >loose-dirs && + last_loose=$(tail -n 1 loose-dirs) && + mv $last_loose a-loose-dir && + ln -s a-loose-dir $last_loose && + first_loose=$(head -n 1 loose-dirs) && + rm -f loose-dirs && + + cd $first_loose && + obj=$(ls *) && + mv $obj ../an-object && + ln -s ../an-object $obj && + + cd ../ && + find . -type f | sort >../../../T.objects-files.raw && + find . -type l | sort >../../../T.objects-symlinks.raw && + echo unknown_content >unknown_file + ) && + git -C T fsck && + git -C T rev-list --all --objects >T.objects +' + + +test_expect_success SYMLINKS 'clone repo with symlinked or unknown files at objects/' ' + for option in --local --no-hardlinks --shared --dissociate + do + git clone $option T T$option || return 1 && + git -C T$option fsck || return 1 && + git -C T$option rev-list --all --objects >T$option.objects && + test_cmp T.objects T$option.objects && + ( + cd T$option/.git/objects && + find . -type f | sort >../../../T$option.objects-files.raw && + find . -type l | sort >../../../T$option.objects-symlinks.raw + ) + done && + + for raw in $(ls T*.raw) + do + sed -e "s!/../!/Y/!; s![0-9a-f]\{38,\}!Z!" -e "/commit-graph/d" \ + -e "/multi-pack-index/d" <$raw >$raw.de-sha || return 1 + done && + + cat >expected-files <<-EOF && + ./Y/Z + ./Y/Z + ./a-loose-dir/Z + ./an-object + ./Y/Z + ./info/packs + ./pack/pack-Z.idx + ./pack/pack-Z.pack + ./packs/pack-Z.idx + ./packs/pack-Z.pack + ./unknown_file + EOF + + for option in --local --no-hardlinks --dissociate + do + test_cmp expected-files T$option.objects-files.raw.de-sha || return 1 && + test_must_be_empty T$option.objects-symlinks.raw.de-sha || return 1 + done && + + echo ./info/alternates >expected-files && + test_cmp expected-files T--shared.objects-files.raw && + test_must_be_empty T--shared.objects-symlinks.raw +' + test_done diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh index 2a0fb15cf1..b7a3fdf02d 100755 --- a/t/t5607-clone-bundle.sh +++ b/t/t5607-clone-bundle.sh @@ -83,4 +83,15 @@ test_expect_success 'failed bundle creation does not leave cruft' ' test_path_is_missing fail.bundle.lock ' +test_expect_success 'fetch SHA-1 from bundle' ' + test_create_repo foo && + test_commit -C foo x && + git -C foo bundle create tip.bundle -1 master && + git -C foo rev-parse HEAD >hash && + + # Exercise to ensure that fetching a SHA-1 from a bundle works with no + # errors + git fetch --no-tags foo/tip.bundle "$(cat hash)" +' + test_done diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh index b91ef548f8..fc634a56b2 100755 --- a/t/t5616-partial-clone.sh +++ b/t/t5616-partial-clone.sh @@ -42,8 +42,8 @@ test_expect_success 'do partial clone 1' ' test_cmp expect_1.oids observed.oids && test "$(git -C pc1 config --local core.repositoryformatversion)" = "1" && - test "$(git -C pc1 config --local extensions.partialclone)" = "origin" && - test "$(git -C pc1 config --local core.partialclonefilter)" = "blob:none" + test "$(git -C pc1 config --local remote.origin.promisor)" = "true" && + test "$(git -C pc1 config --local remote.origin.partialclonefilter)" = "blob:none" ' # checkout master to force dynamic object fetch of blobs at HEAD. @@ -208,6 +208,25 @@ test_expect_success 'use fsck before and after manually fetching a missing subtr test_cmp unique_types.expected unique_types.observed ' +test_expect_success 'implicitly construct combine: filter with repeated flags' ' + GIT_TRACE=$(pwd)/trace git clone --bare \ + --filter=blob:none --filter=tree:1 \ + "file://$(pwd)/srv.bare" pc2 && + grep "trace:.* git pack-objects .*--filter=combine:blob:none+tree:1" \ + trace && + git -C pc2 rev-list --objects --missing=allow-any HEAD >objects && + + # We should have gotten some root trees. + grep " $" objects && + # Should not have gotten any non-root trees or blobs. + ! grep " ." objects && + + xargs -n 1 git -C pc2 cat-file -t <objects >types && + sort -u types >unique_types.actual && + test_write_lines commit tree >unique_types.expected && + test_cmp unique_types.expected unique_types.actual +' + test_expect_success 'partial clone fetches blobs pointed to by refs even if normally filtered out' ' rm -rf src dst && git init src && @@ -417,4 +436,7 @@ test_expect_success 'tolerate server sending REF_DELTA against missing promisor ! test -e "$HTTPD_ROOT_PATH/one-time-sed" ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5617-clone-submodules-remote.sh b/t/t5617-clone-submodules-remote.sh new file mode 100755 index 0000000000..37fcce9c40 --- /dev/null +++ b/t/t5617-clone-submodules-remote.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +test_description='Test cloning repos with submodules using remote-tracking branches' + +. ./test-lib.sh + +pwd=$(pwd) + +test_expect_success 'setup' ' + git checkout -b master && + test_commit commit1 && + mkdir sub && + ( + cd sub && + git init && + test_commit subcommit1 && + git tag sub_when_added_to_super + ) && + git submodule add "file://$pwd/sub" sub && + git commit -m "add submodule" && + ( + cd sub && + test_commit subcommit2 + ) +' + +test_expect_success 'clone with --no-remote-submodules' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules --no-remote-submodules "file://$pwd/." super_clone && + ( + cd super_clone/sub && + git diff --exit-code sub_when_added_to_super + ) +' + +test_expect_success 'clone with --remote-submodules' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules --remote-submodules "file://$pwd/." super_clone && + ( + cd super_clone/sub && + git diff --exit-code remotes/origin/master + ) +' + +test_expect_success 'check the default is --no-remote-submodules' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules "file://$pwd/." super_clone && + ( + cd super_clone/sub && + git diff --exit-code sub_when_added_to_super + ) +' + +test_done diff --git a/t/t5618-alternate-refs.sh b/t/t5618-alternate-refs.sh new file mode 100755 index 0000000000..3353216f09 --- /dev/null +++ b/t/t5618-alternate-refs.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +test_description='test handling of --alternate-refs traversal' +. ./test-lib.sh + +# Avoid test_commit because we want a specific and known set of refs: +# +# base -- one +# \ \ +# two -- merged +# +# where "one" and "two" are on separate refs, and "merged" is available only in +# the dependent child repository. +test_expect_success 'set up local refs' ' + git checkout -b one && + test_tick && + git commit --allow-empty -m base && + test_tick && + git commit --allow-empty -m one && + git checkout -b two HEAD^ && + test_tick && + git commit --allow-empty -m two +' + +# We'll enter the child repository after it's set up since that's where +# all of the subsequent tests will want to run (and it's easy to forget a +# "-C child" and get nonsense results). +test_expect_success 'set up shared clone' ' + git clone -s . child && + cd child && + git merge origin/one +' + +test_expect_success 'rev-list --alternate-refs' ' + git rev-list --remotes=origin >expect && + git rev-list --alternate-refs >actual && + test_cmp expect actual +' + +test_expect_success 'rev-list --not --alternate-refs' ' + git rev-parse HEAD >expect && + git rev-list HEAD --not --alternate-refs >actual && + test_cmp expect actual +' + +test_expect_success 'limiting with alternateRefsPrefixes' ' + test_config core.alternateRefsPrefixes refs/heads/one && + git rev-list origin/one >expect && + git rev-list --alternate-refs >actual && + test_cmp expect actual +' + +test_expect_success 'log --source shows .alternate marker' ' + git log --oneline --source --remotes=origin >expect.orig && + sed "s/origin.* /.alternate /" <expect.orig >expect && + git log --oneline --source --alternate-refs >actual && + test_cmp expect actual +' + +test_done diff --git a/t/t5700-protocol-v1.sh b/t/t5700-protocol-v1.sh index 7c9511c593..2571eb90b7 100755 --- a/t/t5700-protocol-v1.sh +++ b/t/t5700-protocol-v1.sh @@ -292,4 +292,7 @@ test_expect_success 'push with http:// using protocol v1' ' grep "git< version 1" log ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh index 5b33f625dd..ae9175cedf 100755 --- a/t/t5702-protocol-v2.sh +++ b/t/t5702-protocol-v2.sh @@ -499,10 +499,7 @@ test_expect_success 'upload-pack respects client shallows' ' # Add extra commits to the client so that the whole fetch takes more # than 1 request (due to negotiation) - for i in $(test_seq 1 32) - do - test_commit -C client c$i - done && + test_commit_bulk -C client --id=c 32 && git -C server checkout -b newbranch base && test_commit -C server client_wants && @@ -634,6 +631,19 @@ test_expect_success 'fetch with http:// using protocol v2' ' grep "git< version 2" log ' +test_expect_success 'fetch with http:// by hash without tag following with protocol v2 does not list refs' ' + test_when_finished "rm -f log" && + + test_commit -C "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" two_a && + git -C "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" rev-parse two_a >two_a_hash && + + GIT_TRACE_PACKET="$(pwd)/log" git -C http_child -c protocol.version=2 \ + fetch --no-tags origin $(cat two_a_hash) && + + grep "fetch< version 2" log && + ! grep "fetch> command=ls-refs" log +' + test_expect_success 'fetch from namespaced repo respects namespaces' ' test_when_finished "rm -f log" && @@ -711,10 +721,7 @@ test_expect_success 'when server does not send "ready", expect FLUSH' ' # Create many commits to extend the negotiation phase across multiple # requests, so that the server does not send "ready" in the first # request. - for i in $(test_seq 1 32) - do - test_commit -C http_child c$i - done && + test_commit_bulk -C http_child --id=c 32 && # After the acknowledgments section, pretend that a DELIM # (0001) was sent instead of a FLUSH (0000). @@ -729,4 +736,7 @@ test_expect_success 'when server does not send "ready", expect FLUSH' ' test_i18ngrep "expected no other sections to be sent after no .ready." err ' +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t5703-upload-pack-ref-in-want.sh b/t/t5703-upload-pack-ref-in-want.sh index 0951d1bbdc..3a2c143c6d 100755 --- a/t/t5703-upload-pack-ref-in-want.sh +++ b/t/t5703-upload-pack-ref-in-want.sh @@ -157,106 +157,6 @@ test_expect_success 'want-ref with ref we already have commit for' ' check_output ' -. "$TEST_DIRECTORY"/lib-httpd.sh -start_httpd - -REPO="$HTTPD_DOCUMENT_ROOT_PATH/repo" -LOCAL_PRISTINE="$(pwd)/local_pristine" - -test_expect_success 'setup repos for change-while-negotiating test' ' - ( - git init "$REPO" && - cd "$REPO" && - >.git/git-daemon-export-ok && - test_commit m1 && - git tag -d m1 && - - # Local repo with many commits (so that negotiation will take - # more than 1 request/response pair) - git clone "http://127.0.0.1:$LIB_HTTPD_PORT/smart/repo" "$LOCAL_PRISTINE" && - cd "$LOCAL_PRISTINE" && - git checkout -b side && - for i in $(test_seq 1 33); do test_commit s$i; done && - - # Add novel commits to upstream - git checkout master && - cd "$REPO" && - test_commit m2 && - test_commit m3 && - git tag -d m2 m3 - ) && - git -C "$LOCAL_PRISTINE" remote set-url origin "http://127.0.0.1:$LIB_HTTPD_PORT/one_time_sed/repo" && - git -C "$LOCAL_PRISTINE" config protocol.version 2 -' - -inconsistency () { - # Simulate that the server initially reports $2 as the ref - # corresponding to $1, and after that, $1 as the ref corresponding to - # $1. This corresponds to the real-life situation where the server's - # repository appears to change during negotiation, for example, when - # different servers in a load-balancing arrangement serve (stateless) - # RPCs during a single negotiation. - printf "s/%s/%s/" \ - $(git -C "$REPO" rev-parse $1 | tr -d "\n") \ - $(git -C "$REPO" rev-parse $2 | tr -d "\n") \ - >"$HTTPD_ROOT_PATH/one-time-sed" -} - -test_expect_success 'server is initially ahead - no ref in want' ' - git -C "$REPO" config uploadpack.allowRefInWant false && - rm -rf local && - cp -r "$LOCAL_PRISTINE" local && - inconsistency master 1234567890123456789012345678901234567890 && - test_must_fail git -C local fetch 2>err && - test_i18ngrep "fatal: remote error: upload-pack: not our ref" err -' - -test_expect_success 'server is initially ahead - ref in want' ' - git -C "$REPO" config uploadpack.allowRefInWant true && - rm -rf local && - cp -r "$LOCAL_PRISTINE" local && - inconsistency master 1234567890123456789012345678901234567890 && - git -C local fetch && - - git -C "$REPO" rev-parse --verify master >expected && - git -C local rev-parse --verify refs/remotes/origin/master >actual && - test_cmp expected actual -' - -test_expect_success 'server is initially behind - no ref in want' ' - git -C "$REPO" config uploadpack.allowRefInWant false && - rm -rf local && - cp -r "$LOCAL_PRISTINE" local && - inconsistency master "master^" && - git -C local fetch && - - git -C "$REPO" rev-parse --verify "master^" >expected && - git -C local rev-parse --verify refs/remotes/origin/master >actual && - test_cmp expected actual -' - -test_expect_success 'server is initially behind - ref in want' ' - git -C "$REPO" config uploadpack.allowRefInWant true && - rm -rf local && - cp -r "$LOCAL_PRISTINE" local && - inconsistency master "master^" && - git -C local fetch && - - git -C "$REPO" rev-parse --verify "master" >expected && - git -C local rev-parse --verify refs/remotes/origin/master >actual && - test_cmp expected actual -' - -test_expect_success 'server loses a ref - ref in want' ' - git -C "$REPO" config uploadpack.allowRefInWant true && - rm -rf local && - cp -r "$LOCAL_PRISTINE" local && - echo "s/master/raster/" >"$HTTPD_ROOT_PATH/one-time-sed" && - test_must_fail git -C local fetch 2>err && - - test_i18ngrep "fatal: remote error: unknown ref refs/heads/raster" err -' - REPO="$(pwd)/repo" LOCAL_PRISTINE="$(pwd)/local_pristine" @@ -287,7 +187,7 @@ test_expect_success 'setup repos for fetching with ref-in-want tests' ' git clone "file://$REPO" "$LOCAL_PRISTINE" && cd "$LOCAL_PRISTINE" && git checkout -b side && - for i in $(test_seq 1 33); do test_commit s$i; done && + test_commit_bulk --id=s 33 && # Add novel commits to upstream git checkout master && @@ -372,4 +272,108 @@ test_expect_success 'fetching with wildcard that matches multiple refs' ' grep "want-ref refs/heads/o/bar" log ' +. "$TEST_DIRECTORY"/lib-httpd.sh +start_httpd + +REPO="$HTTPD_DOCUMENT_ROOT_PATH/repo" +LOCAL_PRISTINE="$(pwd)/local_pristine" + +test_expect_success 'setup repos for change-while-negotiating test' ' + ( + git init "$REPO" && + cd "$REPO" && + >.git/git-daemon-export-ok && + test_commit m1 && + git tag -d m1 && + + # Local repo with many commits (so that negotiation will take + # more than 1 request/response pair) + rm -rf "$LOCAL_PRISTINE" && + git clone "http://127.0.0.1:$LIB_HTTPD_PORT/smart/repo" "$LOCAL_PRISTINE" && + cd "$LOCAL_PRISTINE" && + git checkout -b side && + test_commit_bulk --id=s 33 && + + # Add novel commits to upstream + git checkout master && + cd "$REPO" && + test_commit m2 && + test_commit m3 && + git tag -d m2 m3 + ) && + git -C "$LOCAL_PRISTINE" remote set-url origin "http://127.0.0.1:$LIB_HTTPD_PORT/one_time_sed/repo" && + git -C "$LOCAL_PRISTINE" config protocol.version 2 +' + +inconsistency () { + # Simulate that the server initially reports $2 as the ref + # corresponding to $1, and after that, $1 as the ref corresponding to + # $1. This corresponds to the real-life situation where the server's + # repository appears to change during negotiation, for example, when + # different servers in a load-balancing arrangement serve (stateless) + # RPCs during a single negotiation. + printf "s/%s/%s/" \ + $(git -C "$REPO" rev-parse $1 | tr -d "\n") \ + $(git -C "$REPO" rev-parse $2 | tr -d "\n") \ + >"$HTTPD_ROOT_PATH/one-time-sed" +} + +test_expect_success 'server is initially ahead - no ref in want' ' + git -C "$REPO" config uploadpack.allowRefInWant false && + rm -rf local && + cp -r "$LOCAL_PRISTINE" local && + inconsistency master 1234567890123456789012345678901234567890 && + test_must_fail git -C local fetch 2>err && + test_i18ngrep "fatal: remote error: upload-pack: not our ref" err +' + +test_expect_success 'server is initially ahead - ref in want' ' + git -C "$REPO" config uploadpack.allowRefInWant true && + rm -rf local && + cp -r "$LOCAL_PRISTINE" local && + inconsistency master 1234567890123456789012345678901234567890 && + git -C local fetch && + + git -C "$REPO" rev-parse --verify master >expected && + git -C local rev-parse --verify refs/remotes/origin/master >actual && + test_cmp expected actual +' + +test_expect_success 'server is initially behind - no ref in want' ' + git -C "$REPO" config uploadpack.allowRefInWant false && + rm -rf local && + cp -r "$LOCAL_PRISTINE" local && + inconsistency master "master^" && + git -C local fetch && + + git -C "$REPO" rev-parse --verify "master^" >expected && + git -C local rev-parse --verify refs/remotes/origin/master >actual && + test_cmp expected actual +' + +test_expect_success 'server is initially behind - ref in want' ' + git -C "$REPO" config uploadpack.allowRefInWant true && + rm -rf local && + cp -r "$LOCAL_PRISTINE" local && + inconsistency master "master^" && + git -C local fetch && + + git -C "$REPO" rev-parse --verify "master" >expected && + git -C local rev-parse --verify refs/remotes/origin/master >actual && + test_cmp expected actual +' + +test_expect_success 'server loses a ref - ref in want' ' + git -C "$REPO" config uploadpack.allowRefInWant true && + rm -rf local && + cp -r "$LOCAL_PRISTINE" local && + echo "s/master/raster/" >"$HTTPD_ROOT_PATH/one-time-sed" && + test_must_fail git -C local fetch 2>err && + + test_i18ngrep "fatal: remote error: unknown ref refs/heads/raster" err +' + +# DO NOT add non-httpd-specific tests here, because the last part of this +# test script is only executed when httpd is available and enabled. + test_done diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh index 0507999729..b8cf82349b 100755 --- a/t/t6000-rev-list-misc.sh +++ b/t/t6000-rev-list-misc.sh @@ -48,6 +48,26 @@ test_expect_success 'rev-list --objects with pathspecs and copied files' ' ! grep one output ' +test_expect_success 'rev-list --objects --no-object-names has no space/names' ' + git rev-list --objects --no-object-names HEAD >output && + ! grep wanted_file output && + ! grep unwanted_file output && + ! grep " " output +' + +test_expect_success 'rev-list --objects --no-object-names works with cat-file' ' + git rev-list --objects --no-object-names --all >list-output && + git cat-file --batch-check <list-output >cat-output && + ! grep missing cat-output +' + +test_expect_success '--no-object-names and --object-names are last-one-wins' ' + git rev-list --objects --no-object-names --object-names --all >output && + grep wanted_file output && + git rev-list --objects --object-names --no-object-names --all >output && + ! grep wanted_file output +' + test_expect_success 'rev-list A..B and rev-list ^A B are the same' ' git commit --allow-empty -m another && git tag -a -m "annotated" v1.0 && @@ -120,4 +140,12 @@ test_expect_success '--header shows a NUL after each commit' ' test_cmp expect actual ' +test_expect_success 'rev-list --end-of-options' ' + git update-ref refs/heads/--output=yikes HEAD && + git rev-list --end-of-options --output=yikes >actual && + test_path_is_missing yikes && + git rev-list HEAD >expect && + test_cmp expect actual +' + test_done diff --git a/t/t6011-rev-list-with-bad-commit.sh b/t/t6011-rev-list-with-bad-commit.sh index 545b461e51..bad02cf5b8 100755 --- a/t/t6011-rev-list-with-bad-commit.sh +++ b/t/t6011-rev-list-with-bad-commit.sh @@ -42,7 +42,7 @@ test_expect_success 'corrupt second commit object' \ ' test_expect_success 'rev-list should fail' ' - test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list --all > /dev/null + test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git -c core.commitGraph=false rev-list --all > /dev/null ' test_expect_success 'git repack _MUST_ fail' \ diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 49a394bd75..bdc42e9440 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -615,6 +615,7 @@ test_expect_success 'broken branch creation' ' git add missing/MISSING && git commit -m "6(broken): Added file that will be deleted" && git tag BROKEN_HASH6 && + deleted=$(git rev-parse --verify HEAD:missing) && add_line_into_file "7(broken): second line on a broken branch" hello2 && git tag BROKEN_HASH7 && add_line_into_file "8(broken): third line on a broken branch" hello2 && @@ -622,12 +623,12 @@ test_expect_success 'broken branch creation' ' git rm missing/MISSING && git commit -m "9(broken): Remove missing file" && git tag BROKEN_HASH9 && - rm .git/objects/39/f7e61a724187ab767d2e08442d9b6b9dab587d + rm .git/objects/$(test_oid_to_path $deleted) ' echo "" > expected.ok cat > expected.missing-tree.default <<EOF -fatal: unable to read tree 39f7e61a724187ab767d2e08442d9b6b9dab587d +fatal: unable to read tree $deleted EOF test_expect_success 'bisect fails if tree is broken on start commit' ' @@ -713,12 +714,12 @@ test_expect_success 'bisect: demonstrate identification of damage boundary' " " cat > expected.bisect-log <<EOF -# bad: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>. -# good: [7b7f204a749c3125d5224ed61ea2ae1187ad046f] Add <2: A new day for git> into <hello>. -git bisect start '32a594a3fdac2d57cf6d02987e30eec68511498c' '7b7f204a749c3125d5224ed61ea2ae1187ad046f' -# good: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into <hello>. -git bisect good 3de952f2416b6084f557ec417709eac740c6818c -# first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>. +# bad: [$HASH4] Add <4: Ciao for now> into <hello>. +# good: [$HASH2] Add <2: A new day for git> into <hello>. +git bisect start '$HASH4' '$HASH2' +# good: [$HASH3] Add <3: Another new day for git> into <hello>. +git bisect good $HASH3 +# first bad commit: [$HASH4] Add <4: Ciao for now> into <hello>. EOF test_expect_success 'bisect log: successful result' ' @@ -731,14 +732,14 @@ test_expect_success 'bisect log: successful result' ' ' cat > expected.bisect-skip-log <<EOF -# bad: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>. -# good: [7b7f204a749c3125d5224ed61ea2ae1187ad046f] Add <2: A new day for git> into <hello>. -git bisect start '32a594a3fdac2d57cf6d02987e30eec68511498c' '7b7f204a749c3125d5224ed61ea2ae1187ad046f' -# skip: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into <hello>. -git bisect skip 3de952f2416b6084f557ec417709eac740c6818c +# bad: [$HASH4] Add <4: Ciao for now> into <hello>. +# good: [$HASH2] Add <2: A new day for git> into <hello>. +git bisect start '$HASH4' '$HASH2' +# skip: [$HASH3] Add <3: Another new day for git> into <hello>. +git bisect skip $HASH3 # only skipped commits left to test -# possible first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>. -# possible first bad commit: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into <hello>. +# possible first bad commit: [$HASH4] Add <4: Ciao for now> into <hello>. +# possible first bad commit: [$HASH3] Add <3: Another new day for git> into <hello>. EOF test_expect_success 'bisect log: only skip commits left' ' diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh index 716283b274..ad1922b999 100755 --- a/t/t6040-tracking-info.sh +++ b/t/t6040-tracking-info.sh @@ -38,7 +38,7 @@ test_expect_success setup ' advance h ' -script='s/^..\(b.\) *[0-9a-f]* \(.*\)$/\1 \2/p' +t6040_script='s/^..\(b.\) *[0-9a-f]* \(.*\)$/\1 \2/p' cat >expect <<\EOF b1 [ahead 1, behind 1] d b2 [ahead 1, behind 1] d @@ -53,7 +53,7 @@ test_expect_success 'branch -v' ' cd test && git branch -v ) | - sed -n -e "$script" >actual && + sed -n -e "$t6040_script" >actual && test_i18ncmp expect actual ' @@ -71,7 +71,7 @@ test_expect_success 'branch -vv' ' cd test && git branch -vv ) | - sed -n -e "$script" >actual && + sed -n -e "$t6040_script" >actual && test_i18ncmp expect actual ' @@ -160,6 +160,19 @@ test_expect_success 'status -s -b --no-ahead-behind (diverged from upstream)' ' ' cat >expect <<\EOF +## b1...origin/master [different] +EOF + +test_expect_success 'status.aheadbehind=false status -s -b (diverged from upstream)' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=false status -s -b | head -1 + ) >actual && + test_i18ncmp expect actual +' + +cat >expect <<\EOF On branch b1 Your branch and 'origin/master' have diverged, and have 1 and 1 different commits each, respectively. @@ -174,6 +187,15 @@ test_expect_success 'status --long --branch' ' test_i18ncmp expect actual ' +test_expect_success 'status --long --branch' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=true status --long -b | head -3 + ) >actual && + test_i18ncmp expect actual +' + cat >expect <<\EOF On branch b1 Your branch and 'origin/master' refer to different commits. @@ -188,6 +210,15 @@ test_expect_success 'status --long --branch --no-ahead-behind' ' test_i18ncmp expect actual ' +test_expect_success 'status.aheadbehind=false status --long --branch' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=false status --long -b | head -2 + ) >actual && + test_i18ncmp expect actual +' + cat >expect <<\EOF ## b5...brokenbase [gone] EOF diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh index 50b7543483..c966147d5d 100755 --- a/t/t6043-merge-rename-directories.sh +++ b/t/t6043-merge-rename-directories.sh @@ -4403,4 +4403,115 @@ test_expect_success '13d-check(info): messages for rename/rename(1to1) via dual ) ' +# Testcase 13e, directory rename in virtual merge base +# +# This testcase has a slightly different setup than all the above cases, in +# order to include a recursive case: +# +# A C +# o - o +# / \ / \ +# O o X ? +# \ / \ / +# o o +# B D +# +# Commit O: a/{z,y} +# Commit A: b/{z,y} +# Commit B: a/{z,y,x} +# Commit C: b/{z,y,x} +# Commit D: b/{z,y}, a/x +# Expected: b/{z,y,x} (sort of; see below for why this might not be expected) +# +# NOTES: 'X' represents a virtual merge base. With the default of +# directory rename detection yielding conflicts, merging A and B +# results in a conflict complaining about whether 'x' should be +# under 'a/' or 'b/'. However, when creating the virtual merge +# base 'X', since virtual merge bases need to be written out as a +# tree, we cannot have a conflict, so some resolution has to be +# picked. +# +# In choosing the right resolution, it's worth noting here that +# commits C & D are merges of A & B that choose different +# locations for 'x' (i.e. they resolve the conflict differently), +# and so it would be nice when merging C & D if git could detect +# this difference of opinion and report a conflict. But the only +# way to do so that I can think of would be to have the virtual +# merge base place 'x' in some directory other than either 'a/' or +# 'b/', which seems a little weird -- especially since it'd result +# in a rename/rename(1to2) conflict with a source path that never +# existed in any version. +# +# So, for now, when directory rename detection is set to +# 'conflict' just avoid doing directory rename detection at all in +# the recursive case. This will not allow us to detect a conflict +# in the outer merge for this special kind of setup, but it at +# least avoids hitting a BUG(). +# +test_expect_success '13e-setup: directory rename detection in recursive case' ' + test_create_repo 13e && + ( + cd 13e && + + mkdir a && + echo z >a/z && + echo y >a/y && + git add a && + test_tick && + git commit -m "O" && + + git branch O && + git branch A && + git branch B && + + git checkout A && + git mv a/ b/ && + test_tick && + git commit -m "A" && + + git checkout B && + echo x >a/x && + git add a && + test_tick && + git commit -m "B" && + + git branch C A && + git branch D B && + + git checkout C && + test_must_fail git -c merge.directoryRenames=conflict merge B && + git add b/x && + test_tick && + git commit -m "C" && + + + git checkout D && + test_must_fail git -c merge.directoryRenames=conflict merge A && + git add b/x && + mkdir a && + git mv b/x a/x && + test_tick && + git commit -m "D" + ) +' + +test_expect_success '13e-check: directory rename detection in recursive case' ' + ( + cd 13e && + + git checkout --quiet D^0 && + + git -c merge.directoryRenames=conflict merge -s recursive C^0 >out 2>err && + + test_i18ngrep ! CONFLICT out && + test_i18ngrep ! BUG: err && + test_i18ngrep ! core.dumped err && + test_must_be_empty err && + + git ls-files >paths && + ! grep a/x paths && + grep b/x paths + ) +' + test_done diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh index acd7f5ab80..de0e5a5d36 100755 --- a/t/t6112-rev-list-filters-objects.sh +++ b/t/t6112-rev-list-filters-objects.sh @@ -278,7 +278,19 @@ test_expect_success 'verify skipping tree iteration when not collecting omits' ' test_line_count = 2 actual && # Make sure no other trees were considered besides the root. - ! grep "Skipping contents of tree [^.]" filter_trace + ! grep "Skipping contents of tree [^.]" filter_trace && + + # Try this again with "combine:". If both sub-filters are skipping + # trees, the composite filter should also skip trees. This is not + # important unless the user does combine:tree:X+tree:Y or another filter + # besides "tree:" is implemented in the future which can skip trees. + GIT_TRACE=1 git -C r3 rev-list \ + --objects --filter=combine:tree:1+tree:3 HEAD 2>filter_trace && + + # Only skip the dir1/ tree, which is shared between the two commits. + grep "Skipping contents of tree " filter_trace >actual && + test_write_lines "Skipping contents of tree dir1/..." >expected && + test_cmp expected actual ' # Test tree:# filters. @@ -330,6 +342,148 @@ test_expect_success 'verify tree:3 includes everything expected' ' test_line_count = 10 actual ' +test_expect_success 'combine:... for a simple combination' ' + git -C r3 rev-list --objects --filter=combine:tree:2+blob:none HEAD \ + >actual && + + expect_has HEAD "" && + expect_has HEAD~1 "" && + expect_has HEAD dir1 && + + # There are also 2 commit objects + test_line_count = 5 actual && + + cp actual expected && + + # Try again using repeated --filter - this is equivalent to a manual + # combine with "combine:...+..." + git -C r3 rev-list --objects --filter=combine:tree:2 \ + --filter=blob:none HEAD >actual && + + test_cmp expected actual +' + +test_expect_success 'combine:... with URL encoding' ' + git -C r3 rev-list --objects \ + --filter=combine:tree%3a2+blob:%6Eon%65 HEAD >actual && + + expect_has HEAD "" && + expect_has HEAD~1 "" && + expect_has HEAD dir1 && + + # There are also 2 commit objects + test_line_count = 5 actual +' + +expect_invalid_filter_spec () { + spec="$1" && + err="$2" && + + test_must_fail git -C r3 rev-list --objects --filter="$spec" HEAD \ + >actual 2>actual_stderr && + test_must_be_empty actual && + test_i18ngrep "$err" actual_stderr +} + +test_expect_success 'combine:... while URL-encoding things that should not be' ' + expect_invalid_filter_spec combine%3Atree:2+blob:none \ + "invalid filter-spec" +' + +test_expect_success 'combine: with nothing after the :' ' + expect_invalid_filter_spec combine: "expected something after combine:" +' + +test_expect_success 'parse error in first sub-filter in combine:' ' + expect_invalid_filter_spec combine:tree:asdf+blob:none \ + "expected .tree:<depth>." +' + +test_expect_success 'combine:... with non-encoded reserved chars' ' + expect_invalid_filter_spec combine:tree:2+sparse:@xyz \ + "must escape char in sub-filter-spec: .@." && + expect_invalid_filter_spec combine:tree:2+sparse:\` \ + "must escape char in sub-filter-spec: .\`." && + expect_invalid_filter_spec combine:tree:2+sparse:~abc \ + "must escape char in sub-filter-spec: .\~." +' + +test_expect_success 'validate err msg for "combine:<valid-filter>+"' ' + expect_invalid_filter_spec combine:tree:2+ "expected .tree:<depth>." +' + +test_expect_success 'combine:... with edge-case hex digits: Ff Aa 0 9' ' + git -C r3 rev-list --objects --filter="combine:tree:2+bl%6Fb:n%6fne" \ + HEAD >actual && + test_line_count = 5 actual && + git -C r3 rev-list --objects --filter="combine:tree%3A2+blob%3anone" \ + HEAD >actual && + test_line_count = 5 actual && + git -C r3 rev-list --objects --filter="combine:tree:%30" HEAD >actual && + test_line_count = 2 actual && + git -C r3 rev-list --objects --filter="combine:tree:%39+blob:none" \ + HEAD >actual && + test_line_count = 5 actual +' + +test_expect_success 'add sparse pattern blobs whose paths have reserved chars' ' + cp r3/pattern r3/pattern1+renamed% && + cp r3/pattern "r3/p;at%ter+n" && + cp r3/pattern r3/^~pattern && + git -C r3 add pattern1+renamed% "p;at%ter+n" ^~pattern && + git -C r3 commit -m "add sparse pattern files with reserved chars" +' + +test_expect_success 'combine:... with more than two sub-filters' ' + git -C r3 rev-list --objects \ + --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern \ + HEAD >actual && + + expect_has HEAD "" && + expect_has HEAD~1 "" && + expect_has HEAD~2 "" && + expect_has HEAD dir1 && + expect_has HEAD dir1/sparse1 && + expect_has HEAD dir1/sparse2 && + + # Should also have 3 commits + test_line_count = 9 actual && + + # Try again, this time making sure the last sub-filter is only + # URL-decoded once. + cp actual expect && + + git -C r3 rev-list --objects \ + --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern1%2brenamed%25 \ + HEAD >actual && + test_cmp expect actual && + + # Use the same composite filter again, but with a pattern file name that + # requires encoding multiple characters, and use implicit filter + # combining. + test_when_finished "rm -f trace1" && + GIT_TRACE=$(pwd)/trace1 git -C r3 rev-list --objects \ + --filter=tree:3 --filter=blob:limit=40 \ + --filter=sparse:oid="master:p;at%ter+n" \ + HEAD >actual && + + test_cmp expect actual && + grep "Add to combine filter-spec: sparse:oid=master:p%3bat%25ter%2bn" \ + trace1 && + + # Repeat the above test, but this time, the characters to encode are in + # the LHS of the combined filter. + test_when_finished "rm -f trace2" && + GIT_TRACE=$(pwd)/trace2 git -C r3 rev-list --objects \ + --filter=sparse:oid=master:^~pattern \ + --filter=tree:3 --filter=blob:limit=40 \ + HEAD >actual && + + test_cmp expect actual && + grep "Add to combine filter-spec: sparse:oid=master:%5e%7epattern" \ + trace2 +' + # Test provisional omit collection logic with a repo that has objects appearing # at multiple depths - first deeper than the filter's threshold, then shallow. @@ -373,6 +527,37 @@ test_expect_success 'verify skipping tree iteration when collecting omits' ' test_cmp expect actual ' +test_expect_success 'setup r5' ' + git init r5 && + mkdir -p r5/subdir && + + echo 1 >r5/short-root && + echo 12345 >r5/long-root && + echo a >r5/subdir/short-subdir && + echo abcde >r5/subdir/long-subdir && + + git -C r5 add short-root long-root subdir && + git -C r5 commit -m "commit msg" +' + +test_expect_success 'verify collecting omits in combined: filter' ' + # Note that this test guards against the naive implementation of simply + # giving both filters the same "omits" set and expecting it to + # automatically merge them. + git -C r5 rev-list --objects --quiet --filter-print-omitted \ + --filter=combine:tree:2+blob:limit=3 HEAD >actual && + + # Expect 0 trees/commits, 3 blobs omitted (all blobs except short-root) + omitted_1=$(echo 12345 | git hash-object --stdin) && + omitted_2=$(echo a | git hash-object --stdin) && + omitted_3=$(echo abcde | git hash-object --stdin) && + + grep ~$omitted_1 actual && + grep ~$omitted_2 actual && + grep ~$omitted_3 actual && + test_line_count = 3 actual +' + # Test tree:<depth> where a tree is iterated to twice - once where a subentry is # too deep to be included, and again where the blob inside it is shallow enough # to be included. This makes sure we don't use LOFR_MARK_SEEN incorrectly (we @@ -441,11 +626,4 @@ test_expect_success 'expand blob limit in protocol' ' grep "blob:limit=1024" trace ' -test_expect_success 'expand tree depth limit in protocol' ' - GIT_TRACE_PACKET="$(pwd)/tree_trace" git -c protocol.version=2 clone \ - --filter=tree:0k "file://$(pwd)/r2" tree && - ! grep "tree:0k" tree_trace && - grep "tree:0" tree_trace -' - test_done diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh index 93f23cfa82..8a72b4c43a 100755 --- a/t/t6200-fmt-merge-msg.sh +++ b/t/t6200-fmt-merge-msg.sh @@ -66,12 +66,7 @@ test_expect_success setup ' git commit -a -m "Right #5" && git checkout -b long && - i=0 && - while test $i -lt 30 - do - test_commit $i one && - i=$(($i+1)) - done && + test_commit_bulk --start=0 --message=%s --filename=one 30 && git show-branch && diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index d9235217fc..9c910ce746 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -346,6 +346,32 @@ test_expect_success 'Verify descending sort' ' ' cat >expected <<\EOF +refs/tags/testtag +refs/tags/testtag-2 +EOF + +test_expect_success 'exercise patterns with prefixes' ' + git tag testtag-2 && + test_when_finished "git tag -d testtag-2" && + git for-each-ref --format="%(refname)" \ + refs/tags/testtag refs/tags/testtag-2 >actual && + test_cmp expected actual +' + +cat >expected <<\EOF +refs/tags/testtag +refs/tags/testtag-2 +EOF + +test_expect_success 'exercise glob patterns with prefixes' ' + git tag testtag-2 && + test_when_finished "git tag -d testtag-2" && + git for-each-ref --format="%(refname)" \ + refs/tags/testtag "refs/tags/testtag-*" >actual && + test_cmp expected actual +' + +cat >expected <<\EOF 'refs/heads/master' 'refs/remotes/origin/master' 'refs/tags/testtag' @@ -500,6 +526,25 @@ test_expect_success 'Check ambiguous head and tag refs II (loose)' ' test_cmp expected actual ' +test_expect_success 'create tag without tagger' ' + git tag -a -m "Broken tag" taggerless && + git tag -f taggerless $(git cat-file tag taggerless | + sed -e "/^tagger /d" | + git hash-object --stdin -w -t tag) +' + +test_atom refs/tags/taggerless type 'commit' +test_atom refs/tags/taggerless tag 'taggerless' +test_atom refs/tags/taggerless tagger '' +test_atom refs/tags/taggerless taggername '' +test_atom refs/tags/taggerless taggeremail '' +test_atom refs/tags/taggerless taggerdate '' +test_atom refs/tags/taggerless committer '' +test_atom refs/tags/taggerless committername '' +test_atom refs/tags/taggerless committeremail '' +test_atom refs/tags/taggerless committerdate '' +test_atom refs/tags/taggerless subject 'Broken tag' + test_expect_success 'an unusual tag with an incomplete line' ' git tag -m "bogo" bogo && diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh index fc067ed672..35408d53fd 100755 --- a/t/t6302-for-each-ref-filter.sh +++ b/t/t6302-for-each-ref-filter.sh @@ -441,4 +441,17 @@ test_expect_success '--merged is incompatible with --no-merged' ' test_must_fail git for-each-ref --merged HEAD --no-merged HEAD ' +test_expect_success 'validate worktree atom' ' + cat >expect <<-EOF && + master: $(pwd) + master_worktree: $(pwd)/worktree_dir + side: not checked out + EOF + git worktree add -b master_worktree worktree_dir master && + git for-each-ref --format="%(refname:short): %(if)%(worktreepath)%(then)%(worktreepath)%(else)not checked out%(end)" refs/heads/ >actual && + rm -r worktree_dir && + git worktree prune && + test_cmp expect actual +' + test_done diff --git a/t/t6501-freshen-objects.sh b/t/t6501-freshen-objects.sh index 033871ee5f..f30b4849b6 100755 --- a/t/t6501-freshen-objects.sh +++ b/t/t6501-freshen-objects.sh @@ -137,7 +137,7 @@ test_expect_success 'do not complain about existing broken links (commit)' ' some message EOF commit=$(git hash-object -t commit -w broken-commit) && - git gc 2>stderr && + git gc -q 2>stderr && verbose git cat-file -e $commit && test_must_be_empty stderr ' @@ -147,7 +147,7 @@ test_expect_success 'do not complain about existing broken links (tree)' ' 100644 blob 0000000000000000000000000000000000000003 foo EOF tree=$(git mktree --missing <broken-tree) && - git gc 2>stderr && + git gc -q 2>stderr && git cat-file -e $tree && test_must_be_empty stderr ' @@ -162,7 +162,7 @@ test_expect_success 'do not complain about existing broken links (tag)' ' this is a broken tag EOF tag=$(git hash-object -t tag -w broken-tag) && - git gc 2>stderr && + git gc -q 2>stderr && git cat-file -e $tag && test_must_be_empty stderr ' diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 6aeeb279a0..80eb13d94e 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -932,6 +932,27 @@ test_expect_success GPG \ test_cmp expect actual ' +get_tag_header gpgsign-enabled $commit commit $time >expect +echo "A message" >>expect +echo '-----BEGIN PGP SIGNATURE-----' >>expect +test_expect_success GPG \ + 'git tag configured tag.gpgsign enables GPG sign' \ + 'test_config tag.gpgsign true && + git tag -m "A message" gpgsign-enabled && + get_tag_msg gpgsign-enabled>actual && + test_cmp expect actual +' + +get_tag_header no-sign $commit commit $time >expect +echo "A message" >>expect +test_expect_success GPG \ + 'git tag --no-sign configured tag.gpgsign skip GPG sign' \ + 'test_config tag.gpgsign true && + git tag -a --no-sign -m "A message" no-sign && + get_tag_msg no-sign>actual && + test_cmp expect actual +' + test_expect_success GPG \ 'trying to create a signed tag with non-existing -F file should fail' ' ! test -f nonexistingfile && diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh index 53cf42fac1..d5218743e9 100755 --- a/t/t7060-wtstatus.sh +++ b/t/t7060-wtstatus.sh @@ -38,7 +38,6 @@ You have unmerged paths. Unmerged paths: (use "git add/rm <file>..." as appropriate to mark resolution) - deleted by us: foo no changes added to commit (use "git add" and/or "git commit -a") @@ -143,7 +142,6 @@ You have unmerged paths. Unmerged paths: (use "git add/rm <file>..." as appropriate to mark resolution) - both added: conflict.txt deleted by them: main.txt @@ -177,7 +175,6 @@ You have unmerged paths. Unmerged paths: (use "git add/rm <file>..." as appropriate to mark resolution) - both deleted: main.txt added by them: sub_master.txt added by us: sub_second.txt @@ -201,12 +198,10 @@ You have unmerged paths. (use "git merge --abort" to abort the merge) Changes to be committed: - new file: sub_master.txt Unmerged paths: (use "git rm <file>..." to mark resolution) - both deleted: main.txt Untracked files not listed (use -u option to show untracked files) diff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh index 11eccc231a..537787e598 100755 --- a/t/t7064-wtstatus-pv2.sh +++ b/t/t7064-wtstatus-pv2.sh @@ -445,6 +445,14 @@ test_expect_success 'verify --[no-]ahead-behind with V2 format' ' EOF git status --ahead-behind --porcelain=v2 --branch --untracked-files=all >actual && + test_cmp expect actual && + + # Confirm that "status.aheadbehind" DOES NOT work on V2 format. + git -c status.aheadbehind=false status --porcelain=v2 --branch --untracked-files=all >actual && + test_cmp expect actual && + + # Confirm that "status.aheadbehind" DOES NOT work on V2 format. + git -c status.aheadbehind=true status --porcelain=v2 --branch --untracked-files=all >actual && test_cmp expect actual ) ' diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 5990299fc9..b696bae5f5 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -249,7 +249,7 @@ test_expect_success 'checkout to detach HEAD (with advice declined)' ' test_expect_success 'checkout to detach HEAD' ' git config advice.detachedHead true && git checkout -f renamer && git clean -f && - GIT_TEST_GETTEXT_POISON= git checkout renamer^ 2>messages && + GIT_TEST_GETTEXT_POISON=false git checkout renamer^ 2>messages && grep "HEAD is now at 7329388" messages && test_line_count -gt 1 messages && H=$(git rev-parse --verify HEAD) && diff --git a/t/t7405-submodule-merge.sh b/t/t7405-submodule-merge.sh index 7855bd8648..aa33978ed2 100755 --- a/t/t7405-submodule-merge.sh +++ b/t/t7405-submodule-merge.sh @@ -417,7 +417,7 @@ test_expect_failure 'directory/submodule conflict; keep submodule clean' ' ) ' -test_expect_failure 'directory/submodule conflict; should not treat submodule files as untracked or in the way' ' +test_expect_failure !FAIL_PREREQS 'directory/submodule conflict; should not treat submodule files as untracked or in the way' ' test_when_finished "git -C directory-submodule/path reset --hard" && test_when_finished "git -C directory-submodule reset --hard" && ( diff --git a/t/t7502-commit-porcelain.sh b/t/t7502-commit-porcelain.sh index 5733d9cd34..14c92e4c25 100755 --- a/t/t7502-commit-porcelain.sh +++ b/t/t7502-commit-porcelain.sh @@ -402,7 +402,7 @@ echo editor started >"$(pwd)/.git/result" exit 0 EOF -test_expect_success !AUTOIDENT 'do not fire editor when committer is bogus' ' +test_expect_success !FAIL_PREREQS,!AUTOIDENT 'do not fire editor when committer is bogus' ' >.git/result && echo >>negative && diff --git a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh new file mode 100755 index 0000000000..b3485450a2 --- /dev/null +++ b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh @@ -0,0 +1,281 @@ +#!/bin/sh + +test_description='pre-commit and pre-merge-commit hooks' + +. ./test-lib.sh + +HOOKDIR="$(git rev-parse --git-dir)/hooks" +PRECOMMIT="$HOOKDIR/pre-commit" +PREMERGE="$HOOKDIR/pre-merge-commit" + +# Prepare sample scripts that write their $0 to actual_hooks +test_expect_success 'sample script setup' ' + mkdir -p "$HOOKDIR" && + write_script "$HOOKDIR/success.sample" <<-\EOF && + echo $0 >>actual_hooks + exit 0 + EOF + write_script "$HOOKDIR/fail.sample" <<-\EOF && + echo $0 >>actual_hooks + exit 1 + EOF + write_script "$HOOKDIR/non-exec.sample" <<-\EOF && + echo $0 >>actual_hooks + exit 1 + EOF + chmod -x "$HOOKDIR/non-exec.sample" && + write_script "$HOOKDIR/require-prefix.sample" <<-\EOF && + echo $0 >>actual_hooks + test $GIT_PREFIX = "success/" + EOF + write_script "$HOOKDIR/check-author.sample" <<-\EOF + echo $0 >>actual_hooks + test "$GIT_AUTHOR_NAME" = "New Author" && + test "$GIT_AUTHOR_EMAIL" = "newauthor@example.com" + EOF +' + +test_expect_success 'root commit' ' + echo "root" >file && + git add file && + git commit -m "zeroth" && + git checkout -b side && + echo "foo" >foo && + git add foo && + git commit -m "make it non-ff" && + git branch side-orig side && + git checkout master +' + +test_expect_success 'setup conflicting branches' ' + test_when_finished "git checkout master" && + git checkout -b conflicting-a master && + echo a >conflicting && + git add conflicting && + git commit -m conflicting-a && + git checkout -b conflicting-b master && + echo b >conflicting && + git add conflicting && + git commit -m conflicting-b +' + +test_expect_success 'with no hook' ' + test_when_finished "rm -f actual_hooks" && + echo "foo" >file && + git add file && + git commit -m "first" && + test_path_is_missing actual_hooks +' + +test_expect_success 'with no hook (merge)' ' + test_when_finished "rm -f actual_hooks" && + git branch -f side side-orig && + git checkout side && + git merge -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success '--no-verify with no hook' ' + test_when_finished "rm -f actual_hooks" && + echo "bar" >file && + git add file && + git commit --no-verify -m "bar" && + test_path_is_missing actual_hooks +' + +test_expect_success '--no-verify with no hook (merge)' ' + test_when_finished "rm -f actual_hooks" && + git branch -f side side-orig && + git checkout side && + git merge --no-verify -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success 'with succeeding hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" && + cp "$HOOKDIR/success.sample" "$PRECOMMIT" && + echo "$PRECOMMIT" >expected_hooks && + echo "more" >>file && + git add file && + git commit -m "more" && + test_cmp expected_hooks actual_hooks +' + +test_expect_success 'with succeeding hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" && + cp "$HOOKDIR/success.sample" "$PREMERGE" && + echo "$PREMERGE" >expected_hooks && + git checkout side && + git merge -m "merge master" master && + git checkout master && + test_cmp expected_hooks actual_hooks +' + +test_expect_success 'automatic merge fails; both hooks are available' ' + test_when_finished "rm -f \"$PREMERGE\" \"$PRECOMMIT\"" && + test_when_finished "rm -f expected_hooks actual_hooks" && + test_when_finished "git checkout master" && + cp "$HOOKDIR/success.sample" "$PREMERGE" && + cp "$HOOKDIR/success.sample" "$PRECOMMIT" && + + git checkout conflicting-a && + test_must_fail git merge -m "merge conflicting-b" conflicting-b && + test_path_is_missing actual_hooks && + + echo "$PRECOMMIT" >expected_hooks && + echo a+b >conflicting && + git add conflicting && + git commit -m "resolve conflict" && + test_cmp expected_hooks actual_hooks +' + +test_expect_success '--no-verify with succeeding hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" && + cp "$HOOKDIR/success.sample" "$PRECOMMIT" && + echo "even more" >>file && + git add file && + git commit --no-verify -m "even more" && + test_path_is_missing actual_hooks +' + +test_expect_success '--no-verify with succeeding hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" actual_hooks" && + cp "$HOOKDIR/success.sample" "$PREMERGE" && + git branch -f side side-orig && + git checkout side && + git merge --no-verify -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success 'with failing hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" && + cp "$HOOKDIR/fail.sample" "$PRECOMMIT" && + echo "$PRECOMMIT" >expected_hooks && + echo "another" >>file && + git add file && + test_must_fail git commit -m "another" && + test_cmp expected_hooks actual_hooks +' + +test_expect_success '--no-verify with failing hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" && + cp "$HOOKDIR/fail.sample" "$PRECOMMIT" && + echo "stuff" >>file && + git add file && + git commit --no-verify -m "stuff" && + test_path_is_missing actual_hooks +' + +test_expect_success 'with failing hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" && + cp "$HOOKDIR/fail.sample" "$PREMERGE" && + echo "$PREMERGE" >expected_hooks && + git checkout side && + test_must_fail git merge -m "merge master" master && + git checkout master && + test_cmp expected_hooks actual_hooks +' + +test_expect_success '--no-verify with failing hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" actual_hooks" && + cp "$HOOKDIR/fail.sample" "$PREMERGE" && + git branch -f side side-orig && + git checkout side && + git merge --no-verify -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success POSIXPERM 'with non-executable hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" && + cp "$HOOKDIR/non-exec.sample" "$PRECOMMIT" && + echo "content" >>file && + git add file && + git commit -m "content" && + test_path_is_missing actual_hooks +' + +test_expect_success POSIXPERM '--no-verify with non-executable hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" && + cp "$HOOKDIR/non-exec.sample" "$PRECOMMIT" && + echo "more content" >>file && + git add file && + git commit --no-verify -m "more content" && + test_path_is_missing actual_hooks +' + +test_expect_success POSIXPERM 'with non-executable hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" actual_hooks" && + cp "$HOOKDIR/non-exec.sample" "$PREMERGE" && + git branch -f side side-orig && + git checkout side && + git merge -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success POSIXPERM '--no-verify with non-executable hook (merge)' ' + test_when_finished "rm -f \"$PREMERGE\" actual_hooks" && + cp "$HOOKDIR/non-exec.sample" "$PREMERGE" && + git branch -f side side-orig && + git checkout side && + git merge --no-verify -m "merge master" master && + git checkout master && + test_path_is_missing actual_hooks +' + +test_expect_success 'with hook requiring GIT_PREFIX' ' + test_when_finished "rm -rf \"$PRECOMMIT\" expected_hooks actual_hooks success" && + cp "$HOOKDIR/require-prefix.sample" "$PRECOMMIT" && + echo "$PRECOMMIT" >expected_hooks && + echo "more content" >>file && + git add file && + mkdir success && + ( + cd success && + git commit -m "hook requires GIT_PREFIX = success/" + ) && + test_cmp expected_hooks actual_hooks +' + +test_expect_success 'with failing hook requiring GIT_PREFIX' ' + test_when_finished "rm -rf \"$PRECOMMIT\" expected_hooks actual_hooks fail" && + cp "$HOOKDIR/require-prefix.sample" "$PRECOMMIT" && + echo "$PRECOMMIT" >expected_hooks && + echo "more content" >>file && + git add file && + mkdir fail && + ( + cd fail && + test_must_fail git commit -m "hook must fail" + ) && + git checkout -- file && + test_cmp expected_hooks actual_hooks +' + +test_expect_success 'check the author in hook' ' + test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" && + cp "$HOOKDIR/check-author.sample" "$PRECOMMIT" && + cat >expected_hooks <<-EOF && + $PRECOMMIT + $PRECOMMIT + $PRECOMMIT + EOF + test_must_fail git commit --allow-empty -m "by a.u.thor" && + ( + GIT_AUTHOR_NAME="New Author" && + GIT_AUTHOR_EMAIL="newauthor@example.com" && + export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL && + git commit --allow-empty -m "by new.author via env" && + git show -s + ) && + git commit --author="New Author <newauthor@example.com>" \ + --allow-empty -m "by new.author via command line" && + git show -s && + test_cmp expected_hooks actual_hooks +' + +test_done diff --git a/t/t7503-pre-commit-hook.sh b/t/t7503-pre-commit-hook.sh deleted file mode 100755 index 984889b39d..0000000000 --- a/t/t7503-pre-commit-hook.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh - -test_description='pre-commit hook' - -. ./test-lib.sh - -test_expect_success 'with no hook' ' - - echo "foo" > file && - git add file && - git commit -m "first" - -' - -test_expect_success '--no-verify with no hook' ' - - echo "bar" > file && - git add file && - git commit --no-verify -m "bar" - -' - -# now install hook that always succeeds -HOOKDIR="$(git rev-parse --git-dir)/hooks" -HOOK="$HOOKDIR/pre-commit" -mkdir -p "$HOOKDIR" -cat > "$HOOK" <<EOF -#!/bin/sh -exit 0 -EOF -chmod +x "$HOOK" - -test_expect_success 'with succeeding hook' ' - - echo "more" >> file && - git add file && - git commit -m "more" - -' - -test_expect_success '--no-verify with succeeding hook' ' - - echo "even more" >> file && - git add file && - git commit --no-verify -m "even more" - -' - -# now a hook that fails -cat > "$HOOK" <<EOF -#!/bin/sh -exit 1 -EOF - -test_expect_success 'with failing hook' ' - - echo "another" >> file && - git add file && - test_must_fail git commit -m "another" - -' - -test_expect_success '--no-verify with failing hook' ' - - echo "stuff" >> file && - git add file && - git commit --no-verify -m "stuff" - -' - -chmod -x "$HOOK" -test_expect_success POSIXPERM 'with non-executable hook' ' - - echo "content" >> file && - git add file && - git commit -m "content" - -' - -test_expect_success POSIXPERM '--no-verify with non-executable hook' ' - - echo "more content" >> file && - git add file && - git commit --no-verify -m "more content" - -' -chmod +x "$HOOK" - -# a hook that checks $GIT_PREFIX and succeeds inside the -# success/ subdirectory only -cat > "$HOOK" <<EOF -#!/bin/sh -test \$GIT_PREFIX = success/ -EOF - -test_expect_success 'with hook requiring GIT_PREFIX' ' - - echo "more content" >> file && - git add file && - mkdir success && - ( - cd success && - git commit -m "hook requires GIT_PREFIX = success/" - ) && - rmdir success -' - -test_expect_success 'with failing hook requiring GIT_PREFIX' ' - - echo "more content" >> file && - git add file && - mkdir fail && - ( - cd fail && - test_must_fail git commit -m "hook must fail" - ) && - rmdir fail && - git checkout -- file -' - -test_expect_success 'check the author in hook' ' - write_script "$HOOK" <<-\EOF && - test "$GIT_AUTHOR_NAME" = "New Author" && - test "$GIT_AUTHOR_EMAIL" = "newauthor@example.com" - EOF - test_must_fail git commit --allow-empty -m "by a.u.thor" && - ( - GIT_AUTHOR_NAME="New Author" && - GIT_AUTHOR_EMAIL="newauthor@example.com" && - export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL && - git commit --allow-empty -m "by new.author via env" && - git show -s - ) && - git commit --author="New Author <newauthor@example.com>" \ - --allow-empty -m "by new.author via command line" && - git show -s -' - -test_done diff --git a/t/t7508-status.sh b/t/t7508-status.sh index e1f11293e2..4e676cdce8 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -94,19 +94,16 @@ test_expect_success 'status --column' ' # (use "git pull" to merge the remote branch into yours) # # Changes to be committed: -# (use "git reset HEAD <file>..." to unstage) -# +# (use "git restore --staged <file>..." to unstage) # new file: dir2/added # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) -# (use "git checkout -- <file>..." to discard changes in working directory) -# +# (use "git restore <file>..." to discard changes in working directory) # modified: dir1/modified # # Untracked files: # (use "git add <file>..." to include in what will be committed) -# # dir1/untracked dir2/untracked # dir2/modified untracked # @@ -128,19 +125,16 @@ cat >expect <<\EOF # (use "git pull" to merge the remote branch into yours) # # Changes to be committed: -# (use "git reset HEAD <file>..." to unstage) -# +# (use "git restore --staged <file>..." to unstage) # new file: dir2/added # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) -# (use "git checkout -- <file>..." to discard changes in working directory) -# +# (use "git restore <file>..." to discard changes in working directory) # modified: dir1/modified # # Untracked files: # (use "git add <file>..." to include in what will be committed) -# # dir1/untracked # dir2/modified # dir2/untracked @@ -278,24 +272,20 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir2/modified Ignored files: (use "git add -f <file>..." to include in what will be committed) - .gitignore dir1/untracked dir2/untracked @@ -347,19 +337,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Ignored files: (use "git add -f <file>..." to include in what will be committed) - .gitignore dir1/untracked dir2/modified @@ -420,14 +407,12 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files not listed (use -u option to show untracked files) @@ -484,19 +469,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -542,19 +524,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -605,19 +584,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: ../dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: modified Untracked files: (use "git add <file>..." to include in what will be committed) - untracked ../dir2/modified ../dir2/untracked @@ -676,19 +652,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) <GREEN>new file: dir2/added<RESET> Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) <RED>modified: dir1/modified<RESET> Untracked files: (use "git add <file>..." to include in what will be committed) - <BLUE>dir1/untracked<RESET> <BLUE>dir2/modified<RESET> <BLUE>dir2/untracked<RESET> @@ -802,19 +775,16 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -852,13 +822,11 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/ untracked @@ -896,20 +864,17 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added new file: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -956,15 +921,13 @@ and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) new file: dir2/added new file: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Submodule changes to be committed: @@ -974,7 +937,6 @@ Submodule changes to be committed: Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -1019,13 +981,11 @@ and have 2 and 2 different commits each, respectively. Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -1068,15 +1028,13 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD^1 <file>..." to unstage) - + (use "git restore --source=HEAD^1 --staged <file>..." to unstage) new file: dir2/added new file: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Submodule changes to be committed: @@ -1086,7 +1044,6 @@ Submodule changes to be committed: Untracked files: (use "git add <file>..." to include in what will be committed) - dir1/untracked dir2/modified dir2/untracked @@ -1123,14 +1080,12 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Submodule changes to be committed: @@ -1140,7 +1095,6 @@ Submodule changes to be committed: Untracked files: (use "git add <file>..." to include in what will be committed) - .gitmodules dir1/untracked dir2/modified @@ -1235,15 +1189,13 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) + (use "git restore <file>..." to discard changes in working directory) (commit or discard the untracked or modified content in submodules) - modified: dir1/modified modified: sm (modified content) @@ -1254,7 +1206,6 @@ Submodule changes to be committed: Untracked files: (use "git add <file>..." to include in what will be committed) - .gitmodules dir1/untracked dir2/modified @@ -1295,14 +1246,12 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified modified: sm (new commits) @@ -1318,7 +1267,6 @@ Submodules changed but not updated: Untracked files: (use "git add <file>..." to include in what will be committed) - .gitmodules dir1/untracked dir2/modified @@ -1379,14 +1327,12 @@ cat > expect << EOF ; (use "git pull" to merge the remote branch into yours) ; ; Changes to be committed: -; (use "git reset HEAD <file>..." to unstage) -; +; (use "git restore --staged <file>..." to unstage) ; modified: sm ; ; Changes not staged for commit: ; (use "git add <file>..." to update what will be committed) -; (use "git checkout -- <file>..." to discard changes in working directory) -; +; (use "git restore <file>..." to discard changes in working directory) ; modified: dir1/modified ; modified: sm (new commits) ; @@ -1402,7 +1348,6 @@ cat > expect << EOF ; ; Untracked files: ; (use "git add <file>..." to include in what will be committed) -; ; .gitmodules ; dir1/untracked ; dir2/modified @@ -1431,13 +1376,11 @@ and have 2 and 2 different commits each, respectively. Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - .gitmodules dir1/untracked dir2/modified @@ -1458,19 +1401,16 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files: (use "git add <file>..." to include in what will be committed) - .gitmodules dir1/untracked dir2/modified @@ -1581,14 +1521,12 @@ and have 2 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: sm Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: dir1/modified Untracked files not listed (use -u option to show untracked files) diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh index c1eb72555d..e01c285cbf 100755 --- a/t/t7512-status-help.sh +++ b/t/t7512-status-help.sh @@ -33,7 +33,6 @@ You have unmerged paths. Unmerged paths: (use "git add <file>..." to mark resolution) - both modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -54,7 +53,6 @@ All conflicts fixed but you are still merging. (use "git commit" to conclude merge) Changes to be committed: - modified: main.txt Untracked files not listed (use -u option to show untracked files) @@ -85,9 +83,8 @@ You are currently rebasing branch '\''rebase_conflicts'\'' on '\''$ONTO'\''. (use "git rebase --abort" to check out the original branch) Unmerged paths: - (use "git reset HEAD <file>..." to unstage) + (use "git restore --staged <file>..." to unstage) (use "git add <file>..." to mark resolution) - both modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -110,8 +107,7 @@ You are currently rebasing branch '\''rebase_conflicts'\'' on '\''$ONTO'\''. (all conflicts fixed: run "git rebase --continue") Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: main.txt Untracked files not listed (use -u option to show untracked files) @@ -148,9 +144,8 @@ You are currently rebasing branch '\''rebase_i_conflicts_second'\'' on '\''$ONTO (use "git rebase --abort" to check out the original branch) Unmerged paths: - (use "git reset HEAD <file>..." to unstage) + (use "git restore --staged <file>..." to unstage) (use "git add <file>..." to mark resolution) - both modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -176,8 +171,7 @@ You are currently rebasing branch '\''rebase_i_conflicts_second'\'' on '\''$ONTO (all conflicts fixed: run "git rebase --continue") Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: main.txt Untracked files not listed (use -u option to show untracked files) @@ -246,8 +240,7 @@ You are currently splitting a commit while rebasing branch '\''split_commit'\'' Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -354,8 +347,7 @@ You are currently splitting a commit while rebasing branch '\''several_edits'\'' Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -453,8 +445,7 @@ You are currently splitting a commit while rebasing branch '\''several_edits'\'' Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -557,8 +548,7 @@ You are currently splitting a commit while rebasing branch '\''several_edits'\'' Changes not staged for commit: (use "git add <file>..." to update what will be committed) - (use "git checkout -- <file>..." to discard changes in working directory) - + (use "git restore <file>..." to discard changes in working directory) modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -747,7 +737,6 @@ You are currently cherry-picking commit $TO_CHERRY_PICK. Unmerged paths: (use "git add <file>..." to mark resolution) - both modified: main.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -771,7 +760,6 @@ You are currently cherry-picking commit $TO_CHERRY_PICK. (use "git cherry-pick --abort" to cancel the cherry-pick operation) Changes to be committed: - modified: main.txt Untracked files not listed (use -u option to show untracked files) @@ -798,6 +786,22 @@ EOF test_i18ncmp expected actual ' +test_expect_success 'status shows cherry-pick with invalid oid' ' + mkdir .git/sequencer && + test_write_lines "pick invalid-oid" >.git/sequencer/todo && + git status --untracked-files=no >actual 2>err && + git cherry-pick --quit && + test_must_be_empty err && + test_i18ncmp expected actual +' + +test_expect_success 'status does not show error if .git/sequencer is a file' ' + test_when_finished "rm .git/sequencer" && + test_write_lines hello >.git/sequencer && + git status --untracked-files=no 2>err && + test_must_be_empty err +' + test_expect_success 'status showing detached at and from a tag' ' test_commit atag tagging && git checkout atag && @@ -834,9 +838,8 @@ You are currently reverting commit $TO_REVERT. (use "git revert --abort" to cancel the revert operation) Unmerged paths: - (use "git reset HEAD <file>..." to unstage) + (use "git restore --staged <file>..." to unstage) (use "git add <file>..." to mark resolution) - both modified: to-revert.txt no changes added to commit (use "git add" and/or "git commit -a") @@ -855,8 +858,7 @@ You are currently reverting commit $TO_REVERT. (use "git revert --abort" to cancel the revert operation) Changes to be committed: - (use "git reset HEAD <file>..." to unstage) - + (use "git restore --staged <file>..." to unstage) modified: to-revert.txt Untracked files not listed (use -u option to show untracked files) diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 4ec5d9ec79..132608879a 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -873,4 +873,50 @@ test_expect_success EXECKEEPSPID 'killed merge can be completed with --continue' verify_parents $c0 $c1 ' +test_expect_success 'merge --quit' ' + git init merge-quit && + ( + cd merge-quit && + test_commit base && + echo one >>base.t && + git commit -am one && + git branch one && + git checkout base && + echo two >>base.t && + git commit -am two && + test_must_fail git -c rerere.enabled=true merge one && + test_path_is_file .git/MERGE_HEAD && + test_path_is_file .git/MERGE_MODE && + test_path_is_file .git/MERGE_MSG && + git rerere status >rerere.before && + git merge --quit && + test_path_is_missing .git/MERGE_HEAD && + test_path_is_missing .git/MERGE_MODE && + test_path_is_missing .git/MERGE_MSG && + git rerere status >rerere.after && + test_must_be_empty rerere.after && + ! test_cmp rerere.after rerere.before + ) +' + +test_expect_success 'merge suggests matching remote refname' ' + git commit --allow-empty -m not-local && + git update-ref refs/remotes/origin/not-local HEAD && + git reset --hard HEAD^ && + + # This is white-box testing hackery; we happen to know + # that reading packed refs is more picky about the memory + # ownership of strings we pass to for_each_ref() callbacks. + git pack-refs --all --prune && + + test_must_fail git merge not-local 2>stderr && + grep origin/not-local stderr +' + +test_expect_success 'suggested names are not ambiguous' ' + git update-ref refs/heads/origin/not-local HEAD && + test_must_fail git merge not-local 2>stderr && + grep remotes/origin/not-local stderr +' + test_done diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 5b61c10a9c..ad288ddc69 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -131,17 +131,21 @@ test_expect_success 'custom mergetool' ' git checkout -b test$test_count branch1 && git submodule update -N && test_must_fail git merge master && - ( yes "" | git mergetool both ) && - ( yes "" | git mergetool file1 file1 ) && - ( yes "" | git mergetool file2 "spaced name" ) && - ( yes "" | git mergetool subdir/file3 ) && - ( yes "d" | git mergetool file11 ) && - ( yes "d" | git mergetool file12 ) && - ( yes "l" | git mergetool submod ) && - test "$(cat file1)" = "master updated" && - test "$(cat file2)" = "master new" && - test "$(cat subdir/file3)" = "master new sub" && - test "$(cat submod/bar)" = "branch1 submodule" && + yes "" | git mergetool both && + yes "" | git mergetool file1 file1 && + yes "" | git mergetool file2 "spaced name" && + yes "" | git mergetool subdir/file3 && + yes "d" | git mergetool file11 && + yes "d" | git mergetool file12 && + yes "l" | git mergetool submod && + echo "master updated" >expect && + test_cmp expect file1 && + echo "master new" >expect && + test_cmp expect file2 && + echo "master new sub" >expect && + test_cmp expect subdir/file3 && + echo "branch1 submodule" >expect && + test_cmp expect submod/bar && git commit -m "branch1 resolved with mergetool" ' @@ -153,17 +157,21 @@ test_expect_success 'gui mergetool' ' git checkout -b test$test_count branch1 && git submodule update -N && test_must_fail git merge master && - ( yes "" | git mergetool --gui both ) && - ( yes "" | git mergetool -g file1 file1 ) && - ( yes "" | git mergetool --gui file2 "spaced name" ) && - ( yes "" | git mergetool --gui subdir/file3 ) && - ( yes "d" | git mergetool --gui file11 ) && - ( yes "d" | git mergetool --gui file12 ) && - ( yes "l" | git mergetool --gui submod ) && - test "$(cat file1)" = "gui master updated" && - test "$(cat file2)" = "gui master new" && - test "$(cat subdir/file3)" = "gui master new sub" && - test "$(cat submod/bar)" = "branch1 submodule" && + yes "" | git mergetool --gui both && + yes "" | git mergetool -g file1 file1 && + yes "" | git mergetool --gui file2 "spaced name" && + yes "" | git mergetool --gui subdir/file3 && + yes "d" | git mergetool --gui file11 && + yes "d" | git mergetool --gui file12 && + yes "l" | git mergetool --gui submod && + echo "gui master updated" >expect && + test_cmp expect file1 && + echo "gui master new" >expect && + test_cmp expect file2 && + echo "gui master new sub" >expect && + test_cmp expect subdir/file3 && + echo "branch1 submodule" >expect && + test_cmp expect submod/bar && git commit -m "branch1 resolved with mergetool" ' @@ -172,17 +180,21 @@ test_expect_success 'gui mergetool without merge.guitool set falls back to merge git checkout -b test$test_count branch1 && git submodule update -N && test_must_fail git merge master && - ( yes "" | git mergetool --gui both ) && - ( yes "" | git mergetool -g file1 file1 ) && - ( yes "" | git mergetool --gui file2 "spaced name" ) && - ( yes "" | git mergetool --gui subdir/file3 ) && - ( yes "d" | git mergetool --gui file11 ) && - ( yes "d" | git mergetool --gui file12 ) && - ( yes "l" | git mergetool --gui submod ) && - test "$(cat file1)" = "master updated" && - test "$(cat file2)" = "master new" && - test "$(cat subdir/file3)" = "master new sub" && - test "$(cat submod/bar)" = "branch1 submodule" && + yes "" | git mergetool --gui both && + yes "" | git mergetool -g file1 file1 && + yes "" | git mergetool --gui file2 "spaced name" && + yes "" | git mergetool --gui subdir/file3 && + yes "d" | git mergetool --gui file11 && + yes "d" | git mergetool --gui file12 && + yes "l" | git mergetool --gui submod && + echo "master updated" >expect && + test_cmp expect file1 && + echo "master new" >expect && + test_cmp expect file2 && + echo "master new sub" >expect && + test_cmp expect subdir/file3 && + echo "branch1 submodule" >expect && + test_cmp expect submod/bar && git commit -m "branch1 resolved with mergetool" ' @@ -195,19 +207,20 @@ test_expect_success 'mergetool crlf' ' test_config core.autocrlf true && git checkout -b test$test_count branch1 && test_must_fail git merge master && - ( yes "" | git mergetool file1 ) && - ( yes "" | git mergetool file2 ) && - ( yes "" | git mergetool "spaced name" ) && - ( yes "" | git mergetool both ) && - ( yes "" | git mergetool subdir/file3 ) && - ( yes "d" | git mergetool file11 ) && - ( yes "d" | git mergetool file12 ) && - ( yes "r" | git mergetool submod ) && + yes "" | git mergetool file1 && + yes "" | git mergetool file2 && + yes "" | git mergetool "spaced name" && + yes "" | git mergetool both && + yes "" | git mergetool subdir/file3 && + yes "d" | git mergetool file11 && + yes "d" | git mergetool file12 && + yes "r" | git mergetool submod && test "$(printf x | cat file1 -)" = "$(printf "master updated\r\nx")" && test "$(printf x | cat file2 -)" = "$(printf "master new\r\nx")" && test "$(printf x | cat subdir/file3 -)" = "$(printf "master new sub\r\nx")" && git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect submod/bar && git commit -m "branch1 resolved with mergetool - autocrlf" ' @@ -218,8 +231,9 @@ test_expect_success 'mergetool in subdir' ' ( cd subdir && test_must_fail git merge master && - ( yes "" | git mergetool file3 ) && - test "$(cat file3)" = "master new sub" + yes "" | git mergetool file3 && + echo "master new sub" >expect && + test_cmp expect file3 ) ' @@ -230,16 +244,19 @@ test_expect_success 'mergetool on file in parent dir' ' ( cd subdir && test_must_fail git merge master && - ( yes "" | git mergetool file3 ) && - ( yes "" | git mergetool ../file1 ) && - ( yes "" | git mergetool ../file2 ../spaced\ name ) && - ( yes "" | git mergetool ../both ) && - ( yes "d" | git mergetool ../file11 ) && - ( yes "d" | git mergetool ../file12 ) && - ( yes "l" | git mergetool ../submod ) && - test "$(cat ../file1)" = "master updated" && - test "$(cat ../file2)" = "master new" && - test "$(cat ../submod/bar)" = "branch1 submodule" && + yes "" | git mergetool file3 && + yes "" | git mergetool ../file1 && + yes "" | git mergetool ../file2 ../spaced\ name && + yes "" | git mergetool ../both && + yes "d" | git mergetool ../file11 && + yes "d" | git mergetool ../file12 && + yes "l" | git mergetool ../submod && + echo "master updated" >expect && + test_cmp expect ../file1 && + echo "master new" >expect && + test_cmp expect ../file2 && + echo "branch1 submodule" >expect && + test_cmp expect ../submod/bar && git commit -m "branch1 resolved with mergetool - subdir" ) ' @@ -250,9 +267,9 @@ test_expect_success 'mergetool skips autoresolved' ' git submodule update -N && test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "d" | git mergetool file11 ) && - ( yes "d" | git mergetool file12 ) && - ( yes "l" | git mergetool submod ) && + yes "d" | git mergetool file11 && + yes "d" | git mergetool file12 && + yes "l" | git mergetool submod && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" ' @@ -264,13 +281,17 @@ test_expect_success 'mergetool merges all from subdir (rerere disabled)' ' ( cd subdir && test_must_fail git merge master && - ( yes "r" | git mergetool ../submod ) && - ( yes "d" "d" | git mergetool --no-prompt ) && - test "$(cat ../file1)" = "master updated" && - test "$(cat ../file2)" = "master new" && - test "$(cat file3)" = "master new sub" && + yes "r" | git mergetool ../submod && + yes "d" "d" | git mergetool --no-prompt && + echo "master updated" >expect && + test_cmp expect ../file1 && + echo "master new" >expect && + test_cmp expect ../file2 && + echo "master new sub" >expect && + test_cmp expect file3 && ( cd .. && git submodule update -N ) && - test "$(cat ../submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect ../submod/bar && git commit -m "branch2 resolved by mergetool from subdir" ) ' @@ -283,13 +304,17 @@ test_expect_success 'mergetool merges all from subdir (rerere enabled)' ' ( cd subdir && test_must_fail git merge master && - ( yes "r" | git mergetool ../submod ) && - ( yes "d" "d" | git mergetool --no-prompt ) && - test "$(cat ../file1)" = "master updated" && - test "$(cat ../file2)" = "master new" && - test "$(cat file3)" = "master new sub" && + yes "r" | git mergetool ../submod && + yes "d" "d" | git mergetool --no-prompt && + echo "master updated" >expect && + test_cmp expect ../file1 && + echo "master new" >expect && + test_cmp expect ../file2 && + echo "master new sub" >expect && + test_cmp expect file3 && ( cd .. && git submodule update -N ) && - test "$(cat ../submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect ../submod/bar && git commit -m "branch2 resolved by mergetool from subdir" ) ' @@ -301,8 +326,8 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' ' git checkout -b test$test_count branch1 && git submodule update -N && test_must_fail git merge master && - ( yes "l" | git mergetool --no-prompt submod ) && - ( yes "d" "d" | git mergetool --no-prompt ) && + yes "l" | git mergetool --no-prompt submod && + yes "d" "d" | git mergetool --no-prompt && git submodule update -N && output="$(yes "n" | git mergetool --no-prompt)" && test "$output" = "No files need merging" @@ -343,9 +368,10 @@ test_expect_success 'mergetool takes partial path' ' git submodule update -N && test_must_fail git merge master && - ( yes "" | git mergetool subdir ) && + yes "" | git mergetool subdir && - test "$(cat subdir/file3)" = "master new sub" + echo "master new sub" >expect && + test_cmp expect subdir/file3 ' test_expect_success 'mergetool delete/delete conflict' ' @@ -410,14 +436,16 @@ test_expect_success 'deleted vs modified submodule' ' git checkout -b test$test_count.a test$test_count && test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "r" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "r" | git mergetool submod && rmdir submod && mv submod-movedaside submod && - test "$(cat submod/bar)" = "branch1 submodule" && + echo "branch1 submodule" >expect && + test_cmp expect submod/bar && git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect submod/bar && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping module" && @@ -427,10 +455,10 @@ test_expect_success 'deleted vs modified submodule' ' git submodule update -N && test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "l" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "l" | git mergetool submod && test ! -e submod && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && @@ -441,10 +469,10 @@ test_expect_success 'deleted vs modified submodule' ' git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "r" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "r" | git mergetool submod && test ! -e submod && test -d submod.orig && git submodule update -N && @@ -457,13 +485,15 @@ test_expect_success 'deleted vs modified submodule' ' git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "l" | git mergetool submod ) && - test "$(cat submod/bar)" = "master submodule" && - git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "l" | git mergetool submod && + echo "master submodule" >expect && + test_cmp expect submod/bar && + git submodule update -N && + echo "master submodule" >expect && + test_cmp expect submod/bar && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping module" @@ -481,14 +511,16 @@ test_expect_success 'file vs modified submodule' ' git checkout -b test$test_count.a branch1 && test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "r" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "r" | git mergetool submod && rmdir submod && mv submod-movedaside submod && - test "$(cat submod/bar)" = "branch1 submodule" && + echo "branch1 submodule" >expect && + test_cmp expect submod/bar && git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect submod/bar && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping module" && @@ -497,12 +529,13 @@ test_expect_success 'file vs modified submodule' ' git checkout -b test$test_count.b test$test_count && test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "l" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "l" | git mergetool submod && git submodule update -N && - test "$(cat submod)" = "not a submodule" && + echo "not a submodule" >expect && + test_cmp expect submod && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping file" && @@ -513,13 +546,14 @@ test_expect_success 'file vs modified submodule' ' git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "r" | git mergetool submod ) && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "r" | git mergetool submod && test -d submod.orig && git submodule update -N && - test "$(cat submod)" = "not a submodule" && + echo "not a submodule" >expect && + test_cmp expect submod && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping file" && @@ -529,13 +563,15 @@ test_expect_success 'file vs modified submodule' ' git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) && - ( yes "" | git mergetool both ) && - ( yes "d" | git mergetool file11 file12 ) && - ( yes "l" | git mergetool submod ) && - test "$(cat submod/bar)" = "master submodule" && - git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && + yes "" | git mergetool both && + yes "d" | git mergetool file11 file12 && + yes "l" | git mergetool submod && + echo "master submodule" >expect && + test_cmp expect submod/bar && + git submodule update -N && + echo "master submodule" >expect && + test_cmp expect submod/bar && output="$(git mergetool --no-prompt)" && test "$output" = "No files need merging" && git commit -m "Merge resolved by keeping module" @@ -587,19 +623,23 @@ test_expect_success 'submodule in subdirectory' ' test_must_fail git merge test$test_count.a && ( cd subdir && - ( yes "l" | git mergetool subdir_module ) + yes "l" | git mergetool subdir_module ) && - test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" && + echo "test$test_count.b" >expect && + test_cmp expect subdir/subdir_module/file15 && git submodule update -N && - test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" && + echo "test$test_count.b" >expect && + test_cmp expect subdir/subdir_module/file15 && git reset --hard && git submodule update -N && test_must_fail git merge test$test_count.a && - ( yes "r" | git mergetool subdir/subdir_module ) && - test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" && + yes "r" | git mergetool subdir/subdir_module && + echo "test$test_count.b" >expect && + test_cmp expect subdir/subdir_module/file15 && git submodule update -N && - test "$(cat subdir/subdir_module/file15)" = "test$test_count.a" && + echo "test$test_count.a" >expect && + test_cmp expect subdir/subdir_module/file15 && git commit -m "branch1 resolved with mergetool" ' @@ -615,22 +655,25 @@ test_expect_success 'directory vs modified submodule' ' test_must_fail git merge master && test -n "$(git ls-files -u)" && - ( yes "l" | git mergetool submod ) && - test "$(cat submod/file16)" = "not a submodule" && + yes "l" | git mergetool submod && + echo "not a submodule" >expect && + test_cmp expect submod/file16 && rm -rf submod.orig && git reset --hard && test_must_fail git merge master && test -n "$(git ls-files -u)" && test ! -e submod.orig && - ( yes "r" | git mergetool submod ) && + yes "r" | git mergetool submod && test -d submod.orig && - test "$(cat submod.orig/file16)" = "not a submodule" && + echo "not a submodule" >expect && + test_cmp expect submod.orig/file16 && rm -r submod.orig && mv submod-movedaside/.git submod && ( cd submod && git clean -f && git reset --hard ) && git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect submod/bar && git reset --hard && rm -rf submod-movedaside && @@ -638,17 +681,19 @@ test_expect_success 'directory vs modified submodule' ' git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && - ( yes "l" | git mergetool submod ) && + yes "l" | git mergetool submod && git submodule update -N && - test "$(cat submod/bar)" = "master submodule" && + echo "master submodule" >expect && + test_cmp expect submod/bar && git reset --hard && git submodule update -N && test_must_fail git merge test$test_count && test -n "$(git ls-files -u)" && test ! -e submod.orig && - ( yes "r" | git mergetool submod ) && - test "$(cat submod/file16)" = "not a submodule" && + yes "r" | git mergetool submod && + echo "not a submodule" >expect && + test_cmp expect submod/file16 && git reset --hard master && ( cd submod && git clean -f && git reset --hard ) && diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh index 86d05160a3..4e855bc21b 100755 --- a/t/t7700-repack.sh +++ b/t/t7700-repack.sh @@ -239,4 +239,27 @@ test_expect_success 'bitmaps can be disabled on bare repos' ' test -z "$bitmap" ' +test_expect_success 'no bitmaps created if .keep files present' ' + pack=$(ls bare.git/objects/pack/*.pack) && + test_path_is_file "$pack" && + keep=${pack%.pack}.keep && + test_when_finished "rm -f \"\$keep\"" && + >"$keep" && + git -C bare.git repack -ad 2>stderr && + test_must_be_empty stderr && + find bare.git/objects/pack/ -type f -name "*.bitmap" >actual && + test_must_be_empty actual +' + +test_expect_success 'auto-bitmaps do not complain if unavailable' ' + test_config -C bare.git pack.packSizeLimit 1M && + blob=$(test-tool genrandom big $((1024*1024)) | + git -C bare.git hash-object -w --stdin) && + git -C bare.git update-ref refs/tags/big $blob && + git -C bare.git repack -ad 2>stderr && + test_must_be_empty stderr && + find bare.git/objects/pack -type f -name "*.bitmap" >actual && + test_must_be_empty actual +' + test_done diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index 2e1bb61b41..7d7b396c23 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -412,7 +412,7 @@ do test_cmp expected actual ' - test_expect_success !PCRE "grep $L with grep.patterntype=perl errors without PCRE" ' + test_expect_success !FAIL_PREREQS,!PCRE "grep $L with grep.patterntype=perl errors without PCRE" ' test_must_fail git -c grep.patterntype=perl grep "foo.*bar" ' @@ -1234,7 +1234,7 @@ test_expect_success PCRE 'grep --perl-regexp pattern' ' test_cmp expected actual ' -test_expect_success !PCRE 'grep --perl-regexp pattern errors without PCRE' ' +test_expect_success !FAIL_PREREQS,!PCRE 'grep --perl-regexp pattern errors without PCRE' ' test_must_fail git grep --perl-regexp "foo.*bar" ' @@ -1249,7 +1249,7 @@ test_expect_success LIBPCRE2 "grep -P with (*NO_JIT) doesn't error out" ' ' -test_expect_success !PCRE 'grep -P pattern errors without PCRE' ' +test_expect_success !FAIL_PREREQS,!PCRE 'grep -P pattern errors without PCRE' ' test_must_fail git grep -P "foo.*bar" ' diff --git a/t/t7814-grep-recurse-submodules.sh b/t/t7814-grep-recurse-submodules.sh index 134a694516..946f91fa57 100755 --- a/t/t7814-grep-recurse-submodules.sh +++ b/t/t7814-grep-recurse-submodules.sh @@ -14,12 +14,14 @@ test_expect_success 'setup directory structure and submodule' ' echo "(3|4)" >b/b && git add a b && git commit -m "add a and b" && + test_tick && git init submodule && echo "(1|2)d(3|4)" >submodule/a && git -C submodule add a && git -C submodule commit -m "add a" && git submodule add ./submodule && - git commit -m "added submodule" + git commit -m "added submodule" && + test_tick ' test_expect_success 'grep correctly finds patterns in a submodule' ' @@ -65,11 +67,14 @@ test_expect_success 'grep and nested submodules' ' echo "(1|2)d(3|4)" >submodule/sub/a && git -C submodule/sub add a && git -C submodule/sub commit -m "add a" && + test_tick && git -C submodule submodule add ./sub && git -C submodule add sub && git -C submodule commit -m "added sub" && + test_tick && git add submodule && git commit -m "updated submodule" && + test_tick && cat >expect <<-\EOF && a:(1|2)d(3|4) @@ -179,15 +184,18 @@ test_expect_success !MINGW 'grep recurse submodule colon in name' ' echo "(1|2)d(3|4)" >"parent/fi:le" && git -C parent add "fi:le" && git -C parent commit -m "add fi:le" && + test_tick && git init "su:b" && test_when_finished "rm -rf su:b" && echo "(1|2)d(3|4)" >"su:b/fi:le" && git -C "su:b" add "fi:le" && git -C "su:b" commit -m "add fi:le" && + test_tick && git -C parent submodule add "../su:b" "su:b" && git -C parent commit -m "add submodule" && + test_tick && cat >expect <<-\EOF && fi:le:(1|2)d(3|4) @@ -210,15 +218,18 @@ test_expect_success 'grep history with moved submoules' ' echo "(1|2)d(3|4)" >parent/file && git -C parent add file && git -C parent commit -m "add file" && + test_tick && git init sub && test_when_finished "rm -rf sub" && echo "(1|2)d(3|4)" >sub/file && git -C sub add file && git -C sub commit -m "add file" && + test_tick && git -C parent submodule add ../sub dir/sub && git -C parent commit -m "add submodule" && + test_tick && cat >expect <<-\EOF && dir/sub/file:(1|2)d(3|4) @@ -229,6 +240,7 @@ test_expect_success 'grep history with moved submoules' ' git -C parent mv dir/sub sub-moved && git -C parent commit -m "moved submodule" && + test_tick && cat >expect <<-\EOF && file:(1|2)d(3|4) @@ -251,6 +263,7 @@ test_expect_success 'grep using relative path' ' echo "(1|2)d(3|4)" >sub/file && git -C sub add file && git -C sub commit -m "add file" && + test_tick && git init parent && echo "(1|2)d(3|4)" >parent/file && @@ -260,6 +273,7 @@ test_expect_success 'grep using relative path' ' git -C parent add src/file2 && git -C parent submodule add ../sub && git -C parent commit -m "add files and submodule" && + test_tick && # From top works cat >expect <<-\EOF && @@ -293,6 +307,7 @@ test_expect_success 'grep from a subdir' ' echo "(1|2)d(3|4)" >sub/file && git -C sub add file && git -C sub commit -m "add file" && + test_tick && git init parent && mkdir parent/src && @@ -301,6 +316,7 @@ test_expect_success 'grep from a subdir' ' git -C parent submodule add ../sub src/sub && git -C parent submodule add ../sub sub && git -C parent commit -m "add files and submodules" && + test_tick && # Verify grep from root works cat >expect <<-\EOF && @@ -392,4 +408,25 @@ test_expect_success 'grep --recurse-submodules with submodules without .gitmodul test_cmp expect actual ' +reset_and_clean () { + git reset --hard && + git clean -fd && + git submodule foreach --recursive 'git reset --hard' && + git submodule foreach --recursive 'git clean -fd' +} + +test_expect_success 'grep --recurse-submodules without --cached considers worktree modifications' ' + reset_and_clean && + echo "A modified line in submodule" >>submodule/a && + echo "submodule/a:A modified line in submodule" >expect && + git grep --recurse-submodules "A modified line in submodule" >actual && + test_cmp expect actual +' + +test_expect_success 'grep --recurse-submodules with --cached ignores worktree modifications' ' + reset_and_clean && + echo "A modified line in submodule" >>submodule/a && + test_must_fail git grep --recurse-submodules --cached "A modified line in submodule" >actual 2>&1 && + test_must_be_empty actual +' test_done diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh index c92a47b6d5..1c5fb1d1f8 100755 --- a/t/t8003-blame-corner-cases.sh +++ b/t/t8003-blame-corner-cases.sh @@ -275,4 +275,40 @@ test_expect_success 'blame file with CRLF core.autocrlf=true' ' grep "A U Thor" actual ' +# Tests the splitting and merging of blame entries in blame_coalesce(). +# The output of blame is the same, regardless of whether blame_coalesce() runs +# or not, so we'd likely only notice a problem if blame crashes or assigned +# blame to the "splitting" commit ('SPLIT' below). +test_expect_success 'blame coalesce' ' + cat >giraffe <<-\EOF && + ABC + DEF + EOF + git add giraffe && + git commit -m "original file" && + oid=$(git rev-parse HEAD) && + + cat >giraffe <<-\EOF && + ABC + SPLIT + DEF + EOF + git add giraffe && + git commit -m "interior SPLIT line" && + + cat >giraffe <<-\EOF && + ABC + DEF + EOF + git add giraffe && + git commit -m "same contents as original" && + + cat >expect <<-EOF && + $oid 1) ABC + $oid 2) DEF + EOF + git -c core.abbrev=40 blame -s giraffe >actual && + test_cmp expect actual +' + test_done diff --git a/t/t8013-blame-ignore-revs.sh b/t/t8013-blame-ignore-revs.sh new file mode 100755 index 0000000000..36dc31eb39 --- /dev/null +++ b/t/t8013-blame-ignore-revs.sh @@ -0,0 +1,274 @@ +#!/bin/sh + +test_description='ignore revisions when blaming' +. ./test-lib.sh + +# Creates: +# A--B--X +# A added line 1 and B added line 2. X makes changes to those lines. Sanity +# check that X is blamed for both lines. +test_expect_success setup ' + test_commit A file line1 && + + echo line2 >>file && + git add file && + test_tick && + git commit -m B && + git tag B && + + test_write_lines line-one line-two >file && + git add file && + test_tick && + git commit -m X && + git tag X && + + git blame --line-porcelain file >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse X >expect && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse X >expect && + test_cmp expect actual + ' + +# Ignore X, make sure A is blamed for line 1 and B for line 2. +test_expect_success ignore_rev_changing_lines ' + git blame --line-porcelain --ignore-rev X file >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse A >expect && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse B >expect && + test_cmp expect actual + ' + +# For ignored revs that have added 'unblamable' lines, attribute those to the +# ignored commit. +# A--B--X--Y +# Where Y changes lines 1 and 2, and adds lines 3 and 4. The added lines ought +# to have nothing in common with "line-one" or "line-two", to keep any +# heuristics from matching them with any lines in the parent. +test_expect_success ignore_rev_adding_unblamable_lines ' + test_write_lines line-one-change line-two-changed y3 y4 >file && + git add file && + test_tick && + git commit -m Y && + git tag Y && + + git rev-parse Y >expect && + git blame --line-porcelain file --ignore-rev Y >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 3" blame_raw | sed -e "s/ .*//" >actual && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 4" blame_raw | sed -e "s/ .*//" >actual && + test_cmp expect actual + ' + +# Ignore X and Y, both in separate files. Lines 1 == A, 2 == B. +test_expect_success ignore_revs_from_files ' + git rev-parse X >ignore_x && + git rev-parse Y >ignore_y && + git blame --line-porcelain file --ignore-revs-file ignore_x --ignore-revs-file ignore_y >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse A >expect && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse B >expect && + test_cmp expect actual + ' + +# Ignore X from the config option, Y from a file. +test_expect_success ignore_revs_from_configs_and_files ' + git config --add blame.ignoreRevsFile ignore_x && + git blame --line-porcelain file --ignore-revs-file ignore_y >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse A >expect && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse B >expect && + test_cmp expect actual + ' + +# Override blame.ignoreRevsFile (ignore_x) with an empty string. X should be +# blamed now for lines 1 and 2, since we are no longer ignoring X. +test_expect_success override_ignore_revs_file ' + git blame --line-porcelain file --ignore-revs-file "" --ignore-revs-file ignore_y >blame_raw && + git rev-parse X >expect && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 2" blame_raw | sed -e "s/ .*//" >actual && + test_cmp expect actual + ' +test_expect_success bad_files_and_revs ' + test_must_fail git blame file --ignore-rev NOREV 2>err && + test_i18ngrep "cannot find revision NOREV to ignore" err && + + test_must_fail git blame file --ignore-revs-file NOFILE 2>err && + test_i18ngrep "could not open.*: NOFILE" err && + + echo NOREV >ignore_norev && + test_must_fail git blame file --ignore-revs-file ignore_norev 2>err && + test_i18ngrep "invalid object name: NOREV" err + ' + +# For ignored revs that have added 'unblamable' lines, mark those lines with a +# '*' +# A--B--X--Y +# Lines 3 and 4 are from Y and unblamable. This was set up in +# ignore_rev_adding_unblamable_lines. +test_expect_success mark_unblamable_lines ' + git config --add blame.markUnblamableLines true && + + git blame --ignore-rev Y file >blame_raw && + echo "*" >expect && + + sed -n "3p" blame_raw | cut -c1 >actual && + test_cmp expect actual && + + sed -n "4p" blame_raw | cut -c1 >actual && + test_cmp expect actual + ' + +# Commit Z will touch the first two lines. Y touched all four. +# A--B--X--Y--Z +# The blame output when ignoring Z should be: +# ?Y ... 1) +# ?Y ... 2) +# Y ... 3) +# Y ... 4) +# We're checking only the first character +test_expect_success mark_ignored_lines ' + git config --add blame.markIgnoredLines true && + + test_write_lines line-one-Z line-two-Z y3 y4 >file && + git add file && + test_tick && + git commit -m Z && + git tag Z && + + git blame --ignore-rev Z file >blame_raw && + echo "?" >expect && + + sed -n "1p" blame_raw | cut -c1 >actual && + test_cmp expect actual && + + sed -n "2p" blame_raw | cut -c1 >actual && + test_cmp expect actual && + + sed -n "3p" blame_raw | cut -c1 >actual && + ! test_cmp expect actual && + + sed -n "4p" blame_raw | cut -c1 >actual && + ! test_cmp expect actual + ' + +# For ignored revs that added 'unblamable' lines and more recent commits changed +# the blamable lines, mark the unblamable lines with a +# '*' +# A--B--X--Y--Z +# Lines 3 and 4 are from Y and unblamable, as set up in +# ignore_rev_adding_unblamable_lines. Z changed lines 1 and 2. +test_expect_success mark_unblamable_lines_intermediate ' + git config --add blame.markUnblamableLines true && + + git blame --ignore-rev Y file >blame_raw 2>stderr && + echo "*" >expect && + + sed -n "3p" blame_raw | cut -c1 >actual && + test_cmp expect actual && + + sed -n "4p" blame_raw | cut -c1 >actual && + test_cmp expect actual + ' + +# The heuristic called by guess_line_blames() tries to find the size of a +# blame_entry 'e' in the parent's address space. Those calculations need to +# check for negative or zero values for when a blame entry is completely outside +# the window of the parent's version of a file. +# +# This happens when one commit adds several lines (commit B below). A later +# commit (C) changes one line in the middle of B's change. Commit C gets blamed +# for its change, and that breaks up B's change into multiple blame entries. +# When processing B, one of the blame_entries is outside A's window (which was +# zero - it had no lines added on its side of the diff). +# +# A--B--C, ignore B to test the ignore heuristic's boundary checks. +test_expect_success ignored_chunk_negative_parent_size ' + rm -rf .git/ && + git init && + + test_write_lines L1 L2 L7 L8 L9 >file && + git add file && + test_tick && + git commit -m A && + git tag A && + + test_write_lines L1 L2 L3 L4 L5 L6 L7 L8 L9 >file && + git add file && + test_tick && + git commit -m B && + git tag B && + + test_write_lines L1 L2 L3 L4 xxx L6 L7 L8 L9 >file && + git add file && + test_tick && + git commit -m C && + git tag C && + + git blame file --ignore-rev B >blame_raw + ' + +# Resetting the repo and creating: +# +# A--B--M +# \ / +# C-+ +# +# 'A' creates a file. B changes line 1, and C changes line 9. M merges. +test_expect_success ignore_merge ' + rm -rf .git/ && + git init && + + test_write_lines L1 L2 L3 L4 L5 L6 L7 L8 L9 >file && + git add file && + test_tick && + git commit -m A && + git tag A && + + test_write_lines BB L2 L3 L4 L5 L6 L7 L8 L9 >file && + git add file && + test_tick && + git commit -m B && + git tag B && + + git reset --hard A && + test_write_lines L1 L2 L3 L4 L5 L6 L7 L8 CC >file && + git add file && + test_tick && + git commit -m C && + git tag C && + + test_merge M B && + git blame --line-porcelain file --ignore-rev M >blame_raw && + + grep -E "^[0-9a-f]+ [0-9]+ 1" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse B >expect && + test_cmp expect actual && + + grep -E "^[0-9a-f]+ [0-9]+ 9" blame_raw | sed -e "s/ .*//" >actual && + git rev-parse C >expect && + test_cmp expect actual + ' + +test_done diff --git a/t/t8014-blame-ignore-fuzzy.sh b/t/t8014-blame-ignore-fuzzy.sh new file mode 100755 index 0000000000..6e61882b6f --- /dev/null +++ b/t/t8014-blame-ignore-fuzzy.sh @@ -0,0 +1,437 @@ +#!/bin/sh + +test_description='git blame ignore fuzzy heuristic' +. ./test-lib.sh + +pick_author='s/^[0-9a-f^]* *(\([^ ]*\) .*/\1/' + +# Each test is composed of 4 variables: +# titleN - the test name +# aN - the initial content +# bN - the final content +# expectedN - the line numbers from aN that we expect git blame +# on bN to identify, or "Final" if bN itself should +# be identified as the origin of that line. + +# We start at test 2 because setup will show as test 1 +title2="Regression test for partially overlapping search ranges" +cat <<EOF >a2 +1 +2 +3 +abcdef +5 +6 +7 +ijkl +9 +10 +11 +pqrs +13 +14 +15 +wxyz +17 +18 +19 +EOF +cat <<EOF >b2 +abcde +ijk +pqr +wxy +EOF +cat <<EOF >expected2 +4 +8 +12 +16 +EOF + +title3="Combine 3 lines into 2" +cat <<EOF >a3 +if ((maxgrow==0) || + ( single_line_field && (field->dcols < maxgrow)) || + (!single_line_field && (field->drows < maxgrow))) +EOF +cat <<EOF >b3 +if ((maxgrow == 0) || (single_line_field && (field->dcols < maxgrow)) || + (!single_line_field && (field->drows < maxgrow))) { +EOF +cat <<EOF >expected3 +2 +3 +EOF + +title4="Add curly brackets" +cat <<EOF >a4 + if (rows) *rows = field->rows; + if (cols) *cols = field->cols; + if (frow) *frow = field->frow; + if (fcol) *fcol = field->fcol; +EOF +cat <<EOF >b4 + if (rows) { + *rows = field->rows; + } + if (cols) { + *cols = field->cols; + } + if (frow) { + *frow = field->frow; + } + if (fcol) { + *fcol = field->fcol; + } +EOF +cat <<EOF >expected4 +1 +1 +Final +2 +2 +Final +3 +3 +Final +4 +4 +Final +EOF + + +title5="Combine many lines and change case" +cat <<EOF >a5 +for(row=0,pBuffer=field->buf; + row<height; + row++,pBuffer+=width ) +{ + if ((len = (int)( After_End_Of_Data( pBuffer, width ) - pBuffer )) > 0) + { + wmove( win, row, 0 ); + waddnstr( win, pBuffer, len ); +EOF +cat <<EOF >b5 +for (Row = 0, PBuffer = field->buf; Row < Height; Row++, PBuffer += Width) { + if ((Len = (int)(afterEndOfData(PBuffer, Width) - PBuffer)) > 0) { + wmove(win, Row, 0); + waddnstr(win, PBuffer, Len); +EOF +cat <<EOF >expected5 +1 +5 +7 +8 +EOF + +title6="Rename and combine lines" +cat <<EOF >a6 +bool need_visual_update = ((form != (FORM *)0) && + (form->status & _POSTED) && + (form->current==field)); + +if (need_visual_update) + Synchronize_Buffer(form); + +if (single_line_field) +{ + growth = field->cols * amount; + if (field->maxgrow) + growth = Minimum(field->maxgrow - field->dcols,growth); + field->dcols += growth; + if (field->dcols == field->maxgrow) +EOF +cat <<EOF >b6 +bool NeedVisualUpdate = ((Form != (FORM *)0) && (Form->status & _POSTED) && + (Form->current == field)); + +if (NeedVisualUpdate) { + synchronizeBuffer(Form); +} + +if (SingleLineField) { + Growth = field->cols * amount; + if (field->maxgrow) { + Growth = Minimum(field->maxgrow - field->dcols, Growth); + } + field->dcols += Growth; + if (field->dcols == field->maxgrow) { +EOF +cat <<EOF >expected6 +1 +3 +4 +5 +6 +Final +7 +8 +10 +11 +12 +Final +13 +14 +EOF + +# Both lines match identically so position must be used to tie-break. +title7="Same line twice" +cat <<EOF >a7 +abc +abc +EOF +cat <<EOF >b7 +abcd +abcd +EOF +cat <<EOF >expected7 +1 +2 +EOF + +title8="Enforce line order" +cat <<EOF >a8 +abcdef +ghijkl +ab +EOF +cat <<EOF >b8 +ghijk +abcd +EOF +cat <<EOF >expected8 +2 +3 +EOF + +title9="Expand lines and rename variables" +cat <<EOF >a9 +int myFunction(int ArgumentOne, Thing *ArgTwo, Blah XuglyBug) { + Squiggle FabulousResult = squargle(ArgumentOne, *ArgTwo, + XuglyBug) + EwwwGlobalWithAReallyLongNameYepTooLong; + return FabulousResult * 42; +} +EOF +cat <<EOF >b9 +int myFunction(int argument_one, Thing *arg_asdfgh, + Blah xugly_bug) { + Squiggle fabulous_result = squargle(argument_one, + *arg_asdfgh, xugly_bug) + + g_ewww_global_with_a_really_long_name_yep_too_long; + return fabulous_result * 42; +} +EOF +cat <<EOF >expected9 +1 +1 +2 +3 +3 +4 +5 +EOF + +title10="Two close matches versus one less close match" +cat <<EOF >a10 +abcdef +abcdef +ghijkl +EOF +cat <<EOF >b10 +gh +abcdefx +EOF +cat <<EOF >expected10 +Final +2 +EOF + +# The first line of b matches best with the last line of a, but the overall +# match is better if we match it with the the first line of a. +title11="Piggy in the middle" +cat <<EOF >a11 +abcdefg +ijklmn +abcdefgh +EOF +cat <<EOF >b11 +abcdefghx +ijklm +EOF +cat <<EOF >expected11 +1 +2 +EOF + +title12="No trailing newline" +printf "abc\ndef" >a12 +printf "abx\nstu" >b12 +cat <<EOF >expected12 +1 +Final +EOF + +title13="Reorder includes" +cat <<EOF >a13 +#include "c.h" +#include "b.h" +#include "a.h" +#include "e.h" +#include "d.h" +EOF +cat <<EOF >b13 +#include "a.h" +#include "b.h" +#include "c.h" +#include "d.h" +#include "e.h" +EOF +cat <<EOF >expected13 +3 +2 +1 +5 +4 +EOF + +last_test=13 + +test_expect_success setup ' + for i in $(test_seq 2 $last_test) + do + # Append each line in a separate commit to make it easy to + # check which original line the blame output relates to. + + line_count=0 && + while IFS= read line + do + line_count=$((line_count+1)) && + echo "$line" >>"$i" && + git add "$i" && + test_tick && + GIT_AUTHOR_NAME="$line_count" git commit -m "$line_count" + done <"a$i" + done && + + for i in $(test_seq 2 $last_test) + do + # Overwrite the files with the final content. + cp b$i $i && + git add $i + done && + test_tick && + + # Commit the final content all at once so it can all be + # referred to with the same commit ID. + GIT_AUTHOR_NAME=Final git commit -m Final && + + IGNOREME=$(git rev-parse HEAD) +' + +for i in $(test_seq 2 $last_test); do + eval title="\$title$i" + test_expect_success "$title" \ + "git blame -M9 --ignore-rev $IGNOREME $i >output && + sed -e \"$pick_author\" output >actual && + test_cmp expected$i actual" +done + +# This invoked a null pointer dereference when the chunk callback was called +# with a zero length parent chunk and there were no more suspects. +test_expect_success 'Diff chunks with no suspects' ' + test_write_lines xy1 A B C xy1 >file && + git add file && + test_tick && + GIT_AUTHOR_NAME=1 git commit -m 1 && + + test_write_lines xy2 A B xy2 C xy2 >file && + git add file && + test_tick && + GIT_AUTHOR_NAME=2 git commit -m 2 && + REV_2=$(git rev-parse HEAD) && + + test_write_lines xy3 A >file && + git add file && + test_tick && + GIT_AUTHOR_NAME=3 git commit -m 3 && + REV_3=$(git rev-parse HEAD) && + + test_write_lines 1 1 >expected && + + git blame --ignore-rev $REV_2 --ignore-rev $REV_3 file >output && + sed -e "$pick_author" output >actual && + + test_cmp expected actual + ' + +test_expect_success 'position matching' ' + test_write_lines abc def >file2 && + git add file2 && + test_tick && + GIT_AUTHOR_NAME=1 git commit -m 1 && + + test_write_lines abc def abc def >file2 && + git add file2 && + test_tick && + GIT_AUTHOR_NAME=2 git commit -m 2 && + + test_write_lines abcx defx abcx defx >file2 && + git add file2 && + test_tick && + GIT_AUTHOR_NAME=3 git commit -m 3 && + REV_3=$(git rev-parse HEAD) && + + test_write_lines abcy defy abcx defx >file2 && + git add file2 && + test_tick && + GIT_AUTHOR_NAME=4 git commit -m 4 && + REV_4=$(git rev-parse HEAD) && + + test_write_lines 1 1 2 2 >expected && + + git blame --ignore-rev $REV_3 --ignore-rev $REV_4 file2 >output && + sed -e "$pick_author" output >actual && + + test_cmp expected actual + ' + +# This fails if each blame entry is processed independently instead of +# processing each diff change in full. +test_expect_success 'preserve order' ' + test_write_lines bcde >file3 && + git add file3 && + test_tick && + GIT_AUTHOR_NAME=1 git commit -m 1 && + + test_write_lines bcde fghij >file3 && + git add file3 && + test_tick && + GIT_AUTHOR_NAME=2 git commit -m 2 && + + test_write_lines bcde fghij abcd >file3 && + git add file3 && + test_tick && + GIT_AUTHOR_NAME=3 git commit -m 3 && + + test_write_lines abcdx fghijx bcdex >file3 && + git add file3 && + test_tick && + GIT_AUTHOR_NAME=4 git commit -m 4 && + REV_4=$(git rev-parse HEAD) && + + test_write_lines abcdx fghijy bcdex >file3 && + git add file3 && + test_tick && + GIT_AUTHOR_NAME=5 git commit -m 5 && + REV_5=$(git rev-parse HEAD) && + + test_write_lines 1 2 3 >expected && + + git blame --ignore-rev $REV_4 --ignore-rev $REV_5 file3 >output && + sed -e "$pick_author" output >actual && + + test_cmp expected actual + ' + +test_done diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 1e3ac3c384..997f90b42b 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -1204,7 +1204,7 @@ test_expect_success $PREREQ 'no in-reply-to and no threading' ' --from="Example <nobody@example.com>" \ --to=nobody@example.com \ --no-thread \ - $patches $patches >stdout && + $patches >stdout && ! grep "In-Reply-To: " stdout ' @@ -1224,17 +1224,72 @@ test_expect_success $PREREQ 'sendemail.to works' ' git send-email \ --dry-run \ --from="Example <nobody@example.com>" \ - $patches $patches >stdout && + $patches >stdout && grep "To: Somebody <somebody@ex.com>" stdout ' +test_expect_success $PREREQ 'setup sendemail.identity' ' + git config --replace-all sendemail.to "default@example.com" && + git config --replace-all sendemail.isp.to "isp@example.com" && + git config --replace-all sendemail.cloud.to "cloud@example.com" +' + +test_expect_success $PREREQ 'sendemail.identity: reads the correct identity config' ' + git -c sendemail.identity=cloud send-email \ + --dry-run \ + --from="nobody@example.com" \ + $patches >stdout && + grep "To: cloud@example.com" stdout +' + +test_expect_success $PREREQ 'sendemail.identity: identity overrides sendemail.identity' ' + git -c sendemail.identity=cloud send-email \ + --identity=isp \ + --dry-run \ + --from="nobody@example.com" \ + $patches >stdout && + grep "To: isp@example.com" stdout +' + +test_expect_success $PREREQ 'sendemail.identity: --no-identity clears previous identity' ' + git -c sendemail.identity=cloud send-email \ + --no-identity \ + --dry-run \ + --from="nobody@example.com" \ + $patches >stdout && + grep "To: default@example.com" stdout +' + +test_expect_success $PREREQ 'sendemail.identity: bool identity variable existance overrides' ' + git -c sendemail.identity=cloud \ + -c sendemail.xmailer=true \ + -c sendemail.cloud.xmailer=false \ + send-email \ + --dry-run \ + --from="nobody@example.com" \ + $patches >stdout && + grep "To: cloud@example.com" stdout && + ! grep "X-Mailer" stdout +' + +test_expect_success $PREREQ 'sendemail.identity: bool variable fallback' ' + git -c sendemail.identity=cloud \ + -c sendemail.xmailer=false \ + send-email \ + --dry-run \ + --from="nobody@example.com" \ + $patches >stdout && + grep "To: cloud@example.com" stdout && + ! grep "X-Mailer" stdout +' + test_expect_success $PREREQ '--no-to overrides sendemail.to' ' git send-email \ --dry-run \ --from="Example <nobody@example.com>" \ --no-to \ --to=nobody@example.com \ - $patches $patches >stdout && + $patches >stdout && grep "To: nobody@example.com" stdout && ! grep "To: Somebody <somebody@ex.com>" stdout ' @@ -1245,7 +1300,7 @@ test_expect_success $PREREQ 'sendemail.cc works' ' --dry-run \ --from="Example <nobody@example.com>" \ --to=nobody@example.com \ - $patches $patches >stdout && + $patches >stdout && grep "Cc: Somebody <somebody@ex.com>" stdout ' @@ -1256,7 +1311,7 @@ test_expect_success $PREREQ '--no-cc overrides sendemail.cc' ' --no-cc \ --cc=bodies@example.com \ --to=nobody@example.com \ - $patches $patches >stdout && + $patches >stdout && grep "Cc: bodies@example.com" stdout && ! grep "Cc: Somebody <somebody@ex.com>" stdout ' @@ -1268,7 +1323,7 @@ test_expect_success $PREREQ 'sendemail.bcc works' ' --from="Example <nobody@example.com>" \ --to=nobody@example.com \ --smtp-server relay.example.com \ - $patches $patches >stdout && + $patches >stdout && grep "RCPT TO:<other@ex.com>" stdout ' @@ -1280,7 +1335,7 @@ test_expect_success $PREREQ '--no-bcc overrides sendemail.bcc' ' --bcc=bodies@example.com \ --to=nobody@example.com \ --smtp-server relay.example.com \ - $patches $patches >stdout && + $patches >stdout && grep "RCPT TO:<bodies@example.com>" stdout && ! grep "RCPT TO:<other@ex.com>" stdout ' @@ -1437,10 +1492,10 @@ test_expect_success $PREREQ 'setup expect' ' EOF ' -test_expect_success $PREREQ 'sendemail.transferencoding=7bit fails on 8bit data' ' +test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEncoding' ' clean_fake_sendmail && - git config sendemail.transferEncoding 7bit && - test_must_fail git send-email \ + test_must_fail git -c sendemail.transferEncoding=8bit \ + send-email \ --transfer-encoding=7bit \ --smtp-server="$(pwd)/fake.sendmail" \ email-using-8bit \ @@ -1449,11 +1504,10 @@ test_expect_success $PREREQ 'sendemail.transferencoding=7bit fails on 8bit data' test -z "$(ls msgtxt*)" ' -test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEncoding' ' +test_expect_success $PREREQ 'sendemail.transferEncoding via config' ' clean_fake_sendmail && - git config sendemail.transferEncoding 8bit && - test_must_fail git send-email \ - --transfer-encoding=7bit \ + test_must_fail git -c sendemail.transferEncoding=7bit \ + send-email \ --smtp-server="$(pwd)/fake.sendmail" \ email-using-8bit \ 2>errors >out && @@ -1461,16 +1515,15 @@ test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEnc test -z "$(ls msgtxt*)" ' -test_expect_success $PREREQ 'sendemail.transferencoding=8bit' ' +test_expect_success $PREREQ 'sendemail.transferEncoding via cli' ' clean_fake_sendmail && - git send-email \ - --transfer-encoding=8bit \ + test_must_fail git send-email \ + --transfer-encoding=7bit \ --smtp-server="$(pwd)/fake.sendmail" \ email-using-8bit \ 2>errors >out && - sed '1,/^$/d' msgtxt1 >actual && - sed '1,/^$/d' email-using-8bit >expected && - test_cmp expected actual + grep "cannot send message as 7bit" errors && + test -z "$(ls msgtxt*)" ' test_expect_success $PREREQ 'setup expect' ' @@ -1787,6 +1840,15 @@ test_expect_success '--dump-aliases must be used alone' ' test_must_fail git send-email --dump-aliases --to=janice@example.com -1 refs/heads/accounting ' +test_expect_success $PREREQ 'aliases and sendemail.identity' ' + test_must_fail git \ + -c sendemail.identity=cloud \ + -c sendemail.aliasesfile=default-aliases \ + -c sendemail.cloud.aliasesfile=cloud-aliases \ + send-email -1 2>stderr && + test_i18ngrep "cloud-aliases" stderr +' + test_sendmail_aliases () { msg="$1" && shift && expect="$@" && diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 3668263c40..141b7fa35e 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -3299,4 +3299,24 @@ test_expect_success !MINGW 'W: get-mark & empty orphan commit with erroneous thi sed -e s/LFs/LLL/ W-input | tr L "\n" | test_must_fail git fast-import ' +### +### series X (other new features) +### + +test_expect_success 'X: handling encoding' ' + test_tick && + cat >input <<-INPUT_END && + commit refs/heads/encoding + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + encoding iso-8859-7 + data <<COMMIT + INPUT_END + + printf "Pi: \360\nCOMMIT\n" >>input && + + git fast-import <input && + git cat-file -p encoding | grep $(printf "\360") && + git log -1 --format=%B encoding | grep $(printf "\317\200") +' + test_done diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh index 5690fe2810..b4004e05c2 100755 --- a/t/t9350-fast-export.sh +++ b/t/t9350-fast-export.sh @@ -94,22 +94,83 @@ test_expect_success 'fast-export --show-original-ids | git fast-import' ' test $MUSS = $(git rev-parse --verify refs/tags/muss) ' -test_expect_success 'iso-8859-1' ' +test_expect_success 'reencoding iso-8859-7' ' - git config i18n.commitencoding ISO8859-1 && - # use author and committer name in ISO-8859-1 to match it. - . "$TEST_DIRECTORY"/t3901/8859-1.txt && + test_when_finished "git reset --hard HEAD~1" && + test_config i18n.commitencoding iso-8859-7 && test_tick && echo rosten >file && - git commit -s -m den file && - git fast-export wer^..wer >iso8859-1.fi && - sed "s/wer/i18n/" iso8859-1.fi | + git commit -s -F "$TEST_DIRECTORY/t9350/simple-iso-8859-7-commit-message.txt" file && + git fast-export --reencode=yes wer^..wer >iso-8859-7.fi && + sed "s/wer/i18n/" iso-8859-7.fi | (cd new && git fast-import && + # The commit object, if not re-encoded, would be 240 bytes. + # Removing the "encoding iso-8859-7\n" header drops 20 bytes. + # Re-encoding the Pi character from \xF0 (\360) in iso-8859-7 + # to \xCF\x80 (\317\200) in UTF-8 adds a byte. Check for + # the expected size. + test 221 -eq "$(git cat-file -s i18n)" && + # ...and for the expected translation of bytes. git cat-file commit i18n >actual && - grep "Ãéà óú" actual) + grep $(printf "\317\200") actual && + # Also make sure the commit does not have the "encoding" header + ! grep ^encoding actual) +' + +test_expect_success 'aborting on iso-8859-7' ' + test_when_finished "git reset --hard HEAD~1" && + test_config i18n.commitencoding iso-8859-7 && + echo rosten >file && + git commit -s -F "$TEST_DIRECTORY/t9350/simple-iso-8859-7-commit-message.txt" file && + test_must_fail git fast-export --reencode=abort wer^..wer >iso-8859-7.fi ' + +test_expect_success 'preserving iso-8859-7' ' + + test_when_finished "git reset --hard HEAD~1" && + test_config i18n.commitencoding iso-8859-7 && + echo rosten >file && + git commit -s -F "$TEST_DIRECTORY/t9350/simple-iso-8859-7-commit-message.txt" file && + git fast-export --reencode=no wer^..wer >iso-8859-7.fi && + sed "s/wer/i18n-no-recoding/" iso-8859-7.fi | + (cd new && + git fast-import && + # The commit object, if not re-encoded, is 240 bytes. + # Removing the "encoding iso-8859-7\n" header would drops 20 + # bytes. Re-encoding the Pi character from \xF0 (\360) in + # iso-8859-7 to \xCF\x80 (\317\200) in UTF-8 adds a byte. + # Check for the expected size... + test 240 -eq "$(git cat-file -s i18n-no-recoding)" && + # ...as well as the expected byte. + git cat-file commit i18n-no-recoding >actual && + grep $(printf "\360") actual && + # Also make sure the commit has the "encoding" header + grep ^encoding actual) +' + +test_expect_success 'encoding preserved if reencoding fails' ' + + test_when_finished "git reset --hard HEAD~1" && + test_config i18n.commitencoding iso-8859-7 && + echo rosten >file && + git commit -s -F "$TEST_DIRECTORY/t9350/broken-iso-8859-7-commit-message.txt" file && + git fast-export --reencode=yes wer^..wer >iso-8859-7.fi && + sed "s/wer/i18n-invalid/" iso-8859-7.fi | + (cd new && + git fast-import && + git cat-file commit i18n-invalid >actual && + # Make sure the commit still has the encoding header + grep ^encoding actual && + # Verify that the commit has the expected size; i.e. + # that no bytes were re-encoded to a different encoding. + test 252 -eq "$(git cat-file -s i18n-invalid)" && + # ...and check for the original special bytes + grep $(printf "\360") actual && + grep $(printf "\377") actual) +' + test_expect_success 'import/export-marks' ' git checkout -b marks master && @@ -224,7 +285,6 @@ GIT_COMMITTER_NAME='C O Mitter'; export GIT_COMMITTER_NAME test_expect_success 'setup copies' ' - git config --unset i18n.commitencoding && git checkout -b copy rein && git mv file file3 && git commit -m move1 && diff --git a/t/t9350/broken-iso-8859-7-commit-message.txt b/t/t9350/broken-iso-8859-7-commit-message.txt new file mode 100644 index 0000000000..d06ad75b44 --- /dev/null +++ b/t/t9350/broken-iso-8859-7-commit-message.txt @@ -0,0 +1 @@ +Pi: ð; Invalid: ÿ
\ No newline at end of file diff --git a/t/t9350/simple-iso-8859-7-commit-message.txt b/t/t9350/simple-iso-8859-7-commit-message.txt new file mode 100644 index 0000000000..8b3f0c3dba --- /dev/null +++ b/t/t9350/simple-iso-8859-7-commit-message.txt @@ -0,0 +1 @@ +Pi: ð
\ No newline at end of file diff --git a/t/t9801-git-p4-branch.sh b/t/t9801-git-p4-branch.sh index 38d6b9043b..67ff2711f5 100755 --- a/t/t9801-git-p4-branch.sh +++ b/t/t9801-git-p4-branch.sh @@ -411,6 +411,46 @@ test_expect_failure 'git p4 clone file subset branch' ' ) ' +# Check that excluded files are omitted during import +test_expect_success 'git p4 clone complex branches with excluded files' ' + test_when_finished cleanup_git && + test_create_repo "$git" && + ( + cd "$git" && + git config git-p4.branchList branch1:branch2 && + git config --add git-p4.branchList branch1:branch3 && + git config --add git-p4.branchList branch1:branch4 && + git config --add git-p4.branchList branch1:branch5 && + git config --add git-p4.branchList branch1:branch6 && + git p4 clone --dest=. --detect-branches -//depot/branch1/file2 -//depot/branch2/file2 -//depot/branch3/file2 -//depot/branch4/file2 -//depot/branch5/file2 -//depot/branch6/file2 //depot@all && + git log --all --graph --decorate --stat && + git reset --hard p4/depot/branch1 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_file file3 && + git reset --hard p4/depot/branch2 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_missing file3 && + git reset --hard p4/depot/branch3 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_missing file3 && + git reset --hard p4/depot/branch4 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_file file3 && + git reset --hard p4/depot/branch5 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_file file3 && + git reset --hard p4/depot/branch6 && + test_path_is_file file1 && + test_path_is_missing file2 && + test_path_is_missing file3 + ) +' + # From a report in http://stackoverflow.com/questions/11893688 # where --use-client-spec caused branch prefixes not to be removed; # every file in git appeared into a subdirectory of the branch name. @@ -610,4 +650,96 @@ test_expect_success 'Update a file in git side and submit to P4 using client vie ) ' +test_expect_success 'restart p4d (case folding enabled)' ' + stop_and_cleanup_p4d && + start_p4d -C1 +' + +# +# 1: //depot/main/mf1 +# 2: integrate //depot/main/... -> //depot/branch1/... +# 3: //depot/main/mf2 +# 4: //depot/BRANCH1/B1f3 +# 5: //depot/branch1/b1f4 +# +test_expect_success !CASE_INSENSITIVE_FS 'basic p4 branches for case folding' ' + ( + cd "$cli" && + mkdir -p main && + + echo mf1 >main/mf1 && + p4 add main/mf1 && + p4 submit -d "main/mf1" && + + p4 integrate //depot/main/... //depot/branch1/... && + p4 submit -d "integrate main to branch1" && + + echo mf2 >main/mf2 && + p4 add main/mf2 && + p4 submit -d "main/mf2" && + + mkdir BRANCH1 && + echo B1f3 >BRANCH1/B1f3 && + p4 add BRANCH1/B1f3 && + p4 submit -d "BRANCH1/B1f3" && + + echo b1f4 >branch1/b1f4 && + p4 add branch1/b1f4 && + p4 submit -d "branch1/b1f4" + ) +' + +# Check that files are properly split across branches when ignorecase is set +test_expect_success !CASE_INSENSITIVE_FS 'git p4 clone, branchList branch definition, ignorecase' ' + test_when_finished cleanup_git && + test_create_repo "$git" && + ( + cd "$git" && + git config git-p4.branchList main:branch1 && + git config --type=bool core.ignoreCase true && + git p4 clone --dest=. --detect-branches //depot@all && + + git log --all --graph --decorate --stat && + + git reset --hard p4/master && + test_path_is_file mf1 && + test_path_is_file mf2 && + test_path_is_missing B1f3 && + test_path_is_missing b1f4 && + + git reset --hard p4/depot/branch1 && + test_path_is_file mf1 && + test_path_is_missing mf2 && + test_path_is_file B1f3 && + test_path_is_file b1f4 + ) +' + +# Check that files are properly split across branches when ignorecase is set, use-client-spec case +test_expect_success !CASE_INSENSITIVE_FS 'git p4 clone with client-spec, branchList branch definition, ignorecase' ' + client_view "//depot/... //client/..." && + test_when_finished cleanup_git && + test_create_repo "$git" && + ( + cd "$git" && + git config git-p4.branchList main:branch1 && + git config --type=bool core.ignoreCase true && + git p4 clone --dest=. --use-client-spec --detect-branches //depot@all && + + git log --all --graph --decorate --stat && + + git reset --hard p4/master && + test_path_is_file mf1 && + test_path_is_file mf2 && + test_path_is_missing B1f3 && + test_path_is_missing b1f4 && + + git reset --hard p4/depot/branch1 && + test_path_is_file mf1 && + test_path_is_missing mf2 && + test_path_is_file B1f3 && + test_path_is_file b1f4 + ) +' + test_done diff --git a/t/t9817-git-p4-exclude.sh b/t/t9817-git-p4-exclude.sh index 96d25f0c02..ec3d937c6a 100755 --- a/t/t9817-git-p4-exclude.sh +++ b/t/t9817-git-p4-exclude.sh @@ -22,7 +22,9 @@ test_expect_success 'create exclude repo' ' mkdir -p wanted discard && echo wanted >wanted/foo && echo discard >discard/foo && - p4 add wanted/foo discard/foo && + echo discard_file >discard_file && + echo discard_file_not >discard_file_not && + p4 add wanted/foo discard/foo discard_file discard_file_not && p4 submit -d "initial revision" ) ' @@ -33,7 +35,9 @@ test_expect_success 'check the repo was created correctly' ' ( cd "$git" && test_path_is_file wanted/foo && - test_path_is_file discard/foo + test_path_is_file discard/foo && + test_path_is_file discard_file && + test_path_is_file discard_file_not ) ' @@ -43,7 +47,21 @@ test_expect_success 'clone, excluding part of repo' ' ( cd "$git" && test_path_is_file wanted/foo && - test_path_is_missing discard/foo + test_path_is_missing discard/foo && + test_path_is_file discard_file && + test_path_is_file discard_file_not + ) +' + +test_expect_success 'clone, excluding single file, no trailing /' ' + test_when_finished cleanup_git && + git p4 clone -//depot/discard_file --dest="$git" //depot/...@all && + ( + cd "$git" && + test_path_is_file wanted/foo && + test_path_is_file discard/foo && + test_path_is_missing discard_file && + test_path_is_file discard_file_not ) ' @@ -52,15 +70,38 @@ test_expect_success 'clone, then sync with exclude' ' git p4 clone -//depot/discard/... --dest="$git" //depot/...@all && ( cd "$cli" && - p4 edit wanted/foo discard/foo && + p4 edit wanted/foo discard/foo discard_file_not && date >>wanted/foo && date >>discard/foo && + date >>discard_file_not && p4 submit -d "updating" && cd "$git" && git p4 sync -//depot/discard/... && test_path_is_file wanted/foo && - test_path_is_missing discard/foo + test_path_is_missing discard/foo && + test_path_is_file discard_file && + test_path_is_file discard_file_not + ) +' + +test_expect_success 'clone, then sync with exclude, no trailing /' ' + test_when_finished cleanup_git && + git p4 clone -//depot/discard/... -//depot/discard_file --dest="$git" //depot/...@all && + ( + cd "$cli" && + p4 edit wanted/foo discard/foo discard_file_not && + date >>wanted/foo && + date >>discard/foo && + date >>discard_file_not && + p4 submit -d "updating" && + + cd "$git" && + git p4 sync -//depot/discard/... -//depot/discard_file && + test_path_is_file wanted/foo && + test_path_is_missing discard/foo && + test_path_is_missing discard_file && + test_path_is_file discard_file_not ) ' diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 43cf313a1c..5d98d66dbd 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -1698,6 +1698,69 @@ do ' done +test_expect_success 'git config - section' ' + test_completion "git config br" <<-\EOF + branch.Z + browser.Z + EOF +' + +test_expect_success 'git config - variable name' ' + test_completion "git config log.d" <<-\EOF + log.date Z + log.decorate Z + EOF +' + +test_expect_success 'git config - value' ' + test_completion "git config color.pager " <<-\EOF + false Z + true Z + EOF +' + +test_expect_success 'git -c - section' ' + test_completion "git -c br" <<-\EOF + branch.Z + browser.Z + EOF +' + +test_expect_success 'git -c - variable name' ' + test_completion "git -c log.d" <<-\EOF + log.date=Z + log.decorate=Z + EOF +' + +test_expect_success 'git -c - value' ' + test_completion "git -c color.pager=" <<-\EOF + false Z + true Z + EOF +' + +test_expect_success 'git clone --config= - section' ' + test_completion "git clone --config=br" <<-\EOF + branch.Z + browser.Z + EOF +' + +test_expect_success 'git clone --config= - variable name' ' + test_completion "git clone --config=log.d" <<-\EOF + log.date=Z + log.decorate=Z + EOF +' + +test_expect_success 'git clone --config= - value' ' + test_completion "git clone --config=color.pager=" <<-\EOF + false Z + true Z + EOF +' + test_expect_success 'sourcing the completion script clears cached commands' ' __git_compute_all_commands && verbose test -n "$__git_all_commands" && @@ -1706,7 +1769,7 @@ test_expect_success 'sourcing the completion script clears cached commands' ' ' test_expect_success 'sourcing the completion script clears cached merge strategies' ' - GIT_TEST_GETTEXT_POISON= && + GIT_TEST_GETTEXT_POISON=false && __git_compute_merge_strategies && verbose test -n "$__git_merge_strategies" && . "$GIT_BUILD_DIR/contrib/completion/git-completion.bash" && diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh index 5cadedb2a9..88bc733ad6 100755 --- a/t/t9903-bash-prompt.sh +++ b/t/t9903-bash-prompt.sh @@ -211,8 +211,24 @@ test_expect_success 'prompt - merge' ' test_expect_success 'prompt - cherry-pick' ' printf " (master|CHERRY-PICKING)" >expected && - test_must_fail git cherry-pick b1 && - test_when_finished "git reset --hard" && + test_must_fail git cherry-pick b1 b1^ && + test_when_finished "git cherry-pick --abort" && + __git_ps1 >"$actual" && + test_cmp expected "$actual" && + git reset --merge && + test_must_fail git rev-parse CHERRY_PICK_HEAD && + __git_ps1 >"$actual" && + test_cmp expected "$actual" +' + +test_expect_success 'prompt - revert' ' + printf " (master|REVERTING)" >expected && + test_must_fail git revert b1^ b1 && + test_when_finished "git revert --abort" && + __git_ps1 >"$actual" && + test_cmp expected "$actual" && + git reset --merge && + test_must_fail git rev-parse REVERT_HEAD && __git_ps1 >"$actual" && test_cmp expected "$actual" ' diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index f233522f43..87bf3a2287 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -233,6 +233,129 @@ test_merge () { git tag "$1" } +# Efficiently create <nr> commits, each with a unique number (from 1 to <nr> +# by default) in the commit message. +# +# Usage: test_commit_bulk [options] <nr> +# -C <dir>: +# Run all git commands in directory <dir> +# --ref=<n>: +# ref on which to create commits (default: HEAD) +# --start=<n>: +# number commit messages from <n> (default: 1) +# --message=<msg>: +# use <msg> as the commit mesasge (default: "commit %s") +# --filename=<fn>: +# modify <fn> in each commit (default: %s.t) +# --contents=<string>: +# place <string> in each file (default: "content %s") +# --id=<string>: +# shorthand to use <string> and %s in message, filename, and contents +# +# The message, filename, and contents strings are evaluated by printf, with the +# first "%s" replaced by the current commit number. So you can do: +# +# test_commit_bulk --filename=file --contents="modification %s" +# +# to have every commit touch the same file, but with unique content. +# +test_commit_bulk () { + tmpfile=.bulk-commit.input + indir=. + ref=HEAD + n=1 + message='commit %s' + filename='%s.t' + contents='content %s' + while test $# -gt 0 + do + case "$1" in + -C) + indir=$2 + shift + ;; + --ref=*) + ref=${1#--*=} + ;; + --start=*) + n=${1#--*=} + ;; + --message=*) + message=${1#--*=} + ;; + --filename=*) + filename=${1#--*=} + ;; + --contents=*) + contents=${1#--*=} + ;; + --id=*) + message="${1#--*=} %s" + filename="${1#--*=}-%s.t" + contents="${1#--*=} %s" + ;; + -*) + BUG "invalid test_commit_bulk option: $1" + ;; + *) + break + ;; + esac + shift + done + total=$1 + + add_from= + if git -C "$indir" rev-parse --verify "$ref" + then + add_from=t + fi + + while test "$total" -gt 0 + do + test_tick && + echo "commit $ref" + printf 'author %s <%s> %s\n' \ + "$GIT_AUTHOR_NAME" \ + "$GIT_AUTHOR_EMAIL" \ + "$GIT_AUTHOR_DATE" + printf 'committer %s <%s> %s\n' \ + "$GIT_COMMITTER_NAME" \ + "$GIT_COMMITTER_EMAIL" \ + "$GIT_COMMITTER_DATE" + echo "data <<EOF" + printf "$message\n" $n + echo "EOF" + if test -n "$add_from" + then + echo "from $ref^0" + add_from= + fi + printf "M 644 inline $filename\n" $n + echo "data <<EOF" + printf "$contents\n" $n + echo "EOF" + echo + n=$((n + 1)) + total=$((total - 1)) + done >"$tmpfile" + + git -C "$indir" \ + -c fastimport.unpacklimit=0 \ + fast-import <"$tmpfile" || return 1 + + # This will be left in place on failure, which may aid debugging. + rm -f "$tmpfile" + + # If we updated HEAD, then be nice and update the index and working + # tree, too. + if test "$ref" = "HEAD" + then + git -C "$indir" checkout -f HEAD || return 1 + fi + +} + # This function helps systems where core.filemode=false is set. # Use it instead of plain 'chmod +x' to set or unset the executable bit # of a file in the working directory and add it to the index. @@ -309,6 +432,26 @@ test_unset_prereq () { } test_set_prereq () { + if test -n "$GIT_TEST_FAIL_PREREQS_INTERNAL" + then + case "$1" in + # The "!" case is handled below with + # test_unset_prereq() + !*) + ;; + # (Temporary?) whitelist of things we can't easily + # pretend not to support + SYMLINKS) + ;; + # Inspecting whether GIT_TEST_FAIL_PREREQS is on + # should be unaffected. + FAIL_PREREQS) + ;; + *) + return + esac + fi + case "$1" in !*) test_unset_prereq "${1#!}" @@ -437,7 +580,7 @@ test_expect_failure () { export test_prereq if ! test_skip "$@" then - say >&3 "checking known breakage: $2" + say >&3 "checking known breakage of $TEST_NUMBER.$test_count '$1': $2" if test_run_ "$2" expecting_failure then test_known_broken_ok_ "$1" @@ -457,7 +600,7 @@ test_expect_success () { export test_prereq if ! test_skip "$@" then - say >&3 "expecting success: $2" + say >&3 "expecting success of $TEST_NUMBER.$test_count '$1': $2" if test_run_ "$2" then test_ok_ "$1" @@ -1030,62 +1173,20 @@ perl () { command "$PERL_PATH" "$@" 2>&7 } 7>&2 2>&4 -# Is the value one of the various ways to spell a boolean true/false? -test_normalize_bool () { - git -c magic.variable="$1" config --bool magic.variable 2>/dev/null -} - -# Given a variable $1, normalize the value of it to one of "true", -# "false", or "auto" and store the result to it. -# -# test_tristate GIT_TEST_HTTPD -# -# A variable set to an empty string is set to 'false'. -# A variable set to 'false' or 'auto' keeps its value. -# Anything else is set to 'true'. -# An unset variable defaults to 'auto'. -# -# The last rule is to allow people to set the variable to an empty -# string and export it to decline testing the particular feature -# for versions both before and after this change. We used to treat -# both unset and empty variable as a signal for "do not test" and -# took any non-empty string as "please test". - -test_tristate () { - if eval "test x\"\${$1+isset}\" = xisset" - then - # explicitly set - eval " - case \"\$$1\" in - '') $1=false ;; - auto) ;; - *) $1=\$(test_normalize_bool \$$1 || echo true) ;; - esac - " - else - eval "$1=auto" - fi -} - # Exit the test suite, either by skipping all remaining tests or by -# exiting with an error. If "$1" is "auto", we then we assume we were -# opportunistically trying to set up some tests and we skip. If it is -# "true", then we report a failure. +# exiting with an error. If our prerequisite variable $1 falls back +# on a default assume we were opportunistically trying to set up some +# tests and we skip. If it is explicitly "true", then we report a failure. # # The error/skip message should be given by $2. # test_skip_or_die () { - case "$1" in - auto) + if ! git env--helper --type=bool --default=false --exit-code $1 + then skip_all=$2 test_done - ;; - true) - error "$2" - ;; - *) - error "BUG: test tristate is '$1' (real error: $2)" - esac + fi + error "$2" } # The following mingw_* functions obey POSIX shell syntax, but are actually @@ -1329,6 +1430,13 @@ test_oid () { eval "printf '%s' \"\${$var}\"" } +# Insert a slash into an object ID so it can be used to reference a location +# under ".git/objects". For example, "deadbeef..." becomes "de/adbeef..". +test_oid_to_path () { + local basename=${1#??} + echo "${1%$basename}/$basename" +} + # Choose a port number based on the test script's number and store it in # the given variable name, unless that variable already contains a number. test_set_port () { diff --git a/t/test-lib.sh b/t/test-lib.sh index 599fd70e14..a9d45642a5 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -212,6 +212,8 @@ fi TEST_STRESS_JOB_SFX="${GIT_TEST_STRESS_JOB_NR:+.stress-$GIT_TEST_STRESS_JOB_NR}" TEST_NAME="$(basename "$0" .sh)" +TEST_NUMBER="${TEST_NAME%%-*}" +TEST_NUMBER="${TEST_NUMBER#t}" TEST_RESULTS_DIR="$TEST_OUTPUT_DIRECTORY/test-results" TEST_RESULTS_BASE="$TEST_RESULTS_DIR/$TEST_NAME$TEST_STRESS_JOB_SFX" TRASH_DIRECTORY="trash directory.$TEST_NAME$TEST_STRESS_JOB_SFX" @@ -386,7 +388,6 @@ unset VISUAL EMAIL LANGUAGE COLUMNS $("$PERL_PATH" -e ' my @env = keys %ENV; my $ok = join("|", qw( TRACE - TR2_ DEBUG TEST .*_TEST @@ -1389,6 +1390,25 @@ yes () { done } +# The GIT_TEST_FAIL_PREREQS code hooks into test_set_prereq(), and +# thus needs to be set up really early, and set an internal variable +# for convenience so the hot test_set_prereq() codepath doesn't need +# to call "git env--helper". Only do that work if needed by seeing if +# GIT_TEST_FAIL_PREREQS is set at all. +GIT_TEST_FAIL_PREREQS_INTERNAL= +if test -n "$GIT_TEST_FAIL_PREREQS" +then + if git env--helper --type=bool --default=0 --exit-code GIT_TEST_FAIL_PREREQS + then + GIT_TEST_FAIL_PREREQS_INTERNAL=true + test_set_prereq FAIL_PREREQS + fi +else + test_lazy_prereq FAIL_PREREQS ' + git env--helper --type=bool --default=0 --exit-code GIT_TEST_FAIL_PREREQS + ' +fi + # Fix some commands on Windows uname_s=$(uname -s) case $uname_s in @@ -1443,11 +1463,9 @@ then unset GIT_TEST_GETTEXT_POISON_ORIG fi -# Can we rely on git's output in the C locale? -if test -z "$GIT_TEST_GETTEXT_POISON" -then - test_set_prereq C_LOCALE_OUTPUT -fi +test_lazy_prereq C_LOCALE_OUTPUT ' + ! git env--helper --type=bool --default=0 --exit-code GIT_TEST_GETTEXT_POISON +' if test -z "$GIT_TEST_CHECK_CACHE_TREE" then @@ -100,10 +100,9 @@ struct object *deref_tag_noverify(struct object *o) struct tag *lookup_tag(struct repository *r, const struct object_id *oid) { - struct object *obj = lookup_object(r, oid->hash); + struct object *obj = lookup_object(r, oid); if (!obj) - return create_object(r, oid->hash, - alloc_tag_node(r)); + return create_object(r, oid, alloc_tag_node(r)); return object_as_type(r, obj, OBJ_TAG, 0); } diff --git a/templates/hooks--pre-merge-commit.sample b/templates/hooks--pre-merge-commit.sample new file mode 100755 index 0000000000..399eab1924 --- /dev/null +++ b/templates/hooks--pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: @@ -88,8 +88,6 @@ static int prepare_trace_line(const char *file, int line, if (!trace_want(key)) return 0; - set_try_to_free_routine(NULL); /* is never reset */ - /* unit tests may want to disable additional trace output */ if (trace_want(&trace_bare)) return 1; diff --git a/trace2/tr2_dst.c b/trace2/tr2_dst.c index 5dda0ca1cd..c69857515f 100644 --- a/trace2/tr2_dst.c +++ b/trace2/tr2_dst.c @@ -215,13 +215,8 @@ connected: static void tr2_dst_malformed_warning(struct tr2_dst *dst, const char *tgt_value) { - struct strbuf buf = STRBUF_INIT; - - strbuf_addf(&buf, "trace2: unknown value for '%s': '%s'", - tr2_sysenv_display_name(dst->sysenv_var), tgt_value); - warning("%s", buf.buf); - - strbuf_release(&buf); + warning("trace2: unknown value for '%s': '%s'", + tr2_sysenv_display_name(dst->sysenv_var), tgt_value); } int tr2_dst_get_trace_fd(struct tr2_dst *dst) diff --git a/transport-helper.c b/transport-helper.c index 6b05a88faf..9e1279b928 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -33,6 +33,16 @@ struct helper_data { check_connectivity : 1, no_disconnect_req : 1, no_private_update : 1; + + /* + * As an optimization, the transport code may invoke fetch before + * get_refs_list. If this happens, and if the transport helper doesn't + * support connect or stateless_connect, we need to invoke + * get_refs_list ourselves if we haven't already done so. Keep track of + * whether we have invoked get_refs_list. + */ + unsigned get_refs_list_called : 1; + char *export_marks; char *import_marks; /* These go from remote name (as in "list") to private name */ @@ -652,17 +662,25 @@ static int connect_helper(struct transport *transport, const char *name, return 0; } +static struct ref *get_refs_list_using_list(struct transport *transport, + int for_push); + static int fetch(struct transport *transport, int nr_heads, struct ref **to_fetch) { struct helper_data *data = transport->data; int i, count; + get_helper(transport); + if (process_connect(transport, 0)) { do_take_over(transport); return transport->vtable->fetch(transport, nr_heads, to_fetch); } + if (!data->get_refs_list_called) + get_refs_list_using_list(transport, 0); + count = 0; for (i = 0; i < nr_heads; i++) if (!(to_fetch[i]->status & REF_STATUS_UPTODATE)) @@ -682,13 +700,9 @@ static int fetch(struct transport *transport, set_helper_option(transport, "update-shallow", "true"); if (data->transport_options.filter_options.choice) { - struct strbuf expanded_filter_spec = STRBUF_INIT; - expand_list_objects_filter_spec( - &data->transport_options.filter_options, - &expanded_filter_spec); - set_helper_option(transport, "filter", - expanded_filter_spec.buf); - strbuf_release(&expanded_filter_spec); + const char *spec = expand_list_objects_filter_spec( + &data->transport_options.filter_options); + set_helper_option(transport, "filter", spec); } if (data->transport_options.negotiation_tips) @@ -1059,6 +1073,19 @@ static int has_attribute(const char *attrs, const char *attr) static struct ref *get_refs_list(struct transport *transport, int for_push, const struct argv_array *ref_prefixes) { + get_helper(transport); + + if (process_connect(transport, for_push)) { + do_take_over(transport); + return transport->vtable->get_refs_list(transport, for_push, ref_prefixes); + } + + return get_refs_list_using_list(transport, for_push); +} + +static struct ref *get_refs_list_using_list(struct transport *transport, + int for_push) +{ struct helper_data *data = transport->data; struct child_process *helper; struct ref *ret = NULL; @@ -1066,13 +1093,9 @@ static struct ref *get_refs_list(struct transport *transport, int for_push, struct ref *posn; struct strbuf buf = STRBUF_INIT; + data->get_refs_list_called = 1; helper = get_helper(transport); - if (process_connect(transport, for_push)) { - do_take_over(transport); - return transport->vtable->get_refs_list(transport, for_push, ref_prefixes); - } - if (data->push && for_push) write_str_in_full(helper->in, "list for-push\n"); else @@ -1119,7 +1142,6 @@ static struct ref *get_refs_list(struct transport *transport, int for_push, } static struct transport_vtable vtable = { - 0, set_helper_option, get_refs_list, fetch, diff --git a/transport-internal.h b/transport-internal.h index 004bee5e36..1cde6258a7 100644 --- a/transport-internal.h +++ b/transport-internal.h @@ -7,12 +7,6 @@ struct argv_array; struct transport_vtable { /** - * This transport supports the fetch() function being called - * without get_refs_list() first being called. - */ - unsigned fetch_without_list : 1; - - /** * Returns 0 if successful, positive if the option is not * recognized or is inapplicable, and negative if the option * is applicable but the value is invalid. diff --git a/transport.c b/transport.c index 453de8f704..ae558af944 100644 --- a/transport.c +++ b/transport.c @@ -122,6 +122,7 @@ static void set_upstreams(struct transport *transport, struct ref *refs, struct bundle_transport_data { int fd; struct bundle_header header; + unsigned get_refs_from_bundle_called : 1; }; static struct ref *get_refs_from_bundle(struct transport *transport, @@ -135,6 +136,8 @@ static struct ref *get_refs_from_bundle(struct transport *transport, if (for_push) return NULL; + data->get_refs_from_bundle_called = 1; + if (data->fd > 0) close(data->fd); data->fd = read_bundle_header(transport->url, &data->header); @@ -154,6 +157,9 @@ static int fetch_refs_from_bundle(struct transport *transport, int nr_heads, struct ref **to_fetch) { struct bundle_transport_data *data = transport->data; + + if (!data->get_refs_from_bundle_called) + get_refs_from_bundle(transport, 0, NULL); return unbundle(the_repository, &data->header, data->fd, transport->progress ? BUNDLE_VERBOSE : 0); } @@ -224,6 +230,7 @@ static int set_git_option(struct git_transport_options *opts, opts->no_dependents = !!value; return 0; } else if (!strcmp(name, TRANS_OPT_LIST_OBJECTS_FILTER)) { + list_objects_filter_die_if_populated(&opts->filter_options); parse_list_objects_filter(&opts->filter_options, value); return 0; } @@ -742,7 +749,6 @@ static int disconnect_git(struct transport *transport) } static struct transport_vtable taken_over_vtable = { - 1, NULL, get_refs_via_connect, fetch_refs_via_pack, @@ -892,7 +898,6 @@ void transport_check_allowed(const char *type) } static struct transport_vtable bundle_vtable = { - 0, NULL, get_refs_from_bundle, fetch_refs_from_bundle, @@ -902,7 +907,6 @@ static struct transport_vtable bundle_vtable = { }; static struct transport_vtable builtin_smart_vtable = { - 1, NULL, get_refs_via_connect, fetch_refs_via_pack, @@ -1285,15 +1289,6 @@ int transport_fetch_refs(struct transport *transport, struct ref *refs) struct ref **heads = NULL; struct ref *rm; - if (!transport->vtable->fetch_without_list) - /* - * Some transports (e.g. the built-in bundle transport and the - * transport helper interface) do not work when fetching is - * done immediately after transport creation. List the remote - * refs anyway (if not already listed) as a workaround. - */ - transport_get_remote_refs(transport, NULL); - for (rm = refs; rm; rm = rm->next) { nr_refs++; if (rm->peer_ref && @@ -1394,100 +1389,3 @@ char *transport_anonymize_url(const char *url) literal_copy: return xstrdup(url); } - -static void fill_alternate_refs_command(struct child_process *cmd, - const char *repo_path) -{ - const char *value; - - if (!git_config_get_value("core.alternateRefsCommand", &value)) { - cmd->use_shell = 1; - - argv_array_push(&cmd->args, value); - argv_array_push(&cmd->args, repo_path); - } else { - cmd->git_cmd = 1; - - argv_array_pushf(&cmd->args, "--git-dir=%s", repo_path); - argv_array_push(&cmd->args, "for-each-ref"); - argv_array_push(&cmd->args, "--format=%(objectname)"); - - if (!git_config_get_value("core.alternateRefsPrefixes", &value)) { - argv_array_push(&cmd->args, "--"); - argv_array_split(&cmd->args, value); - } - } - - cmd->env = local_repo_env; - cmd->out = -1; -} - -static void read_alternate_refs(const char *path, - alternate_ref_fn *cb, - void *data) -{ - struct child_process cmd = CHILD_PROCESS_INIT; - struct strbuf line = STRBUF_INIT; - FILE *fh; - - fill_alternate_refs_command(&cmd, path); - - if (start_command(&cmd)) - return; - - fh = xfdopen(cmd.out, "r"); - while (strbuf_getline_lf(&line, fh) != EOF) { - struct object_id oid; - const char *p; - - if (parse_oid_hex(line.buf, &oid, &p) || *p) { - warning(_("invalid line while parsing alternate refs: %s"), - line.buf); - break; - } - - cb(&oid, data); - } - - fclose(fh); - finish_command(&cmd); -} - -struct alternate_refs_data { - alternate_ref_fn *fn; - void *data; -}; - -static int refs_from_alternate_cb(struct object_directory *e, - void *data) -{ - struct strbuf path = STRBUF_INIT; - size_t base_len; - struct alternate_refs_data *cb = data; - - if (!strbuf_realpath(&path, e->path, 0)) - goto out; - if (!strbuf_strip_suffix(&path, "/objects")) - goto out; - base_len = path.len; - - /* Is this a git repository with refs? */ - strbuf_addstr(&path, "/refs"); - if (!is_directory(path.buf)) - goto out; - strbuf_setlen(&path, base_len); - - read_alternate_refs(path.buf, cb->fn, cb->data); - -out: - strbuf_release(&path); - return 0; -} - -void for_each_alternate_ref(alternate_ref_fn fn, void *data) -{ - struct alternate_refs_data cb; - cb.fn = fn; - cb.data = data; - foreach_alt_odb(refs_from_alternate_cb, &cb); -} diff --git a/transport.h b/transport.h index 06e06d3d89..0b5f7806f6 100644 --- a/transport.h +++ b/transport.h @@ -262,6 +262,4 @@ int transport_refs_pushed(struct ref *ref); void transport_print_push_status(const char *dest, struct ref *refs, int verbose, int porcelain, unsigned int *reject_reasons); -typedef void alternate_ref_fn(const struct object_id *oid, void *); -void for_each_alternate_ref(alternate_ref_fn, void *); #endif diff --git a/tree-diff.c b/tree-diff.c index f1f641eb6a..33ded7f8b3 100644 --- a/tree-diff.c +++ b/tree-diff.c @@ -422,8 +422,8 @@ static struct combine_diff_path *ll_diff_tree_paths( * diff_tree_oid(parent, commit) ) */ for (i = 0; i < nparent; ++i) - tptree[i] = fill_tree_descriptor(&tp[i], parents_oid[i]); - ttree = fill_tree_descriptor(&t, oid); + tptree[i] = fill_tree_descriptor(opt->repo, &tp[i], parents_oid[i]); + ttree = fill_tree_descriptor(opt->repo, &t, oid); /* Enable recursion indefinitely */ opt->pathspec.recursive = opt->flags.recursive; diff --git a/tree-walk.c b/tree-walk.c index ec32a47b2e..bea819d826 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -81,13 +81,15 @@ int init_tree_desc_gently(struct tree_desc *desc, const void *buffer, unsigned l return result; } -void *fill_tree_descriptor(struct tree_desc *desc, const struct object_id *oid) +void *fill_tree_descriptor(struct repository *r, + struct tree_desc *desc, + const struct object_id *oid) { unsigned long size = 0; void *buf = NULL; if (oid) { - buf = read_object_with_reference(oid, tree_type, &size, NULL); + buf = read_object_with_reference(r, oid, tree_type, &size, NULL); if (!buf) die("unable to read tree %s", oid_to_hex(oid)); } @@ -168,40 +170,61 @@ int tree_entry_gently(struct tree_desc *desc, struct name_entry *entry) void setup_traverse_info(struct traverse_info *info, const char *base) { - int pathlen = strlen(base); + size_t pathlen = strlen(base); static struct traverse_info dummy; memset(info, 0, sizeof(*info)); if (pathlen && base[pathlen-1] == '/') pathlen--; info->pathlen = pathlen ? pathlen + 1 : 0; - info->name.path = base; - info->name.pathlen = pathlen; - if (pathlen) { - hashcpy(info->name.oid.hash, (const unsigned char *)base + pathlen + 1); + info->name = base; + info->namelen = pathlen; + if (pathlen) info->prev = &dummy; - } } -char *make_traverse_path(char *path, const struct traverse_info *info, const struct name_entry *n) +char *make_traverse_path(char *path, size_t pathlen, + const struct traverse_info *info, + const char *name, size_t namelen) { - int len = tree_entry_len(n); - int pathlen = info->pathlen; + /* Always points to the end of the name we're about to add */ + size_t pos = st_add(info->pathlen, namelen); + + if (pos >= pathlen) + BUG("too small buffer passed to make_traverse_path"); - path[pathlen + len] = 0; + path[pos] = 0; for (;;) { - memcpy(path + pathlen, n->path, len); - if (!pathlen) + if (pos < namelen) + BUG("traverse_info pathlen does not match strings"); + pos -= namelen; + memcpy(path + pos, name, namelen); + + if (!pos) break; - path[--pathlen] = '/'; - n = &info->name; - len = tree_entry_len(n); + path[--pos] = '/'; + + if (!info) + BUG("traverse_info ran out of list items"); + name = info->name; + namelen = info->namelen; info = info->prev; - pathlen -= len; } return path; } +void strbuf_make_traverse_path(struct strbuf *out, + const struct traverse_info *info, + const char *name, size_t namelen) +{ + size_t len = traverse_path_len(info, namelen); + + strbuf_grow(out, len); + make_traverse_path(out->buf + out->len, out->alloc - out->len, + info, name, namelen); + strbuf_setlen(out, out->len + len); +} + struct tree_desc_skip { struct tree_desc_skip *prev; const void *ptr; @@ -398,13 +421,12 @@ int traverse_trees(struct index_state *istate, tx[i].d = t[i]; if (info->prev) { - strbuf_grow(&base, info->pathlen); - make_traverse_path(base.buf, info->prev, &info->name); - base.buf[info->pathlen-1] = '/'; - strbuf_setlen(&base, info->pathlen); - traverse_path = xstrndup(base.buf, info->pathlen); + strbuf_make_traverse_path(&base, info->prev, + info->name, info->namelen); + strbuf_addch(&base, '/'); + traverse_path = xstrndup(base.buf, base.len); } else { - traverse_path = xstrndup(info->name.path, info->pathlen); + traverse_path = xstrndup(info->name, info->pathlen); } info->traverse_path = traverse_path; for (;;) { @@ -500,7 +522,9 @@ struct dir_state { struct object_id oid; }; -static int find_tree_entry(struct tree_desc *t, const char *name, struct object_id *result, unsigned short *mode) +static int find_tree_entry(struct repository *r, struct tree_desc *t, + const char *name, struct object_id *result, + unsigned short *mode) { int namelen = strlen(name); while (t->size) { @@ -530,19 +554,23 @@ static int find_tree_entry(struct tree_desc *t, const char *name, struct object_ oidcpy(result, &oid); return 0; } - return get_tree_entry(&oid, name + entrylen, result, mode); + return get_tree_entry(r, &oid, name + entrylen, result, mode); } return -1; } -int get_tree_entry(const struct object_id *tree_oid, const char *name, struct object_id *oid, unsigned short *mode) +int get_tree_entry(struct repository *r, + const struct object_id *tree_oid, + const char *name, + struct object_id *oid, + unsigned short *mode) { int retval; void *tree; unsigned long size; struct object_id root; - tree = read_object_with_reference(tree_oid, tree_type, &size, &root); + tree = read_object_with_reference(r, tree_oid, tree_type, &size, &root); if (!tree) return -1; @@ -557,7 +585,7 @@ int get_tree_entry(const struct object_id *tree_oid, const char *name, struct ob } else { struct tree_desc t; init_tree_desc(&t, tree, size); - retval = find_tree_entry(&t, name, oid, mode); + retval = find_tree_entry(r, &t, name, oid, mode); } free(tree); return retval; @@ -585,7 +613,10 @@ int get_tree_entry(const struct object_id *tree_oid, const char *name, struct ob * See the code for enum get_oid_result for a description of * the return values. */ -enum get_oid_result get_tree_entry_follow_symlinks(struct object_id *tree_oid, const char *name, struct object_id *result, struct strbuf *result_path, unsigned short *mode) +enum get_oid_result get_tree_entry_follow_symlinks(struct repository *r, + struct object_id *tree_oid, const char *name, + struct object_id *result, struct strbuf *result_path, + unsigned short *mode) { int retval = MISSING_OBJECT; struct dir_state *parents = NULL; @@ -609,7 +640,8 @@ enum get_oid_result get_tree_entry_follow_symlinks(struct object_id *tree_oid, c void *tree; struct object_id root; unsigned long size; - tree = read_object_with_reference(¤t_tree_oid, + tree = read_object_with_reference(r, + ¤t_tree_oid, tree_type, &size, &root); if (!tree) @@ -678,7 +710,7 @@ enum get_oid_result get_tree_entry_follow_symlinks(struct object_id *tree_oid, c } /* Look up the first (or only) path component in the tree. */ - find_result = find_tree_entry(&t, namebuf.buf, + find_result = find_tree_entry(r, &t, namebuf.buf, ¤t_tree_oid, mode); if (find_result) { goto done; @@ -722,7 +754,8 @@ enum get_oid_result get_tree_entry_follow_symlinks(struct object_id *tree_oid, c */ retval = DANGLING_SYMLINK; - contents = read_object_file(¤t_tree_oid, &type, + contents = repo_read_object_file(r, + ¤t_tree_oid, &type, &link_len); if (!contents) diff --git a/tree-walk.h b/tree-walk.h index 161e2400f4..abe2caf4e0 100644 --- a/tree-walk.h +++ b/tree-walk.h @@ -45,19 +45,24 @@ int init_tree_desc_gently(struct tree_desc *desc, const void *buf, unsigned long int tree_entry(struct tree_desc *, struct name_entry *); int tree_entry_gently(struct tree_desc *, struct name_entry *); -void *fill_tree_descriptor(struct tree_desc *desc, const struct object_id *oid); +void *fill_tree_descriptor(struct repository *r, + struct tree_desc *desc, + const struct object_id *oid); struct traverse_info; typedef int (*traverse_callback_t)(int n, unsigned long mask, unsigned long dirmask, struct name_entry *entry, struct traverse_info *); int traverse_trees(struct index_state *istate, int n, struct tree_desc *t, struct traverse_info *info); -enum get_oid_result get_tree_entry_follow_symlinks(struct object_id *tree_oid, const char *name, struct object_id *result, struct strbuf *result_path, unsigned short *mode); +enum get_oid_result get_tree_entry_follow_symlinks(struct repository *r, struct object_id *tree_oid, const char *name, struct object_id *result, struct strbuf *result_path, unsigned short *mode); struct traverse_info { const char *traverse_path; struct traverse_info *prev; - struct name_entry name; - int pathlen; + const char *name; + size_t namelen; + unsigned mode; + + size_t pathlen; struct pathspec *pathspec; unsigned long df_conflicts; @@ -66,13 +71,18 @@ struct traverse_info { int show_all_errors; }; -int get_tree_entry(const struct object_id *, const char *, struct object_id *, unsigned short *); -char *make_traverse_path(char *path, const struct traverse_info *info, const struct name_entry *n); +int get_tree_entry(struct repository *, const struct object_id *, const char *, struct object_id *, unsigned short *); +char *make_traverse_path(char *path, size_t pathlen, const struct traverse_info *info, + const char *name, size_t namelen); +void strbuf_make_traverse_path(struct strbuf *out, + const struct traverse_info *info, + const char *name, size_t namelen); void setup_traverse_info(struct traverse_info *info, const char *base); -static inline int traverse_path_len(const struct traverse_info *info, const struct name_entry *n) +static inline size_t traverse_path_len(const struct traverse_info *info, + size_t namelen) { - return info->pathlen + tree_entry_len(n); + return st_add(info->pathlen, namelen); } /* in general, positive means "kind of interesting" */ @@ -197,10 +197,9 @@ int read_tree(struct repository *r, struct tree *tree, int stage, struct tree *lookup_tree(struct repository *r, const struct object_id *oid) { - struct object *obj = lookup_object(r, oid->hash); + struct object *obj = lookup_object(r, oid); if (!obj) - return create_object(r, oid->hash, - alloc_tree_node(r)); + return create_object(r, oid, alloc_tree_node(r)); return object_as_type(r, obj, OBJ_TREE, 0); } diff --git a/unpack-trees.c b/unpack-trees.c index 50189909b8..9c25126aec 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -16,7 +16,7 @@ #include "submodule-config.h" #include "fsmonitor.h" #include "object-store.h" -#include "fetch-object.h" +#include "promisor-remote.h" /* * Error messages expected by scripts out of plumbing commands such as @@ -315,7 +315,7 @@ static struct progress *get_progress(struct unpack_trees_options *o) total++; } - return start_delayed_progress(_("Checking out files"), total); + return start_delayed_progress(_("Updating files"), total); } static void setup_collided_checkout_detection(struct checkout *state, @@ -400,7 +400,7 @@ static int check_updates(struct unpack_trees_options *o) load_gitmodules_file(index, &state); enable_delayed_checkout(&state); - if (repository_format_partial_clone && o->update && !o->dry_run) { + if (has_promisor_remote() && o->update && !o->dry_run) { /* * Prefetch the objects that are to be checked out in the loop * below. @@ -419,8 +419,8 @@ static int check_updates(struct unpack_trees_options *o) oid_array_append(&to_fetch, &ce->oid); } if (to_fetch.nr) - fetch_objects(repository_format_partial_clone, - to_fetch.oid, to_fetch.nr); + promisor_remote_get_direct(the_repository, + to_fetch.oid, to_fetch.nr); oid_array_clear(&to_fetch); } for (i = 0; i < index->cache_nr; i++) { @@ -632,7 +632,7 @@ static int unpack_index_entry(struct cache_entry *ce, return ret; } -static int find_cache_pos(struct traverse_info *, const struct name_entry *); +static int find_cache_pos(struct traverse_info *, const char *p, size_t len); static void restore_cache_bottom(struct traverse_info *info, int bottom) { @@ -651,7 +651,7 @@ static int switch_cache_bottom(struct traverse_info *info) if (o->diff_index_cached) return 0; ret = o->cache_bottom; - pos = find_cache_pos(info->prev, &info->name); + pos = find_cache_pos(info->prev, info->name, info->namelen); if (pos < -1) o->cache_bottom = -2 - pos; @@ -686,21 +686,19 @@ static int index_pos_by_traverse_info(struct name_entry *names, struct traverse_info *info) { struct unpack_trees_options *o = info->data; - int len = traverse_path_len(info, names); - char *name = xmalloc(len + 1 /* slash */ + 1 /* NUL */); + struct strbuf name = STRBUF_INIT; int pos; - make_traverse_path(name, info, names); - name[len++] = '/'; - name[len] = '\0'; - pos = index_name_pos(o->src_index, name, len); + strbuf_make_traverse_path(&name, info, names->path, names->pathlen); + strbuf_addch(&name, '/'); + pos = index_name_pos(o->src_index, name.buf, name.len); if (pos >= 0) BUG("This is a directory and should not exist in index"); pos = -pos - 1; - if (!starts_with(o->src_index->cache[pos]->name, name) || - (pos > 0 && starts_with(o->src_index->cache[pos-1]->name, name))) + if (!starts_with(o->src_index->cache[pos]->name, name.buf) || + (pos > 0 && starts_with(o->src_index->cache[pos-1]->name, name.buf))) BUG("pos must point at the first entry in this directory"); - free(name); + strbuf_release(&name); return pos; } @@ -811,8 +809,10 @@ static int traverse_trees_recursive(int n, unsigned long dirmask, newinfo = *info; newinfo.prev = info; newinfo.pathspec = info->pathspec; - newinfo.name = *p; - newinfo.pathlen += tree_entry_len(p) + 1; + newinfo.name = p->path; + newinfo.namelen = p->pathlen; + newinfo.mode = p->mode; + newinfo.pathlen = st_add3(newinfo.pathlen, tree_entry_len(p), 1); newinfo.df_conflicts |= df_conflicts; /* @@ -840,7 +840,7 @@ static int traverse_trees_recursive(int n, unsigned long dirmask, const struct object_id *oid = NULL; if (dirmask & 1) oid = &names[i].oid; - buf[nr_buf++] = fill_tree_descriptor(t + i, oid); + buf[nr_buf++] = fill_tree_descriptor(the_repository, t + i, oid); } } @@ -863,14 +863,18 @@ static int traverse_trees_recursive(int n, unsigned long dirmask, * itself - the caller needs to do the final check for the cache * entry having more data at the end! */ -static int do_compare_entry_piecewise(const struct cache_entry *ce, const struct traverse_info *info, const struct name_entry *n) +static int do_compare_entry_piecewise(const struct cache_entry *ce, + const struct traverse_info *info, + const char *name, size_t namelen, + unsigned mode) { - int len, pathlen, ce_len; + int pathlen, ce_len; const char *ce_name; if (info->prev) { int cmp = do_compare_entry_piecewise(ce, info->prev, - &info->name); + info->name, info->namelen, + info->mode); if (cmp) return cmp; } @@ -884,15 +888,15 @@ static int do_compare_entry_piecewise(const struct cache_entry *ce, const struct ce_len -= pathlen; ce_name = ce->name + pathlen; - len = tree_entry_len(n); - return df_name_compare(ce_name, ce_len, S_IFREG, n->path, len, n->mode); + return df_name_compare(ce_name, ce_len, S_IFREG, name, namelen, mode); } static int do_compare_entry(const struct cache_entry *ce, const struct traverse_info *info, - const struct name_entry *n) + const char *name, size_t namelen, + unsigned mode) { - int len, pathlen, ce_len; + int pathlen, ce_len; const char *ce_name; int cmp; @@ -902,7 +906,7 @@ static int do_compare_entry(const struct cache_entry *ce, * it is quicker to use the precomputed version. */ if (!info->traverse_path) - return do_compare_entry_piecewise(ce, info, n); + return do_compare_entry_piecewise(ce, info, name, namelen, mode); cmp = strncmp(ce->name, info->traverse_path, info->pathlen); if (cmp) @@ -917,13 +921,12 @@ static int do_compare_entry(const struct cache_entry *ce, ce_len -= pathlen; ce_name = ce->name + pathlen; - len = tree_entry_len(n); - return df_name_compare(ce_name, ce_len, S_IFREG, n->path, len, n->mode); + return df_name_compare(ce_name, ce_len, S_IFREG, name, namelen, mode); } static int compare_entry(const struct cache_entry *ce, const struct traverse_info *info, const struct name_entry *n) { - int cmp = do_compare_entry(ce, info, n); + int cmp = do_compare_entry(ce, info, n->path, n->pathlen, n->mode); if (cmp) return cmp; @@ -931,7 +934,7 @@ static int compare_entry(const struct cache_entry *ce, const struct traverse_inf * Even if the beginning compared identically, the ce should * compare as bigger than a directory leading up to it! */ - return ce_namelen(ce) > traverse_path_len(info, n); + return ce_namelen(ce) > traverse_path_len(info, tree_entry_len(n)); } static int ce_in_traverse_path(const struct cache_entry *ce, @@ -939,7 +942,8 @@ static int ce_in_traverse_path(const struct cache_entry *ce, { if (!info->prev) return 1; - if (do_compare_entry(ce, info->prev, &info->name)) + if (do_compare_entry(ce, info->prev, + info->name, info->namelen, info->mode)) return 0; /* * If ce (blob) is the same name as the path (which is a tree @@ -954,7 +958,7 @@ static struct cache_entry *create_ce_entry(const struct traverse_info *info, struct index_state *istate, int is_transient) { - int len = traverse_path_len(info, n); + size_t len = traverse_path_len(info, tree_entry_len(n)); struct cache_entry *ce = is_transient ? make_empty_transient_cache_entry(len) : @@ -964,7 +968,8 @@ static struct cache_entry *create_ce_entry(const struct traverse_info *info, ce->ce_flags = create_ce_flags(stage); ce->ce_namelen = len; oidcpy(&ce->oid, &n->oid); - make_traverse_path(ce->name, info, n); + /* len+1 because the cache_entry allocates space for NUL */ + make_traverse_path(ce->name, len + 1, info, n->path, n->pathlen); return ce; } @@ -1057,13 +1062,12 @@ static int unpack_failed(struct unpack_trees_options *o, const char *message) * the directory. */ static int find_cache_pos(struct traverse_info *info, - const struct name_entry *p) + const char *p, size_t p_len) { int pos; struct unpack_trees_options *o = info->data; struct index_state *index = o->src_index; int pfxlen = info->pathlen; - int p_len = tree_entry_len(p); for (pos = o->cache_bottom; pos < index->cache_nr; pos++) { const struct cache_entry *ce = index->cache[pos]; @@ -1099,7 +1103,7 @@ static int find_cache_pos(struct traverse_info *info, ce_len = ce_slash - ce_name; else ce_len = ce_namelen(ce) - pfxlen; - cmp = name_compare(p->path, p_len, ce_name, ce_len); + cmp = name_compare(p, p_len, ce_name, ce_len); /* * Exact match; if we have a directory we need to * delay returning it. @@ -1114,7 +1118,7 @@ static int find_cache_pos(struct traverse_info *info, * E.g. ce_name == "t-i", and p->path == "t"; we may * have "t/a" in the index. */ - if (p_len < ce_len && !memcmp(ce_name, p->path, p_len) && + if (p_len < ce_len && !memcmp(ce_name, p, p_len) && ce_name[p_len] < '/') continue; /* keep looking */ break; @@ -1125,7 +1129,7 @@ static int find_cache_pos(struct traverse_info *info, static struct cache_entry *find_cache_entry(struct traverse_info *info, const struct name_entry *p) { - int pos = find_cache_pos(info, p); + int pos = find_cache_pos(info, p->path, p->pathlen); struct unpack_trees_options *o = info->data; if (0 <= pos) @@ -1138,10 +1142,10 @@ static void debug_path(struct traverse_info *info) { if (info->prev) { debug_path(info->prev); - if (*info->prev->name.path) + if (*info->prev->name) putchar('/'); } - printf("%s", info->name.path); + printf("%s", info->name); } static void debug_name_entry(int i, struct name_entry *n) diff --git a/upload-pack.c b/upload-pack.c index b2a9f368ec..875db92996 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -140,18 +140,17 @@ static void create_pack_file(const struct object_array *have_obj, argv_array_push(&pack_objects.args, "--delta-base-offset"); if (use_include_tag) argv_array_push(&pack_objects.args, "--include-tag"); - if (filter_options.filter_spec) { - struct strbuf expanded_filter_spec = STRBUF_INIT; - expand_list_objects_filter_spec(&filter_options, - &expanded_filter_spec); + if (filter_options.choice) { + const char *spec = + expand_list_objects_filter_spec(&filter_options); if (pack_objects.use_shell) { struct strbuf buf = STRBUF_INIT; - sq_quote_buf(&buf, expanded_filter_spec.buf); + sq_quote_buf(&buf, spec); argv_array_pushf(&pack_objects.args, "--filter=%s", buf.buf); strbuf_release(&buf); } else { argv_array_pushf(&pack_objects.args, "--filter=%s", - expanded_filter_spec.buf); + spec); } } @@ -528,13 +527,13 @@ static int get_reachable_list(struct object_array *src, return -1; while ((i = read_in_full(cmd.out, namebuf, hexsz + 1)) == hexsz + 1) { - struct object_id sha1; + struct object_id oid; const char *p; - if (parse_oid_hex(namebuf, &sha1, &p) || *p != '\n') + if (parse_oid_hex(namebuf, &oid, &p) || *p != '\n') break; - o = lookup_object(the_repository, sha1.hash); + o = lookup_object(the_repository, &oid); if (o && o->type == OBJ_COMMIT) { o->flags &= ~TMP_MARK; } @@ -884,6 +883,7 @@ static void receive_needs(struct packet_reader *reader, struct object_array *wan if (skip_prefix(reader->line, "filter ", &arg)) { if (!filter_capability_requested) die("git upload-pack: filtering capability not negotiated"); + list_objects_filter_die_if_populated(&filter_options); parse_list_objects_filter(&filter_options, arg); continue; } @@ -960,7 +960,7 @@ static void receive_needs(struct packet_reader *reader, struct object_array *wan static int mark_our_ref(const char *refname, const char *refname_full, const struct object_id *oid) { - struct object *o = lookup_unknown_object(oid->hash); + struct object *o = lookup_unknown_object(oid); if (ref_is_hidden(refname, refname_full)) { o->flags |= HIDDEN_REF; @@ -1305,6 +1305,7 @@ static void process_args(struct packet_reader *request, } if (allow_filter && skip_prefix(arg, "filter ", &p)) { + list_objects_filter_die_if_populated(&filter_options); parse_list_objects_filter(&filter_options, p); continue; } @@ -86,6 +86,12 @@ char *url_decode_mem(const char *url, int len) return url_decode_internal(&url, len, NULL, &out, 0); } +char *url_percent_decode(const char *encoded) +{ + struct strbuf out = STRBUF_INIT; + return url_decode_internal(&encoded, strlen(encoded), NULL, &out, 0); +} + char *url_decode_parameter_name(const char **query) { struct strbuf out = STRBUF_INIT; @@ -7,6 +7,14 @@ int is_url(const char *url); int is_urlschemechar(int first_flag, int ch); char *url_decode(const char *url); char *url_decode_mem(const char *url, int len); + +/* + * Similar to the url_decode_{,mem} methods above, but doesn't assume there + * is a scheme followed by a : at the start of the string. Instead, %-sequences + * before any : are also parsed. + */ +char *url_percent_decode(const char *encoded); + char *url_decode_parameter_name(const char **query); char *url_decode_parameter_value(const char **query); diff --git a/userdiff.c b/userdiff.c index 3a78fbf504..86e3244e15 100644 --- a/userdiff.c +++ b/userdiff.c @@ -23,6 +23,14 @@ IPATTERN("ada", "[a-zA-Z][a-zA-Z0-9_]*" "|[-+]?[0-9][0-9#_.aAbBcCdDeEfF]*([eE][+-]?[0-9_]+)?" "|=>|\\.\\.|\\*\\*|:=|/=|>=|<=|<<|>>|<>"), +PATTERNS("dts", + "!;\n" + /* lines beginning with a word optionally preceded by '&' or the root */ + "^[ \t]*((/|&?[a-zA-Z_]).*)", + /* -- */ + /* Property names and math operators */ + "[a-zA-Z0-9,._+?#-]+" + "|[-+*/%&^|!~]|>>|<<|&&|\\|\\|"), IPATTERN("fortran", "!^([C*]|[ \t]*!)\n" "!^[ \t]*MODULE[ \t]+PROCEDURE[ \t]\n" @@ -58,7 +66,12 @@ PATTERNS("java", "|[-+*/<>%&^|=!]=" "|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"), PATTERNS("matlab", - "^[[:space:]]*((classdef|function)[[:space:]].*)$|^%%[[:space:]].*$", + /* + * Octave pattern is mostly the same as matlab, except that '%%%' and + * '##' can also be used to begin code sections, in addition to '%%' + * that is understood by both. + */ + "^[[:space:]]*((classdef|function)[[:space:]].*)$|^(%%%?|##)[[:space:]].*$", "[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^']|\\|\\||&&"), PATTERNS("objc", /* Negate C statements that can look like functions */ @@ -130,6 +143,12 @@ PATTERNS("ruby", "^[ \t]*((class|module|def)[ \t].*)$", "(@|@@|\\$)?[a-zA-Z_][a-zA-Z0-9_]*" "|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+|\\?(\\\\C-)?(\\\\M-)?." "|//=?|[-+*/<>%&^|=!]=|<<=?|>>=?|===|\\.{1,3}|::|[!=]~"), +PATTERNS("rust", + "^[\t ]*((pub(\\([^\\)]+\\))?[\t ]+)?((async|const|unsafe|extern([\t ]+\"[^\"]+\"))[\t ]+)?(struct|enum|union|mod|trait|fn|impl)[< \t]+[^;]*)$", + /* -- */ + "[a-zA-Z_][a-zA-Z0-9_]*" + "|[0-9][0-9_a-fA-Fiosuxz]*(\\.([0-9]*[eE][+-]?)?[0-9_fF]*)?" + "|[-+*\\/<>%&^|=!:]=|<<=?|>>=?|&&|\\|\\||->|=>|\\.{2}=|\\.{3}|::"), PATTERNS("bibtex", "(@[a-zA-Z]{1,}[ \t]*\\{{0,1}[ \t]*[^ \t\"@',\\#}{~%]*).*$", "[={}\"]|[^={}\" \t]+"), PATTERNS("tex", "^(\\\\((sub)*section|chapter|part)\\*{0,1}\\{.*)$", @@ -285,7 +285,7 @@ int walker_fetch(struct walker *walker, int targets, char **target, error("Could not interpret response from server '%s' as something to pull", target[i]); goto done; } - if (process(walker, lookup_unknown_object(oids[i].hash))) + if (process(walker, lookup_unknown_object(&oids[i]))) goto done; } @@ -4,12 +4,6 @@ #include "cache.h" #include "config.h" -static void do_nothing(size_t size) -{ -} - -static void (*try_to_free_routine)(size_t size) = do_nothing; - static int memory_limit_check(size_t size, int gentle) { static size_t limit = 0; @@ -30,24 +24,11 @@ static int memory_limit_check(size_t size, int gentle) return 0; } -try_to_free_t set_try_to_free_routine(try_to_free_t routine) -{ - try_to_free_t old = try_to_free_routine; - if (!routine) - routine = do_nothing; - try_to_free_routine = routine; - return old; -} - char *xstrdup(const char *str) { char *ret = strdup(str); - if (!ret) { - try_to_free_routine(strlen(str) + 1); - ret = strdup(str); - if (!ret) - die("Out of memory, strdup failed"); - } + if (!ret) + die("Out of memory, strdup failed"); return ret; } @@ -61,19 +42,13 @@ static void *do_xmalloc(size_t size, int gentle) if (!ret && !size) ret = malloc(1); if (!ret) { - try_to_free_routine(size); - ret = malloc(size); - if (!ret && !size) - ret = malloc(1); - if (!ret) { - if (!gentle) - die("Out of memory, malloc failed (tried to allocate %lu bytes)", - (unsigned long)size); - else { - error("Out of memory, malloc failed (tried to allocate %lu bytes)", - (unsigned long)size); - return NULL; - } + if (!gentle) + die("Out of memory, malloc failed (tried to allocate %lu bytes)", + (unsigned long)size); + else { + error("Out of memory, malloc failed (tried to allocate %lu bytes)", + (unsigned long)size); + return NULL; } } #ifdef XMALLOC_POISON @@ -138,14 +113,8 @@ void *xrealloc(void *ptr, size_t size) ret = realloc(ptr, size); if (!ret && !size) ret = realloc(ptr, 1); - if (!ret) { - try_to_free_routine(size); - ret = realloc(ptr, size); - if (!ret && !size) - ret = realloc(ptr, 1); - if (!ret) - die("Out of memory, realloc failed"); - } + if (!ret) + die("Out of memory, realloc failed"); return ret; } @@ -160,14 +129,8 @@ void *xcalloc(size_t nmemb, size_t size) ret = calloc(nmemb, size); if (!ret && (!nmemb || !size)) ret = calloc(1, 1); - if (!ret) { - try_to_free_routine(nmemb * size); - ret = calloc(nmemb, size); - if (!ret && (!nmemb || !size)) - ret = calloc(1, 1); - if (!ret) - die("Out of memory, calloc failed"); - } + if (!ret) + die("Out of memory, calloc failed"); return ret; } diff --git a/wt-status.c b/wt-status.c index d2a1bec226..9f6c65a580 100644 --- a/wt-status.c +++ b/wt-status.c @@ -19,6 +19,8 @@ #include "lockfile.h" #include "sequencer.h" +#define AB_DELAY_WARNING_IN_MS (2 * 1000) + static const char cut_line[] = "------------------------ >8 ------------------------\n"; @@ -179,9 +181,15 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s) return; if (s->whence != FROM_COMMIT) ; - else if (!s->is_initial) - status_printf_ln(s, c, _(" (use \"git reset %s <file>...\" to unstage)"), s->reference); - else + else if (!s->is_initial) { + if (!strcmp(s->reference, "HEAD")) + status_printf_ln(s, c, + _(" (use \"git restore --staged <file>...\" to unstage)")); + else + status_printf_ln(s, c, + _(" (use \"git restore --source=%s --staged <file>...\" to unstage)"), + s->reference); + } else status_printf_ln(s, c, _(" (use \"git rm --cached <file>...\" to unstage)")); if (!both_deleted) { @@ -194,7 +202,6 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s) } else { status_printf_ln(s, c, _(" (use \"git add/rm <file>...\" as appropriate to mark resolution)")); } - status_printf_ln(s, c, "%s", ""); } static void wt_longstatus_print_cached_header(struct wt_status *s) @@ -206,11 +213,16 @@ static void wt_longstatus_print_cached_header(struct wt_status *s) return; if (s->whence != FROM_COMMIT) ; /* NEEDSWORK: use "git reset --unresolve"??? */ - else if (!s->is_initial) - status_printf_ln(s, c, _(" (use \"git reset %s <file>...\" to unstage)"), s->reference); - else + else if (!s->is_initial) { + if (!strcmp(s->reference, "HEAD")) + status_printf_ln(s, c + , _(" (use \"git restore --staged <file>...\" to unstage)")); + else + status_printf_ln(s, c, + _(" (use \"git restore --source=%s --staged <file>...\" to unstage)"), + s->reference); + } else status_printf_ln(s, c, _(" (use \"git rm --cached <file>...\" to unstage)")); - status_printf_ln(s, c, "%s", ""); } static void wt_longstatus_print_dirty_header(struct wt_status *s, @@ -226,10 +238,9 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s, status_printf_ln(s, c, _(" (use \"git add <file>...\" to update what will be committed)")); else status_printf_ln(s, c, _(" (use \"git add/rm <file>...\" to update what will be committed)")); - status_printf_ln(s, c, _(" (use \"git checkout -- <file>...\" to discard changes in working directory)")); + status_printf_ln(s, c, _(" (use \"git restore <file>...\" to discard changes in working directory)")); if (has_dirty_submodules) status_printf_ln(s, c, _(" (commit or discard the untracked or modified content in submodules)")); - status_printf_ln(s, c, "%s", ""); } static void wt_longstatus_print_other_header(struct wt_status *s, @@ -241,7 +252,6 @@ static void wt_longstatus_print_other_header(struct wt_status *s, if (!s->hints) return; status_printf_ln(s, c, _(" (use \"git %s <file>...\" to include in what will be committed)"), how); - status_printf_ln(s, c, "%s", ""); } static void wt_longstatus_print_trailer(struct wt_status *s) @@ -1085,14 +1095,29 @@ static void wt_longstatus_print_tracking(struct wt_status *s) struct branch *branch; char comment_line_string[3]; int i; + uint64_t t_begin = 0; assert(s->branch && !s->is_initial); if (!skip_prefix(s->branch, "refs/heads/", &branch_name)) return; branch = branch_get(branch_name); + + t_begin = getnanotime(); + if (!format_tracking_info(branch, &sb, s->ahead_behind_flags)) return; + if (advice_status_ahead_behind_warning && + s->ahead_behind_flags == AHEAD_BEHIND_FULL) { + uint64_t t_delta_in_ms = (getnanotime() - t_begin) / 1000000; + if (t_delta_in_ms > AB_DELAY_WARNING_IN_MS) { + strbuf_addf(&sb, _("\n" + "It took %.2f seconds to compute the branch ahead/behind values.\n" + "You can use '--no-ahead-behind' to avoid this.\n"), + t_delta_in_ms / 1000.0); + } + } + i = 0; if (s->display_comment_prefix) { comment_line_string[i++] = comment_line_char; @@ -1676,9 +1701,9 @@ static void wt_longstatus_print(struct wt_status *s) } else if (s->state.detached_from) { branch_name = s->state.detached_from; if (s->state.detached_at) - on_what = _("HEAD detached at "); + on_what = HEAD_DETACHED_AT; else - on_what = _("HEAD detached from "); + on_what = HEAD_DETACHED_FROM; } else { branch_name = ""; on_what = _("Not currently on any branch."); @@ -2076,9 +2101,7 @@ static void wt_porcelain_v2_submodule_state( /* * Fix-up changed entries before we print them. */ -static void wt_porcelain_v2_fix_up_changed( - struct string_list_item *it, - struct wt_status *s) +static void wt_porcelain_v2_fix_up_changed(struct string_list_item *it) { struct wt_status_change_data *d = it->util; @@ -2138,7 +2161,7 @@ static void wt_porcelain_v2_print_changed_entry( char submodule_token[5]; char sep_char, eol_char; - wt_porcelain_v2_fix_up_changed(it, s); + wt_porcelain_v2_fix_up_changed(it); wt_porcelain_v2_submodule_state(d, submodule_token); key[0] = d->index_status ? d->index_status : '.'; diff --git a/wt-status.h b/wt-status.h index 8849768e92..77dad5b920 100644 --- a/wt-status.h +++ b/wt-status.h @@ -64,6 +64,9 @@ enum wt_status_format { STATUS_FORMAT_UNSPECIFIED }; +#define HEAD_DETACHED_AT _("HEAD detached at ") +#define HEAD_DETACHED_FROM _("HEAD detached from ") + struct wt_status_state { int merge_in_progress; int am_in_progress; |